{"sha":"578e446d5fc3a244a1a39afa5ff0cead35399b5e","node_id":"C_kwDOAsixGNoAKDU3OGU0NDZkNWZjM2EyNDRhMWEzOWFmYTVmZjBjZWFkMzUzOTliNWU","commit":{"author":{"name":"Julien Déramond","email":"julien.deramond@orange.com","date":"2022-06-27T13:00:27Z"},"committer":{"name":"Julien Déramond","email":"julien.deramond@orange.com","date":"2022-06-27T13:00:27Z"},"message":"fca04c07131a81e625a516cf7b98a8c7df0df1c1","tree":{"sha":"6a8cd33b1b8fec8976ef4d95cb1537727737c4c9","url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/git/trees/6a8cd33b1b8fec8976ef4d95cb1537727737c4c9"},"url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/git/commits/578e446d5fc3a244a1a39afa5ff0cead35399b5e","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null}},"url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/commits/578e446d5fc3a244a1a39afa5ff0cead35399b5e","html_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/commit/578e446d5fc3a244a1a39afa5ff0cead35399b5e","comments_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/commits/578e446d5fc3a244a1a39afa5ff0cead35399b5e/comments","author":{"login":"julien-deramond","id":17381666,"node_id":"MDQ6VXNlcjE3MzgxNjY2","avatar_url":"https://avatars.githubusercontent.com/u/17381666?v=4","gravatar_id":"","url":"https://api.github.com/users/julien-deramond","html_url":"https://github.com/julien-deramond","followers_url":"https://api.github.com/users/julien-deramond/followers","following_url":"https://api.github.com/users/julien-deramond/following{/other_user}","gists_url":"https://api.github.com/users/julien-deramond/gists{/gist_id}","starred_url":"https://api.github.com/users/julien-deramond/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julien-deramond/subscriptions","organizations_url":"https://api.github.com/users/julien-deramond/orgs","repos_url":"https://api.github.com/users/julien-deramond/repos","events_url":"https://api.github.com/users/julien-deramond/events{/privacy}","received_events_url":"https://api.github.com/users/julien-deramond/received_events","type":"User","site_admin":false},"committer":{"login":"julien-deramond","id":17381666,"node_id":"MDQ6VXNlcjE3MzgxNjY2","avatar_url":"https://avatars.githubusercontent.com/u/17381666?v=4","gravatar_id":"","url":"https://api.github.com/users/julien-deramond","html_url":"https://github.com/julien-deramond","followers_url":"https://api.github.com/users/julien-deramond/followers","following_url":"https://api.github.com/users/julien-deramond/following{/other_user}","gists_url":"https://api.github.com/users/julien-deramond/gists{/gist_id}","starred_url":"https://api.github.com/users/julien-deramond/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julien-deramond/subscriptions","organizations_url":"https://api.github.com/users/julien-deramond/orgs","repos_url":"https://api.github.com/users/julien-deramond/repos","events_url":"https://api.github.com/users/julien-deramond/events{/privacy}","received_events_url":"https://api.github.com/users/julien-deramond/received_events","type":"User","site_admin":false},"parents":[{"sha":"bab34a24eaa5bc09a0b4f2bfee1eb66fec6e6f87","url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/commits/bab34a24eaa5bc09a0b4f2bfee1eb66fec6e6f87","html_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/commit/bab34a24eaa5bc09a0b4f2bfee1eb66fec6e6f87"}],"stats":{"total":32717,"additions":18972,"deletions":13745},"files":[{"sha":"de6b925103d6ebb03f9f25e7c2c232f2df642bd4","filename":"config.yml","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/config.yml","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/config.yml","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/config.yml?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -80,13 +80,13 @@ params:\n cdn:\n # See https://www.srihash.org for info on how to generate the hashes\n css: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/css/boosted.min.css\"\n- css_hash: \"sha384-Di/KMIVcO9Z2MJO3EsrZebWTNrgJTrzEDwAplhM5XnCFQ1aDhRNWrp6CWvVcn00c\"\n+ css_hash: \"sha384-Cd3Hj1k1tH/gVOqE01/s9+htkC3xmv5nX5BiKJoYnxqtMDG9XvNGpckwDWY9j8XH\"\n css_rtl: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/css/boosted.rtl.min.css\"\n- css_rtl_hash: \"sha384-3jLCd3m9+RnqE3QZ/vJQmBSJkQPzNa5bfI9bIWg6teLGDuHLZRz96szmdltmO1+y\"\n+ css_rtl_hash: \"sha384-RA+w9otI1k4Ros1fTB9DTljjRZTPDzZ/TGnuHLxJBm9tPVGO+ed+UOOEh72AcSNf\"\n helvetica: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/css/orange-helvetica.min.css\"\n- helvetica_hash: \"sha384-ARRzqgHDBP0PQzxQoJtvyNn7Q8QQYr0XT+RXUFEPkQqkTB6gi43ZiL035dKWdkZe\"\n+ helvetica_hash: \"sha384-A0Qk1uKfS1i83/YuU13i2nx5pk79PkIfNFOVzTcjCMPGKIDj9Lqx9lJmV7cdBVQZ\"\n helvetica_rtl: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/css/orange-helvetica.rtl.min.css\"\n- helvetica_rtl_hash: \"sha384-ihl4jOMS2VMlKkg/jH4cTxPHmSMcnVyANsKMO0YSUNvNyrrglHI9Itbx0wLOmV+W\"\n+ helvetica_rtl_hash: \"sha384-4MlBAYgNr+UGO/cACkdFashk4EWyneAX3fp0OWoM7k8/smSl1irUexFx6u83N9Em\"\n HelveticaNeueW20-55Roman: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/fonts/HelveticaNeueW20-55Roman.woff2\"\n HelveticaNeueW20-55Roman_hash: \"sha384-3JzHT24JpS8epPIAdqo7AcCNQcr5VxQi8FClxBayyd/6BLTIFbJLiGD4CIf8FtRl\"\n HelveticaNeueW20-75Bold: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/fonts/HelveticaNeueW20-75Bold.woff2\"\n@@ -96,9 +96,9 @@ params:\n HelvNeue75_W1G: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/fonts/HelvNeue75_W1G.woff2\"\n HelvNeue75_W1G_hash: \"sha384-ylOkwNNvSwXpWNbpEhI45ruJTXyfQbIb42IxMvSGGcndZBpZ9iAmOFSUl4/Goeqz\"\n js: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/js/boosted.min.js\"\n- js_hash: \"sha384-mBRgv/ye1bG9U6wfppOiHvHVz1KlD7VdRcVZLfOCoQkohsL9P61pQxzobjI4XxNr\"\n+ js_hash: \"sha384-zTHWVhWVnlZKV3eupbMjd8kBvNab8h34r4SukzTQ8/KsNFCuW5PpIp3+TqAddKxY\"\n js_bundle: \"https://cdn.jsdelivr.net/npm/boosted@5.2.0-beta1/dist/js/boosted.bundle.min.js\"\n- js_bundle_hash: \"sha384-5thbp4uNEqKgkl5m+rMBhqR+ZCs+3iAaLIghPWAgOv0VKvzGlYKR408MMbmCjmZF\"\n+ js_bundle_hash: \"sha384-tca9pPpILYfge7vkIY8FfH8caT7SadZmAkexhXFOXvA6oQej4zJ3Jg/29YcYrnHZ\"\n popper: \"https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.5/dist/umd/popper.min.js\"\n popper_hash: \"sha384-Xe+8cL9oJa6tN/veChSP7q+mnSPaj5Bcu9mPX5F5xIGE0DVittaqT5lorf0EI7Vk\"\n focus_visible: \"https://cdn.jsdelivr.net/npm/focus-visible@5.2.0/dist/focus-visible.min.js\""},{"sha":"44b30a888ffa0a00dc03f521312c2c65917d3cf4","filename":"dist/css/boosted-grid.css","status":"modified","additions":338,"deletions":178,"changes":516,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,12 +1,12 @@\n /*!\n- * Boosted Grid v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Grid v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Grid v5.1.3 (https://getbootstrap.com)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Grid v5.2.0-beta1 (https://getbootstrap.com)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n :root {\n@@ -20,6 +20,7 @@\n --bs-green: #32c832;\n --bs-teal: #50be87;\n --bs-cyan: #4bb4e6;\n+ --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #999;\n --bs-gray-dark: #595959;\n@@ -52,20 +53,56 @@\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 0, 0, 0;\n --bs-body-bg-rgb: 255, 255, 255;\n- --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2L7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n- --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='M15 17.121l-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n- --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0L5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n- --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 100 125 62.5 62.5 0 000-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 01-1.3 3.7L57.7 86a5.8 5.8 0 01-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 011.7-4.1l2.3-2.4a5.8 5.8 0 014.2-1.7 5.8 5.8 0 013.8 1.4L52 64.7 86.6 31a5.8 5.8 0 014-1.6z'/%3e%3c/svg%3e\");\n- --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0015.6 125H125a15.6 15.6 0 0013.5-23.5L83.8 7.8A15.6 15.6 0 0070.3 0zm19.2 50a6.4 6.4 0 014.4 1.9 6.4 6.4 0 010 9L79.4 75.6l15 15a6.4 6.4 0 010 9.2 6.4 6.4 0 01-4.5 1.9 6.4 6.4 0 01-4.6-2l-15-15-15 15a6.4 6.4 0 01-4.6 2 6.4 6.4 0 01-4.6-2 6.4 6.4 0 010-9l15-15L46.8 61a6.4 6.4 0 119-9.1l14.6 14.5L84.8 52a6.4 6.4 0 014.7-1.9z'/%3e%3c/svg%3e\");\n- --bs-font-sans-serif: HelvNeueOrange/*rtl:insert:Arabic*/, Helvetica Neue, Helvetica, Arial, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;\n- --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n+ --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2 7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n+ --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='m15 17.121-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n+ --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0 5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n+ --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 1 0 0 125 62.5 62.5 0 0 0 0-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 0 1-1.3 3.7L57.7 86a5.8 5.8 0 0 1-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 0 1 1.7-4.1l2.3-2.4a5.8 5.8 0 0 1 4.2-1.7 5.8 5.8 0 0 1 3.8 1.4L52 64.7 86.6 31a5.8 5.8 0 0 1 4-1.6z'/%3e%3c/svg%3e\");\n+ --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0 0 15.6 125H125a15.6 15.6 0 0 0 13.5-23.5L83.8 7.8A15.6 15.6 0 0 0 70.3 0zm19.2 50a6.4 6.4 0 0 1 4.4 1.9 6.4 6.4 0 0 1 0 9L79.4 75.6l15 15a6.4 6.4 0 0 1 0 9.2 6.4 6.4 0 0 1-4.5 1.9 6.4 6.4 0 0 1-4.6-2l-15-15-15 15a6.4 6.4 0 0 1-4.6 2 6.4 6.4 0 0 1-4.6-2 6.4 6.4 0 0 1 0-9l15-15L46.8 61a6.4 6.4 0 1 1 9-9.1l14.6 14.5L84.8 52a6.4 6.4 0 0 1 4.7-1.9z'/%3e%3c/svg%3e\");\n+ --bs-font-sans-serif: HelvNeueOrange/*rtl:insert:Arabic*/, \"Helvetica Neue\", Helvetica, \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.125;\n --bs-body-color: #000;\n --bs-body-bg: #fff;\n+ --bs-border-width: 0.125rem;\n+ --bs-border-style: solid;\n+ --bs-border-color: #000;\n+ --bs-border-color-translucent: #ccc;\n+ --bs-border-radius: ;\n+ --bs-border-radius-sm: ;\n+ --bs-border-radius-lg: ;\n+ --bs-border-radius-xl: ;\n+ --bs-border-radius-2xl: ;\n+ --bs-border-radius-pill: 50rem;\n+ --bs-heading-color: ;\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --bs-code-color: #666;\n+ --bs-highlight-bg: #ff7900;\n+}\n+\n+[class*=-dark],\n+.bg-secondary {\n+ --bs-link-color: #fff;\n+ --bs-link-hover-color: #ff7900;\n+ --o-caption-color: #fff;\n+ --bs-code-color: #999;\n+ --o-kbd-color: #fff;\n+ --o-kbd-bg: #333;\n+ --o-pre-color: #eee;\n+}\n+[class*=bg-]:not([class*=-dark],\n+.bg-secondary):not(.bg-transparent) {\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --o-caption-color: var(--o-caption-color, #000);\n+ --bs-code-color: #666;\n+ --o-kbd-color: var(--o-kbd-color, #000);\n+ --o-kbd-bg: var(--o-kbd-bg, #eee);\n+ --o-pre-color: var(--o-pre-color, #333);\n }\n \n .container,\n@@ -76,9 +113,11 @@\n .container-md,\n .container-sm,\n .container-xs {\n+ --bs-gutter-x: 1.25rem;\n+ --bs-gutter-y: 0;\n width: 100%;\n- padding-right: var(--bs-gutter-x, 0.3125rem);\n- padding-left: var(--bs-gutter-x, 0.3125rem);\n+ padding-right: calc(var(--bs-gutter-x) * 0.25);\n+ padding-left: calc(var(--bs-gutter-x) * 0.25);\n margin-right: auto;\n margin-left: auto;\n }\n@@ -91,7 +130,36 @@\n .container-md,\n .container-sm,\n .container-xs {\n- --bs-gutter-x: 0.625rem;\n+ --bs-gutter-x: 2.5rem;\n+ }\n+}\n+\n+.container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 8px);\n+}\n+@media (min-width: 480px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 12px);\n+ }\n+}\n+@media (min-width: 768px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 24px);\n+ }\n+}\n+@media (min-width: 1024px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 64px);\n+ }\n+}\n+@media (min-width: 1280px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 80px);\n+ }\n+}\n+@media (min-width: 1440px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 120px);\n }\n }\n \n@@ -1618,87 +1686,120 @@\n }\n \n .border {\n- border: 0.125rem solid #000 !important;\n+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-0 {\n border: 0 !important;\n }\n \n .border-top {\n- border-top: 0.125rem solid #000 !important;\n+ border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-top-0 {\n border-top: 0 !important;\n }\n \n .border-end {\n- border-right: 0.125rem solid #000 !important;\n+ border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-end-0 {\n border-right: 0 !important;\n }\n \n .border-bottom {\n- border-bottom: 0.125rem solid #000 !important;\n+ border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-bottom-0 {\n border-bottom: 0 !important;\n }\n \n .border-start {\n- border-left: 0.125rem solid #000 !important;\n+ border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-start-0 {\n border-left: 0 !important;\n }\n \n .border-primary {\n- border-color: #ff7900 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-secondary {\n- border-color: #000 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-success {\n- border-color: #32c832 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-info {\n- border-color: #527edb !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-warning {\n- border-color: #fc0 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-danger {\n- border-color: #cd3c14 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-light {\n- border-color: #ccc !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(204, 204, 204, var(--bs-border-opacity)) !important;\n }\n \n .border-dark {\n- border-color: #666 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(102, 102, 102, var(--bs-border-opacity)) !important;\n }\n \n .border-white {\n- border-color: #fff !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-1 {\n- border-width: 0.0625rem !important;\n+ --bs-border-width: 0.0625rem;\n }\n \n .border-2 {\n- border-width: 0.125rem !important;\n+ --bs-border-width: 0.125rem;\n+}\n+\n+.border-3 {\n+ --bs-border-width: 0.1875rem;\n+}\n+\n+.border-opacity-10 {\n+ --bs-border-opacity: 0.1;\n+}\n+\n+.border-opacity-25 {\n+ --bs-border-opacity: 0.25;\n+}\n+\n+.border-opacity-50 {\n+ --bs-border-opacity: 0.5;\n+}\n+\n+.border-opacity-75 {\n+ --bs-border-opacity: 0.75;\n+}\n+\n+.border-opacity-100 {\n+ --bs-border-opacity: 1;\n }\n \n .w-25 {\n@@ -1813,30 +1914,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n-.gap-0 {\n- gap: 0 !important;\n-}\n-\n-.gap-1 {\n- gap: 0.3125rem !important;\n-}\n-\n-.gap-2 {\n- gap: 0.625rem !important;\n-}\n-\n-.gap-3 {\n- gap: 1.25rem !important;\n-}\n-\n-.gap-4 {\n- gap: 1.875rem !important;\n-}\n-\n-.gap-5 {\n- gap: 3.75rem !important;\n-}\n-\n .justify-content-start {\n justify-content: flex-start !important;\n }\n@@ -2351,6 +2428,30 @@\n padding-left: 3.75rem !important;\n }\n \n+.gap-0 {\n+ gap: 0 !important;\n+}\n+\n+.gap-1 {\n+ gap: 0.3125rem !important;\n+}\n+\n+.gap-2 {\n+ gap: 0.625rem !important;\n+}\n+\n+.gap-3 {\n+ gap: 1.25rem !important;\n+}\n+\n+.gap-4 {\n+ gap: 1.875rem !important;\n+}\n+\n+.gap-5 {\n+ gap: 3.75rem !important;\n+}\n+\n .font-monospace {\n font-family: var(--bs-font-monospace) !important;\n }\n@@ -2387,6 +2488,10 @@\n font-weight: 700 !important;\n }\n \n+.fw-semibold {\n+ font-weight: 600 !important;\n+}\n+\n .lh-1 {\n line-height: 1 !important;\n }\n@@ -2403,6 +2508,14 @@\n line-height: 1.875 !important;\n }\n \n+.ll-sm {\n+ max-width: 40ch !important;\n+}\n+\n+.ll-md {\n+ max-width: 80ch !important;\n+}\n+\n .text-start {\n text-align: left !important;\n }\n@@ -2431,6 +2544,10 @@\n text-transform: lowercase !important;\n }\n \n+.text-uppercase {\n+ text-transform: uppercase !important;\n+}\n+\n .text-capitalize {\n text-transform: capitalize !important;\n }\n@@ -2476,7 +2593,6 @@\n .text-muted {\n --bs-text-opacity: 1;\n color: #666 !important;\n- background-color: #fff;\n }\n \n .text-black-50 {\n@@ -2663,16 +2779,60 @@\n pointer-events: auto !important;\n }\n \n+.rounded {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n .rounded-0 {\n border-radius: 0 !important;\n }\n \n+.rounded-1 {\n+ border-radius: var(--bs-border-radius-sm) !important;\n+}\n+\n+.rounded-2 {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-3 {\n+ border-radius: var(--bs-border-radius-lg) !important;\n+}\n+\n+.rounded-4 {\n+ border-radius: var(--bs-border-radius-xl) !important;\n+}\n+\n+.rounded-5 {\n+ border-radius: var(--bs-border-radius-2xl) !important;\n+}\n+\n .rounded-circle {\n border-radius: 50% !important;\n }\n \n .rounded-pill {\n- border-radius: 50rem !important;\n+ border-radius: var(--bs-border-radius-pill) !important;\n+}\n+\n+.rounded-top {\n+ border-top-left-radius: var(--bs-border-radius) !important;\n+ border-top-right-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-end {\n+ border-top-right-radius: var(--bs-border-radius) !important;\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-bottom {\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-start {\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+ border-top-left-radius: var(--bs-border-radius) !important;\n }\n \n .visible {\n@@ -2784,30 +2944,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-sm-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-sm-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-sm-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-sm-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-sm-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-sm-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n@@ -3322,6 +3458,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-sm-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-sm-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-sm-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-sm-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-sm-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-sm-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-sm-start {\n text-align: left !important;\n }\n@@ -3435,30 +3595,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-md-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-md-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-md-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-md-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-md-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-md-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n@@ -3973,6 +4109,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-md-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-md-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-md-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-md-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-md-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-md-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-md-start {\n text-align: left !important;\n }\n@@ -4086,30 +4246,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-lg-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-lg-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-lg-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-lg-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-lg-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-lg-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n@@ -4624,6 +4760,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-lg-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-lg-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-lg-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-lg-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-lg-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-lg-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-lg-start {\n text-align: left !important;\n }\n@@ -4737,30 +4897,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n@@ -5275,6 +5411,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-xl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xl-start {\n text-align: left !important;\n }\n@@ -5388,30 +5548,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xxl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xxl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xxl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xxl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xxl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xxl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n@@ -5926,6 +6062,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-xxl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xxl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xxl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xxl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xxl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xxl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xxl-start {\n text-align: left !important;\n }"},{"sha":"830897c20c03c584517256bff943afa18b0a7a19","filename":"dist/css/boosted-grid.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"1e93608bf654678afb32c246041a0eb1ba5fcd68","filename":"dist/css/boosted-grid.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"b96ff9f09ce3073a503ceeb274466e29f3bb65f3","filename":"dist/css/boosted-grid.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"2bd25e54102e10c61c72fdf9ac0c270ae5c900da","filename":"dist/css/boosted-grid.rtl.css","status":"modified","additions":338,"deletions":178,"changes":516,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.rtl.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,12 +1,12 @@\n /*!\n- * Boosted Grid v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Grid v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Grid v5.1.3 (https://getbootstrap.com)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Grid v5.2.0-beta1 (https://getbootstrap.com)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n :root {\n@@ -20,6 +20,7 @@\n --bs-green: #32c832;\n --bs-teal: #50be87;\n --bs-cyan: #4bb4e6;\n+ --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #999;\n --bs-gray-dark: #595959;\n@@ -52,20 +53,56 @@\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 0, 0, 0;\n --bs-body-bg-rgb: 255, 255, 255;\n- --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2L7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n- --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='M15 17.121l-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n- --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0L5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n- --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 100 125 62.5 62.5 0 000-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 01-1.3 3.7L57.7 86a5.8 5.8 0 01-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 011.7-4.1l2.3-2.4a5.8 5.8 0 014.2-1.7 5.8 5.8 0 013.8 1.4L52 64.7 86.6 31a5.8 5.8 0 014-1.6z'/%3e%3c/svg%3e\");\n- --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0015.6 125H125a15.6 15.6 0 0013.5-23.5L83.8 7.8A15.6 15.6 0 0070.3 0zm19.2 50a6.4 6.4 0 014.4 1.9 6.4 6.4 0 010 9L79.4 75.6l15 15a6.4 6.4 0 010 9.2 6.4 6.4 0 01-4.5 1.9 6.4 6.4 0 01-4.6-2l-15-15-15 15a6.4 6.4 0 01-4.6 2 6.4 6.4 0 01-4.6-2 6.4 6.4 0 010-9l15-15L46.8 61a6.4 6.4 0 119-9.1l14.6 14.5L84.8 52a6.4 6.4 0 014.7-1.9z'/%3e%3c/svg%3e\");\n- --bs-font-sans-serif: HelvNeueOrangeArabic, Helvetica Neue, Helvetica, Arial, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;\n- --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n+ --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2 7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n+ --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='m15 17.121-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n+ --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0 5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n+ --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 1 0 0 125 62.5 62.5 0 0 0 0-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 0 1-1.3 3.7L57.7 86a5.8 5.8 0 0 1-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 0 1 1.7-4.1l2.3-2.4a5.8 5.8 0 0 1 4.2-1.7 5.8 5.8 0 0 1 3.8 1.4L52 64.7 86.6 31a5.8 5.8 0 0 1 4-1.6z'/%3e%3c/svg%3e\");\n+ --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0 0 15.6 125H125a15.6 15.6 0 0 0 13.5-23.5L83.8 7.8A15.6 15.6 0 0 0 70.3 0zm19.2 50a6.4 6.4 0 0 1 4.4 1.9 6.4 6.4 0 0 1 0 9L79.4 75.6l15 15a6.4 6.4 0 0 1 0 9.2 6.4 6.4 0 0 1-4.5 1.9 6.4 6.4 0 0 1-4.6-2l-15-15-15 15a6.4 6.4 0 0 1-4.6 2 6.4 6.4 0 0 1-4.6-2 6.4 6.4 0 0 1 0-9l15-15L46.8 61a6.4 6.4 0 1 1 9-9.1l14.6 14.5L84.8 52a6.4 6.4 0 0 1 4.7-1.9z'/%3e%3c/svg%3e\");\n+ --bs-font-sans-serif: HelvNeueOrange/*rtl:insert:Arabic*/, \"Helvetica Neue\", Helvetica, \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.125;\n --bs-body-color: #000;\n --bs-body-bg: #fff;\n+ --bs-border-width: 0.125rem;\n+ --bs-border-style: solid;\n+ --bs-border-color: #000;\n+ --bs-border-color-translucent: #ccc;\n+ --bs-border-radius: ;\n+ --bs-border-radius-sm: ;\n+ --bs-border-radius-lg: ;\n+ --bs-border-radius-xl: ;\n+ --bs-border-radius-2xl: ;\n+ --bs-border-radius-pill: 50rem;\n+ --bs-heading-color: ;\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --bs-code-color: #666;\n+ --bs-highlight-bg: #ff7900;\n+}\n+\n+[class*=-dark],\n+.bg-secondary {\n+ --bs-link-color: #fff;\n+ --bs-link-hover-color: #ff7900;\n+ --o-caption-color: #fff;\n+ --bs-code-color: #999;\n+ --o-kbd-color: #fff;\n+ --o-kbd-bg: #333;\n+ --o-pre-color: #eee;\n+}\n+[class*=bg-]:not([class*=-dark],\n+.bg-secondary):not(.bg-transparent) {\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --o-caption-color: var(--o-caption-color, #000);\n+ --bs-code-color: #666;\n+ --o-kbd-color: var(--o-kbd-color, #000);\n+ --o-kbd-bg: var(--o-kbd-bg, #eee);\n+ --o-pre-color: var(--o-pre-color, #333);\n }\n \n .container,\n@@ -76,9 +113,11 @@\n .container-md,\n .container-sm,\n .container-xs {\n+ --bs-gutter-x: 1.25rem;\n+ --bs-gutter-y: 0;\n width: 100%;\n- padding-left: var(--bs-gutter-x, 0.3125rem);\n- padding-right: var(--bs-gutter-x, 0.3125rem);\n+ padding-left: calc(var(--bs-gutter-x) * 0.25);\n+ padding-right: calc(var(--bs-gutter-x) * 0.25);\n margin-left: auto;\n margin-right: auto;\n }\n@@ -91,7 +130,36 @@\n .container-md,\n .container-sm,\n .container-xs {\n- --bs-gutter-x: 0.625rem;\n+ --bs-gutter-x: 2.5rem;\n+ }\n+}\n+\n+.container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 8px);\n+}\n+@media (min-width: 480px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 12px);\n+ }\n+}\n+@media (min-width: 768px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 24px);\n+ }\n+}\n+@media (min-width: 1024px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 64px);\n+ }\n+}\n+@media (min-width: 1280px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 80px);\n+ }\n+}\n+@media (min-width: 1440px) {\n+ .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-xs {\n+ max-width: calc(100vw - 120px);\n }\n }\n \n@@ -1618,87 +1686,120 @@\n }\n \n .border {\n- border: 0.125rem solid #000 !important;\n+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-0 {\n border: 0 !important;\n }\n \n .border-top {\n- border-top: 0.125rem solid #000 !important;\n+ border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-top-0 {\n border-top: 0 !important;\n }\n \n .border-end {\n- border-left: 0.125rem solid #000 !important;\n+ border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-end-0 {\n border-left: 0 !important;\n }\n \n .border-bottom {\n- border-bottom: 0.125rem solid #000 !important;\n+ border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-bottom-0 {\n border-bottom: 0 !important;\n }\n \n .border-start {\n- border-right: 0.125rem solid #000 !important;\n+ border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-start-0 {\n border-right: 0 !important;\n }\n \n .border-primary {\n- border-color: #ff7900 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-secondary {\n- border-color: #000 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-success {\n- border-color: #32c832 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-info {\n- border-color: #527edb !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-warning {\n- border-color: #fc0 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-danger {\n- border-color: #cd3c14 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-light {\n- border-color: #ccc !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(204, 204, 204, var(--bs-border-opacity)) !important;\n }\n \n .border-dark {\n- border-color: #666 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(102, 102, 102, var(--bs-border-opacity)) !important;\n }\n \n .border-white {\n- border-color: #fff !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-1 {\n- border-width: 0.0625rem !important;\n+ --bs-border-width: 0.0625rem;\n }\n \n .border-2 {\n- border-width: 0.125rem !important;\n+ --bs-border-width: 0.125rem;\n+}\n+\n+.border-3 {\n+ --bs-border-width: 0.1875rem;\n+}\n+\n+.border-opacity-10 {\n+ --bs-border-opacity: 0.1;\n+}\n+\n+.border-opacity-25 {\n+ --bs-border-opacity: 0.25;\n+}\n+\n+.border-opacity-50 {\n+ --bs-border-opacity: 0.5;\n+}\n+\n+.border-opacity-75 {\n+ --bs-border-opacity: 0.75;\n+}\n+\n+.border-opacity-100 {\n+ --bs-border-opacity: 1;\n }\n \n .w-25 {\n@@ -1813,30 +1914,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n-.gap-0 {\n- gap: 0 !important;\n-}\n-\n-.gap-1 {\n- gap: 0.3125rem !important;\n-}\n-\n-.gap-2 {\n- gap: 0.625rem !important;\n-}\n-\n-.gap-3 {\n- gap: 1.25rem !important;\n-}\n-\n-.gap-4 {\n- gap: 1.875rem !important;\n-}\n-\n-.gap-5 {\n- gap: 3.75rem !important;\n-}\n-\n .justify-content-start {\n justify-content: flex-start !important;\n }\n@@ -2351,6 +2428,30 @@\n padding-right: 3.75rem !important;\n }\n \n+.gap-0 {\n+ gap: 0 !important;\n+}\n+\n+.gap-1 {\n+ gap: 0.3125rem !important;\n+}\n+\n+.gap-2 {\n+ gap: 0.625rem !important;\n+}\n+\n+.gap-3 {\n+ gap: 1.25rem !important;\n+}\n+\n+.gap-4 {\n+ gap: 1.875rem !important;\n+}\n+\n+.gap-5 {\n+ gap: 3.75rem !important;\n+}\n+\n .font-monospace {\n font-family: var(--bs-font-monospace) !important;\n }\n@@ -2387,6 +2488,10 @@\n font-weight: 700 !important;\n }\n \n+.fw-semibold {\n+ font-weight: 600 !important;\n+}\n+\n .lh-1 {\n line-height: 1 !important;\n }\n@@ -2403,6 +2508,14 @@\n line-height: 1.875 !important;\n }\n \n+.ll-sm {\n+ max-width: 40ch !important;\n+}\n+\n+.ll-md {\n+ max-width: 80ch !important;\n+}\n+\n .text-start {\n text-align: right !important;\n }\n@@ -2431,6 +2544,10 @@\n text-transform: lowercase !important;\n }\n \n+.text-uppercase {\n+ text-transform: uppercase !important;\n+}\n+\n .text-capitalize {\n text-transform: capitalize !important;\n }\n@@ -2468,7 +2585,6 @@\n .text-muted {\n --bs-text-opacity: 1;\n color: #666 !important;\n- background-color: #fff;\n }\n \n .text-black-50 {\n@@ -2655,16 +2771,60 @@\n pointer-events: auto !important;\n }\n \n+.rounded {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n .rounded-0 {\n border-radius: 0 !important;\n }\n \n+.rounded-1 {\n+ border-radius: var(--bs-border-radius-sm) !important;\n+}\n+\n+.rounded-2 {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-3 {\n+ border-radius: var(--bs-border-radius-lg) !important;\n+}\n+\n+.rounded-4 {\n+ border-radius: var(--bs-border-radius-xl) !important;\n+}\n+\n+.rounded-5 {\n+ border-radius: var(--bs-border-radius-2xl) !important;\n+}\n+\n .rounded-circle {\n border-radius: 50% !important;\n }\n \n .rounded-pill {\n- border-radius: 50rem !important;\n+ border-radius: var(--bs-border-radius-pill) !important;\n+}\n+\n+.rounded-top {\n+ border-top-right-radius: var(--bs-border-radius) !important;\n+ border-top-left-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-end {\n+ border-top-left-radius: var(--bs-border-radius) !important;\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-bottom {\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-start {\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+ border-top-right-radius: var(--bs-border-radius) !important;\n }\n \n .visible {\n@@ -2776,30 +2936,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-sm-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-sm-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-sm-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-sm-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-sm-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-sm-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n@@ -3314,6 +3450,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-sm-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-sm-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-sm-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-sm-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-sm-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-sm-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-sm-start {\n text-align: right !important;\n }\n@@ -3427,30 +3587,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-md-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-md-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-md-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-md-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-md-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-md-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n@@ -3965,6 +4101,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-md-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-md-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-md-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-md-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-md-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-md-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-md-start {\n text-align: right !important;\n }\n@@ -4078,30 +4238,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-lg-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-lg-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-lg-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-lg-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-lg-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-lg-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n@@ -4616,6 +4752,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-lg-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-lg-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-lg-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-lg-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-lg-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-lg-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-lg-start {\n text-align: right !important;\n }\n@@ -4729,30 +4889,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n@@ -5267,6 +5403,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-xl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xl-start {\n text-align: right !important;\n }\n@@ -5380,30 +5540,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xxl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xxl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xxl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xxl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xxl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xxl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n@@ -5918,6 +6054,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-xxl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xxl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xxl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xxl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xxl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xxl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xxl-start {\n text-align: right !important;\n }"},{"sha":"1d9967bdd4891993e953d81782a6d9c144a3d2d6","filename":"dist/css/boosted-grid.rtl.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.rtl.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"13fbc0ab58395502f700746a8ac1daca45c30d40","filename":"dist/css/boosted-grid.rtl.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.rtl.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"d019e303640e861d8d49d4bf30fdbf99ed9c4670","filename":"dist/css/boosted-grid.rtl.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-grid.rtl.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-grid.rtl.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"87ac4feec78e7c787598566d7e926255a00ec529","filename":"dist/css/boosted-reboot.css","status":"modified","additions":83,"deletions":46,"changes":129,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,12 +1,12 @@\n /*!\n- * Boosted Reboot v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Reboot v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n@@ -21,6 +21,7 @@\n --bs-green: #32c832;\n --bs-teal: #50be87;\n --bs-cyan: #4bb4e6;\n+ --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #999;\n --bs-gray-dark: #595959;\n@@ -53,20 +54,56 @@\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 0, 0, 0;\n --bs-body-bg-rgb: 255, 255, 255;\n- --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2L7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n- --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='M15 17.121l-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n- --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0L5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n- --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 100 125 62.5 62.5 0 000-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 01-1.3 3.7L57.7 86a5.8 5.8 0 01-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 011.7-4.1l2.3-2.4a5.8 5.8 0 014.2-1.7 5.8 5.8 0 013.8 1.4L52 64.7 86.6 31a5.8 5.8 0 014-1.6z'/%3e%3c/svg%3e\");\n- --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0015.6 125H125a15.6 15.6 0 0013.5-23.5L83.8 7.8A15.6 15.6 0 0070.3 0zm19.2 50a6.4 6.4 0 014.4 1.9 6.4 6.4 0 010 9L79.4 75.6l15 15a6.4 6.4 0 010 9.2 6.4 6.4 0 01-4.5 1.9 6.4 6.4 0 01-4.6-2l-15-15-15 15a6.4 6.4 0 01-4.6 2 6.4 6.4 0 01-4.6-2 6.4 6.4 0 010-9l15-15L46.8 61a6.4 6.4 0 119-9.1l14.6 14.5L84.8 52a6.4 6.4 0 014.7-1.9z'/%3e%3c/svg%3e\");\n- --bs-font-sans-serif: HelvNeueOrange/*rtl:insert:Arabic*/, Helvetica Neue, Helvetica, Arial, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;\n- --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n+ --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2 7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n+ --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='m15 17.121-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n+ --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0 5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n+ --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 1 0 0 125 62.5 62.5 0 0 0 0-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 0 1-1.3 3.7L57.7 86a5.8 5.8 0 0 1-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 0 1 1.7-4.1l2.3-2.4a5.8 5.8 0 0 1 4.2-1.7 5.8 5.8 0 0 1 3.8 1.4L52 64.7 86.6 31a5.8 5.8 0 0 1 4-1.6z'/%3e%3c/svg%3e\");\n+ --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0 0 15.6 125H125a15.6 15.6 0 0 0 13.5-23.5L83.8 7.8A15.6 15.6 0 0 0 70.3 0zm19.2 50a6.4 6.4 0 0 1 4.4 1.9 6.4 6.4 0 0 1 0 9L79.4 75.6l15 15a6.4 6.4 0 0 1 0 9.2 6.4 6.4 0 0 1-4.5 1.9 6.4 6.4 0 0 1-4.6-2l-15-15-15 15a6.4 6.4 0 0 1-4.6 2 6.4 6.4 0 0 1-4.6-2 6.4 6.4 0 0 1 0-9l15-15L46.8 61a6.4 6.4 0 1 1 9-9.1l14.6 14.5L84.8 52a6.4 6.4 0 0 1 4.7-1.9z'/%3e%3c/svg%3e\");\n+ --bs-font-sans-serif: HelvNeueOrange/*rtl:insert:Arabic*/, \"Helvetica Neue\", Helvetica, \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.125;\n --bs-body-color: #000;\n --bs-body-bg: #fff;\n+ --bs-border-width: 0.125rem;\n+ --bs-border-style: solid;\n+ --bs-border-color: #000;\n+ --bs-border-color-translucent: #ccc;\n+ --bs-border-radius: ;\n+ --bs-border-radius-sm: ;\n+ --bs-border-radius-lg: ;\n+ --bs-border-radius-xl: ;\n+ --bs-border-radius-2xl: ;\n+ --bs-border-radius-pill: 50rem;\n+ --bs-heading-color: ;\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --bs-code-color: #666;\n+ --bs-highlight-bg: #ff7900;\n+}\n+\n+[class*=-dark],\n+.bg-secondary {\n+ --bs-link-color: #fff;\n+ --bs-link-hover-color: #ff7900;\n+ --o-caption-color: #fff;\n+ --bs-code-color: #999;\n+ --o-kbd-color: #fff;\n+ --o-kbd-bg: #333;\n+ --o-pre-color: #eee;\n+}\n+[class*=bg-]:not([class*=-dark],\n+.bg-secondary):not(.bg-transparent) {\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --o-caption-color: var(--o-caption-color, #000);\n+ --bs-code-color: #666;\n+ --o-kbd-color: var(--o-kbd-color, #000);\n+ --o-kbd-bg: var(--o-kbd-bg, #eee);\n+ --o-pre-color: var(--o-pre-color, #333);\n }\n \n *,\n@@ -105,7 +142,7 @@ body {\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-font-smoothing: subpixel-antialiased;\n- text-rendering: optimizeSpeed;\n+ text-rendering: optimizespeed;\n }\n \n :focus {\n@@ -117,15 +154,15 @@ body {\n outline: 0 !important;\n }\n \n+:focus:not(:focus-visible) {\n+ outline: 0 !important;\n+}\n+\n hr {\n margin: 1.25rem 0;\n color: inherit;\n- background-color: currentColor !important;\n border: 0;\n-}\n-\n-hr:not([size]) {\n- height: 0.125rem;\n+ border-top: 0.125rem solid;\n }\n \n h3,\n@@ -137,11 +174,12 @@ h6, h2, h1 {\n font-size: 1rem;\n font-weight: 700;\n line-height: 1.125;\n+ color: var(--bs-heading-color);\n /* rtl:remove */\n letter-spacing: -0.00625rem;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n- text-rendering: optimizeLegibility;\n+ text-rendering: optimizelegibility;\n }\n \n h1 {\n@@ -163,8 +201,7 @@ p {\n margin-bottom: 1rem;\n }\n \n-abbr[title],\n-abbr[data-bs-original-title] {\n+abbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n@@ -202,9 +239,12 @@ ul {\n }\n \n li::marker {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n vertical-align: middle;\n }\n+ol li::marker {\n+ color: inherit;\n+}\n \n li li::marker {\n color: #999;\n@@ -215,9 +255,12 @@ li li li::marker {\n }\n \n li::before {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n vertical-align: text-top;\n }\n+ol li::before {\n+ color: inherit;\n+}\n \n li li::before {\n color: #999;\n@@ -253,8 +296,8 @@ small {\n }\n \n mark {\n- padding: 0.2em;\n- background-color: #ff7900;\n+ padding: 0.1875em;\n+ background-color: var(--bs-highlight-bg);\n }\n \n sub,\n@@ -274,7 +317,7 @@ sup {\n }\n \n a {\n- color: #000;\n+ color: var(--bs-link-color);\n text-decoration: underline;\n outline-offset: 0.5rem;\n transition: outline-offset 0.2s ease-in-out;\n@@ -285,11 +328,11 @@ a {\n }\n }\n a:focus {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n outline-offset: 0.125rem;\n }\n a:hover {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n }\n \n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n@@ -304,8 +347,6 @@ kbd,\n samp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n- direction: ltr /* rtl:ignore */;\n- unicode-bidi: bidi-override;\n }\n \n pre {\n@@ -315,7 +356,7 @@ pre {\n overflow: auto;\n font-size: 0.875em;\n line-height: 1.25;\n- color: #333;\n+ color: var(--o-pre-color, #333);\n }\n pre code {\n font-size: inherit;\n@@ -327,7 +368,7 @@ var,\n code {\n font-size: 0.875em;\n font-style: normal;\n- color: #666;\n+ color: var(--bs-code-color);\n word-wrap: break-word;\n }\n a > var,\n@@ -338,13 +379,12 @@ a > code {\n kbd {\n padding: 0.0625rem 0.0625rem;\n font-size: 0.875em;\n- color: #000;\n- background-color: #eee;\n+ color: var(--o-kbd-color, #000);\n+ background-color: var(--o-kbd-bg, #eee);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n- font-weight: 700;\n }\n \n figure {\n@@ -357,24 +397,24 @@ svg {\n }\n \n table {\n- caption-side: top;\n- border-collapse: collapse;\n font-feature-settings: \"tnum\";\n font-variant-numeric: tabular-nums;\n+ caption-side: top;\n+ border-collapse: collapse;\n }\n \n caption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n font-size: 2.125rem;\n font-weight: 700;\n- color: #000;\n+ color: var(--o-caption-color, #000);\n text-align: left;\n /* rtl:remove */\n letter-spacing: -0.0625rem;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n- text-rendering: optimizeLegibility;\n+ text-rendering: optimizelegibility;\n }\n \n th {\n@@ -436,8 +476,8 @@ select:disabled {\n opacity: 1;\n }\n \n-[list]::-webkit-calendar-picker-indicator {\n- display: none;\n+[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n+ display: none !important;\n }\n \n button,\n@@ -519,14 +559,11 @@ legend + * {\n \n ::-webkit-file-upload-button {\n font: inherit;\n+ -webkit-appearance: button;\n }\n \n ::file-selector-button {\n font: inherit;\n-}\n-\n-::-webkit-file-upload-button {\n- font: inherit;\n -webkit-appearance: button;\n }\n "},{"sha":"8af662a1a8b82b691cdd02d37e2dd2ef10f0f8b1","filename":"dist/css/boosted-reboot.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"aaaa212f356ed7add2a389790dcdcdb0578346fa","filename":"dist/css/boosted-reboot.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,13 +1,13 @@\n /*!\n- * Boosted Reboot v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Reboot v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n- */:root{--bs-blue:#527edb;--bs-indigo:#a885d8;--bs-purple:#a885d8;--bs-pink:#ffb4e6;--bs-red:#cd3c14;--bs-orange:#ff7900;--bs-yellow:#fc0;--bs-green:#32c832;--bs-teal:#50be87;--bs-cyan:#4bb4e6;--bs-white:#fff;--bs-gray:#999;--bs-gray-dark:#595959;--bs-gray-100:#fafafa;--bs-gray-200:#f6f6f6;--bs-gray-300:#eee;--bs-gray-400:#ddd;--bs-gray-500:#ccc;--bs-gray-600:#999;--bs-gray-700:#666;--bs-gray-800:#595959;--bs-gray-900:#333;--bs-primary:#ff7900;--bs-secondary:#000;--bs-success:#32c832;--bs-info:#527edb;--bs-warning:#fc0;--bs-danger:#cd3c14;--bs-light:#ccc;--bs-dark:#000;--bs-primary-rgb:255,121,0;--bs-secondary-rgb:0,0,0;--bs-success-rgb:50,200,50;--bs-info-rgb:82,126,219;--bs-warning-rgb:255,204,0;--bs-danger-rgb:205,60,20;--bs-light-rgb:204,204,204;--bs-dark-rgb:0,0,0;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:0,0,0;--bs-body-bg-rgb:255,255,255;--o-chevron-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2L7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");--o-close-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='M15 17.121l-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");--o-check-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0L5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");--o-success-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 100 125 62.5 62.5 0 000-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 01-1.3 3.7L57.7 86a5.8 5.8 0 01-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 011.7-4.1l2.3-2.4a5.8 5.8 0 014.2-1.7 5.8 5.8 0 013.8 1.4L52 64.7 86.6 31a5.8 5.8 0 014-1.6z'/%3e%3c/svg%3e\");--o-error-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0015.6 125H125a15.6 15.6 0 0013.5-23.5L83.8 7.8A15.6 15.6 0 0070.3 0zm19.2 50a6.4 6.4 0 014.4 1.9 6.4 6.4 0 010 9L79.4 75.6l15 15a6.4 6.4 0 010 9.2 6.4 6.4 0 01-4.5 1.9 6.4 6.4 0 01-4.6-2l-15-15-15 15a6.4 6.4 0 01-4.6 2 6.4 6.4 0 01-4.6-2 6.4 6.4 0 010-9l15-15L46.8 61a6.4 6.4 0 119-9.1l14.6 14.5L84.8 52a6.4 6.4 0 014.7-1.9z'/%3e%3c/svg%3e\");--bs-font-sans-serif:HelvNeueOrange,Helvetica Neue,Helvetica,Arial,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.125;--bs-body-color:#000;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}:root{scroll-padding-top:3.75rem}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (min-width:1024px){:root{scroll-padding-top:7.5rem}}body{position:relative;margin:0;font-family:var(--bs-body-font-family);font-synthesis:none;font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);letter-spacing:-.00625rem;background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased;text-rendering:optimizeSpeed}:focus{outline:.125rem solid}.js-focus-visible .focus:not([data-focus-visible-added]),.js-focus-visible :focus:not([data-focus-visible-added]){outline:0!important}hr{margin:1.25rem 0;color:inherit;background-color:currentColor!important;border:0}hr:not([size]){height:.125rem}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:1.25rem;font-size:1rem;font-weight:700;line-height:1.125;letter-spacing:-.00625rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1{font-size:1.25rem;line-height:1.1;letter-spacing:-.025rem}h2{font-size:1.125rem;line-height:1.1111111111;letter-spacing:-.0125rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}ul{list-style-type:square}li::marker{color:#f16e00;vertical-align:middle}li li::marker{color:#999}li li li::marker{color:#ccc}li::before{color:#f16e00;vertical-align:text-top}li li::before{color:#999}li li li::before{color:#ccc}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,em,strong{font-weight:700}small{font-size:.875rem;font-weight:400;line-height:1.1428571429}mark{padding:.2em;background-color:#ff7900}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#000;text-decoration:underline;outline-offset:0.5rem;transition:outline-offset .2s ease-in-out}@media (prefers-reduced-motion:reduce){a{transition:none}}a:focus{color:#f16e00;outline-offset:0.125rem}a:hover{color:#f16e00}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp,var{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;line-height:1.25;color:#333}pre code{font-size:inherit;color:inherit;word-break:normal}code,var{font-size:.875em;font-style:normal;color:#666;word-wrap:break-word}a>code,a>var{color:inherit}kbd{padding:.0625rem .0625rem;font-size:.875em;color:#000;background-color:#eee}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:top;border-collapse:collapse;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums}caption{padding-top:.75rem;padding-bottom:.75rem;font-size:2.125rem;font-weight:700;color:#000;text-align:left;letter-spacing:-.0625rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block;font-weight:700}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;box-shadow:none}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.3125rem;font-size:1.25rem;font-weight:700;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-0.125rem;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}\n+ */:root{--bs-blue:#527edb;--bs-indigo:#a885d8;--bs-purple:#a885d8;--bs-pink:#ffb4e6;--bs-red:#cd3c14;--bs-orange:#ff7900;--bs-yellow:#fc0;--bs-green:#32c832;--bs-teal:#50be87;--bs-cyan:#4bb4e6;--bs-black:#000;--bs-white:#fff;--bs-gray:#999;--bs-gray-dark:#595959;--bs-gray-100:#fafafa;--bs-gray-200:#f6f6f6;--bs-gray-300:#eee;--bs-gray-400:#ddd;--bs-gray-500:#ccc;--bs-gray-600:#999;--bs-gray-700:#666;--bs-gray-800:#595959;--bs-gray-900:#333;--bs-primary:#ff7900;--bs-secondary:#000;--bs-success:#32c832;--bs-info:#527edb;--bs-warning:#fc0;--bs-danger:#cd3c14;--bs-light:#ccc;--bs-dark:#000;--bs-primary-rgb:255,121,0;--bs-secondary-rgb:0,0,0;--bs-success-rgb:50,200,50;--bs-info-rgb:82,126,219;--bs-warning-rgb:255,204,0;--bs-danger-rgb:205,60,20;--bs-light-rgb:204,204,204;--bs-dark-rgb:0,0,0;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:0,0,0;--bs-body-bg-rgb:255,255,255;--o-chevron-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2 7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");--o-close-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='m15 17.121-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");--o-check-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0 5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");--o-success-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 1 0 0 125 62.5 62.5 0 0 0 0-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 0 1-1.3 3.7L57.7 86a5.8 5.8 0 0 1-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 0 1 1.7-4.1l2.3-2.4a5.8 5.8 0 0 1 4.2-1.7 5.8 5.8 0 0 1 3.8 1.4L52 64.7 86.6 31a5.8 5.8 0 0 1 4-1.6z'/%3e%3c/svg%3e\");--o-error-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0 0 15.6 125H125a15.6 15.6 0 0 0 13.5-23.5L83.8 7.8A15.6 15.6 0 0 0 70.3 0zm19.2 50a6.4 6.4 0 0 1 4.4 1.9 6.4 6.4 0 0 1 0 9L79.4 75.6l15 15a6.4 6.4 0 0 1 0 9.2 6.4 6.4 0 0 1-4.5 1.9 6.4 6.4 0 0 1-4.6-2l-15-15-15 15a6.4 6.4 0 0 1-4.6 2 6.4 6.4 0 0 1-4.6-2 6.4 6.4 0 0 1 0-9l15-15L46.8 61a6.4 6.4 0 1 1 9-9.1l14.6 14.5L84.8 52a6.4 6.4 0 0 1 4.7-1.9z'/%3e%3c/svg%3e\");--bs-font-sans-serif:HelvNeueOrange/*rtl:insert:Arabic*/,\"Helvetica Neue\",Helvetica,\"Noto Sans\",\"Liberation Sans\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.125;--bs-body-color:#000;--bs-body-bg:#fff;--bs-border-width:0.125rem;--bs-border-style:solid;--bs-border-color:#000;--bs-border-color-translucent:#ccc;--bs-border-radius: ;--bs-border-radius-sm: ;--bs-border-radius-lg: ;--bs-border-radius-xl: ;--bs-border-radius-2xl: ;--bs-border-radius-pill:50rem;--bs-heading-color: ;--bs-link-color:#000;--bs-link-hover-color:#f16e00;--bs-code-color:#666;--bs-highlight-bg:#ff7900}.bg-secondary,[class*=-dark]{--bs-link-color:#fff;--bs-link-hover-color:#ff7900;--o-caption-color:#fff;--bs-code-color:#999;--o-kbd-color:#fff;--o-kbd-bg:#333;--o-pre-color:#eee}[class*=bg-]:not([class*=-dark],.bg-secondary):not(.bg-transparent){--bs-link-color:#000;--bs-link-hover-color:#f16e00;--o-caption-color:var(--o-caption-color, #000);--bs-code-color:#666;--o-kbd-color:var(--o-kbd-color, #000);--o-kbd-bg:var(--o-kbd-bg, #eee);--o-pre-color:var(--o-pre-color, #333)}*,::after,::before{box-sizing:border-box}:root{scroll-padding-top:3.75rem}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (min-width:1024px){:root{scroll-padding-top:7.5rem}}body{position:relative;margin:0;font-family:var(--bs-body-font-family);font-synthesis:none;font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);letter-spacing:-.00625rem;background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased;text-rendering:optimizespeed}:focus{outline:.125rem solid}.js-focus-visible .focus:not([data-focus-visible-added]),.js-focus-visible :focus:not([data-focus-visible-added]){outline:0!important}:focus:not(:focus-visible){outline:0!important}hr{margin:1.25rem 0;color:inherit;border:0;border-top:.125rem solid}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:1.25rem;font-size:1rem;font-weight:700;line-height:1.125;color:var(--bs-heading-color);letter-spacing:-.00625rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1{font-size:1.25rem;line-height:1.1;letter-spacing:-.025rem}h2{font-size:1.125rem;line-height:1.1111111111;letter-spacing:-.0125rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}ul{list-style-type:square}li::marker{color:var(--bs-link-hover-color);vertical-align:middle}ol li::marker{color:inherit}li li::marker{color:#999}li li li::marker{color:#ccc}li::before{color:var(--bs-link-hover-color);vertical-align:text-top}ol li::before{color:inherit}li li::before{color:#999}li li li::before{color:#ccc}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,em,strong{font-weight:700}small{font-size:.875rem;font-weight:400;line-height:1.1428571429}mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;outline-offset:0.5rem;transition:outline-offset .2s ease-in-out}@media (prefers-reduced-motion:reduce){a{transition:none}}a:focus{color:var(--bs-link-hover-color);outline-offset:0.125rem}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp,var{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;line-height:1.25;color:var(--o-pre-color,#333)}pre code{font-size:inherit;color:inherit;word-break:normal}code,var{font-size:.875em;font-style:normal;color:var(--bs-code-color);word-wrap:break-word}a>code,a>var{color:inherit}kbd{padding:.0625rem .0625rem;font-size:.875em;color:var(--o-kbd-color,#000);background-color:var(--o-kbd-bg,#eee)}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;caption-side:top;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;font-size:2.125rem;font-weight:700;color:var(--o-caption-color,#000);text-align:left;letter-spacing:-.0625rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block;font-weight:700}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;box-shadow:none}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.3125rem;font-size:1.25rem;font-weight:700;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-0.125rem;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}\n /*# sourceMappingURL=boosted-reboot.min.css.map */\n\\ No newline at end of file"},{"sha":"0951da305d7bf10f987cf8c76357dc66b314fad3","filename":"dist/css/boosted-reboot.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"c9f869999d4bfe80d6b5ee26d357fd7c896e945e","filename":"dist/css/boosted-reboot.rtl.css","status":"modified","additions":83,"deletions":46,"changes":129,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.rtl.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,12 +1,12 @@\n /*!\n- * Boosted Reboot v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Reboot v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n@@ -21,6 +21,7 @@\n --bs-green: #32c832;\n --bs-teal: #50be87;\n --bs-cyan: #4bb4e6;\n+ --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #999;\n --bs-gray-dark: #595959;\n@@ -53,20 +54,56 @@\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 0, 0, 0;\n --bs-body-bg-rgb: 255, 255, 255;\n- --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2L7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n- --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='M15 17.121l-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n- --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0L5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n- --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 100 125 62.5 62.5 0 000-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 01-1.3 3.7L57.7 86a5.8 5.8 0 01-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 011.7-4.1l2.3-2.4a5.8 5.8 0 014.2-1.7 5.8 5.8 0 013.8 1.4L52 64.7 86.6 31a5.8 5.8 0 014-1.6z'/%3e%3c/svg%3e\");\n- --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0015.6 125H125a15.6 15.6 0 0013.5-23.5L83.8 7.8A15.6 15.6 0 0070.3 0zm19.2 50a6.4 6.4 0 014.4 1.9 6.4 6.4 0 010 9L79.4 75.6l15 15a6.4 6.4 0 010 9.2 6.4 6.4 0 01-4.5 1.9 6.4 6.4 0 01-4.6-2l-15-15-15 15a6.4 6.4 0 01-4.6 2 6.4 6.4 0 01-4.6-2 6.4 6.4 0 010-9l15-15L46.8 61a6.4 6.4 0 119-9.1l14.6 14.5L84.8 52a6.4 6.4 0 014.7-1.9z'/%3e%3c/svg%3e\");\n- --bs-font-sans-serif: HelvNeueOrangeArabic, Helvetica Neue, Helvetica, Arial, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;\n- --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n+ --o-chevron-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2 7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");\n+ --o-close-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='m15 17.121-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");\n+ --o-check-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0 5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");\n+ --o-success-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 1 0 0 125 62.5 62.5 0 0 0 0-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 0 1-1.3 3.7L57.7 86a5.8 5.8 0 0 1-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 0 1 1.7-4.1l2.3-2.4a5.8 5.8 0 0 1 4.2-1.7 5.8 5.8 0 0 1 3.8 1.4L52 64.7 86.6 31a5.8 5.8 0 0 1 4-1.6z'/%3e%3c/svg%3e\");\n+ --o-error-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0 0 15.6 125H125a15.6 15.6 0 0 0 13.5-23.5L83.8 7.8A15.6 15.6 0 0 0 70.3 0zm19.2 50a6.4 6.4 0 0 1 4.4 1.9 6.4 6.4 0 0 1 0 9L79.4 75.6l15 15a6.4 6.4 0 0 1 0 9.2 6.4 6.4 0 0 1-4.5 1.9 6.4 6.4 0 0 1-4.6-2l-15-15-15 15a6.4 6.4 0 0 1-4.6 2 6.4 6.4 0 0 1-4.6-2 6.4 6.4 0 0 1 0-9l15-15L46.8 61a6.4 6.4 0 1 1 9-9.1l14.6 14.5L84.8 52a6.4 6.4 0 0 1 4.7-1.9z'/%3e%3c/svg%3e\");\n+ --bs-font-sans-serif: HelvNeueOrange/*rtl:insert:Arabic*/, \"Helvetica Neue\", Helvetica, \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.125;\n --bs-body-color: #000;\n --bs-body-bg: #fff;\n+ --bs-border-width: 0.125rem;\n+ --bs-border-style: solid;\n+ --bs-border-color: #000;\n+ --bs-border-color-translucent: #ccc;\n+ --bs-border-radius: ;\n+ --bs-border-radius-sm: ;\n+ --bs-border-radius-lg: ;\n+ --bs-border-radius-xl: ;\n+ --bs-border-radius-2xl: ;\n+ --bs-border-radius-pill: 50rem;\n+ --bs-heading-color: ;\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --bs-code-color: #666;\n+ --bs-highlight-bg: #ff7900;\n+}\n+\n+[class*=-dark],\n+.bg-secondary {\n+ --bs-link-color: #fff;\n+ --bs-link-hover-color: #ff7900;\n+ --o-caption-color: #fff;\n+ --bs-code-color: #999;\n+ --o-kbd-color: #fff;\n+ --o-kbd-bg: #333;\n+ --o-pre-color: #eee;\n+}\n+[class*=bg-]:not([class*=-dark],\n+.bg-secondary):not(.bg-transparent) {\n+ --bs-link-color: #000;\n+ --bs-link-hover-color: #f16e00;\n+ --o-caption-color: var(--o-caption-color, #000);\n+ --bs-code-color: #666;\n+ --o-kbd-color: var(--o-kbd-color, #000);\n+ --o-kbd-bg: var(--o-kbd-bg, #eee);\n+ --o-pre-color: var(--o-pre-color, #333);\n }\n \n *,\n@@ -103,7 +140,7 @@ body {\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-font-smoothing: subpixel-antialiased;\n- text-rendering: optimizeSpeed;\n+ text-rendering: optimizespeed;\n }\n \n :focus {\n@@ -115,15 +152,15 @@ body {\n outline: 0 !important;\n }\n \n+:focus:not(:focus-visible) {\n+ outline: 0 !important;\n+}\n+\n hr {\n margin: 1.25rem 0;\n color: inherit;\n- background-color: currentColor !important;\n border: 0;\n-}\n-\n-hr:not([size]) {\n- height: 0.125rem;\n+ border-top: 0.125rem solid;\n }\n \n h3,\n@@ -135,9 +172,10 @@ h6, h2, h1 {\n font-size: 1rem;\n font-weight: 700;\n line-height: 1.125;\n+ color: var(--bs-heading-color);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n- text-rendering: optimizeLegibility;\n+ text-rendering: optimizelegibility;\n }\n \n h1 {\n@@ -155,8 +193,7 @@ p {\n margin-bottom: 1rem;\n }\n \n-abbr[title],\n-abbr[data-bs-original-title] {\n+abbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n@@ -194,9 +231,12 @@ ul {\n }\n \n li::marker {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n vertical-align: middle;\n }\n+ol li::marker {\n+ color: inherit;\n+}\n \n li li::marker {\n color: #999;\n@@ -207,9 +247,12 @@ li li li::marker {\n }\n \n li::before {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n vertical-align: text-top;\n }\n+ol li::before {\n+ color: inherit;\n+}\n \n li li::before {\n color: #999;\n@@ -245,8 +288,8 @@ small {\n }\n \n mark {\n- padding: 0.2em;\n- background-color: #ff7900;\n+ padding: 0.1875em;\n+ background-color: var(--bs-highlight-bg);\n }\n \n sub,\n@@ -266,7 +309,7 @@ sup {\n }\n \n a {\n- color: #000;\n+ color: var(--bs-link-color);\n text-decoration: underline;\n outline-offset: 0.5rem;\n transition: outline-offset 0.2s ease-in-out;\n@@ -277,11 +320,11 @@ a {\n }\n }\n a:focus {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n outline-offset: 0.125rem;\n }\n a:hover {\n- color: #f16e00;\n+ color: var(--bs-link-hover-color);\n }\n \n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n@@ -296,8 +339,6 @@ kbd,\n samp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n- direction: ltr ;\n- unicode-bidi: bidi-override;\n }\n \n pre {\n@@ -307,7 +348,7 @@ pre {\n overflow: auto;\n font-size: 0.875em;\n line-height: 1.25;\n- color: #333;\n+ color: var(--o-pre-color, #333);\n }\n pre code {\n font-size: inherit;\n@@ -319,7 +360,7 @@ var,\n code {\n font-size: 0.875em;\n font-style: normal;\n- color: #666;\n+ color: var(--bs-code-color);\n word-wrap: break-word;\n }\n a > var,\n@@ -330,13 +371,12 @@ a > code {\n kbd {\n padding: 0.0625rem 0.0625rem;\n font-size: 0.875em;\n- color: #000;\n- background-color: #eee;\n+ color: var(--o-kbd-color, #000);\n+ background-color: var(--o-kbd-bg, #eee);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n- font-weight: 700;\n }\n \n figure {\n@@ -349,22 +389,22 @@ svg {\n }\n \n table {\n- caption-side: top;\n- border-collapse: collapse;\n font-feature-settings: \"tnum\";\n font-variant-numeric: tabular-nums;\n+ caption-side: top;\n+ border-collapse: collapse;\n }\n \n caption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n font-size: 2.125rem;\n font-weight: 700;\n- color: #000;\n+ color: var(--o-caption-color, #000);\n text-align: right;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n- text-rendering: optimizeLegibility;\n+ text-rendering: optimizelegibility;\n }\n \n th {\n@@ -424,8 +464,8 @@ select:disabled {\n opacity: 1;\n }\n \n-[list]::-webkit-calendar-picker-indicator {\n- display: none;\n+[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n+ display: none !important;\n }\n \n button,\n@@ -505,14 +545,11 @@ legend + * {\n \n ::-webkit-file-upload-button {\n font: inherit;\n+ -webkit-appearance: button;\n }\n \n ::file-selector-button {\n font: inherit;\n-}\n-\n-::-webkit-file-upload-button {\n- font: inherit;\n -webkit-appearance: button;\n }\n "},{"sha":"4f11bc2c320e637d061ec93417e99ce3bc3e48e4","filename":"dist/css/boosted-reboot.rtl.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.rtl.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"42432628b8ad2f566c7e1ead93c2e9b7706d9dcd","filename":"dist/css/boosted-reboot.rtl.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.rtl.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,13 +1,13 @@\n /*!\n- * Boosted Reboot v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Reboot v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n- */:root{--bs-blue:#527edb;--bs-indigo:#a885d8;--bs-purple:#a885d8;--bs-pink:#ffb4e6;--bs-red:#cd3c14;--bs-orange:#ff7900;--bs-yellow:#fc0;--bs-green:#32c832;--bs-teal:#50be87;--bs-cyan:#4bb4e6;--bs-white:#fff;--bs-gray:#999;--bs-gray-dark:#595959;--bs-gray-100:#fafafa;--bs-gray-200:#f6f6f6;--bs-gray-300:#eee;--bs-gray-400:#ddd;--bs-gray-500:#ccc;--bs-gray-600:#999;--bs-gray-700:#666;--bs-gray-800:#595959;--bs-gray-900:#333;--bs-primary:#ff7900;--bs-secondary:#000;--bs-success:#32c832;--bs-info:#527edb;--bs-warning:#fc0;--bs-danger:#cd3c14;--bs-light:#ccc;--bs-dark:#000;--bs-primary-rgb:255,121,0;--bs-secondary-rgb:0,0,0;--bs-success-rgb:50,200,50;--bs-info-rgb:82,126,219;--bs-warning-rgb:255,204,0;--bs-danger-rgb:205,60,20;--bs-light-rgb:204,204,204;--bs-dark-rgb:0,0,0;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:0,0,0;--bs-body-bg-rgb:255,255,255;--o-chevron-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2L7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");--o-close-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='M15 17.121l-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");--o-check-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0L5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");--o-success-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 100 125 62.5 62.5 0 000-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 01-1.3 3.7L57.7 86a5.8 5.8 0 01-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 011.7-4.1l2.3-2.4a5.8 5.8 0 014.2-1.7 5.8 5.8 0 013.8 1.4L52 64.7 86.6 31a5.8 5.8 0 014-1.6z'/%3e%3c/svg%3e\");--o-error-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0015.6 125H125a15.6 15.6 0 0013.5-23.5L83.8 7.8A15.6 15.6 0 0070.3 0zm19.2 50a6.4 6.4 0 014.4 1.9 6.4 6.4 0 010 9L79.4 75.6l15 15a6.4 6.4 0 010 9.2 6.4 6.4 0 01-4.5 1.9 6.4 6.4 0 01-4.6-2l-15-15-15 15a6.4 6.4 0 01-4.6 2 6.4 6.4 0 01-4.6-2 6.4 6.4 0 010-9l15-15L46.8 61a6.4 6.4 0 119-9.1l14.6 14.5L84.8 52a6.4 6.4 0 014.7-1.9z'/%3e%3c/svg%3e\");--bs-font-sans-serif:HelvNeueOrangeArabic,Helvetica Neue,Helvetica,Arial,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.125;--bs-body-color:#000;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}:root{scroll-padding-top:3.75rem}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (min-width:1024px){:root{scroll-padding-top:7.5rem}}body{position:relative;margin:0;font-family:var(--bs-body-font-family);font-synthesis:none;font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased;text-rendering:optimizeSpeed}:focus{outline:.125rem solid}.js-focus-visible .focus:not([data-focus-visible-added]),.js-focus-visible :focus:not([data-focus-visible-added]){outline:0!important}hr{margin:1.25rem 0;color:inherit;background-color:currentColor!important;border:0}hr:not([size]){height:.125rem}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:1.25rem;font-size:1rem;font-weight:700;line-height:1.125;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1{font-size:1.25rem;line-height:1.1}h2{font-size:1.125rem;line-height:1.1111111111}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}ul{list-style-type:square}li::marker{color:#f16e00;vertical-align:middle}li li::marker{color:#999}li li li::marker{color:#ccc}li::before{color:#f16e00;vertical-align:text-top}li li::before{color:#999}li li li::before{color:#ccc}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,em,strong{font-weight:700}small{font-size:.875rem;font-weight:400;line-height:1.1428571429}mark{padding:.2em;background-color:#ff7900}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#000;text-decoration:underline;outline-offset:0.5rem;transition:outline-offset .2s ease-in-out}@media (prefers-reduced-motion:reduce){a{transition:none}}a:focus{color:#f16e00;outline-offset:0.125rem}a:hover{color:#f16e00}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp,var{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;line-height:1.25;color:#333}pre code{font-size:inherit;color:inherit;word-break:normal}code,var{font-size:.875em;font-style:normal;color:#666;word-wrap:break-word}a>code,a>var{color:inherit}kbd{padding:.0625rem .0625rem;font-size:.875em;color:#000;background-color:#eee}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:top;border-collapse:collapse;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums}caption{padding-top:.75rem;padding-bottom:.75rem;font-size:2.125rem;font-weight:700;color:#000;text-align:right;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block;font-weight:700}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;box-shadow:none}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.3125rem;font-size:1.25rem;font-weight:700;line-height:inherit}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-0.125rem;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}\n+ */:root{--bs-blue:#527edb;--bs-indigo:#a885d8;--bs-purple:#a885d8;--bs-pink:#ffb4e6;--bs-red:#cd3c14;--bs-orange:#ff7900;--bs-yellow:#fc0;--bs-green:#32c832;--bs-teal:#50be87;--bs-cyan:#4bb4e6;--bs-black:#000;--bs-white:#fff;--bs-gray:#999;--bs-gray-dark:#595959;--bs-gray-100:#fafafa;--bs-gray-200:#f6f6f6;--bs-gray-300:#eee;--bs-gray-400:#ddd;--bs-gray-500:#ccc;--bs-gray-600:#999;--bs-gray-700:#666;--bs-gray-800:#595959;--bs-gray-900:#333;--bs-primary:#ff7900;--bs-secondary:#000;--bs-success:#32c832;--bs-info:#527edb;--bs-warning:#fc0;--bs-danger:#cd3c14;--bs-light:#ccc;--bs-dark:#000;--bs-primary-rgb:255,121,0;--bs-secondary-rgb:0,0,0;--bs-success-rgb:50,200,50;--bs-info-rgb:82,126,219;--bs-warning-rgb:255,204,0;--bs-danger-rgb:205,60,20;--bs-light-rgb:204,204,204;--bs-dark-rgb:0,0,0;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:0,0,0;--bs-body-bg-rgb:255,255,255;--o-chevron-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3e%3cpath d='M9 2 7 0 0 7l7 7 2-2-5-5 5-5z'/%3e%3c/svg%3e\");--o-close-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='%23000'%3e%3cpath stroke='%23000' stroke-width='5' stroke-linecap='round' d='m15 17.121-8.132 8.132-2.121-2.12L12.879 15 4.747 6.868l2.12-2.121L15 12.879l8.132-8.132 2.12 2.121L17.122 15l8.132 8.132-2.121 2.12L15 17.123z'/%3e%3c/svg%3e\");--o-check-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12'%3e%3cpath fill='%23000' d='M13 0 5 8 2 5 0 7l5 5L15 2z'/%3e%3c/svg%3e\");--o-success-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 125'%3e%3cpath fill='%2332c832' d='M62.5 0a62.5 62.5 0 1 0 0 125 62.5 62.5 0 0 0 0-125zm28 29.4c3.3 0 6 2.6 6 5.9a5.9 5.9 0 0 1-1.3 3.7L57.7 86a5.8 5.8 0 0 1-9.1 0L29.8 62.5c-.8-1-1.2-2.3-1.2-3.7a5.9 5.9 0 0 1 1.7-4.1l2.3-2.4a5.8 5.8 0 0 1 4.2-1.7 5.8 5.8 0 0 1 3.8 1.4L52 64.7 86.6 31a5.8 5.8 0 0 1 4-1.6z'/%3e%3c/svg%3e\");--o-error-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 125'%3e%3cpath fill='%23cd3c14' d='M70.3 0c-5.8 0-10.8 3.1-13.5 7.8L2.3 101.3l-.2.2A15.6 15.6 0 0 0 15.6 125H125a15.6 15.6 0 0 0 13.5-23.5L83.8 7.8A15.6 15.6 0 0 0 70.3 0zm19.2 50a6.4 6.4 0 0 1 4.4 1.9 6.4 6.4 0 0 1 0 9L79.4 75.6l15 15a6.4 6.4 0 0 1 0 9.2 6.4 6.4 0 0 1-4.5 1.9 6.4 6.4 0 0 1-4.6-2l-15-15-15 15a6.4 6.4 0 0 1-4.6 2 6.4 6.4 0 0 1-4.6-2 6.4 6.4 0 0 1 0-9l15-15L46.8 61a6.4 6.4 0 1 1 9-9.1l14.6 14.5L84.8 52a6.4 6.4 0 0 1 4.7-1.9z'/%3e%3c/svg%3e\");--bs-font-sans-serif:HelvNeueOrange/*rtl:insert:Arabic*/,\"Helvetica Neue\",Helvetica,\"Noto Sans\",\"Liberation Sans\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.125;--bs-body-color:#000;--bs-body-bg:#fff;--bs-border-width:0.125rem;--bs-border-style:solid;--bs-border-color:#000;--bs-border-color-translucent:#ccc;--bs-border-radius: ;--bs-border-radius-sm: ;--bs-border-radius-lg: ;--bs-border-radius-xl: ;--bs-border-radius-2xl: ;--bs-border-radius-pill:50rem;--bs-heading-color: ;--bs-link-color:#000;--bs-link-hover-color:#f16e00;--bs-code-color:#666;--bs-highlight-bg:#ff7900}.bg-secondary,[class*=-dark]{--bs-link-color:#fff;--bs-link-hover-color:#ff7900;--o-caption-color:#fff;--bs-code-color:#999;--o-kbd-color:#fff;--o-kbd-bg:#333;--o-pre-color:#eee}[class*=bg-]:not([class*=-dark],.bg-secondary):not(.bg-transparent){--bs-link-color:#000;--bs-link-hover-color:#f16e00;--o-caption-color:var(--o-caption-color, #000);--bs-code-color:#666;--o-kbd-color:var(--o-kbd-color, #000);--o-kbd-bg:var(--o-kbd-bg, #eee);--o-pre-color:var(--o-pre-color, #333)}*,::after,::before{box-sizing:border-box}:root{scroll-padding-top:3.75rem}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (min-width:1024px){:root{scroll-padding-top:7.5rem}}body{position:relative;margin:0;font-family:var(--bs-body-font-family);font-synthesis:none;font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased;text-rendering:optimizespeed}:focus{outline:.125rem solid}.js-focus-visible .focus:not([data-focus-visible-added]),.js-focus-visible :focus:not([data-focus-visible-added]){outline:0!important}:focus:not(:focus-visible){outline:0!important}hr{margin:1.25rem 0;color:inherit;border:0;border-top:.125rem solid}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:1.25rem;font-size:1rem;font-weight:700;line-height:1.125;color:var(--bs-heading-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1{font-size:1.25rem;line-height:1.1}h2{font-size:1.125rem;line-height:1.1111111111}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}ul{list-style-type:square}li::marker{color:var(--bs-link-hover-color);vertical-align:middle}ol li::marker{color:inherit}li li::marker{color:#999}li li li::marker{color:#ccc}li::before{color:var(--bs-link-hover-color);vertical-align:text-top}ol li::before{color:inherit}li li::before{color:#999}li li li::before{color:#ccc}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,em,strong{font-weight:700}small{font-size:.875rem;font-weight:400;line-height:1.1428571429}mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;outline-offset:0.5rem;transition:outline-offset .2s ease-in-out}@media (prefers-reduced-motion:reduce){a{transition:none}}a:focus{color:var(--bs-link-hover-color);outline-offset:0.125rem}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp,var{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;line-height:1.25;color:var(--o-pre-color,#333)}pre code{font-size:inherit;color:inherit;word-break:normal}code,var{font-size:.875em;font-style:normal;color:var(--bs-code-color);word-wrap:break-word}a>code,a>var{color:inherit}kbd{padding:.0625rem .0625rem;font-size:.875em;color:var(--o-kbd-color,#000);background-color:var(--o-kbd-bg,#eee)}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;caption-side:top;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;font-size:2.125rem;font-weight:700;color:var(--o-caption-color,#000);text-align:right;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block;font-weight:700}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;box-shadow:none}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.3125rem;font-size:1.25rem;font-weight:700;line-height:inherit}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-0.125rem;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}\n /*# sourceMappingURL=boosted-reboot.rtl.min.css.map */\n\\ No newline at end of file"},{"sha":"fd22acc87e85c441e5f9a12ea97c028043854f06","filename":"dist/css/boosted-reboot.rtl.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-reboot.rtl.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-reboot.rtl.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"f91f52ddf2aac44b48a5ce4f9030948e82d9e07d","filename":"dist/css/boosted-utilities.css","status":"modified","additions":260,"deletions":168,"changes":428,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,12 +1,12 @@\n /*!\n- * Boosted Utilities v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Utilities v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Utilities v5.2.0-beta1 (https://getbootstrap.com/)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n .align-baseline {\n@@ -207,87 +207,120 @@\n }\n \n .border {\n- border: 0.125rem solid #000 !important;\n+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-0 {\n border: 0 !important;\n }\n \n .border-top {\n- border-top: 0.125rem solid #000 !important;\n+ border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-top-0 {\n border-top: 0 !important;\n }\n \n .border-end {\n- border-right: 0.125rem solid #000 !important;\n+ border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-end-0 {\n border-right: 0 !important;\n }\n \n .border-bottom {\n- border-bottom: 0.125rem solid #000 !important;\n+ border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-bottom-0 {\n border-bottom: 0 !important;\n }\n \n .border-start {\n- border-left: 0.125rem solid #000 !important;\n+ border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-start-0 {\n border-left: 0 !important;\n }\n \n .border-primary {\n- border-color: #ff7900 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-secondary {\n- border-color: #000 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-success {\n- border-color: #32c832 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-info {\n- border-color: #527edb !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-warning {\n- border-color: #fc0 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-danger {\n- border-color: #cd3c14 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-light {\n- border-color: #ccc !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(204, 204, 204, var(--bs-border-opacity)) !important;\n }\n \n .border-dark {\n- border-color: #666 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(102, 102, 102, var(--bs-border-opacity)) !important;\n }\n \n .border-white {\n- border-color: #fff !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-1 {\n- border-width: 0.0625rem !important;\n+ --bs-border-width: 0.0625rem;\n }\n \n .border-2 {\n- border-width: 0.125rem !important;\n+ --bs-border-width: 0.125rem;\n+}\n+\n+.border-3 {\n+ --bs-border-width: 0.1875rem;\n+}\n+\n+.border-opacity-10 {\n+ --bs-border-opacity: 0.1;\n+}\n+\n+.border-opacity-25 {\n+ --bs-border-opacity: 0.25;\n+}\n+\n+.border-opacity-50 {\n+ --bs-border-opacity: 0.5;\n+}\n+\n+.border-opacity-75 {\n+ --bs-border-opacity: 0.75;\n+}\n+\n+.border-opacity-100 {\n+ --bs-border-opacity: 1;\n }\n \n .w-25 {\n@@ -402,30 +435,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n-.gap-0 {\n- gap: 0 !important;\n-}\n-\n-.gap-1 {\n- gap: 0.3125rem !important;\n-}\n-\n-.gap-2 {\n- gap: 0.625rem !important;\n-}\n-\n-.gap-3 {\n- gap: 1.25rem !important;\n-}\n-\n-.gap-4 {\n- gap: 1.875rem !important;\n-}\n-\n-.gap-5 {\n- gap: 3.75rem !important;\n-}\n-\n .justify-content-start {\n justify-content: flex-start !important;\n }\n@@ -940,6 +949,30 @@\n padding-left: 3.75rem !important;\n }\n \n+.gap-0 {\n+ gap: 0 !important;\n+}\n+\n+.gap-1 {\n+ gap: 0.3125rem !important;\n+}\n+\n+.gap-2 {\n+ gap: 0.625rem !important;\n+}\n+\n+.gap-3 {\n+ gap: 1.25rem !important;\n+}\n+\n+.gap-4 {\n+ gap: 1.875rem !important;\n+}\n+\n+.gap-5 {\n+ gap: 3.75rem !important;\n+}\n+\n .font-monospace {\n font-family: var(--bs-font-monospace) !important;\n }\n@@ -976,6 +1009,10 @@\n font-weight: 700 !important;\n }\n \n+.fw-semibold {\n+ font-weight: 600 !important;\n+}\n+\n .lh-1 {\n line-height: 1 !important;\n }\n@@ -992,6 +1029,14 @@\n line-height: 1.875 !important;\n }\n \n+.ll-sm {\n+ max-width: 40ch !important;\n+}\n+\n+.ll-md {\n+ max-width: 80ch !important;\n+}\n+\n .text-start {\n text-align: left !important;\n }\n@@ -1020,6 +1065,10 @@\n text-transform: lowercase !important;\n }\n \n+.text-uppercase {\n+ text-transform: uppercase !important;\n+}\n+\n .text-capitalize {\n text-transform: capitalize !important;\n }\n@@ -1065,7 +1114,6 @@\n .text-muted {\n --bs-text-opacity: 1;\n color: #666 !important;\n- background-color: #fff;\n }\n \n .text-black-50 {\n@@ -1252,16 +1300,60 @@\n pointer-events: auto !important;\n }\n \n+.rounded {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n .rounded-0 {\n border-radius: 0 !important;\n }\n \n+.rounded-1 {\n+ border-radius: var(--bs-border-radius-sm) !important;\n+}\n+\n+.rounded-2 {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-3 {\n+ border-radius: var(--bs-border-radius-lg) !important;\n+}\n+\n+.rounded-4 {\n+ border-radius: var(--bs-border-radius-xl) !important;\n+}\n+\n+.rounded-5 {\n+ border-radius: var(--bs-border-radius-2xl) !important;\n+}\n+\n .rounded-circle {\n border-radius: 50% !important;\n }\n \n .rounded-pill {\n- border-radius: 50rem !important;\n+ border-radius: var(--bs-border-radius-pill) !important;\n+}\n+\n+.rounded-top {\n+ border-top-left-radius: var(--bs-border-radius) !important;\n+ border-top-right-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-end {\n+ border-top-right-radius: var(--bs-border-radius) !important;\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-bottom {\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-start {\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+ border-top-left-radius: var(--bs-border-radius) !important;\n }\n \n .visible {\n@@ -1373,30 +1465,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-sm-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-sm-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-sm-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-sm-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-sm-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-sm-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n@@ -1911,6 +1979,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-sm-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-sm-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-sm-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-sm-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-sm-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-sm-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-sm-start {\n text-align: left !important;\n }\n@@ -2024,30 +2116,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-md-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-md-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-md-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-md-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-md-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-md-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n@@ -2562,6 +2630,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-md-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-md-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-md-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-md-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-md-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-md-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-md-start {\n text-align: left !important;\n }\n@@ -2675,30 +2767,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-lg-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-lg-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-lg-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-lg-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-lg-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-lg-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n@@ -3213,6 +3281,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-lg-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-lg-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-lg-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-lg-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-lg-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-lg-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-lg-start {\n text-align: left !important;\n }\n@@ -3326,30 +3418,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n@@ -3864,6 +3932,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-xl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xl-start {\n text-align: left !important;\n }\n@@ -3977,30 +4069,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xxl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xxl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xxl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xxl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xxl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xxl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n@@ -4515,6 +4583,30 @@\n padding-left: 3.75rem !important;\n }\n \n+ .gap-xxl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xxl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xxl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xxl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xxl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xxl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xxl-start {\n text-align: left !important;\n }"},{"sha":"be76ce62be70d59cf599510f7d3eb37327a146cd","filename":"dist/css/boosted-utilities.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"ecfc511ffad29c761a1f3d34d1076f195f4e6df3","filename":"dist/css/boosted-utilities.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"505df884679d3ba1a8f52ea27fca416593db4f52","filename":"dist/css/boosted-utilities.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"sources\":[\"../../scss/boosted-utilities.scss\",\"../../scss/mixins/_utilities.scss\",\"../../scss/mixins/_breakpoints.scss\",\"../../scss/utilities/_api.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*!\\n * Boosted Utilities v5.1.3 (https://boosted.orange.com/)\\n * Copyright 2014-2021 The Boosted Authors\\n * Copyright 2014-2021 Orange SA\\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\\n * This a fork of Bootstrap: Initial license below\\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\\n * Copyright 2011-2021 The Bootstrap Authors\\n * Copyright 2011-2021 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n */\\n\\n// Configuration\\n\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n@import \\\"mixins\\\";\\n@import \\\"utilities\\\";\\n\\n\\n// Utilities\\n\\n@import \\\"utilities/api\\\";\\n\",\"// Boosted mod\\n@function get-color-from-rgba-string($value) {\\n $prefix: \\\"rgba(var(--bs-\\\";\\n $rgba-string-index-before-color-name: str-index($value, $prefix);\\n @if $rgba-string-index-before-color-name == 1 {\\n $rgba-string-index-after-color-name: str-index($value, \\\"-rgb\\\");\\n @return str-slice($value, $rgba-string-index-before-color-name + str-length($prefix), $rgba-string-index-after-color-name - 1);\\n }\\n @return undefined;\\n}\\n\\n// Utility generator\\n// Used to generate utilities & print utilities\\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\\n $values: map-get($utility, values);\\n\\n // If the values are a list or string, convert it into a map\\n @if type-of($values) == \\\"string\\\" or type-of(nth($values, 1)) != \\\"list\\\" {\\n $values: zip($values, $values);\\n }\\n\\n @each $key, $value in $values {\\n $properties: map-get($utility, property);\\n\\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\\n @if type-of($properties) == \\\"string\\\" {\\n $properties: append((), $properties);\\n }\\n\\n // Use custom class if present\\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\\n $property-class: if($property-class == null, \\\"\\\", $property-class);\\n\\n // State params to generate pseudo-classes\\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\\n\\n $infix: if($property-class == \\\"\\\" and str-slice($infix, 1, 1) == \\\"-\\\", str-slice($infix, 2), $infix);\\n\\n // Don't prefix if value key is null (eg. with shadow class)\\n $property-class-modifier: if($key, if($property-class == \\\"\\\" and $infix == \\\"\\\", \\\"\\\", \\\"-\\\") + $key, \\\"\\\");\\n\\n @if map-get($utility, rfs) {\\n // Inside the media query\\n @if $is-rfs-media-query {\\n $val: rfs-value($value);\\n\\n // Do not render anything if fluid and non fluid values are the same\\n $value: if($val == rfs-fluid-value($value), null, $val);\\n }\\n @else {\\n $value: rfs-fluid-value($value);\\n }\\n }\\n\\n $is-css-var: map-get($utility, css-var);\\n $is-local-vars: map-get($utility, local-vars);\\n $is-rtl: map-get($utility, rtl);\\n\\n @if $value != null {\\n @if $is-rtl == false {\\n /* rtl:begin:remove */\\n }\\n\\n @if $is-css-var {\\n .#{$property-class + $infix + $property-class-modifier} {\\n --#{$variable-prefix}#{$property-class}: #{$value};\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n --#{$variable-prefix}#{$property-class}: #{$value};\\n }\\n }\\n } @else {\\n .#{$property-class + $infix + $property-class-modifier} {\\n @each $property in $properties {\\n @if $is-local-vars {\\n @each $local-var, $value in $is-local-vars {\\n --#{$variable-prefix}#{$local-var}: #{$value};\\n }\\n }\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n\\n // Boosted mod: ensure contrasts in color utilities\\n @if \\\"background-color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"black\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"transparent\\\" != inspect($value) {\\n color: color-contrast($value);\\n }\\n }\\n @else if \\\"color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"white\\\" {\\n $value: $white;\\n }\\n @else if $color-name == \\\"body-color\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"inherit\\\" != inspect($value) and $accessible-orange != $value and $primary != $value {\\n background-color: color-contrast($value);\\n }\\n }\\n // End mod\\n }\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n @each $property in $properties {\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n }\\n }\\n }\\n }\\n\\n @if $is-rtl == false {\\n /* rtl:end:remove */\\n }\\n }\\n }\\n}\\n\",\"// Breakpoint viewport sizes and media queries.\\n//\\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\\n//\\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\\n//\\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\\n\\n// Name of the next breakpoint, or null for the last breakpoint.\\n//\\n// >> breakpoint-next(sm)\\n// md\\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// md\\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\\n// md\\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\\n $n: index($breakpoint-names, $name);\\n @if not $n {\\n @error \\\"breakpoint `#{$name}` not found in `#{$breakpoints}`\\\";\\n }\\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\\n}\\n\\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\\n//\\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// 576px\\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\\n $min: map-get($breakpoints, $name);\\n @return if($min != 0, $min, null);\\n}\\n\\n// Maximum breakpoint width.\\n// The maximum value is reduced by 0.02px to work around the limitations of\\n// `min-` and `max-` prefixes and viewports with fractional widths.\\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\\n//\\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// 767.98px\\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\\n $max: map-get($breakpoints, $name);\\n @return if($max and $max > 0, $max - .02, null);\\n}\\n\\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\\n// Useful for making responsive utilities.\\n//\\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// \\\"\\\" (Returns a blank string)\\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// \\\"-sm\\\"\\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\\n @return if(breakpoint-min($name, $breakpoints) == null, \\\"\\\", \\\"-#{$name}\\\");\\n}\\n\\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\\n// Makes the @content apply to the given breakpoint and wider.\\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n @if $min {\\n @media (min-width: $min) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\\n// Makes the @content apply to the given breakpoint and narrower.\\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\\n $max: breakpoint-max($name, $breakpoints);\\n @if $max {\\n @media (max-width: $max) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media that spans multiple breakpoint widths.\\n// Makes the @content apply between the min and max breakpoints\\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($lower, $breakpoints);\\n $max: breakpoint-max($upper, $breakpoints);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($lower, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($upper, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\\n// Media between the breakpoint's minimum and maximum widths.\\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n $next: breakpoint-next($name, $breakpoints);\\n $max: breakpoint-max($next);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($name, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($next, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\",\"// Loop over each breakpoint\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n\\n // Generate media query if needed\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix);\\n }\\n }\\n }\\n}\\n\\n// RFS rescaling\\n@media (min-width: $rfs-mq-value) {\\n @each $breakpoint in map-keys($grid-breakpoints) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix, true);\\n }\\n }\\n }\\n }\\n}\\n\\n\\n// Print utilities\\n@media print {\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Then check if the utility needs print styles\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, print) == true {\\n @include generate-utility($utility, \\\"-print\\\");\\n }\\n }\\n}\\n\"]}\n\\ No newline at end of file\n+{\"version\":3,\"sources\":[\"../../scss/boosted-utilities.scss\",\"../../scss/mixins/_utilities.scss\",\"../../scss/mixins/_breakpoints.scss\",\"../../scss/utilities/_api.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*!\\n * Boosted Utilities v5.2.0-beta1 (https://boosted.orange.com/)\\n * Copyright 2014-2022 The Boosted Authors\\n * Copyright 2014-2022 Orange SA\\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\\n * This a fork of Bootstrap: Initial license below\\n * Bootstrap Utilities v5.2.0-beta1 (https://getbootstrap.com/)\\n * Copyright 2011-2022 The Bootstrap Authors\\n * Copyright 2011-2022 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n */\\n\\n// Configuration\\n\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n@import \\\"maps\\\";\\n@import \\\"mixins\\\";\\n@import \\\"utilities\\\";\\n\\n\\n// Utilities\\n\\n@import \\\"utilities/api\\\";\\n\",\"// Boosted mod\\n@function get-color-from-rgba-string($value) {\\n $prefix: \\\"rgba(var(--bs-\\\";\\n $rgba-string-index-before-color-name: str-index($value, $prefix);\\n @if $rgba-string-index-before-color-name == 1 {\\n $rgba-string-index-after-color-name: str-index($value, \\\"-rgb\\\");\\n @return str-slice($value, $rgba-string-index-before-color-name + str-length($prefix), $rgba-string-index-after-color-name - 1);\\n }\\n @return undefined;\\n}\\n\\n// Utility generator\\n// Used to generate utilities & print utilities\\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\\n $values: map-get($utility, values);\\n\\n // If the values are a list or string, convert it into a map\\n @if type-of($values) == \\\"string\\\" or type-of(nth($values, 1)) != \\\"list\\\" {\\n $values: zip($values, $values);\\n }\\n\\n @each $key, $value in $values {\\n $properties: map-get($utility, property);\\n\\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\\n @if type-of($properties) == \\\"string\\\" {\\n $properties: append((), $properties);\\n }\\n\\n // Use custom class if present\\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\\n $property-class: if($property-class == null, \\\"\\\", $property-class);\\n\\n // Use custom CSS variable name if present, otherwise default to `class`\\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\\n\\n // State params to generate pseudo-classes\\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\\n\\n $infix: if($property-class == \\\"\\\" and str-slice($infix, 1, 1) == \\\"-\\\", str-slice($infix, 2), $infix);\\n\\n // Don't prefix if value key is null (eg. with shadow class)\\n $property-class-modifier: if($key, if($property-class == \\\"\\\" and $infix == \\\"\\\", \\\"\\\", \\\"-\\\") + $key, \\\"\\\");\\n\\n @if map-get($utility, rfs) {\\n // Inside the media query\\n @if $is-rfs-media-query {\\n $val: rfs-value($value);\\n\\n // Do not render anything if fluid and non fluid values are the same\\n $value: if($val == rfs-fluid-value($value), null, $val);\\n }\\n @else {\\n $value: rfs-fluid-value($value);\\n }\\n }\\n\\n $is-css-var: map-get($utility, css-var);\\n $is-local-vars: map-get($utility, local-vars);\\n $is-rtl: map-get($utility, rtl);\\n\\n @if $value != null {\\n @if $is-rtl == false {\\n /* rtl:begin:remove */\\n }\\n\\n @if $is-css-var {\\n .#{$property-class + $infix + $property-class-modifier} {\\n --#{$prefix}#{$css-variable-name}: #{$value};\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n --#{$prefix}#{$css-variable-name}: #{$value};\\n }\\n }\\n } @else {\\n .#{$property-class + $infix + $property-class-modifier} {\\n @each $property in $properties {\\n @if $is-local-vars {\\n @each $local-var, $variable in $is-local-vars {\\n --#{$prefix}#{$local-var}: #{$variable};\\n }\\n }\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n\\n // Boosted mod: ensure contrasts in color utilities\\n @if \\\"background-color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"black\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"transparent\\\" != inspect($value) {\\n color: color-contrast($value);\\n }\\n }\\n @else if \\\"color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"white\\\" {\\n $value: $white;\\n } @else if $color-name == \\\"body-color\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"inherit\\\" != inspect($value) and $accessible-orange != $value and $primary != $value and $text-muted != $value {\\n background-color: color-contrast($value);\\n }\\n }\\n // End mod\\n }\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n @each $property in $properties {\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n }\\n }\\n }\\n }\\n\\n @if $is-rtl == false {\\n /* rtl:end:remove */\\n }\\n }\\n }\\n}\\n\",\"// Breakpoint viewport sizes and media queries.\\n//\\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\\n//\\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\\n//\\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\\n\\n// Name of the next breakpoint, or null for the last breakpoint.\\n//\\n// >> breakpoint-next(sm)\\n// md\\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// md\\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\\n// md\\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\\n $n: index($breakpoint-names, $name);\\n @if not $n {\\n @error \\\"breakpoint `#{$name}` not found in `#{$breakpoints}`\\\";\\n }\\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\\n}\\n\\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\\n//\\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// 576px\\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\\n $min: map-get($breakpoints, $name);\\n @return if($min != 0, $min, null);\\n}\\n\\n// Maximum breakpoint width.\\n// The maximum value is reduced by 0.02px to work around the limitations of\\n// `min-` and `max-` prefixes and viewports with fractional widths.\\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\\n//\\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// 767.98px\\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\\n $max: map-get($breakpoints, $name);\\n @return if($max and $max > 0, $max - .02, null);\\n}\\n\\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\\n// Useful for making responsive utilities.\\n//\\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// \\\"\\\" (Returns a blank string)\\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// \\\"-sm\\\"\\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\\n @return if(breakpoint-min($name, $breakpoints) == null, \\\"\\\", \\\"-#{$name}\\\");\\n}\\n\\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\\n// Makes the @content apply to the given breakpoint and wider.\\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n @if $min {\\n @media (min-width: $min) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\\n// Makes the @content apply to the given breakpoint and narrower.\\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\\n $max: breakpoint-max($name, $breakpoints);\\n @if $max {\\n @media (max-width: $max) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media that spans multiple breakpoint widths.\\n// Makes the @content apply between the min and max breakpoints\\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($lower, $breakpoints);\\n $max: breakpoint-max($upper, $breakpoints);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($lower, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($upper, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\\n// Media between the breakpoint's minimum and maximum widths.\\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n $next: breakpoint-next($name, $breakpoints);\\n $max: breakpoint-max($next, $breakpoints);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($name, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($next, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\",\"// Loop over each breakpoint\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n\\n // Generate media query if needed\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix);\\n }\\n }\\n }\\n}\\n\\n// RFS rescaling\\n@media (min-width: $rfs-mq-value) {\\n @each $breakpoint in map-keys($grid-breakpoints) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix, true);\\n }\\n }\\n }\\n }\\n}\\n\\n\\n// Print utilities\\n@media print {\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Then check if the utility needs print styles\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, print) == true {\\n @include generate-utility($utility, \\\"-print\\\");\\n }\\n }\\n}\\n\"]}\n\\ No newline at end of file"},{"sha":"097c6dbb5a8b0047a800483cfabd9c4d6b283e33","filename":"dist/css/boosted-utilities.rtl.css","status":"modified","additions":260,"deletions":168,"changes":428,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.rtl.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,12 +1,12 @@\n /*!\n- * Boosted Utilities v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2014-2021 The Boosted Authors\n- * Copyright 2014-2021 Orange SA\n+ * Boosted Utilities v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2014-2022 The Boosted Authors\n+ * Copyright 2014-2022 Orange SA\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license below\n- * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n- * Copyright 2011-2021 The Bootstrap Authors\n- * Copyright 2011-2021 Twitter, Inc.\n+ * Bootstrap Utilities v5.2.0-beta1 (https://getbootstrap.com/)\n+ * Copyright 2011-2022 The Bootstrap Authors\n+ * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n .align-baseline {\n@@ -207,87 +207,120 @@\n }\n \n .border {\n- border: 0.125rem solid #000 !important;\n+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-0 {\n border: 0 !important;\n }\n \n .border-top {\n- border-top: 0.125rem solid #000 !important;\n+ border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-top-0 {\n border-top: 0 !important;\n }\n \n .border-end {\n- border-left: 0.125rem solid #000 !important;\n+ border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-end-0 {\n border-left: 0 !important;\n }\n \n .border-bottom {\n- border-bottom: 0.125rem solid #000 !important;\n+ border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-bottom-0 {\n border-bottom: 0 !important;\n }\n \n .border-start {\n- border-right: 0.125rem solid #000 !important;\n+ border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n }\n \n .border-start-0 {\n border-right: 0 !important;\n }\n \n .border-primary {\n- border-color: #ff7900 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-secondary {\n- border-color: #000 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-success {\n- border-color: #32c832 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-info {\n- border-color: #527edb !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-warning {\n- border-color: #fc0 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-danger {\n- border-color: #cd3c14 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-light {\n- border-color: #ccc !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(204, 204, 204, var(--bs-border-opacity)) !important;\n }\n \n .border-dark {\n- border-color: #666 !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(102, 102, 102, var(--bs-border-opacity)) !important;\n }\n \n .border-white {\n- border-color: #fff !important;\n+ --bs-border-opacity: 1;\n+ border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n }\n \n .border-1 {\n- border-width: 0.0625rem !important;\n+ --bs-border-width: 0.0625rem;\n }\n \n .border-2 {\n- border-width: 0.125rem !important;\n+ --bs-border-width: 0.125rem;\n+}\n+\n+.border-3 {\n+ --bs-border-width: 0.1875rem;\n+}\n+\n+.border-opacity-10 {\n+ --bs-border-opacity: 0.1;\n+}\n+\n+.border-opacity-25 {\n+ --bs-border-opacity: 0.25;\n+}\n+\n+.border-opacity-50 {\n+ --bs-border-opacity: 0.5;\n+}\n+\n+.border-opacity-75 {\n+ --bs-border-opacity: 0.75;\n+}\n+\n+.border-opacity-100 {\n+ --bs-border-opacity: 1;\n }\n \n .w-25 {\n@@ -402,30 +435,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n-.gap-0 {\n- gap: 0 !important;\n-}\n-\n-.gap-1 {\n- gap: 0.3125rem !important;\n-}\n-\n-.gap-2 {\n- gap: 0.625rem !important;\n-}\n-\n-.gap-3 {\n- gap: 1.25rem !important;\n-}\n-\n-.gap-4 {\n- gap: 1.875rem !important;\n-}\n-\n-.gap-5 {\n- gap: 3.75rem !important;\n-}\n-\n .justify-content-start {\n justify-content: flex-start !important;\n }\n@@ -940,6 +949,30 @@\n padding-right: 3.75rem !important;\n }\n \n+.gap-0 {\n+ gap: 0 !important;\n+}\n+\n+.gap-1 {\n+ gap: 0.3125rem !important;\n+}\n+\n+.gap-2 {\n+ gap: 0.625rem !important;\n+}\n+\n+.gap-3 {\n+ gap: 1.25rem !important;\n+}\n+\n+.gap-4 {\n+ gap: 1.875rem !important;\n+}\n+\n+.gap-5 {\n+ gap: 3.75rem !important;\n+}\n+\n .font-monospace {\n font-family: var(--bs-font-monospace) !important;\n }\n@@ -976,6 +1009,10 @@\n font-weight: 700 !important;\n }\n \n+.fw-semibold {\n+ font-weight: 600 !important;\n+}\n+\n .lh-1 {\n line-height: 1 !important;\n }\n@@ -992,6 +1029,14 @@\n line-height: 1.875 !important;\n }\n \n+.ll-sm {\n+ max-width: 40ch !important;\n+}\n+\n+.ll-md {\n+ max-width: 80ch !important;\n+}\n+\n .text-start {\n text-align: right !important;\n }\n@@ -1020,6 +1065,10 @@\n text-transform: lowercase !important;\n }\n \n+.text-uppercase {\n+ text-transform: uppercase !important;\n+}\n+\n .text-capitalize {\n text-transform: capitalize !important;\n }\n@@ -1057,7 +1106,6 @@\n .text-muted {\n --bs-text-opacity: 1;\n color: #666 !important;\n- background-color: #fff;\n }\n \n .text-black-50 {\n@@ -1244,16 +1292,60 @@\n pointer-events: auto !important;\n }\n \n+.rounded {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n .rounded-0 {\n border-radius: 0 !important;\n }\n \n+.rounded-1 {\n+ border-radius: var(--bs-border-radius-sm) !important;\n+}\n+\n+.rounded-2 {\n+ border-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-3 {\n+ border-radius: var(--bs-border-radius-lg) !important;\n+}\n+\n+.rounded-4 {\n+ border-radius: var(--bs-border-radius-xl) !important;\n+}\n+\n+.rounded-5 {\n+ border-radius: var(--bs-border-radius-2xl) !important;\n+}\n+\n .rounded-circle {\n border-radius: 50% !important;\n }\n \n .rounded-pill {\n- border-radius: 50rem !important;\n+ border-radius: var(--bs-border-radius-pill) !important;\n+}\n+\n+.rounded-top {\n+ border-top-right-radius: var(--bs-border-radius) !important;\n+ border-top-left-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-end {\n+ border-top-left-radius: var(--bs-border-radius) !important;\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-bottom {\n+ border-bottom-left-radius: var(--bs-border-radius) !important;\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+}\n+\n+.rounded-start {\n+ border-bottom-right-radius: var(--bs-border-radius) !important;\n+ border-top-right-radius: var(--bs-border-radius) !important;\n }\n \n .visible {\n@@ -1365,30 +1457,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-sm-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-sm-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-sm-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-sm-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-sm-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-sm-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n@@ -1903,6 +1971,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-sm-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-sm-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-sm-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-sm-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-sm-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-sm-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-sm-start {\n text-align: right !important;\n }\n@@ -2016,30 +2108,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-md-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-md-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-md-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-md-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-md-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-md-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n@@ -2554,6 +2622,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-md-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-md-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-md-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-md-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-md-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-md-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-md-start {\n text-align: right !important;\n }\n@@ -2667,30 +2759,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-lg-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-lg-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-lg-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-lg-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-lg-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-lg-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n@@ -3205,6 +3273,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-lg-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-lg-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-lg-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-lg-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-lg-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-lg-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-lg-start {\n text-align: right !important;\n }\n@@ -3318,30 +3410,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n@@ -3856,6 +3924,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-xl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xl-start {\n text-align: right !important;\n }\n@@ -3969,30 +4061,6 @@\n flex-wrap: wrap-reverse !important;\n }\n \n- .gap-xxl-0 {\n- gap: 0 !important;\n- }\n-\n- .gap-xxl-1 {\n- gap: 0.3125rem !important;\n- }\n-\n- .gap-xxl-2 {\n- gap: 0.625rem !important;\n- }\n-\n- .gap-xxl-3 {\n- gap: 1.25rem !important;\n- }\n-\n- .gap-xxl-4 {\n- gap: 1.875rem !important;\n- }\n-\n- .gap-xxl-5 {\n- gap: 3.75rem !important;\n- }\n-\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n@@ -4507,6 +4575,30 @@\n padding-right: 3.75rem !important;\n }\n \n+ .gap-xxl-0 {\n+ gap: 0 !important;\n+ }\n+\n+ .gap-xxl-1 {\n+ gap: 0.3125rem !important;\n+ }\n+\n+ .gap-xxl-2 {\n+ gap: 0.625rem !important;\n+ }\n+\n+ .gap-xxl-3 {\n+ gap: 1.25rem !important;\n+ }\n+\n+ .gap-xxl-4 {\n+ gap: 1.875rem !important;\n+ }\n+\n+ .gap-xxl-5 {\n+ gap: 3.75rem !important;\n+ }\n+\n .text-xxl-start {\n text-align: right !important;\n }"},{"sha":"85f9133be8cc7a2b27579fc840c53cb880017434","filename":"dist/css/boosted-utilities.rtl.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.rtl.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"bb0c3fbbcdc0a5c3860919a51b5094648a4e76d8","filename":"dist/css/boosted-utilities.rtl.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.rtl.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"77433eaa94bb261ffc07c5cbace3ee67fc1ac7c1","filename":"dist/css/boosted-utilities.rtl.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted-utilities.rtl.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted-utilities.rtl.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"sources\":[\"../../scss/boosted-utilities.scss\",\"../../scss/mixins/_utilities.scss\",\"../../scss/mixins/_breakpoints.scss\",\"../../scss/utilities/_api.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*!\\n * Boosted Utilities v5.1.3 (https://boosted.orange.com/)\\n * Copyright 2014-2021 The Boosted Authors\\n * Copyright 2014-2021 Orange SA\\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\\n * This a fork of Bootstrap: Initial license below\\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\\n * Copyright 2011-2021 The Bootstrap Authors\\n * Copyright 2011-2021 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n */\\n\\n// Configuration\\n\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n@import \\\"mixins\\\";\\n@import \\\"utilities\\\";\\n\\n\\n// Utilities\\n\\n@import \\\"utilities/api\\\";\\n\",\"// Boosted mod\\n@function get-color-from-rgba-string($value) {\\n $prefix: \\\"rgba(var(--bs-\\\";\\n $rgba-string-index-before-color-name: str-index($value, $prefix);\\n @if $rgba-string-index-before-color-name == 1 {\\n $rgba-string-index-after-color-name: str-index($value, \\\"-rgb\\\");\\n @return str-slice($value, $rgba-string-index-before-color-name + str-length($prefix), $rgba-string-index-after-color-name - 1);\\n }\\n @return undefined;\\n}\\n\\n// Utility generator\\n// Used to generate utilities & print utilities\\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\\n $values: map-get($utility, values);\\n\\n // If the values are a list or string, convert it into a map\\n @if type-of($values) == \\\"string\\\" or type-of(nth($values, 1)) != \\\"list\\\" {\\n $values: zip($values, $values);\\n }\\n\\n @each $key, $value in $values {\\n $properties: map-get($utility, property);\\n\\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\\n @if type-of($properties) == \\\"string\\\" {\\n $properties: append((), $properties);\\n }\\n\\n // Use custom class if present\\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\\n $property-class: if($property-class == null, \\\"\\\", $property-class);\\n\\n // State params to generate pseudo-classes\\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\\n\\n $infix: if($property-class == \\\"\\\" and str-slice($infix, 1, 1) == \\\"-\\\", str-slice($infix, 2), $infix);\\n\\n // Don't prefix if value key is null (eg. with shadow class)\\n $property-class-modifier: if($key, if($property-class == \\\"\\\" and $infix == \\\"\\\", \\\"\\\", \\\"-\\\") + $key, \\\"\\\");\\n\\n @if map-get($utility, rfs) {\\n // Inside the media query\\n @if $is-rfs-media-query {\\n $val: rfs-value($value);\\n\\n // Do not render anything if fluid and non fluid values are the same\\n $value: if($val == rfs-fluid-value($value), null, $val);\\n }\\n @else {\\n $value: rfs-fluid-value($value);\\n }\\n }\\n\\n $is-css-var: map-get($utility, css-var);\\n $is-local-vars: map-get($utility, local-vars);\\n $is-rtl: map-get($utility, rtl);\\n\\n @if $value != null {\\n @if $is-rtl == false {\\n /* rtl:begin:remove */\\n }\\n\\n @if $is-css-var {\\n .#{$property-class + $infix + $property-class-modifier} {\\n --#{$variable-prefix}#{$property-class}: #{$value};\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n --#{$variable-prefix}#{$property-class}: #{$value};\\n }\\n }\\n } @else {\\n .#{$property-class + $infix + $property-class-modifier} {\\n @each $property in $properties {\\n @if $is-local-vars {\\n @each $local-var, $value in $is-local-vars {\\n --#{$variable-prefix}#{$local-var}: #{$value};\\n }\\n }\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n\\n // Boosted mod: ensure contrasts in color utilities\\n @if \\\"background-color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"black\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"transparent\\\" != inspect($value) {\\n color: color-contrast($value);\\n }\\n }\\n @else if \\\"color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"white\\\" {\\n $value: $white;\\n }\\n @else if $color-name == \\\"body-color\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"inherit\\\" != inspect($value) and $accessible-orange != $value and $primary != $value {\\n background-color: color-contrast($value);\\n }\\n }\\n // End mod\\n }\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n @each $property in $properties {\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n }\\n }\\n }\\n }\\n\\n @if $is-rtl == false {\\n /* rtl:end:remove */\\n }\\n }\\n }\\n}\\n\",\"// Breakpoint viewport sizes and media queries.\\n//\\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\\n//\\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\\n//\\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\\n\\n// Name of the next breakpoint, or null for the last breakpoint.\\n//\\n// >> breakpoint-next(sm)\\n// md\\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// md\\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\\n// md\\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\\n $n: index($breakpoint-names, $name);\\n @if not $n {\\n @error \\\"breakpoint `#{$name}` not found in `#{$breakpoints}`\\\";\\n }\\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\\n}\\n\\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\\n//\\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// 576px\\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\\n $min: map-get($breakpoints, $name);\\n @return if($min != 0, $min, null);\\n}\\n\\n// Maximum breakpoint width.\\n// The maximum value is reduced by 0.02px to work around the limitations of\\n// `min-` and `max-` prefixes and viewports with fractional widths.\\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\\n//\\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// 767.98px\\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\\n $max: map-get($breakpoints, $name);\\n @return if($max and $max > 0, $max - .02, null);\\n}\\n\\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\\n// Useful for making responsive utilities.\\n//\\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// \\\"\\\" (Returns a blank string)\\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// \\\"-sm\\\"\\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\\n @return if(breakpoint-min($name, $breakpoints) == null, \\\"\\\", \\\"-#{$name}\\\");\\n}\\n\\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\\n// Makes the @content apply to the given breakpoint and wider.\\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n @if $min {\\n @media (min-width: $min) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\\n// Makes the @content apply to the given breakpoint and narrower.\\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\\n $max: breakpoint-max($name, $breakpoints);\\n @if $max {\\n @media (max-width: $max) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media that spans multiple breakpoint widths.\\n// Makes the @content apply between the min and max breakpoints\\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($lower, $breakpoints);\\n $max: breakpoint-max($upper, $breakpoints);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($lower, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($upper, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\\n// Media between the breakpoint's minimum and maximum widths.\\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n $next: breakpoint-next($name, $breakpoints);\\n $max: breakpoint-max($next);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($name, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($next, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\",\"// Loop over each breakpoint\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n\\n // Generate media query if needed\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix);\\n }\\n }\\n }\\n}\\n\\n// RFS rescaling\\n@media (min-width: $rfs-mq-value) {\\n @each $breakpoint in map-keys($grid-breakpoints) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix, true);\\n }\\n }\\n }\\n }\\n}\\n\\n\\n// Print utilities\\n@media print {\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Then check if the utility needs print styles\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, print) == true {\\n @include generate-utility($utility, \\\"-print\\\");\\n }\\n }\\n}\\n\"]}\n\\ No newline at end of file\n+{\"version\":3,\"sources\":[\"../../scss/boosted-utilities.scss\",\"../../scss/mixins/_utilities.scss\",\"../../scss/mixins/_breakpoints.scss\",\"../../scss/utilities/_api.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*!\\n * Boosted Utilities v5.2.0-beta1 (https://boosted.orange.com/)\\n * Copyright 2014-2022 The Boosted Authors\\n * Copyright 2014-2022 Orange SA\\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\\n * This a fork of Bootstrap: Initial license below\\n * Bootstrap Utilities v5.2.0-beta1 (https://getbootstrap.com/)\\n * Copyright 2011-2022 The Bootstrap Authors\\n * Copyright 2011-2022 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n */\\n\\n// Configuration\\n\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n@import \\\"maps\\\";\\n@import \\\"mixins\\\";\\n@import \\\"utilities\\\";\\n\\n\\n// Utilities\\n\\n@import \\\"utilities/api\\\";\\n\",\"// Boosted mod\\n@function get-color-from-rgba-string($value) {\\n $prefix: \\\"rgba(var(--bs-\\\";\\n $rgba-string-index-before-color-name: str-index($value, $prefix);\\n @if $rgba-string-index-before-color-name == 1 {\\n $rgba-string-index-after-color-name: str-index($value, \\\"-rgb\\\");\\n @return str-slice($value, $rgba-string-index-before-color-name + str-length($prefix), $rgba-string-index-after-color-name - 1);\\n }\\n @return undefined;\\n}\\n\\n// Utility generator\\n// Used to generate utilities & print utilities\\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\\n $values: map-get($utility, values);\\n\\n // If the values are a list or string, convert it into a map\\n @if type-of($values) == \\\"string\\\" or type-of(nth($values, 1)) != \\\"list\\\" {\\n $values: zip($values, $values);\\n }\\n\\n @each $key, $value in $values {\\n $properties: map-get($utility, property);\\n\\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\\n @if type-of($properties) == \\\"string\\\" {\\n $properties: append((), $properties);\\n }\\n\\n // Use custom class if present\\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\\n $property-class: if($property-class == null, \\\"\\\", $property-class);\\n\\n // Use custom CSS variable name if present, otherwise default to `class`\\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\\n\\n // State params to generate pseudo-classes\\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\\n\\n $infix: if($property-class == \\\"\\\" and str-slice($infix, 1, 1) == \\\"-\\\", str-slice($infix, 2), $infix);\\n\\n // Don't prefix if value key is null (eg. with shadow class)\\n $property-class-modifier: if($key, if($property-class == \\\"\\\" and $infix == \\\"\\\", \\\"\\\", \\\"-\\\") + $key, \\\"\\\");\\n\\n @if map-get($utility, rfs) {\\n // Inside the media query\\n @if $is-rfs-media-query {\\n $val: rfs-value($value);\\n\\n // Do not render anything if fluid and non fluid values are the same\\n $value: if($val == rfs-fluid-value($value), null, $val);\\n }\\n @else {\\n $value: rfs-fluid-value($value);\\n }\\n }\\n\\n $is-css-var: map-get($utility, css-var);\\n $is-local-vars: map-get($utility, local-vars);\\n $is-rtl: map-get($utility, rtl);\\n\\n @if $value != null {\\n @if $is-rtl == false {\\n /* rtl:begin:remove */\\n }\\n\\n @if $is-css-var {\\n .#{$property-class + $infix + $property-class-modifier} {\\n --#{$prefix}#{$css-variable-name}: #{$value};\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n --#{$prefix}#{$css-variable-name}: #{$value};\\n }\\n }\\n } @else {\\n .#{$property-class + $infix + $property-class-modifier} {\\n @each $property in $properties {\\n @if $is-local-vars {\\n @each $local-var, $variable in $is-local-vars {\\n --#{$prefix}#{$local-var}: #{$variable};\\n }\\n }\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n\\n // Boosted mod: ensure contrasts in color utilities\\n @if \\\"background-color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"black\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"transparent\\\" != inspect($value) {\\n color: color-contrast($value);\\n }\\n }\\n @else if \\\"color\\\" == $property {\\n @if type-of($value) == \\\"string\\\" {\\n $color-name: get-color-from-rgba-string($value);\\n @if undefined != $color-name {\\n @if map-has-key($theme-colors, $color-name) {\\n $value: map-get($theme-colors, $color-name);\\n }\\n // Handle colors not in $theme-colors\\n @else if $color-name == \\\"white\\\" {\\n $value: $white;\\n } @else if $color-name == \\\"body-color\\\" {\\n $value: $black;\\n }\\n }\\n }\\n @if \\\"inherit\\\" != inspect($value) and $accessible-orange != $value and $primary != $value and $text-muted != $value {\\n background-color: color-contrast($value);\\n }\\n }\\n // End mod\\n }\\n }\\n\\n @each $pseudo in $state {\\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\\n @each $property in $properties {\\n #{$property}: $value if($enable-important-utilities, !important, null);\\n }\\n }\\n }\\n }\\n\\n @if $is-rtl == false {\\n /* rtl:end:remove */\\n }\\n }\\n }\\n}\\n\",\"// Breakpoint viewport sizes and media queries.\\n//\\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\\n//\\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\\n//\\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\\n\\n// Name of the next breakpoint, or null for the last breakpoint.\\n//\\n// >> breakpoint-next(sm)\\n// md\\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// md\\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\\n// md\\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\\n $n: index($breakpoint-names, $name);\\n @if not $n {\\n @error \\\"breakpoint `#{$name}` not found in `#{$breakpoints}`\\\";\\n }\\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\\n}\\n\\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\\n//\\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// 576px\\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\\n $min: map-get($breakpoints, $name);\\n @return if($min != 0, $min, null);\\n}\\n\\n// Maximum breakpoint width.\\n// The maximum value is reduced by 0.02px to work around the limitations of\\n// `min-` and `max-` prefixes and viewports with fractional widths.\\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\\n//\\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// 767.98px\\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\\n $max: map-get($breakpoints, $name);\\n @return if($max and $max > 0, $max - .02, null);\\n}\\n\\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\\n// Useful for making responsive utilities.\\n//\\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// \\\"\\\" (Returns a blank string)\\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\\n// \\\"-sm\\\"\\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\\n @return if(breakpoint-min($name, $breakpoints) == null, \\\"\\\", \\\"-#{$name}\\\");\\n}\\n\\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\\n// Makes the @content apply to the given breakpoint and wider.\\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n @if $min {\\n @media (min-width: $min) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\\n// Makes the @content apply to the given breakpoint and narrower.\\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\\n $max: breakpoint-max($name, $breakpoints);\\n @if $max {\\n @media (max-width: $max) {\\n @content;\\n }\\n } @else {\\n @content;\\n }\\n}\\n\\n// Media that spans multiple breakpoint widths.\\n// Makes the @content apply between the min and max breakpoints\\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($lower, $breakpoints);\\n $max: breakpoint-max($upper, $breakpoints);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($lower, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($upper, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\\n// Media between the breakpoint's minimum and maximum widths.\\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\\n $min: breakpoint-min($name, $breakpoints);\\n $next: breakpoint-next($name, $breakpoints);\\n $max: breakpoint-max($next, $breakpoints);\\n\\n @if $min != null and $max != null {\\n @media (min-width: $min) and (max-width: $max) {\\n @content;\\n }\\n } @else if $max == null {\\n @include media-breakpoint-up($name, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($next, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\",\"// Loop over each breakpoint\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n\\n // Generate media query if needed\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix);\\n }\\n }\\n }\\n}\\n\\n// RFS rescaling\\n@media (min-width: $rfs-mq-value) {\\n @each $breakpoint in map-keys($grid-breakpoints) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\\n // Loop over each utility property\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Only proceed if responsive media queries are enabled or if it's the base media query\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \\\"\\\") {\\n @include generate-utility($utility, $infix, true);\\n }\\n }\\n }\\n }\\n}\\n\\n\\n// Print utilities\\n@media print {\\n @each $key, $utility in $utilities {\\n // The utility can be disabled with `false`, thus check if the utility is a map first\\n // Then check if the utility needs print styles\\n @if type-of($utility) == \\\"map\\\" and map-get($utility, print) == true {\\n @include generate-utility($utility, \\\"-print\\\");\\n }\\n }\\n}\\n\"]}\n\\ No newline at end of file"},{"sha":"6c8474bdb29981df48df8bca211f7bf29b6ad077","filename":"dist/css/boosted.css","status":"modified","additions":3371,"deletions":1206,"changes":4577,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"c29ba805eaa86dfaaf61ecfa490f5964526945fc","filename":"dist/css/boosted.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"5d7594f40308694812f57f673091fce5f368773f","filename":"dist/css/boosted.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"13c07c275748325ffe0da3a3c78fd7ed5fb26f41","filename":"dist/css/boosted.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"40167aca2305a0fe011a0d3d5a4d5a0518be0c36","filename":"dist/css/boosted.rtl.css","status":"modified","additions":3369,"deletions":1214,"changes":4583,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.rtl.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"eab56761a0762bf80ffaf59a1cd8db0b821a4ab8","filename":"dist/css/boosted.rtl.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.rtl.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"34ebc56063b4ea8daa1eea4b2369c0be574d02c8","filename":"dist/css/boosted.rtl.min.css","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.rtl.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"eaae2622d96d6e6811f54c1c45acec9851cf0872","filename":"dist/css/boosted.rtl.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Fboosted.rtl.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Fboosted.rtl.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"f30a0c69f9378bbc2891875a29dee9430f279e70","filename":"dist/css/orange-helvetica.css","status":"modified","additions":2,"deletions":2,"changes":4,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -2,15 +2,15 @@\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\n font-style: normal;\n font-weight: 400;\n- font-display: swap;\n src: url(\"../fonts/HelvNeue55_W1G.woff2\") format(\"woff2\") /*rtl:url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2')*/;\n+ font-display: swap;\n }\n @font-face {\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\n font-style: normal;\n font-weight: 700;\n- font-display: swap;\n src: url(\"../fonts/HelvNeue75_W1G.woff2\") format(\"woff2\") /*rtl:url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2')*/;\n+ font-display: swap;\n }\n \n /*# sourceMappingURL=orange-helvetica.css.map */\n\\ No newline at end of file"},{"sha":"03c23a7aaa1de1ac442e70280bfcf1c471a8106d","filename":"dist/css/orange-helvetica.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\",\"orange-helvetica.css\"],\"names\":[],\"mappings\":\"AAmCA;EACE,gDAAA;EACA,kBAAA;EACA,gBAAA;EACA,kBAAA;EACA,gIAAA;AClCF;ADqCA;EACE,gDAAA;EACA,kBAAA;EACA,gBAAA;EACA,kBAAA;EACA,+HAAA;ACnCF\",\"file\":\"orange-helvetica.css\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n}\\n\",\"@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 400;\\n font-display: swap;\\n src: url(\\\"../fonts/HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2')*/;\\n}\\n@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 700;\\n font-display: swap;\\n src: url(\\\"../fonts/HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2')*/;\\n}\\n\\n/*# sourceMappingURL=orange-helvetica.css.map */\\n\"]}\n\\ No newline at end of file\n+{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\",\"orange-helvetica.css\"],\"names\":[],\"mappings\":\"AAmCA;EACE,gDAAA;EACA,kBAAA;EACA,gBAAA;EACA,gIAAA;EACA,kBAAA;AClCF;ADqCA;EACE,gDAAA;EACA,kBAAA;EACA,gBAAA;EACA,+HAAA;EACA,kBAAA;ACnCF\",\"file\":\"orange-helvetica.css\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\",\"@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 400;\\n src: url(\\\"../fonts/HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2')*/;\\n font-display: swap;\\n}\\n@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 700;\\n src: url(\\\"../fonts/HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2')*/;\\n font-display: swap;\\n}\\n\\n/*# sourceMappingURL=orange-helvetica.css.map */\\n\"]}\n\\ No newline at end of file"},{"sha":"1b89be579290b1aa58d929ee3907ac8bf6a3daa8","filename":"dist/css/orange-helvetica.min.css","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,2 +1,2 @@\n-@font-face{font-family:HelvNeueOrange;font-style:normal;font-weight:400;font-display:swap;src:url(\"../fonts/HelvNeue55_W1G.woff2\") format(\"woff2\")}@font-face{font-family:HelvNeueOrange;font-style:normal;font-weight:700;font-display:swap;src:url(\"../fonts/HelvNeue75_W1G.woff2\") format(\"woff2\")}\n+@font-face{font-family:HelvNeueOrange;font-style:normal;font-weight:400;src:url(\"../fonts/HelvNeue55_W1G.woff2\") format(\"woff2\");font-display:swap}@font-face{font-family:HelvNeueOrange;font-style:normal;font-weight:700;src:url(\"../fonts/HelvNeue75_W1G.woff2\") format(\"woff2\");font-display:swap}\n /*# sourceMappingURL=orange-helvetica.min.css.map */\n\\ No newline at end of file"},{"sha":"1513d4452b96b736d5eeb97c9b82e2dfd912d08b","filename":"dist/css/orange-helvetica.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\"],\"names\":[],\"mappings\":\"AAmCA,WACE,YAAA,eACA,WAAA,OACA,YAAA,IACA,aAAA,KACA,IAAA,qCAAA,gBAGF,WACE,YAAA,eACA,WAAA,OACA,YAAA,IACA,aAAA,KACA,IAAA,qCAAA\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n}\\n\"]}\n\\ No newline at end of file\n+{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\"],\"names\":[],\"mappings\":\"AAmCA,WACE,YAAA,eACA,WAAA,OACA,YAAA,IACA,IAAA,qCAAA,gBACA,aAAA,KAGF,WACE,YAAA,eACA,WAAA,OACA,YAAA,IACA,IAAA,qCAAA,gBACA,aAAA\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\"]}\n\\ No newline at end of file"},{"sha":"c90791a43a55624add53316adfe88a0d9b444c80","filename":"dist/css/orange-helvetica.rtl.css","status":"modified","additions":2,"deletions":2,"changes":4,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.rtl.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -2,14 +2,14 @@\n font-family: HelvNeueOrangeArabic;\n font-style: normal;\n font-weight: 400;\n- font-display: swap;\n src: url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2');\n+ font-display: swap;\n }\n @font-face {\n font-family: HelvNeueOrangeArabic;\n font-style: normal;\n font-weight: 700;\n- font-display: swap;\n src: url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2');\n+ font-display: swap;\n }\n /*# sourceMappingURL=orange-helvetica.rtl.css.map */\n\\ No newline at end of file"},{"sha":"bc23671cf7e0d0d8156b2af1dc608dc4390493c8","filename":"dist/css/orange-helvetica.rtl.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.rtl.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\",\"orange-helvetica.css\"],\"names\":[],\"mappings\":\"AAmCA;EACE,iCAAA;EACA,kBAAA;EACA,gBAAA;EACA,kBAAA;EACA,mEAAA;AClCF;ADqCA;EACE,iCAAA;EACA,kBAAA;EACA,gBAAA;EACA,kBAAA;EACA,kEAAA;ACnCF\",\"file\":\"orange-helvetica.rtl.css\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n}\\n\",\"@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 400;\\n font-display: swap;\\n src: url(\\\"../fonts/HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2')*/;\\n}\\n@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 700;\\n font-display: swap;\\n src: url(\\\"../fonts/HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2')*/;\\n}\\n\\n/*# sourceMappingURL=orange-helvetica.css.map */\\n\"]}\n\\ No newline at end of file\n+{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\",\"orange-helvetica.css\"],\"names\":[],\"mappings\":\"AAmCA;EACE,iCAAA;EACA,kBAAA;EACA,gBAAA;EACA,mEAAA;EACA,kBAAA;AClCF;ADqCA;EACE,iCAAA;EACA,kBAAA;EACA,gBAAA;EACA,kEAAA;EACA,kBAAA;ACnCF\",\"file\":\"orange-helvetica.rtl.css\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\",\"@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 400;\\n src: url(\\\"../fonts/HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2')*/;\\n font-display: swap;\\n}\\n@font-face {\\n font-family: HelvNeueOrange/*rtl:insert:Arabic*/;\\n font-style: normal;\\n font-weight: 700;\\n src: url(\\\"../fonts/HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") /*rtl:url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2')*/;\\n font-display: swap;\\n}\\n\\n/*# sourceMappingURL=orange-helvetica.css.map */\\n\"]}\n\\ No newline at end of file"},{"sha":"d17d3feba3f21bbd397baa8ee6d28e81534c1393","filename":"dist/css/orange-helvetica.rtl.min.css","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.min.css","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.min.css","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.rtl.min.css?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,2 +1,2 @@\n-@font-face{font-family:HelvNeueOrangeArabic;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2')}@font-face{font-family:HelvNeueOrangeArabic;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2')}\n+@font-face{font-family:HelvNeueOrangeArabic;font-style:normal;font-weight:400;src:url('../fonts/HelveticaNeueW20-55Roman.woff2') format('woff2');font-display:swap}@font-face{font-family:HelvNeueOrangeArabic;font-style:normal;font-weight:700;src:url('../fonts/HelveticaNeueW20-75Bold.woff2') format('woff2');font-display:swap}\n /*# sourceMappingURL=orange-helvetica.rtl.min.css.map */\n\\ No newline at end of file"},{"sha":"5e79fd9de151f1191802e2ed538ba16eae0be9c3","filename":"dist/css/orange-helvetica.rtl.min.css.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.min.css.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fcss%2Forange-helvetica.rtl.min.css.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fcss%2Forange-helvetica.rtl.min.css.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\"],\"names\":[],\"mappings\":\"AAmCA,WACE,YAAA,qBACA,WAAA,OACA,YAAA,IACA,aAAA,KACA,IAAA,+CAAA,gBAGF,WACE,YAAA,qBACA,WAAA,OACA,YAAA,IACA,aAAA,KACA,IAAA,8CAAA\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n font-display: swap;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n}\\n\"]}\n\\ No newline at end of file\n+{\"version\":3,\"sources\":[\"../../scss/orange-helvetica.scss\"],\"names\":[],\"mappings\":\"AAmCA,WACE,YAAA,qBACA,WAAA,OACA,YAAA,IACA,IAAA,+CAAA,gBACA,aAAA,KAGF,WACE,YAAA,qBACA,WAAA,OACA,YAAA,IACA,IAAA,8CAAA,gBACA,aAAA\",\"sourcesContent\":[\"// Orange Boosted with Bootstrap\\n// Helvetica Neue LT W07 55 Roman\\n// 1.0\\n// Monotype Imaging Inc.\\n// \\n// Fonts.com WebFonts\\n// http://webfonts.fonts.com\\n// \\n// \\n// http://webfonts.fonts.com/Legal\\n// \\n// Copyright © 2014 Monotype Imaging Inc. All rights reserved.\\n// Neue Helvetica is a trademark of Monotype Imaging Inc. registered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions.\\n// Orange has purchased the right to use Helvetica in its websites and mobile applications.\\n// Don't use and distribute Helvetica font family if you're not explicitly authorized by Monotype Imaging Inc\\n\\n// To use local() Helvetica Neue\\n// @see https://www.broken-links.com/2009/06/30/checking-for-installed-fonts-with-font-face-and-local/\\n// @see https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5090.FontNameList.pdf\\n//\\n// @note Desktop and Web font do not match (at least Orange's version on Windows)\\n// @note We'd have to use `font-size-adjust: .5` to ensure they do\\n// @note But this is not supported in IE11 nor Edge\\n// @see https://caniuse.com/#search=font-size-adjust\\n// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\\n//\\n// @code `local(\\\"Helvetica 55 Roman\\\"), local(\\\"HelveticaNeue\\\"),`\\n// @code `local(\\\"Helvetica 75 Bold\\\"), local(\\\"HelveticaNeue-Bold\\\"),`\\n\\n// stylelint-disable font-family-name-quotes\\n@import \\\"functions\\\";\\n@import \\\"variables\\\";\\n\\n$font-path: \\\"../fonts/\\\" !default;\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 400;\\n src: url(\\\"#{$font-path}HelvNeue55_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-55Roman.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\\n@font-face {\\n font-family: HelvNeueOrange#{\\\"/*rtl:insert:Arabic*/\\\"};\\n font-style: normal;\\n font-weight: 700;\\n src: url(\\\"#{$font-path}HelvNeue75_W1G.woff2\\\") format(\\\"woff2\\\") #{\\\"/*rtl:url('#{$font-path}HelveticaNeueW20-75Bold.woff2') format('woff2')*/\\\"};\\n font-display: swap;\\n}\\n\"]}\n\\ No newline at end of file"},{"sha":"9b51b98aa2b749e7ea7dad3b03a11d91ef091db9","filename":"dist/js/boosted.bundle.js","status":"modified","additions":2437,"deletions":1898,"changes":4335,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.bundle.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"7dcd07a99f390bd0e32f875496ce3f57b9e00698","filename":"dist/js/boosted.bundle.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.bundle.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"c60e5518ff54326f7cc0009db6d0b5163fb4d4d5","filename":"dist/js/boosted.bundle.min.js","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.min.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.min.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.bundle.min.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"67115eaa31f80a1413416ae74e42711570205062","filename":"dist/js/boosted.bundle.min.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.min.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.bundle.min.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.bundle.min.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"589a5b8c4c90d7184fb65448824b6d0a970d44b4","filename":"dist/js/boosted.esm.js","status":"modified","additions":2706,"deletions":2219,"changes":4925,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.esm.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"2712b99d058b9f1a6b0bd38c8bc7cbc42f81f87a","filename":"dist/js/boosted.esm.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.esm.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"50dfe537a05ea6b5bac191bad210cf8d10d21236","filename":"dist/js/boosted.esm.min.js","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.min.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.min.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.esm.min.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"af6dfdd2c18965a7097a2863fb1f8bf7556c8195","filename":"dist/js/boosted.esm.min.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.min.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.esm.min.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.esm.min.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"5d08ee2bcf1efd4b6a2757f2a5eb466c2887ebd8","filename":"dist/js/boosted.js","status":"modified","additions":2313,"deletions":1823,"changes":4136,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"8b1bdc606d03bae05309e4660967fcf153f65076","filename":"dist/js/boosted.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"b91a6d301b41c416e603c0a379e4d1ba44ffb974","filename":"dist/js/boosted.min.js","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.min.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.min.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.min.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"66583f35cf24dcd0ef76767e706763456734ffb5","filename":"dist/js/boosted.min.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.min.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/dist%2Fjs%2Fboosted.min.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/dist%2Fjs%2Fboosted.min.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"93ba78ace99d08aaebe398ad38f1bf9517b710cc","filename":"js/dist/alert.js","status":"modified","additions":14,"deletions":149,"changes":163,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Falert.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Falert.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Falert.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,18 +1,18 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap alert.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap alert.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./base-component.js')) :\n- typeof define === 'function' && define.amd ? define(['./dom/event-handler', './base-component'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.EventHandler, global.Base));\n-})(this, (function (EventHandler, BaseComponent) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./base-component'), require('./util/component-functions')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component', './util/component-functions'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.Index, global.EventHandler, global.BaseComponent, global.ComponentFunctions));\n+})(this, (function (index, EventHandler, BaseComponent, componentFunctions) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n@@ -21,140 +21,12 @@\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n-\n- const getSelector = element => {\n- let selector = element.getAttribute('data-bs-target');\n-\n- if (!selector || selector === '#') {\n- let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n- // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n- // `document.querySelector` will rightfully complain it is invalid.\n- // See https://github.com/twbs/bootstrap/issues/32273\n-\n- if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {\n- return null;\n- } // Just in case some CMS puts out a full URL with the anchor appended\n-\n-\n- if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n- hrefAttr = `#${hrefAttr.split('#')[1]}`;\n- }\n-\n- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\n- }\n-\n- return selector;\n- };\n-\n- const getElementFromSelector = element => {\n- const selector = getSelector(element);\n- return selector ? document.querySelector(selector) : null;\n- };\n-\n- const isDisabled = element => {\n- if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n- return true;\n- }\n-\n- if (element.classList.contains('disabled')) {\n- return true;\n- }\n-\n- if (typeof element.disabled !== 'undefined') {\n- return element.disabled;\n- }\n-\n- return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n- };\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/component-functions.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n-\n- const enableDismissTrigger = (component, method = 'hide') => {\n- const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n- const name = component.NAME;\n- EventHandler__default.default.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n- if (['A', 'AREA'].includes(this.tagName)) {\n- event.preventDefault();\n- }\n-\n- if (isDisabled(this)) {\n- return;\n- }\n-\n- const target = getElementFromSelector(this) || this.closest(`.${name}`);\n- const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n-\n- instance[method]();\n- });\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): alert.js\n+ * Bootstrap (v5.2.0-beta1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'alert';\n@@ -165,9 +37,7 @@\n const CLASS_NAME_FADE = 'fade';\n const CLASS_NAME_SHOW = 'show';\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Alert extends BaseComponent__default.default {\n@@ -218,21 +88,16 @@\n \n }\n /**\n- * ------------------------------------------------------------------------\n- * Data Api implementation\n- * ------------------------------------------------------------------------\n+ * Data API implementation\n */\n \n \n- enableDismissTrigger(Alert, 'close');\n+ componentFunctions.enableDismissTrigger(Alert, 'close');\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n- * add .Alert to jQuery only if jQuery is present\n */\n \n- defineJQueryPlugin(Alert);\n+ index.defineJQueryPlugin(Alert);\n \n return Alert;\n "},{"sha":"60c5d04b974f31f79e4bce3f03bbe47314432d72","filename":"js/dist/alert.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Falert.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Falert.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Falert.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"alert.js\",\"sources\":[\"../src/util/index.js\",\"../src/util/component-functions.js\",\"../src/alert.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/component-functions.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport EventHandler from '../dom/event-handler'\\nimport { getElementFromSelector, isDisabled } from './index'\\n\\nconst enableDismissTrigger = (component, method = 'hide') => {\\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\\n const name = component.NAME\\n\\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\\\"${name}\\\"]`, function (event) {\\n if (['A', 'AREA'].includes(this.tagName)) {\\n event.preventDefault()\\n }\\n\\n if (isDisabled(this)) {\\n return\\n }\\n\\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\\n const instance = component.getOrCreateInstance(target)\\n\\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\\n instance[method]()\\n })\\n}\\n\\nexport {\\n enableDismissTrigger\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): alert.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\nimport { enableDismissTrigger } from './util/component-functions'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'alert'\\nconst DATA_KEY = 'bs.alert'\\nconst EVENT_KEY = `.${DATA_KEY}`\\n\\nconst EVENT_CLOSE = `close${EVENT_KEY}`\\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\\nconst CLASS_NAME_FADE = 'fade'\\nconst CLASS_NAME_SHOW = 'show'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\n\\nclass Alert extends BaseComponent {\\n // Getters\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n\\n close() {\\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\\n\\n if (closeEvent.defaultPrevented) {\\n return\\n }\\n\\n this._element.classList.remove(CLASS_NAME_SHOW)\\n\\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\\n }\\n\\n // Private\\n _destroyElement() {\\n this._element.remove()\\n EventHandler.trigger(this._element, EVENT_CLOSED)\\n this.dispose()\\n }\\n\\n // Static\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Alert.getOrCreateInstance(this)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config](this)\\n })\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Data Api implementation\\n * ------------------------------------------------------------------------\\n */\\n\\nenableDismissTrigger(Alert, 'close')\\n\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n * add .Alert to jQuery only if jQuery is present\\n */\\n\\ndefineJQueryPlugin(Alert)\\n\\nexport default Alert\\n\"],\"names\":[\"getSelector\",\"element\",\"selector\",\"getAttribute\",\"hrefAttr\",\"includes\",\"startsWith\",\"split\",\"trim\",\"getElementFromSelector\",\"document\",\"querySelector\",\"isDisabled\",\"nodeType\",\"Node\",\"ELEMENT_NODE\",\"classList\",\"contains\",\"disabled\",\"hasAttribute\",\"getjQuery\",\"jQuery\",\"window\",\"body\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"length\",\"addEventListener\",\"forEach\",\"push\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"enableDismissTrigger\",\"component\",\"method\",\"clickEvent\",\"EVENT_KEY\",\"EventHandler\",\"on\",\"event\",\"tagName\",\"preventDefault\",\"target\",\"closest\",\"instance\",\"getOrCreateInstance\",\"DATA_KEY\",\"EVENT_CLOSE\",\"EVENT_CLOSED\",\"CLASS_NAME_FADE\",\"CLASS_NAME_SHOW\",\"Alert\",\"BaseComponent\",\"close\",\"closeEvent\",\"trigger\",\"_element\",\"defaultPrevented\",\"remove\",\"isAnimated\",\"_queueCallback\",\"_destroyElement\",\"dispose\",\"config\",\"each\",\"data\",\"undefined\",\"TypeError\"],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EA6BA,MAAMA,WAAW,GAAGC,OAAO,IAAI;EAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,gBAArB,CAAf;;EAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,QAAIE,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAf,CADiC;EAIjC;EACA;EACA;;EACA,QAAI,CAACC,QAAD,IAAc,CAACA,QAAQ,CAACC,QAAT,CAAkB,GAAlB,CAAD,IAA2B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA9C,EAAyE;EACvE,aAAO,IAAP;EACD,KATgC;;;EAYjC,QAAIF,QAAQ,CAACC,QAAT,CAAkB,GAAlB,KAA0B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA/B,EAAyD;EACvDF,MAAAA,QAAQ,GAAI,IAAGA,QAAQ,CAACG,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAuB,EAAtC;EACD;;EAEDL,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACI,IAAT,EAA/B,GAAiD,IAA5D;EACD;;EAED,SAAON,QAAP;EACD,CAvBD;;EAmCA,MAAMO,sBAAsB,GAAGR,OAAO,IAAI;EACxC,QAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;EAEA,SAAOC,QAAQ,GAAGQ,QAAQ,CAACC,aAAT,CAAuBT,QAAvB,CAAH,GAAsC,IAArD;EACD,CAJD;;EA+EA,MAAMU,UAAU,GAAGX,OAAO,IAAI;EAC5B,MAAI,CAACA,OAAD,IAAYA,OAAO,CAACY,QAAR,KAAqBC,IAAI,CAACC,YAA1C,EAAwD;EACtD,WAAO,IAAP;EACD;;EAED,MAAId,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2B,UAA3B,CAAJ,EAA4C;EAC1C,WAAO,IAAP;EACD;;EAED,MAAI,OAAOhB,OAAO,CAACiB,QAAf,KAA4B,WAAhC,EAA6C;EAC3C,WAAOjB,OAAO,CAACiB,QAAf;EACD;;EAED,SAAOjB,OAAO,CAACkB,YAAR,CAAqB,UAArB,KAAoClB,OAAO,CAACE,YAAR,CAAqB,UAArB,MAAqC,OAAhF;EACD,CAdD;;EAsDA,MAAMiB,SAAS,GAAG,MAAM;EACtB,QAAM;EAAEC,IAAAA;EAAF,MAAaC,MAAnB;;EAEA,MAAID,MAAM,IAAI,CAACX,QAAQ,CAACa,IAAT,CAAcJ,YAAd,CAA2B,mBAA3B,CAAf,EAAgE;EAC9D,WAAOE,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EAUA,MAAMG,yBAAyB,GAAG,EAAlC;;EAEA,MAAMC,kBAAkB,GAAGC,QAAQ,IAAI;EACrC,MAAIhB,QAAQ,CAACiB,UAAT,KAAwB,SAA5B,EAAuC;EACrC;EACA,QAAI,CAACH,yBAAyB,CAACI,MAA/B,EAAuC;EACrClB,MAAAA,QAAQ,CAACmB,gBAAT,CAA0B,kBAA1B,EAA8C,MAAM;EAClDL,QAAAA,yBAAyB,CAACM,OAA1B,CAAkCJ,QAAQ,IAAIA,QAAQ,EAAtD;EACD,OAFD;EAGD;;EAEDF,IAAAA,yBAAyB,CAACO,IAA1B,CAA+BL,QAA/B;EACD,GATD,MASO;EACLA,IAAAA,QAAQ;EACT;EACF,CAbD;;EAiBA,MAAMM,kBAAkB,GAAGC,MAAM,IAAI;EACnCR,EAAAA,kBAAkB,CAAC,MAAM;EACvB,UAAMS,CAAC,GAAGd,SAAS,EAAnB;EACA;;EACA,QAAIc,CAAJ,EAAO;EACL,YAAMC,IAAI,GAAGF,MAAM,CAACG,IAApB;EACA,YAAMC,kBAAkB,GAAGH,CAAC,CAACI,EAAF,CAAKH,IAAL,CAA3B;EACAD,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,IAAaF,MAAM,CAACM,eAApB;EACAL,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,EAAWK,WAAX,GAAyBP,MAAzB;;EACAC,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,EAAWM,UAAX,GAAwB,MAAM;EAC5BP,QAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,IAAaE,kBAAb;EACA,eAAOJ,MAAM,CAACM,eAAd;EACD,OAHD;EAID;EACF,GAbiB,CAAlB;EAcD,CAfD;;ECvOA;EACA;EACA;EACA;EACA;EACA;;EAKA,MAAMG,oBAAoB,GAAG,CAACC,SAAD,EAAYC,MAAM,GAAG,MAArB,KAAgC;EAC3D,QAAMC,UAAU,GAAI,gBAAeF,SAAS,CAACG,SAAU,EAAvD;EACA,QAAMX,IAAI,GAAGQ,SAAS,CAACP,IAAvB;EAEAW,EAAAA,6BAAY,CAACC,EAAb,CAAgBtC,QAAhB,EAA0BmC,UAA1B,EAAuC,qBAAoBV,IAAK,IAAhE,EAAqE,UAAUc,KAAV,EAAiB;EACpF,QAAI,CAAC,GAAD,EAAM,MAAN,EAAc5C,QAAd,CAAuB,KAAK6C,OAA5B,CAAJ,EAA0C;EACxCD,MAAAA,KAAK,CAACE,cAAN;EACD;;EAED,QAAIvC,UAAU,CAAC,IAAD,CAAd,EAAsB;EACpB;EACD;;EAED,UAAMwC,MAAM,GAAG3C,sBAAsB,CAAC,IAAD,CAAtB,IAAgC,KAAK4C,OAAL,CAAc,IAAGlB,IAAK,EAAtB,CAA/C;EACA,UAAMmB,QAAQ,GAAGX,SAAS,CAACY,mBAAV,CAA8BH,MAA9B,CAAjB,CAVoF;;EAapFE,IAAAA,QAAQ,CAACV,MAAD,CAAR;EACD,GAdD;EAeD,CAnBD;;ECVA;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;EACA;EACA;;EAEA,MAAMR,IAAI,GAAG,OAAb;EACA,MAAMoB,QAAQ,GAAG,UAAjB;EACA,MAAMV,SAAS,GAAI,IAAGU,QAAS,EAA/B;EAEA,MAAMC,WAAW,GAAI,QAAOX,SAAU,EAAtC;EACA,MAAMY,YAAY,GAAI,SAAQZ,SAAU,EAAxC;EACA,MAAMa,eAAe,GAAG,MAAxB;EACA,MAAMC,eAAe,GAAG,MAAxB;EAEA;EACA;EACA;EACA;EACA;;EAEA,MAAMC,KAAN,SAAoBC,8BAApB,CAAkC;EAChC;EAEe,aAAJ1B,IAAI,GAAG;EAChB,WAAOA,IAAP;EACD,GAL+B;;;EAShC2B,EAAAA,KAAK,GAAG;EACN,UAAMC,UAAU,GAAGjB,6BAAY,CAACkB,OAAb,CAAqB,KAAKC,QAA1B,EAAoCT,WAApC,CAAnB;;EAEA,QAAIO,UAAU,CAACG,gBAAf,EAAiC;EAC/B;EACD;;EAED,SAAKD,QAAL,CAAclD,SAAd,CAAwBoD,MAAxB,CAA+BR,eAA/B;;EAEA,UAAMS,UAAU,GAAG,KAAKH,QAAL,CAAclD,SAAd,CAAwBC,QAAxB,CAAiC0C,eAAjC,CAAnB;;EACA,SAAKW,cAAL,CAAoB,MAAM,KAAKC,eAAL,EAA1B,EAAkD,KAAKL,QAAvD,EAAiEG,UAAjE;EACD,GApB+B;;;EAuBhCE,EAAAA,eAAe,GAAG;EAChB,SAAKL,QAAL,CAAcE,MAAd;;EACArB,IAAAA,6BAAY,CAACkB,OAAb,CAAqB,KAAKC,QAA1B,EAAoCR,YAApC;EACA,SAAKc,OAAL;EACD,GA3B+B;;;EA+BV,SAAfjC,eAAe,CAACkC,MAAD,EAAS;EAC7B,WAAO,KAAKC,IAAL,CAAU,YAAY;EAC3B,YAAMC,IAAI,GAAGd,KAAK,CAACN,mBAAN,CAA0B,IAA1B,CAAb;;EAEA,UAAI,OAAOkB,MAAP,KAAkB,QAAtB,EAAgC;EAC9B;EACD;;EAED,UAAIE,IAAI,CAACF,MAAD,CAAJ,KAAiBG,SAAjB,IAA8BH,MAAM,CAACnE,UAAP,CAAkB,GAAlB,CAA9B,IAAwDmE,MAAM,KAAK,aAAvE,EAAsF;EACpF,cAAM,IAAII,SAAJ,CAAe,oBAAmBJ,MAAO,GAAzC,CAAN;EACD;;EAEDE,MAAAA,IAAI,CAACF,MAAD,CAAJ,CAAa,IAAb;EACD,KAZM,CAAP;EAaD;;EA7C+B;EAgDlC;EACA;EACA;EACA;EACA;;;EAEA/B,oBAAoB,CAACmB,KAAD,EAAQ,OAAR,CAApB;EAEA;EACA;EACA;EACA;EACA;EACA;;EAEA7B,kBAAkB,CAAC6B,KAAD,CAAlB;;;;;;;;\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"alert.js\",\"sources\":[\"../src/alert.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): alert.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\nimport { enableDismissTrigger } from './util/component-functions'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'alert'\\nconst DATA_KEY = 'bs.alert'\\nconst EVENT_KEY = `.${DATA_KEY}`\\n\\nconst EVENT_CLOSE = `close${EVENT_KEY}`\\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\\nconst CLASS_NAME_FADE = 'fade'\\nconst CLASS_NAME_SHOW = 'show'\\n\\n/**\\n * Class definition\\n */\\n\\nclass Alert extends BaseComponent {\\n // Getters\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n close() {\\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\\n\\n if (closeEvent.defaultPrevented) {\\n return\\n }\\n\\n this._element.classList.remove(CLASS_NAME_SHOW)\\n\\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\\n }\\n\\n // Private\\n _destroyElement() {\\n this._element.remove()\\n EventHandler.trigger(this._element, EVENT_CLOSED)\\n this.dispose()\\n }\\n\\n // Static\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Alert.getOrCreateInstance(this)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config](this)\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nenableDismissTrigger(Alert, 'close')\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Alert)\\n\\nexport default Alert\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"EVENT_CLOSE\",\"EVENT_CLOSED\",\"CLASS_NAME_FADE\",\"CLASS_NAME_SHOW\",\"Alert\",\"BaseComponent\",\"close\",\"closeEvent\",\"EventHandler\",\"trigger\",\"_element\",\"defaultPrevented\",\"classList\",\"remove\",\"isAnimated\",\"contains\",\"_queueCallback\",\"_destroyElement\",\"dispose\",\"jQueryInterface\",\"config\",\"each\",\"data\",\"getOrCreateInstance\",\"undefined\",\"startsWith\",\"TypeError\",\"enableDismissTrigger\",\"defineJQueryPlugin\"],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,OAAb,CAAA;EACA,MAAMC,QAAQ,GAAG,UAAjB,CAAA;EACA,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAA/B,CAAA,CAAA;EAEA,MAAME,WAAW,GAAI,CAAOD,KAAAA,EAAAA,SAAU,CAAtC,CAAA,CAAA;EACA,MAAME,YAAY,GAAI,CAAQF,MAAAA,EAAAA,SAAU,CAAxC,CAAA,CAAA;EACA,MAAMG,eAAe,GAAG,MAAxB,CAAA;EACA,MAAMC,eAAe,GAAG,MAAxB,CAAA;EAEA;EACA;EACA;;EAEA,MAAMC,KAAN,SAAoBC,8BAApB,CAAkC;EAChC;EACe,EAAA,WAAJR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAJ+B;;;EAOhCS,EAAAA,KAAK,GAAG;MACN,MAAMC,UAAU,GAAGC,6BAAY,CAACC,OAAb,CAAqB,IAAKC,CAAAA,QAA1B,EAAoCV,WAApC,CAAnB,CAAA;;MAEA,IAAIO,UAAU,CAACI,gBAAf,EAAiC;EAC/B,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,IAAA,CAAKD,QAAL,CAAcE,SAAd,CAAwBC,MAAxB,CAA+BV,eAA/B,CAAA,CAAA;;MAEA,MAAMW,UAAU,GAAG,IAAA,CAAKJ,QAAL,CAAcE,SAAd,CAAwBG,QAAxB,CAAiCb,eAAjC,CAAnB,CAAA;;MACA,IAAKc,CAAAA,cAAL,CAAoB,MAAM,IAAKC,CAAAA,eAAL,EAA1B,EAAkD,IAAA,CAAKP,QAAvD,EAAiEI,UAAjE,CAAA,CAAA;EACD,GAlB+B;;;EAqBhCG,EAAAA,eAAe,GAAG;MAChB,IAAKP,CAAAA,QAAL,CAAcG,MAAd,EAAA,CAAA;;EACAL,IAAAA,6BAAY,CAACC,OAAb,CAAqB,IAAKC,CAAAA,QAA1B,EAAoCT,YAApC,CAAA,CAAA;EACA,IAAA,IAAA,CAAKiB,OAAL,EAAA,CAAA;EACD,GAzB+B;;;IA4BV,OAAfC,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGlB,KAAK,CAACmB,mBAAN,CAA0B,IAA1B,CAAb,CAAA;;EAEA,MAAA,IAAI,OAAOH,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,QAAA,OAAA;EACD,OAAA;;EAED,MAAA,IAAIE,IAAI,CAACF,MAAD,CAAJ,KAAiBI,SAAjB,IAA8BJ,MAAM,CAACK,UAAP,CAAkB,GAAlB,CAA9B,IAAwDL,MAAM,KAAK,aAAvE,EAAsF;EACpF,QAAA,MAAM,IAAIM,SAAJ,CAAe,CAAmBN,iBAAAA,EAAAA,MAAO,GAAzC,CAAN,CAAA;EACD,OAAA;;EAEDE,MAAAA,IAAI,CAACF,MAAD,CAAJ,CAAa,IAAb,CAAA,CAAA;EACD,KAZM,CAAP,CAAA;EAaD,GAAA;;EA1C+B,CAAA;EA6ClC;EACA;EACA;;;AAEAO,yCAAoB,CAACvB,KAAD,EAAQ,OAAR,CAApB,CAAA;EAEA;EACA;EACA;;AAEAwB,0BAAkB,CAACxB,KAAD,CAAlB;;;;;;;;\"}\n\\ No newline at end of file"},{"sha":"44113ec39f20d59ea77cd42d584231d38eee6865","filename":"js/dist/base-component.js","status":"modified","additions":40,"deletions":123,"changes":163,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbase-component.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbase-component.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fbase-component.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,163 +1,80 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap base-component.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap base-component.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js')) :\n- typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Base = factory(global.Data, global.EventHandler));\n-})(this, (function (Data, EventHandler) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data'), require('./util/index'), require('./dom/event-handler'), require('./util/config')) :\n+ typeof define === 'function' && define.amd ? define(['./dom/data', './util/index', './dom/event-handler', './util/config'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BaseComponent = factory(global.Data, global.Index, global.EventHandler, global.Config));\n+})(this, (function (Data, index, EventHandler, Config) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);\n const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);\n+ const Config__default = /*#__PURE__*/_interopDefaultLegacy(Config);\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const MILLISECONDS_MULTIPLIER = 1000;\n- const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n-\n- const getTransitionDurationFromElement = element => {\n- if (!element) {\n- return 0;\n- } // Get transition-duration of the element\n-\n-\n- let {\n- transitionDuration,\n- transitionDelay\n- } = window.getComputedStyle(element);\n- const floatTransitionDuration = Number.parseFloat(transitionDuration);\n- const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n-\n- if (!floatTransitionDuration && !floatTransitionDelay) {\n- return 0;\n- } // If multiple durations are defined, take the first\n-\n-\n- transitionDuration = transitionDuration.split(',')[0];\n- transitionDelay = transitionDelay.split(',')[0];\n- return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n- };\n-\n- const triggerTransitionEnd = element => {\n- element.dispatchEvent(new Event(TRANSITION_END));\n- };\n-\n- const isElement = obj => {\n- if (!obj || typeof obj !== 'object') {\n- return false;\n- }\n-\n- if (typeof obj.jquery !== 'undefined') {\n- obj = obj[0];\n- }\n-\n- return typeof obj.nodeType !== 'undefined';\n- };\n-\n- const getElement = obj => {\n- if (isElement(obj)) {\n- // it's a jQuery object or a node element\n- return obj.jquery ? obj[0] : obj;\n- }\n-\n- if (typeof obj === 'string' && obj.length > 0) {\n- return document.querySelector(obj);\n- }\n-\n- return null;\n- };\n-\n- const execute = callback => {\n- if (typeof callback === 'function') {\n- callback();\n- }\n- };\n-\n- const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n- if (!waitForTransition) {\n- execute(callback);\n- return;\n- }\n-\n- const durationPadding = 5;\n- const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n- let called = false;\n-\n- const handler = ({\n- target\n- }) => {\n- if (target !== transitionElement) {\n- return;\n- }\n-\n- called = true;\n- transitionElement.removeEventListener(TRANSITION_END, handler);\n- execute(callback);\n- };\n-\n- transitionElement.addEventListener(TRANSITION_END, handler);\n- setTimeout(() => {\n- if (!called) {\n- triggerTransitionEnd(transitionElement);\n- }\n- }, emulatedDuration);\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): base-component.js\n+ * Bootstrap (v5.2.0-beta1): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n- const VERSION = '5.1.3';\n+ const VERSION = '5.2.0-beta1';\n+ /**\n+ * Class definition\n+ */\n \n- class BaseComponent {\n- constructor(element) {\n- element = getElement(element);\n+ class BaseComponent extends Config__default.default {\n+ constructor(element, config) {\n+ super();\n+ element = index.getElement(element);\n \n if (!element) {\n return;\n }\n \n this._element = element;\n+ this._config = this._getConfig(config);\n Data__default.default.set(this._element, this.constructor.DATA_KEY, this);\n- }\n+ } // Public\n+\n \n dispose() {\n Data__default.default.remove(this._element, this.constructor.DATA_KEY);\n EventHandler__default.default.off(this._element, this.constructor.EVENT_KEY);\n- Object.getOwnPropertyNames(this).forEach(propertyName => {\n+\n+ for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n- });\n+ }\n }\n \n _queueCallback(callback, element, isAnimated = true) {\n- executeAfterTransition(callback, element, isAnimated);\n+ index.executeAfterTransition(callback, element, isAnimated);\n }\n- /** Static */\n+\n+ _getConfig(config) {\n+ config = this._mergeConfigObj(config, this._element);\n+ config = this._configAfterMerge(config);\n+\n+ this._typeCheckConfig(config);\n+\n+ return config;\n+ } // Static\n \n \n static getInstance(element) {\n- return Data__default.default.get(getElement(element), this.DATA_KEY);\n+ return Data__default.default.get(index.getElement(element), this.DATA_KEY);\n }\n \n static getOrCreateInstance(element, config = {}) {\n@@ -168,10 +85,6 @@\n return VERSION;\n }\n \n- static get NAME() {\n- throw new Error('You have to implement the static method \"NAME\", for each component!');\n- }\n-\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n@@ -180,6 +93,10 @@\n return `.${this.DATA_KEY}`;\n }\n \n+ static eventName(name) {\n+ return `${name}${this.EVENT_KEY}`;\n+ }\n+\n }\n \n return BaseComponent;"},{"sha":"0c7d0351a9ae53e6aeef57c081eed383413598c9","filename":"js/dist/base-component.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbase-component.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbase-component.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fbase-component.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"base-component.js\",\"sources\":[\"../src/util/index.js\",\"../src/base-component.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): base-component.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport Data from './dom/data'\\nimport {\\n executeAfterTransition,\\n getElement\\n} from './util/index'\\nimport EventHandler from './dom/event-handler'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst VERSION = '5.1.3'\\n\\nclass BaseComponent {\\n constructor(element) {\\n element = getElement(element)\\n\\n if (!element) {\\n return\\n }\\n\\n this._element = element\\n Data.set(this._element, this.constructor.DATA_KEY, this)\\n }\\n\\n dispose() {\\n Data.remove(this._element, this.constructor.DATA_KEY)\\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\\n\\n Object.getOwnPropertyNames(this).forEach(propertyName => {\\n this[propertyName] = null\\n })\\n }\\n\\n _queueCallback(callback, element, isAnimated = true) {\\n executeAfterTransition(callback, element, isAnimated)\\n }\\n\\n /** Static */\\n\\n static getInstance(element) {\\n return Data.get(getElement(element), this.DATA_KEY)\\n }\\n\\n static getOrCreateInstance(element, config = {}) {\\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\\n }\\n\\n static get VERSION() {\\n return VERSION\\n }\\n\\n static get NAME() {\\n throw new Error('You have to implement the static method \\\"NAME\\\", for each component!')\\n }\\n\\n static get DATA_KEY() {\\n return `bs.${this.NAME}`\\n }\\n\\n static get EVENT_KEY() {\\n return `.${this.DATA_KEY}`\\n }\\n}\\n\\nexport default BaseComponent\\n\"],\"names\":[\"MILLISECONDS_MULTIPLIER\",\"TRANSITION_END\",\"getTransitionDurationFromElement\",\"element\",\"transitionDuration\",\"transitionDelay\",\"window\",\"getComputedStyle\",\"floatTransitionDuration\",\"Number\",\"parseFloat\",\"floatTransitionDelay\",\"split\",\"triggerTransitionEnd\",\"dispatchEvent\",\"Event\",\"isElement\",\"obj\",\"jquery\",\"nodeType\",\"getElement\",\"length\",\"document\",\"querySelector\",\"execute\",\"callback\",\"executeAfterTransition\",\"transitionElement\",\"waitForTransition\",\"durationPadding\",\"emulatedDuration\",\"called\",\"handler\",\"target\",\"removeEventListener\",\"addEventListener\",\"setTimeout\",\"VERSION\",\"BaseComponent\",\"constructor\",\"_element\",\"Data\",\"set\",\"DATA_KEY\",\"dispose\",\"remove\",\"EventHandler\",\"off\",\"EVENT_KEY\",\"Object\",\"getOwnPropertyNames\",\"forEach\",\"propertyName\",\"_queueCallback\",\"isAnimated\",\"getInstance\",\"get\",\"getOrCreateInstance\",\"config\",\"NAME\",\"Error\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"base-component.js\",\"sources\":[\"../src/base-component.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): base-component.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport Data from './dom/data'\\nimport { executeAfterTransition, getElement } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport Config from './util/config'\\n\\n/**\\n * Constants\\n */\\n\\nconst VERSION = '5.2.0-beta1'\\n\\n/**\\n * Class definition\\n */\\n\\nclass BaseComponent extends Config {\\n constructor(element, config) {\\n super()\\n\\n element = getElement(element)\\n if (!element) {\\n return\\n }\\n\\n this._element = element\\n this._config = this._getConfig(config)\\n\\n Data.set(this._element, this.constructor.DATA_KEY, this)\\n }\\n\\n // Public\\n dispose() {\\n Data.remove(this._element, this.constructor.DATA_KEY)\\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\\n\\n for (const propertyName of Object.getOwnPropertyNames(this)) {\\n this[propertyName] = null\\n }\\n }\\n\\n _queueCallback(callback, element, isAnimated = true) {\\n executeAfterTransition(callback, element, isAnimated)\\n }\\n\\n _getConfig(config) {\\n config = this._mergeConfigObj(config, this._element)\\n config = this._configAfterMerge(config)\\n this._typeCheckConfig(config)\\n return config\\n }\\n\\n // Static\\n static getInstance(element) {\\n return Data.get(getElement(element), this.DATA_KEY)\\n }\\n\\n static getOrCreateInstance(element, config = {}) {\\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\\n }\\n\\n static get VERSION() {\\n return VERSION\\n }\\n\\n static get DATA_KEY() {\\n return `bs.${this.NAME}`\\n }\\n\\n static get EVENT_KEY() {\\n return `.${this.DATA_KEY}`\\n }\\n\\n static eventName(name) {\\n return `${name}${this.EVENT_KEY}`\\n }\\n}\\n\\nexport default BaseComponent\\n\"],\"names\":[\"VERSION\",\"BaseComponent\",\"Config\",\"constructor\",\"element\",\"config\",\"getElement\",\"_element\",\"_config\",\"_getConfig\",\"Data\",\"set\",\"DATA_KEY\",\"dispose\",\"remove\",\"EventHandler\",\"off\",\"EVENT_KEY\",\"propertyName\",\"Object\",\"getOwnPropertyNames\",\"_queueCallback\",\"callback\",\"isAnimated\",\"executeAfterTransition\",\"_mergeConfigObj\",\"_configAfterMerge\",\"_typeCheckConfig\",\"getInstance\",\"get\",\"getOrCreateInstance\",\"NAME\",\"eventName\",\"name\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"ba909c16e3efe1f80ebe91519518d5325f4adc8c","filename":"js/dist/button.js","status":"modified","additions":13,"deletions":77,"changes":90,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbutton.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbutton.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fbutton.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,18 +1,18 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap button.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap button.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./base-component.js')) :\n- typeof define === 'function' && define.amd ? define(['./dom/event-handler', './base-component'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.EventHandler, global.Base));\n-})(this, (function (EventHandler, BaseComponent) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./base-component')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.Index, global.EventHandler, global.BaseComponent));\n+})(this, (function (index, EventHandler, BaseComponent) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n@@ -21,69 +21,12 @@\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): button.js\n+ * Bootstrap (v5.2.0-beta1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'button';\n@@ -94,9 +37,7 @@\n const SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]';\n const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Button extends BaseComponent__default.default {\n@@ -124,9 +65,7 @@\n \n }\n /**\n- * ------------------------------------------------------------------------\n- * Data Api implementation\n- * ------------------------------------------------------------------------\n+ * Data API implementation\n */\n \n \n@@ -137,13 +76,10 @@\n data.toggle();\n });\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n- * add .Button to jQuery only if jQuery is present\n */\n \n- defineJQueryPlugin(Button);\n+ index.defineJQueryPlugin(Button);\n \n return Button;\n "},{"sha":"cb57ba93e965c094624e2b8ca2e737c625eef4a2","filename":"js/dist/button.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbutton.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fbutton.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fbutton.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"button.js\",\"sources\":[\"../src/util/index.js\",\"../src/button.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): button.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'button'\\nconst DATA_KEY = 'bs.button'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst CLASS_NAME_ACTIVE = 'active'\\n\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"button\\\"]'\\n\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\n\\nclass Button extends BaseComponent {\\n // Getters\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n\\n toggle() {\\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\\n }\\n\\n // Static\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Button.getOrCreateInstance(this)\\n\\n if (config === 'toggle') {\\n data[config]()\\n }\\n })\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Data Api implementation\\n * ------------------------------------------------------------------------\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\\n event.preventDefault()\\n\\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\\n const data = Button.getOrCreateInstance(button)\\n\\n data.toggle()\\n})\\n\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n * add .Button to jQuery only if jQuery is present\\n */\\n\\ndefineJQueryPlugin(Button)\\n\\nexport default Button\\n\"],\"names\":[\"getjQuery\",\"jQuery\",\"window\",\"document\",\"body\",\"hasAttribute\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"length\",\"addEventListener\",\"forEach\",\"push\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"CLASS_NAME_ACTIVE\",\"SELECTOR_DATA_TOGGLE\",\"EVENT_CLICK_DATA_API\",\"Button\",\"BaseComponent\",\"toggle\",\"_element\",\"setAttribute\",\"classList\",\"config\",\"each\",\"data\",\"getOrCreateInstance\",\"EventHandler\",\"on\",\"event\",\"preventDefault\",\"button\",\"target\",\"closest\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"button.js\",\"sources\":[\"../src/button.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): button.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'button'\\nconst DATA_KEY = 'bs.button'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst CLASS_NAME_ACTIVE = 'active'\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"button\\\"]'\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\n/**\\n * Class definition\\n */\\n\\nclass Button extends BaseComponent {\\n // Getters\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n toggle() {\\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\\n }\\n\\n // Static\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Button.getOrCreateInstance(this)\\n\\n if (config === 'toggle') {\\n data[config]()\\n }\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\\n event.preventDefault()\\n\\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\\n const data = Button.getOrCreateInstance(button)\\n\\n data.toggle()\\n})\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Button)\\n\\nexport default Button\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"CLASS_NAME_ACTIVE\",\"SELECTOR_DATA_TOGGLE\",\"EVENT_CLICK_DATA_API\",\"Button\",\"BaseComponent\",\"toggle\",\"_element\",\"setAttribute\",\"classList\",\"jQueryInterface\",\"config\",\"each\",\"data\",\"getOrCreateInstance\",\"EventHandler\",\"on\",\"document\",\"event\",\"preventDefault\",\"button\",\"target\",\"closest\",\"defineJQueryPlugin\"],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAMA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,QAAb,CAAA;EACA,MAAMC,QAAQ,GAAG,WAAjB,CAAA;EACA,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAA/B,CAAA,CAAA;EACA,MAAME,YAAY,GAAG,WAArB,CAAA;EAEA,MAAMC,iBAAiB,GAAG,QAA1B,CAAA;EACA,MAAMC,oBAAoB,GAAG,2BAA7B,CAAA;EACA,MAAMC,oBAAoB,GAAI,CAAA,KAAA,EAAOJ,SAAU,CAAA,EAAEC,YAAa,CAA9D,CAAA,CAAA;EAEA;EACA;EACA;;EAEA,MAAMI,MAAN,SAAqBC,8BAArB,CAAmC;EACjC;EACe,EAAA,WAAJR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAJgC;;;EAOjCS,EAAAA,MAAM,GAAG;EACP;EACA,IAAA,IAAA,CAAKC,QAAL,CAAcC,YAAd,CAA2B,cAA3B,EAA2C,IAAA,CAAKD,QAAL,CAAcE,SAAd,CAAwBH,MAAxB,CAA+BL,iBAA/B,CAA3C,CAAA,CAAA;EACD,GAVgC;;;IAaX,OAAfS,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGT,MAAM,CAACU,mBAAP,CAA2B,IAA3B,CAAb,CAAA;;QAEA,IAAIH,MAAM,KAAK,QAAf,EAAyB;UACvBE,IAAI,CAACF,MAAD,CAAJ,EAAA,CAAA;EACD,OAAA;EACF,KANM,CAAP,CAAA;EAOD,GAAA;;EArBgC,CAAA;EAwBnC;EACA;EACA;;;AAEAI,+BAAY,CAACC,EAAb,CAAgBC,QAAhB,EAA0Bd,oBAA1B,EAAgDD,oBAAhD,EAAsEgB,KAAK,IAAI;EAC7EA,EAAAA,KAAK,CAACC,cAAN,EAAA,CAAA;IAEA,MAAMC,MAAM,GAAGF,KAAK,CAACG,MAAN,CAAaC,OAAb,CAAqBpB,oBAArB,CAAf,CAAA;EACA,EAAA,MAAMW,IAAI,GAAGT,MAAM,CAACU,mBAAP,CAA2BM,MAA3B,CAAb,CAAA;EAEAP,EAAAA,IAAI,CAACP,MAAL,EAAA,CAAA;EACD,CAPD,CAAA,CAAA;EASA;EACA;EACA;;AAEAiB,0BAAkB,CAACnB,MAAD,CAAlB;;;;;;;;\"}\n\\ No newline at end of file"},{"sha":"79765a45e17d65669554fe2685196700b9e9eb7c","filename":"js/dist/carousel.js","status":"modified","additions":293,"deletions":512,"changes":805,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcarousel.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcarousel.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fcarousel.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,208 +1,35 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap carousel.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap carousel.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) :\n- typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));\n-})(this, (function (EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./dom/manipulator'), require('./dom/selector-engine'), require('./util/swipe'), require('./base-component')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './util/swipe', './base-component'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.Index, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Swipe, global.BaseComponent));\n+})(this, (function (index, EventHandler, Manipulator, SelectorEngine, Swipe, BaseComponent) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);\n const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);\n const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);\n+ const Swipe__default = /*#__PURE__*/_interopDefaultLegacy(Swipe);\n const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n+ * Bootstrap (v5.2.0-beta1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n- const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n-\n- const toType = obj => {\n- if (obj === null || obj === undefined) {\n- return `${obj}`;\n- }\n-\n- return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n- };\n-\n- const getSelector = element => {\n- let selector = element.getAttribute('data-bs-target');\n-\n- if (!selector || selector === '#') {\n- let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n- // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n- // `document.querySelector` will rightfully complain it is invalid.\n- // See https://github.com/twbs/bootstrap/issues/32273\n-\n- if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {\n- return null;\n- } // Just in case some CMS puts out a full URL with the anchor appended\n-\n-\n- if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n- hrefAttr = `#${hrefAttr.split('#')[1]}`;\n- }\n-\n- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\n- }\n-\n- return selector;\n- };\n-\n- const getElementFromSelector = element => {\n- const selector = getSelector(element);\n- return selector ? document.querySelector(selector) : null;\n- };\n-\n- const triggerTransitionEnd = element => {\n- element.dispatchEvent(new Event(TRANSITION_END));\n- };\n-\n- const isElement = obj => {\n- if (!obj || typeof obj !== 'object') {\n- return false;\n- }\n-\n- if (typeof obj.jquery !== 'undefined') {\n- obj = obj[0];\n- }\n-\n- return typeof obj.nodeType !== 'undefined';\n- };\n-\n- const typeCheckConfig = (componentName, config, configTypes) => {\n- Object.keys(configTypes).forEach(property => {\n- const expectedTypes = configTypes[property];\n- const value = config[property];\n- const valueType = value && isElement(value) ? 'element' : toType(value);\n-\n- if (!new RegExp(expectedTypes).test(valueType)) {\n- throw new TypeError(`${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n- }\n- });\n- };\n-\n- const isVisible = element => {\n- if (!isElement(element) || element.getClientRects().length === 0) {\n- return false;\n- }\n-\n- return getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n- };\n /**\n- * Trick to restart an element's animation\n- *\n- * @param {HTMLElement} element\n- * @return void\n- *\n- * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n- */\n-\n-\n- const reflow = element => {\n- // eslint-disable-next-line no-unused-expressions\n- element.offsetHeight;\n- };\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const isRTL = () => document.documentElement.dir === 'rtl';\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n- /**\n- * Return the previous/next element of a list.\n- *\n- * @param {array} list The list of elements\n- * @param activeElement The active element\n- * @param shouldGetNext Choose to get next or previous element\n- * @param isCycleAllowed\n- * @return {Element|elem} The proper element\n- */\n-\n-\n- const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n- let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n-\n- if (index === -1) {\n- return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];\n- }\n-\n- const listLength = list.length;\n- index += shouldGetNext ? 1 : -1;\n-\n- if (isCycleAllowed) {\n- index = (index + listLength) % listLength;\n- }\n-\n- return list[Math.max(0, Math.min(index, listLength - 1))];\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): carousel.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'carousel';\n@@ -213,41 +40,15 @@\n const ARROW_RIGHT_KEY = 'ArrowRight';\n const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n \n- const SWIPE_THRESHOLD = 40;\n- const Default = {\n- interval: 5000,\n- keyboard: true,\n- slide: false,\n- pause: 'hover',\n- wrap: true,\n- touch: true\n- };\n- const DefaultType = {\n- interval: '(number|boolean)',\n- keyboard: 'boolean',\n- slide: '(boolean|string)',\n- pause: '(string|boolean)',\n- wrap: 'boolean',\n- touch: 'boolean'\n- };\n const ORDER_NEXT = 'next';\n const ORDER_PREV = 'prev';\n const DIRECTION_LEFT = 'left';\n const DIRECTION_RIGHT = 'right';\n- const KEY_TO_DIRECTION = {\n- [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n- [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n- };\n const EVENT_SLIDE = `slide${EVENT_KEY}`;\n const EVENT_SLID = `slid${EVENT_KEY}`;\n const EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\n const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`;\n const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`;\n- const EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`;\n- const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`;\n- const EVENT_TOUCHEND = `touchend${EVENT_KEY}`;\n- const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`;\n- const EVENT_POINTERUP = `pointerup${EVENT_KEY}`;\n const EVENT_DRAG_START = `dragstart${EVENT_KEY}`;\n const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\n const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\n@@ -258,58 +59,86 @@\n const CLASS_NAME_START = 'carousel-item-start';\n const CLASS_NAME_NEXT = 'carousel-item-next';\n const CLASS_NAME_PREV = 'carousel-item-prev';\n- const CLASS_NAME_POINTER_EVENT = 'pointer-event';\n const CLASS_NAME_PAUSED = 'is-paused'; // Boosted mod: used for progress indicators\n \n const CLASS_NAME_DONE = 'is-done'; // Boosted mod: used for progress indicators\n \n const SELECTOR_ACTIVE = '.active';\n- const SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\n const SELECTOR_ITEM = '.carousel-item';\n+ const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\n const SELECTOR_ITEM_IMG = '.carousel-item img';\n- const SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\n const SELECTOR_INDICATORS = '.carousel-indicators';\n- const SELECTOR_INDICATOR = '[data-bs-target]';\n const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\n const SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\n const SELECTOR_CONTROL_PREV = '.carousel-control-prev'; // Boosted mod\n \n const SELECTOR_CONTROL_NEXT = '.carousel-control-next'; // Boosted mod\n \n- const PREFIX_CUSTOM_PROPS = 'o-'; // Boosted mod: should match `$boosted-variable-prefix` in scss/_variables.scss\n+ const SELECTOR_CONTROL_PAUSE = '.carousel-control-play-pause'; // Boosted mod\n+\n+ const SELECTOR_CAROUSEL_TO_PAUSE = 'data-bs-target'; // Boosted mod\n \n- const POINTER_TYPE_TOUCH = 'touch';\n- const POINTER_TYPE_PEN = 'pen';\n+ const SELECTOR_CAROUSEL_PLAY_TEXT = 'data-bs-play-text'; // Boosted mod\n+\n+ const SELECTOR_CAROUSEL_PAUSE_TEXT = 'data-bs-pause-text'; // Boosted mod\n+\n+ const SELECTOR_CAROUSEL_DEFAULT_PLAY_TEXT = 'Play Carousel'; // Boosted mod\n+\n+ const SELECTOR_CAROUSEL_DEFAULT_PAUSE_TEXT = 'Pause Carousel'; // Boosted mod\n+\n+ const PREFIX_CUSTOM_PROPS = 'o-'; // Boosted mod: should match `$boosted-prefix` in scss/_variables.scss\n+\n+ const KEY_TO_DIRECTION = {\n+ [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n+ [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n+ };\n+ const Default = {\n+ interval: 5000,\n+ keyboard: true,\n+ pause: 'hover',\n+ ride: false,\n+ touch: true,\n+ wrap: true\n+ };\n+ const DefaultType = {\n+ interval: '(number|boolean)',\n+ keyboard: 'boolean',\n+ ride: '(boolean|string)',\n+ pause: '(string|boolean)',\n+ touch: 'boolean',\n+ wrap: 'boolean'\n+ };\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Carousel extends BaseComponent__default.default {\n constructor(element, config) {\n- super(element);\n- this._items = null;\n+ super(element, config);\n this._interval = null;\n this._activeElement = null;\n- this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n- this.touchStartX = 0;\n- this.touchDeltaX = 0;\n- this._config = this._getConfig(config);\n+ this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine__default.default.findOne(SELECTOR_INDICATORS, this._element);\n- this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n- this._pointerEvent = Boolean(window.PointerEvent);\n+ this._playPauseButton = SelectorEngine__default.default.findOne(`${SELECTOR_CONTROL_PAUSE}[${SELECTOR_CAROUSEL_TO_PAUSE}=\"#${this._element.id}\"]`); // Boosted mod\n \n this._addEventListeners();\n+\n+ if (this._config.ride === CLASS_NAME_CAROUSEL) {\n+ this.cycle();\n+ }\n } // Getters\n \n \n static get Default() {\n return Default;\n }\n \n+ static get DefaultType() {\n+ return DefaultType;\n+ }\n+\n static get NAME() {\n return NAME;\n } // Public\n@@ -320,9 +149,10 @@\n }\n \n nextWhenVisible() {\n+ // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n- if (!document.hidden && isVisible(this._element)) {\n+ if (!document.hidden && index.isVisible(this._element)) {\n this.next();\n }\n }\n@@ -331,61 +161,83 @@\n this._slide(ORDER_PREV);\n }\n \n- pause(event) {\n+ pause() {\n // Boosted mod: reset the animation on progress indicator\n if (this._indicatorsElement) {\n this._element.classList.add(CLASS_NAME_PAUSED);\n } // End mod\n+ // Boosted mod: if a play-pause button is present, set the button to play on mouseenter\n \n \n- if (!event) {\n- this._isPaused = true;\n- }\n+ if (this._playPauseButton !== null && this._playPauseButton.classList.contains('pause')) {\n+ this._playPauseButton.classList.remove('pause');\n+\n+ this._playPauseButton.classList.add('play');\n+\n+ this._playPauseButton.setAttribute('title', this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PLAY_TEXT);\n+\n+ this._playPauseButton.querySelector('span.visually-hidden').innerHTML = this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PLAY_TEXT;\n+ this._stayPaused = true;\n+ } // End mod\n \n- if (SelectorEngine__default.default.findOne(SELECTOR_NEXT_PREV, this._element)) {\n- triggerTransitionEnd(this._element);\n- this.cycle(true);\n+\n+ if (this._isSliding) {\n+ index.triggerTransitionEnd(this._element);\n }\n \n- clearInterval(this._interval);\n- this._interval = null;\n+ this._clearInterval();\n }\n \n- cycle(event) {\n+ cycle() {\n // Boosted mod: restart the animation on progress indicator\n if (this._indicatorsElement) {\n this._element.classList.remove(CLASS_NAME_PAUSED);\n } // End mod\n+ // Boosted mod: if a play-pause button is present, reset the button to pause on mouseleave\n \n \n- if (!event) {\n- this._isPaused = false;\n- }\n+ if (this._playPauseButton !== null && this._playPauseButton.classList.contains('play')) {\n+ this._playPauseButton.classList.remove('play');\n \n- if (this._interval) {\n- clearInterval(this._interval);\n- this._interval = null;\n- }\n+ this._playPauseButton.classList.add('pause');\n \n- if (this._config && this._config.interval && !this._isPaused) {\n- this._updateInterval();\n+ this._playPauseButton.setAttribute('title', this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PAUSE_TEXT);\n \n- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n- }\n+ this._playPauseButton.querySelector('span.visually-hidden').innerHTML = this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PAUSE_TEXT;\n+ this._stayPaused = false;\n+ } // End mod\n+\n+\n+ this._clearInterval();\n+\n+ this._updateInterval();\n+\n+ this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n \n- to(index) {\n- this._activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n+ _maybeEnableCycle() {\n+ if (!this._config.ride) {\n+ return;\n+ }\n \n- const activeIndex = this._getItemIndex(this._activeElement); // Boosted mod: restart the animation on progress indicator\n+ if (this._isSliding) {\n+ EventHandler__default.default.one(this._element, EVENT_SLID, () => this.cycle());\n+ return;\n+ }\n \n+ this.cycle();\n+ }\n \n+ to(index) {\n+ // Boosted mod: restart the animation on progress indicator\n if (this._indicatorsElement) {\n this._element.classList.remove(CLASS_NAME_DONE);\n } // End mod\n \n \n- if (index > this._items.length - 1 || index < 0) {\n+ const items = this._getItems();\n+\n+ if (index > items.length - 1 || index < 0) {\n return;\n }\n \n@@ -394,42 +246,29 @@\n return;\n }\n \n+ const activeIndex = this._getItemIndex(this._getActive());\n+\n if (activeIndex === index) {\n- this.pause();\n- this.cycle();\n return;\n }\n \n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n \n- this._slide(order, this._items[index]);\n- } // Private\n-\n-\n- _getConfig(config) {\n- config = { ...Default,\n- ...Manipulator__default.default.getDataAttributes(this._element),\n- ...(typeof config === 'object' ? config : {})\n- };\n- typeCheckConfig(NAME, config, DefaultType);\n- return config;\n+ this._slide(order, items[index]);\n }\n \n- _handleSwipe() {\n- const absDeltax = Math.abs(this.touchDeltaX);\n-\n- if (absDeltax <= SWIPE_THRESHOLD) {\n- return;\n+ dispose() {\n+ if (this._swipeHelper) {\n+ this._swipeHelper.dispose();\n }\n \n- const direction = absDeltax / this.touchDeltaX;\n- this.touchDeltaX = 0;\n+ super.dispose();\n+ } // Private\n \n- if (!direction) {\n- return;\n- }\n \n- this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT);\n+ _configAfterMerge(config) {\n+ config.defaultInterval = config.interval;\n+ return config;\n }\n \n _addEventListeners() {\n@@ -438,72 +277,47 @@\n }\n \n if (this._config.pause === 'hover') {\n- EventHandler__default.default.on(this._element, EVENT_MOUSEENTER, event => this.pause(event));\n- EventHandler__default.default.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event));\n+ EventHandler__default.default.on(this._element, EVENT_MOUSEENTER, () => this.pause());\n+ EventHandler__default.default.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle());\n }\n \n- if (this._config.touch && this._touchSupported) {\n+ if (this._config.touch && Swipe__default.default.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n \n _addTouchEventListeners() {\n- const hasPointerPenTouch = event => {\n- return this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n- };\n-\n- const start = event => {\n- if (hasPointerPenTouch(event)) {\n- this.touchStartX = event.clientX;\n- } else if (!this._pointerEvent) {\n- this.touchStartX = event.touches[0].clientX;\n- }\n- };\n-\n- const move = event => {\n- // ensure swiping with one touch and not pinching\n- this.touchDeltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this.touchStartX;\n- };\n-\n- const end = event => {\n- if (hasPointerPenTouch(event)) {\n- this.touchDeltaX = event.clientX - this.touchStartX;\n- }\n+ for (const img of SelectorEngine__default.default.find(SELECTOR_ITEM_IMG, this._element)) {\n+ EventHandler__default.default.on(img, EVENT_DRAG_START, event => event.preventDefault());\n+ }\n \n- this._handleSwipe();\n+ const endCallBack = () => {\n+ if (this._config.pause !== 'hover') {\n+ return;\n+ } // If it's a touch-enabled device, mouseenter/leave are fired as\n+ // part of the mouse compatibility events on first tap - the carousel\n+ // would stop cycling until user tapped out of it;\n+ // here, we listen for touchend, explicitly pause the carousel\n+ // (as if it's the second time we tap on it, mouseenter compat event\n+ // is NOT fired) and after a timeout (to allow for mouse compatibility\n+ // events to fire) we explicitly restart cycling\n \n- if (this._config.pause === 'hover') {\n- // If it's a touch-enabled device, mouseenter/leave are fired as\n- // part of the mouse compatibility events on first tap - the carousel\n- // would stop cycling until user tapped out of it;\n- // here, we listen for touchend, explicitly pause the carousel\n- // (as if it's the second time we tap on it, mouseenter compat event\n- // is NOT fired) and after a timeout (to allow for mouse compatibility\n- // events to fire) we explicitly restart cycling\n- this.pause();\n \n- if (this.touchTimeout) {\n- clearTimeout(this.touchTimeout);\n- }\n+ this.pause();\n \n- this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n+ if (this.touchTimeout) {\n+ clearTimeout(this.touchTimeout);\n }\n- };\n \n- SelectorEngine__default.default.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n- EventHandler__default.default.on(itemImg, EVENT_DRAG_START, event => event.preventDefault());\n- });\n-\n- if (this._pointerEvent) {\n- EventHandler__default.default.on(this._element, EVENT_POINTERDOWN, event => start(event));\n- EventHandler__default.default.on(this._element, EVENT_POINTERUP, event => end(event));\n+ this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n+ };\n \n- this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n- } else {\n- EventHandler__default.default.on(this._element, EVENT_TOUCHSTART, event => start(event));\n- EventHandler__default.default.on(this._element, EVENT_TOUCHMOVE, event => move(event));\n- EventHandler__default.default.on(this._element, EVENT_TOUCHEND, event => end(event));\n- }\n+ const swipeConfig = {\n+ leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n+ rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n+ endCallback: endCallBack\n+ };\n+ this._swipeHelper = new Swipe__default.default(this._element, swipeConfig);\n }\n \n _keydown(event) {\n@@ -516,7 +330,7 @@\n if (direction) {\n event.preventDefault();\n \n- this._slide(direction);\n+ this._slide(this._directionToOrder(direction));\n }\n } // Boosted mod: handle prev/next controls states\n \n@@ -541,86 +355,34 @@\n \n \n _getItemIndex(element) {\n- this._items = element && element.parentNode ? SelectorEngine__default.default.find(SELECTOR_ITEM, element.parentNode) : [];\n- return this._items.indexOf(element);\n+ return this._getItems().indexOf(element);\n }\n \n- _getItemByOrder(order, activeElement) {\n- const isNext = order === ORDER_NEXT; // Boosted mod: progress indicators animation when wrapping is disabled\n-\n- if (!this._config.wrap) {\n- const isPrev = order === ORDER_PREV;\n-\n- const activeIndex = this._getItemIndex(activeElement);\n-\n- const lastItemIndex = this._items.length - 1;\n- const isGoingToWrap = isPrev && activeIndex === 0 || isNext && activeIndex === lastItemIndex;\n-\n- if (isGoingToWrap) {\n- // Reset the animation on last progress indicator when last slide is active\n- if (isNext && this._indicatorsElement && !this._element.hasAttribute('data-bs-slide')) {\n- this._element.classList.add(CLASS_NAME_DONE);\n- }\n-\n- return activeElement;\n- } // Restart animation otherwise\n-\n-\n- if (this._indicatorsElement) {\n- this._element.classList.remove(CLASS_NAME_DONE);\n- }\n- } // End mod\n-\n-\n- return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);\n- }\n-\n- _triggerSlideEvent(relatedTarget, eventDirectionName) {\n- const targetIndex = this._getItemIndex(relatedTarget);\n+ _setActiveIndicatorElement(index) {\n+ if (!this._indicatorsElement) {\n+ return;\n+ }\n \n- const fromIndex = this._getItemIndex(SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element));\n+ const activeIndicator = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n+ activeIndicator.classList.remove(CLASS_NAME_ACTIVE);\n+ activeIndicator.removeAttribute('aria-current');\n+ const newActiveIndicator = SelectorEngine__default.default.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n \n- return EventHandler__default.default.trigger(this._element, EVENT_SLIDE, {\n- relatedTarget,\n- direction: eventDirectionName,\n- from: fromIndex,\n- to: targetIndex\n- });\n- }\n-\n- _setActiveIndicatorElement(element) {\n- if (this._indicatorsElement) {\n- const activeIndicator = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n- activeIndicator.classList.remove(CLASS_NAME_ACTIVE);\n- activeIndicator.removeAttribute('aria-current');\n- const indicators = SelectorEngine__default.default.find(SELECTOR_INDICATOR, this._indicatorsElement);\n-\n- for (let i = 0; i < indicators.length; i++) {\n- if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n- indicators[i].classList.add(CLASS_NAME_ACTIVE);\n- indicators[i].setAttribute('aria-current', 'true');\n- break;\n- }\n- }\n+ if (newActiveIndicator) {\n+ newActiveIndicator.classList.add(CLASS_NAME_ACTIVE);\n+ newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n \n _updateInterval() {\n- const element = this._activeElement || SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n+ const element = this._activeElement || this._getActive();\n \n if (!element) {\n return;\n }\n \n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n-\n- if (elementInterval) {\n- this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n- this._config.interval = elementInterval;\n- } else {\n- this._config.interval = this._config.defaultInterval || this._config.interval;\n- } // Boosted mod: set progress indicator's interval as custom property\n-\n+ this._config.interval = elementInterval || this._config.defaultInterval; // Boosted mod: set progress indicator's interval as custom property\n \n if (this._indicatorsElement && this._config.interval !== Default.interval) {\n const currentIndex = this._getItemIndex(element);\n@@ -631,63 +393,75 @@\n \n }\n \n- _slide(directionOrOrder, element) {\n- const order = this._directionToOrder(directionOrOrder);\n+ _slide(order, element = null) {\n+ if (this._isSliding) {\n+ return;\n+ }\n \n- const activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n+ const activeElement = this._getActive();\n \n- const activeElementIndex = this._getItemIndex(activeElement);\n+ const isNext = order === ORDER_NEXT; // Boosted mod: progress indicators animation when wrapping is disabled\n \n- const nextElement = element || this._getItemByOrder(order, activeElement);\n+ if (!this._config.wrap) {\n+ const isPrev = order === ORDER_PREV;\n \n- const nextElementIndex = this._getItemIndex(nextElement);\n+ const activeIndex = this._getItemIndex(activeElement);\n \n- const isCycling = Boolean(this._interval);\n- const isNext = order === ORDER_NEXT;\n- const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n- const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n+ const lastItemIndex = this._getItems().length - 1;\n+ const isGoingToWrap = isPrev && activeIndex === 0 || isNext && activeIndex === lastItemIndex;\n \n- const eventDirectionName = this._orderToDirection(order);\n+ if (isGoingToWrap) {\n+ // Reset the animation on last progress indicator when last slide is active\n+ if (isNext && this._indicatorsElement && !this._element.hasAttribute('data-bs-slide')) {\n+ this._element.classList.add(CLASS_NAME_DONE);\n+ }\n \n- if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n- this._isSliding = false;\n- return;\n- }\n+ return activeElement;\n+ } // Restart animation otherwise\n \n- if (this._isSliding) {\n+\n+ if (this._indicatorsElement) {\n+ this._element.classList.remove(CLASS_NAME_DONE);\n+ }\n+ } // End mod\n+\n+\n+ const nextElement = element || index.getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n+\n+ if (nextElement === activeElement) {\n return;\n }\n \n- const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n+ const nextElementIndex = this._getItemIndex(nextElement);\n+\n+ const triggerEvent = eventName => {\n+ return EventHandler__default.default.trigger(this._element, eventName, {\n+ relatedTarget: nextElement,\n+ direction: this._orderToDirection(order),\n+ from: this._getItemIndex(activeElement),\n+ to: nextElementIndex\n+ });\n+ };\n+\n+ const slideEvent = triggerEvent(EVENT_SLIDE);\n \n if (slideEvent.defaultPrevented) {\n return;\n }\n \n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n+ // todo: change tests that use empty divs to avoid this check\n return;\n }\n \n+ const isCycling = Boolean(this._interval);\n+ this.pause();\n this._isSliding = true;\n \n- if (isCycling) {\n- this.pause();\n- }\n-\n- this._setActiveIndicatorElement(nextElement);\n-\n- this._activeElement = nextElement;\n-\n- const triggerSlidEvent = () => {\n- EventHandler__default.default.trigger(this._element, EVENT_SLID, {\n- relatedTarget: nextElement,\n- direction: eventDirectionName,\n- from: activeElementIndex,\n- to: nextElementIndex\n- });\n- }; // Boosted mod: enable/disable prev/next controls when wrap=false\n+ this._setActiveIndicatorElement(nextElementIndex);\n \n+ this._activeElement = nextElement; // Boosted mod: enable/disable prev/next controls when wrap=false\n \n if (!this._config.wrap) {\n const prevControl = SelectorEngine__default.default.findOne(SELECTOR_CONTROL_PREV, this._element);\n@@ -699,147 +473,154 @@\n \n if (nextElementIndex === 0) {\n this._disableControl(prevControl);\n- } else if (nextElementIndex === this._items.length - 1) {\n+ } else if (nextElementIndex === this._getItems().length - 1) {\n this._disableControl(nextControl);\n }\n } // End mod\n \n \n- if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n- nextElement.classList.add(orderClassName);\n- reflow(nextElement);\n- activeElement.classList.add(directionalClassName);\n- nextElement.classList.add(directionalClassName);\n-\n- const completeCallBack = () => {\n- nextElement.classList.remove(directionalClassName, orderClassName);\n- nextElement.classList.add(CLASS_NAME_ACTIVE);\n- activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);\n- this._isSliding = false;\n- setTimeout(triggerSlidEvent, 0);\n- };\n+ const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n+ const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n+ nextElement.classList.add(orderClassName);\n+ index.reflow(nextElement);\n+ activeElement.classList.add(directionalClassName);\n+ nextElement.classList.add(directionalClassName);\n \n- this._queueCallback(completeCallBack, activeElement, true);\n- } else {\n- activeElement.classList.remove(CLASS_NAME_ACTIVE);\n+ const completeCallBack = () => {\n+ nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE);\n+ activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);\n this._isSliding = false;\n- triggerSlidEvent();\n- }\n+ triggerEvent(EVENT_SLID);\n+ };\n+\n+ this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n \n if (isCycling) {\n this.cycle();\n }\n }\n \n- _directionToOrder(direction) {\n- if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n- return direction;\n+ _isAnimated() {\n+ return this._element.classList.contains(CLASS_NAME_SLIDE);\n+ }\n+\n+ _getActive() {\n+ return SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n+ }\n+\n+ _getItems() {\n+ return SelectorEngine__default.default.find(SELECTOR_ITEM, this._element);\n+ }\n+\n+ _clearInterval() {\n+ if (this._interval) {\n+ clearInterval(this._interval);\n+ this._interval = null;\n }\n+ }\n \n- if (isRTL()) {\n+ _directionToOrder(direction) {\n+ if (index.isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n \n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n \n _orderToDirection(order) {\n- if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n- return order;\n- }\n-\n- if (isRTL()) {\n+ if (index.isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n \n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n } // Static\n+ // Boosted mod: add pause button\n \n \n- static carouselInterface(element, config) {\n- const data = Carousel.getOrCreateInstance(element, config);\n- let {\n- _config\n- } = data;\n+ static PauseCarousel(event) {\n+ const pauseButton = event.target;\n+ const pauseButtonAttribute = pauseButton.getAttribute(SELECTOR_CAROUSEL_TO_PAUSE);\n+ const carouselToPause = Carousel.getOrCreateInstance(document.querySelector(pauseButtonAttribute));\n \n- if (typeof config === 'object') {\n- _config = { ..._config,\n- ...config\n- };\n+ if (pauseButton.classList.contains('pause')) {\n+ carouselToPause.pause();\n+ } else {\n+ carouselToPause.cycle();\n }\n+ } // End mod\n \n- const action = typeof config === 'string' ? config : _config.slide;\n \n- if (typeof config === 'number') {\n- data.to(config);\n- } else if (typeof action === 'string') {\n- if (typeof data[action] === 'undefined') {\n- throw new TypeError(`No method named \"${action}\"`);\n+ static jQueryInterface(config) {\n+ return this.each(function () {\n+ const data = Carousel.getOrCreateInstance(this, config);\n+\n+ if (typeof config === 'number') {\n+ data.to(config);\n+ return;\n }\n \n- data[action]();\n- } else if (_config.interval && _config.ride) {\n- data.pause();\n- data.cycle();\n- }\n- }\n+ if (typeof config === 'string') {\n+ if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n+ throw new TypeError(`No method named \"${config}\"`);\n+ }\n \n- static jQueryInterface(config) {\n- return this.each(function () {\n- Carousel.carouselInterface(this, config);\n+ data[config]();\n+ }\n });\n }\n \n- static dataApiClickHandler(event) {\n- const target = getElementFromSelector(this);\n+ }\n+ /**\n+ * Data API implementation\n+ */\n \n- if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n- return;\n- }\n \n- const config = { ...Manipulator__default.default.getDataAttributes(target),\n- ...Manipulator__default.default.getDataAttributes(this)\n- };\n- const slideIndex = this.getAttribute('data-bs-slide-to');\n+ EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n+ const target = index.getElementFromSelector(this);\n \n- if (slideIndex) {\n- config.interval = false;\n- }\n+ if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n+ return;\n+ }\n \n- Carousel.carouselInterface(target, config);\n+ event.preventDefault();\n+ const carousel = Carousel.getOrCreateInstance(target);\n+ const slideIndex = this.getAttribute('data-bs-slide-to');\n \n- if (slideIndex) {\n- Carousel.getInstance(target).to(slideIndex);\n- }\n+ if (slideIndex) {\n+ carousel.to(slideIndex);\n \n- event.preventDefault();\n+ carousel._maybeEnableCycle();\n+\n+ return;\n }\n \n- }\n- /**\n- * ------------------------------------------------------------------------\n- * Data Api implementation\n- * ------------------------------------------------------------------------\n- */\n+ if (Manipulator__default.default.getDataAttribute(this, 'slide') === 'next') {\n+ carousel.next();\n+\n+ carousel._maybeEnableCycle();\n \n+ return;\n+ }\n+\n+ carousel.prev();\n+\n+ carousel._maybeEnableCycle();\n+ });\n+ EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_CONTROL_PAUSE, Carousel.PauseCarousel); // Boosted mod\n \n- EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);\n EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine__default.default.find(SELECTOR_DATA_RIDE);\n \n- for (let i = 0, len = carousels.length; i < len; i++) {\n- Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));\n+ for (const carousel of carousels) {\n+ Carousel.getOrCreateInstance(carousel);\n }\n });\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n- * add .Carousel to jQuery only if jQuery is present\n */\n \n- defineJQueryPlugin(Carousel);\n+ index.defineJQueryPlugin(Carousel);\n \n return Carousel;\n "},{"sha":"5684152148121663be660d2bf82dbcf60484d256","filename":"js/dist/carousel.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcarousel.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcarousel.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fcarousel.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"carousel.js\",\"sources\":[\"../src/util/index.js\",\"../src/carousel.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): carousel.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport {\\n defineJQueryPlugin,\\n getElementFromSelector,\\n isRTL,\\n isVisible,\\n getNextActiveElement,\\n reflow,\\n triggerTransitionEnd,\\n typeCheckConfig\\n} from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport Manipulator from './dom/manipulator'\\nimport SelectorEngine from './dom/selector-engine'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'carousel'\\nconst DATA_KEY = 'bs.carousel'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst ARROW_LEFT_KEY = 'ArrowLeft'\\nconst ARROW_RIGHT_KEY = 'ArrowRight'\\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\\nconst SWIPE_THRESHOLD = 40\\n\\nconst Default = {\\n interval: 5000,\\n keyboard: true,\\n slide: false,\\n pause: 'hover',\\n wrap: true,\\n touch: true\\n}\\n\\nconst DefaultType = {\\n interval: '(number|boolean)',\\n keyboard: 'boolean',\\n slide: '(boolean|string)',\\n pause: '(string|boolean)',\\n wrap: 'boolean',\\n touch: 'boolean'\\n}\\n\\nconst ORDER_NEXT = 'next'\\nconst ORDER_PREV = 'prev'\\nconst DIRECTION_LEFT = 'left'\\nconst DIRECTION_RIGHT = 'right'\\n\\nconst KEY_TO_DIRECTION = {\\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\\n}\\n\\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\\nconst EVENT_SLID = `slid${EVENT_KEY}`\\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_CAROUSEL = 'carousel'\\nconst CLASS_NAME_ACTIVE = 'active'\\nconst CLASS_NAME_SLIDE = 'slide'\\nconst CLASS_NAME_END = 'carousel-item-end'\\nconst CLASS_NAME_START = 'carousel-item-start'\\nconst CLASS_NAME_NEXT = 'carousel-item-next'\\nconst CLASS_NAME_PREV = 'carousel-item-prev'\\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\\nconst CLASS_NAME_PAUSED = 'is-paused' // Boosted mod: used for progress indicators\\nconst CLASS_NAME_DONE = 'is-done' // Boosted mod: used for progress indicators\\n\\nconst SELECTOR_ACTIVE = '.active'\\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\\nconst SELECTOR_ITEM = '.carousel-item'\\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\\nconst SELECTOR_INDICATORS = '.carousel-indicators'\\nconst SELECTOR_INDICATOR = '[data-bs-target]'\\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\\\"carousel\\\"]'\\nconst SELECTOR_CONTROL_PREV = '.carousel-control-prev' // Boosted mod\\nconst SELECTOR_CONTROL_NEXT = '.carousel-control-next' // Boosted mod\\n\\nconst PREFIX_CUSTOM_PROPS = 'o-' // Boosted mod: should match `$boosted-variable-prefix` in scss/_variables.scss\\n\\nconst POINTER_TYPE_TOUCH = 'touch'\\nconst POINTER_TYPE_PEN = 'pen'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\nclass Carousel extends BaseComponent {\\n constructor(element, config) {\\n super(element)\\n\\n this._items = null\\n this._interval = null\\n this._activeElement = null\\n this._isPaused = false\\n this._isSliding = false\\n this.touchTimeout = null\\n this.touchStartX = 0\\n this.touchDeltaX = 0\\n\\n this._config = this._getConfig(config)\\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\\n this._pointerEvent = Boolean(window.PointerEvent)\\n\\n this._addEventListeners()\\n }\\n\\n // Getters\\n\\n static get Default() {\\n return Default\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n\\n next() {\\n this._slide(ORDER_NEXT)\\n }\\n\\n nextWhenVisible() {\\n // Don't call next when the page isn't visible\\n // or the carousel or its parent isn't visible\\n if (!document.hidden && isVisible(this._element)) {\\n this.next()\\n }\\n }\\n\\n prev() {\\n this._slide(ORDER_PREV)\\n }\\n\\n pause(event) {\\n // Boosted mod: reset the animation on progress indicator\\n if (this._indicatorsElement) {\\n this._element.classList.add(CLASS_NAME_PAUSED)\\n }\\n // End mod\\n\\n if (!event) {\\n this._isPaused = true\\n }\\n\\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\\n triggerTransitionEnd(this._element)\\n this.cycle(true)\\n }\\n\\n clearInterval(this._interval)\\n this._interval = null\\n }\\n\\n cycle(event) {\\n // Boosted mod: restart the animation on progress indicator\\n if (this._indicatorsElement) {\\n this._element.classList.remove(CLASS_NAME_PAUSED)\\n }\\n // End mod\\n\\n if (!event) {\\n this._isPaused = false\\n }\\n\\n if (this._interval) {\\n clearInterval(this._interval)\\n this._interval = null\\n }\\n\\n if (this._config && this._config.interval && !this._isPaused) {\\n this._updateInterval()\\n\\n this._interval = setInterval(\\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\\n this._config.interval\\n )\\n }\\n }\\n\\n to(index) {\\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\\n const activeIndex = this._getItemIndex(this._activeElement)\\n\\n // Boosted mod: restart the animation on progress indicator\\n if (this._indicatorsElement) {\\n this._element.classList.remove(CLASS_NAME_DONE)\\n }\\n // End mod\\n\\n if (index > this._items.length - 1 || index < 0) {\\n return\\n }\\n\\n if (this._isSliding) {\\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\\n return\\n }\\n\\n if (activeIndex === index) {\\n this.pause()\\n this.cycle()\\n return\\n }\\n\\n const order = index > activeIndex ?\\n ORDER_NEXT :\\n ORDER_PREV\\n\\n this._slide(order, this._items[index])\\n }\\n\\n // Private\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...Manipulator.getDataAttributes(this._element),\\n ...(typeof config === 'object' ? config : {})\\n }\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n\\n _handleSwipe() {\\n const absDeltax = Math.abs(this.touchDeltaX)\\n\\n if (absDeltax <= SWIPE_THRESHOLD) {\\n return\\n }\\n\\n const direction = absDeltax / this.touchDeltaX\\n\\n this.touchDeltaX = 0\\n\\n if (!direction) {\\n return\\n }\\n\\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\\n }\\n\\n _addEventListeners() {\\n if (this._config.keyboard) {\\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\\n }\\n\\n if (this._config.pause === 'hover') {\\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\\n }\\n\\n if (this._config.touch && this._touchSupported) {\\n this._addTouchEventListeners()\\n }\\n }\\n\\n _addTouchEventListeners() {\\n const hasPointerPenTouch = event => {\\n return this._pointerEvent &&\\n (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\\n }\\n\\n const start = event => {\\n if (hasPointerPenTouch(event)) {\\n this.touchStartX = event.clientX\\n } else if (!this._pointerEvent) {\\n this.touchStartX = event.touches[0].clientX\\n }\\n }\\n\\n const move = event => {\\n // ensure swiping with one touch and not pinching\\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\\n 0 :\\n event.touches[0].clientX - this.touchStartX\\n }\\n\\n const end = event => {\\n if (hasPointerPenTouch(event)) {\\n this.touchDeltaX = event.clientX - this.touchStartX\\n }\\n\\n this._handleSwipe()\\n if (this._config.pause === 'hover') {\\n // If it's a touch-enabled device, mouseenter/leave are fired as\\n // part of the mouse compatibility events on first tap - the carousel\\n // would stop cycling until user tapped out of it;\\n // here, we listen for touchend, explicitly pause the carousel\\n // (as if it's the second time we tap on it, mouseenter compat event\\n // is NOT fired) and after a timeout (to allow for mouse compatibility\\n // events to fire) we explicitly restart cycling\\n\\n this.pause()\\n if (this.touchTimeout) {\\n clearTimeout(this.touchTimeout)\\n }\\n\\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\\n }\\n }\\n\\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\\n EventHandler.on(itemImg, EVENT_DRAG_START, event => event.preventDefault())\\n })\\n\\n if (this._pointerEvent) {\\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\\n\\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\\n } else {\\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\\n }\\n }\\n\\n _keydown(event) {\\n if (/input|textarea/i.test(event.target.tagName)) {\\n return\\n }\\n\\n const direction = KEY_TO_DIRECTION[event.key]\\n if (direction) {\\n event.preventDefault()\\n this._slide(direction)\\n }\\n }\\n\\n // Boosted mod: handle prev/next controls states\\n _disableControl(element) {\\n if (element.nodeName === 'BUTTON') {\\n element.disabled = true\\n } else {\\n element.setAttribute('aria-disabled', true)\\n element.setAttribute('tabindex', '-1')\\n }\\n }\\n\\n _enableControl(element) {\\n if (element.nodeName === 'BUTTON') {\\n element.disabled = false\\n } else {\\n element.removeAttribute('aria-disabled')\\n element.removeAttribute('tabindex')\\n }\\n }\\n // End mod\\n\\n _getItemIndex(element) {\\n this._items = element && element.parentNode ?\\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\\n []\\n\\n return this._items.indexOf(element)\\n }\\n\\n _getItemByOrder(order, activeElement) {\\n const isNext = order === ORDER_NEXT\\n\\n // Boosted mod: progress indicators animation when wrapping is disabled\\n if (!this._config.wrap) {\\n const isPrev = order === ORDER_PREV\\n const activeIndex = this._getItemIndex(activeElement)\\n const lastItemIndex = this._items.length - 1\\n const isGoingToWrap = (isPrev && activeIndex === 0) || (isNext && activeIndex === lastItemIndex)\\n\\n if (isGoingToWrap) {\\n // Reset the animation on last progress indicator when last slide is active\\n if (isNext && this._indicatorsElement && !this._element.hasAttribute('data-bs-slide')) {\\n this._element.classList.add(CLASS_NAME_DONE)\\n }\\n\\n return activeElement\\n }\\n\\n // Restart animation otherwise\\n if (this._indicatorsElement) {\\n this._element.classList.remove(CLASS_NAME_DONE)\\n }\\n }\\n // End mod\\n\\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\\n }\\n\\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\\n const targetIndex = this._getItemIndex(relatedTarget)\\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\\n\\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\\n relatedTarget,\\n direction: eventDirectionName,\\n from: fromIndex,\\n to: targetIndex\\n })\\n }\\n\\n _setActiveIndicatorElement(element) {\\n if (this._indicatorsElement) {\\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\\n\\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\\n activeIndicator.removeAttribute('aria-current')\\n\\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\\n\\n for (let i = 0; i < indicators.length; i++) {\\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\\n indicators[i].setAttribute('aria-current', 'true')\\n break\\n }\\n }\\n }\\n }\\n\\n _updateInterval() {\\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\\n\\n if (!element) {\\n return\\n }\\n\\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\\n\\n if (elementInterval) {\\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\\n this._config.interval = elementInterval\\n } else {\\n this._config.interval = this._config.defaultInterval || this._config.interval\\n }\\n\\n // Boosted mod: set progress indicator's interval as custom property\\n if (this._indicatorsElement && this._config.interval !== Default.interval) {\\n const currentIndex = this._getItemIndex(element)\\n const currentIndicator = SelectorEngine.findOne(`:nth-child(${currentIndex + 1})`, this._indicatorsElement)\\n currentIndicator.style.setProperty(`--${PREFIX_CUSTOM_PROPS}carousel-interval`, `${this._config.interval}ms`)\\n }\\n // End mod\\n }\\n\\n _slide(directionOrOrder, element) {\\n const order = this._directionToOrder(directionOrOrder)\\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\\n const activeElementIndex = this._getItemIndex(activeElement)\\n const nextElement = element || this._getItemByOrder(order, activeElement)\\n\\n const nextElementIndex = this._getItemIndex(nextElement)\\n const isCycling = Boolean(this._interval)\\n\\n const isNext = order === ORDER_NEXT\\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\\n const eventDirectionName = this._orderToDirection(order)\\n\\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\\n this._isSliding = false\\n return\\n }\\n\\n if (this._isSliding) {\\n return\\n }\\n\\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\\n if (slideEvent.defaultPrevented) {\\n return\\n }\\n\\n if (!activeElement || !nextElement) {\\n // Some weirdness is happening, so we bail\\n return\\n }\\n\\n this._isSliding = true\\n\\n if (isCycling) {\\n this.pause()\\n }\\n\\n this._setActiveIndicatorElement(nextElement)\\n this._activeElement = nextElement\\n\\n const triggerSlidEvent = () => {\\n EventHandler.trigger(this._element, EVENT_SLID, {\\n relatedTarget: nextElement,\\n direction: eventDirectionName,\\n from: activeElementIndex,\\n to: nextElementIndex\\n })\\n }\\n\\n // Boosted mod: enable/disable prev/next controls when wrap=false\\n if (!this._config.wrap) {\\n const prevControl = SelectorEngine.findOne(SELECTOR_CONTROL_PREV, this._element)\\n const nextControl = SelectorEngine.findOne(SELECTOR_CONTROL_NEXT, this._element)\\n\\n this._enableControl(prevControl)\\n this._enableControl(nextControl)\\n\\n if (nextElementIndex === 0) {\\n this._disableControl(prevControl)\\n } else if (nextElementIndex === (this._items.length - 1)) {\\n this._disableControl(nextControl)\\n }\\n }\\n // End mod\\n\\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\\n nextElement.classList.add(orderClassName)\\n\\n reflow(nextElement)\\n\\n activeElement.classList.add(directionalClassName)\\n nextElement.classList.add(directionalClassName)\\n\\n const completeCallBack = () => {\\n nextElement.classList.remove(directionalClassName, orderClassName)\\n nextElement.classList.add(CLASS_NAME_ACTIVE)\\n\\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\\n\\n this._isSliding = false\\n\\n setTimeout(triggerSlidEvent, 0)\\n }\\n\\n this._queueCallback(completeCallBack, activeElement, true)\\n } else {\\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\\n nextElement.classList.add(CLASS_NAME_ACTIVE)\\n\\n this._isSliding = false\\n triggerSlidEvent()\\n }\\n\\n if (isCycling) {\\n this.cycle()\\n }\\n }\\n\\n _directionToOrder(direction) {\\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\\n return direction\\n }\\n\\n if (isRTL()) {\\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\\n }\\n\\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\\n }\\n\\n _orderToDirection(order) {\\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\\n return order\\n }\\n\\n if (isRTL()) {\\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\\n }\\n\\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\\n }\\n\\n // Static\\n\\n static carouselInterface(element, config) {\\n const data = Carousel.getOrCreateInstance(element, config)\\n\\n let { _config } = data\\n if (typeof config === 'object') {\\n _config = {\\n ..._config,\\n ...config\\n }\\n }\\n\\n const action = typeof config === 'string' ? config : _config.slide\\n\\n if (typeof config === 'number') {\\n data.to(config)\\n } else if (typeof action === 'string') {\\n if (typeof data[action] === 'undefined') {\\n throw new TypeError(`No method named \\\"${action}\\\"`)\\n }\\n\\n data[action]()\\n } else if (_config.interval && _config.ride) {\\n data.pause()\\n data.cycle()\\n }\\n }\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n Carousel.carouselInterface(this, config)\\n })\\n }\\n\\n static dataApiClickHandler(event) {\\n const target = getElementFromSelector(this)\\n\\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\\n return\\n }\\n\\n const config = {\\n ...Manipulator.getDataAttributes(target),\\n ...Manipulator.getDataAttributes(this)\\n }\\n const slideIndex = this.getAttribute('data-bs-slide-to')\\n\\n if (slideIndex) {\\n config.interval = false\\n }\\n\\n Carousel.carouselInterface(target, config)\\n\\n if (slideIndex) {\\n Carousel.getInstance(target).to(slideIndex)\\n }\\n\\n event.preventDefault()\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Data Api implementation\\n * ------------------------------------------------------------------------\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\\n\\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\\n\\n for (let i = 0, len = carousels.length; i < len; i++) {\\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]))\\n }\\n})\\n\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n * add .Carousel to jQuery only if jQuery is present\\n */\\n\\ndefineJQueryPlugin(Carousel)\\n\\nexport default Carousel\\n\"],\"names\":[\"TRANSITION_END\",\"toType\",\"obj\",\"undefined\",\"toString\",\"call\",\"match\",\"toLowerCase\",\"getSelector\",\"element\",\"selector\",\"getAttribute\",\"hrefAttr\",\"includes\",\"startsWith\",\"split\",\"trim\",\"getElementFromSelector\",\"document\",\"querySelector\",\"triggerTransitionEnd\",\"dispatchEvent\",\"Event\",\"isElement\",\"jquery\",\"nodeType\",\"typeCheckConfig\",\"componentName\",\"config\",\"configTypes\",\"Object\",\"keys\",\"forEach\",\"property\",\"expectedTypes\",\"value\",\"valueType\",\"RegExp\",\"test\",\"TypeError\",\"toUpperCase\",\"isVisible\",\"getClientRects\",\"length\",\"getComputedStyle\",\"getPropertyValue\",\"reflow\",\"offsetHeight\",\"getjQuery\",\"jQuery\",\"window\",\"body\",\"hasAttribute\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"addEventListener\",\"push\",\"isRTL\",\"documentElement\",\"dir\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"getNextActiveElement\",\"list\",\"activeElement\",\"shouldGetNext\",\"isCycleAllowed\",\"index\",\"indexOf\",\"listLength\",\"Math\",\"max\",\"min\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"ARROW_LEFT_KEY\",\"ARROW_RIGHT_KEY\",\"TOUCHEVENT_COMPAT_WAIT\",\"SWIPE_THRESHOLD\",\"Default\",\"interval\",\"keyboard\",\"slide\",\"pause\",\"wrap\",\"touch\",\"DefaultType\",\"ORDER_NEXT\",\"ORDER_PREV\",\"DIRECTION_LEFT\",\"DIRECTION_RIGHT\",\"KEY_TO_DIRECTION\",\"EVENT_SLIDE\",\"EVENT_SLID\",\"EVENT_KEYDOWN\",\"EVENT_MOUSEENTER\",\"EVENT_MOUSELEAVE\",\"EVENT_TOUCHSTART\",\"EVENT_TOUCHMOVE\",\"EVENT_TOUCHEND\",\"EVENT_POINTERDOWN\",\"EVENT_POINTERUP\",\"EVENT_DRAG_START\",\"EVENT_LOAD_DATA_API\",\"EVENT_CLICK_DATA_API\",\"CLASS_NAME_CAROUSEL\",\"CLASS_NAME_ACTIVE\",\"CLASS_NAME_SLIDE\",\"CLASS_NAME_END\",\"CLASS_NAME_START\",\"CLASS_NAME_NEXT\",\"CLASS_NAME_PREV\",\"CLASS_NAME_POINTER_EVENT\",\"CLASS_NAME_PAUSED\",\"CLASS_NAME_DONE\",\"SELECTOR_ACTIVE\",\"SELECTOR_ACTIVE_ITEM\",\"SELECTOR_ITEM\",\"SELECTOR_ITEM_IMG\",\"SELECTOR_NEXT_PREV\",\"SELECTOR_INDICATORS\",\"SELECTOR_INDICATOR\",\"SELECTOR_DATA_SLIDE\",\"SELECTOR_DATA_RIDE\",\"SELECTOR_CONTROL_PREV\",\"SELECTOR_CONTROL_NEXT\",\"PREFIX_CUSTOM_PROPS\",\"POINTER_TYPE_TOUCH\",\"POINTER_TYPE_PEN\",\"Carousel\",\"BaseComponent\",\"constructor\",\"_items\",\"_interval\",\"_activeElement\",\"_isPaused\",\"_isSliding\",\"touchTimeout\",\"touchStartX\",\"touchDeltaX\",\"_config\",\"_getConfig\",\"_indicatorsElement\",\"SelectorEngine\",\"findOne\",\"_element\",\"_touchSupported\",\"navigator\",\"maxTouchPoints\",\"_pointerEvent\",\"Boolean\",\"PointerEvent\",\"_addEventListeners\",\"next\",\"_slide\",\"nextWhenVisible\",\"hidden\",\"prev\",\"event\",\"classList\",\"add\",\"cycle\",\"clearInterval\",\"remove\",\"_updateInterval\",\"setInterval\",\"visibilityState\",\"bind\",\"to\",\"activeIndex\",\"_getItemIndex\",\"EventHandler\",\"one\",\"order\",\"Manipulator\",\"getDataAttributes\",\"_handleSwipe\",\"absDeltax\",\"abs\",\"direction\",\"on\",\"_keydown\",\"_addTouchEventListeners\",\"hasPointerPenTouch\",\"pointerType\",\"start\",\"clientX\",\"touches\",\"move\",\"end\",\"clearTimeout\",\"setTimeout\",\"find\",\"itemImg\",\"preventDefault\",\"target\",\"tagName\",\"key\",\"_disableControl\",\"nodeName\",\"disabled\",\"setAttribute\",\"_enableControl\",\"removeAttribute\",\"parentNode\",\"_getItemByOrder\",\"isNext\",\"isPrev\",\"lastItemIndex\",\"isGoingToWrap\",\"_triggerSlideEvent\",\"relatedTarget\",\"eventDirectionName\",\"targetIndex\",\"fromIndex\",\"trigger\",\"from\",\"_setActiveIndicatorElement\",\"activeIndicator\",\"indicators\",\"i\",\"Number\",\"parseInt\",\"elementInterval\",\"defaultInterval\",\"currentIndex\",\"currentIndicator\",\"style\",\"setProperty\",\"directionOrOrder\",\"_directionToOrder\",\"activeElementIndex\",\"nextElement\",\"nextElementIndex\",\"isCycling\",\"directionalClassName\",\"orderClassName\",\"_orderToDirection\",\"contains\",\"slideEvent\",\"defaultPrevented\",\"triggerSlidEvent\",\"prevControl\",\"nextControl\",\"completeCallBack\",\"_queueCallback\",\"carouselInterface\",\"data\",\"getOrCreateInstance\",\"action\",\"ride\",\"each\",\"dataApiClickHandler\",\"slideIndex\",\"getInstance\",\"carousels\",\"len\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"carousel.js\",\"sources\":[\"../src/carousel.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): carousel.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport {\\n defineJQueryPlugin,\\n getElementFromSelector,\\n getNextActiveElement,\\n isRTL,\\n isVisible,\\n reflow,\\n triggerTransitionEnd\\n} from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport Manipulator from './dom/manipulator'\\nimport SelectorEngine from './dom/selector-engine'\\nimport Swipe from './util/swipe'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'carousel'\\nconst DATA_KEY = 'bs.carousel'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst ARROW_LEFT_KEY = 'ArrowLeft'\\nconst ARROW_RIGHT_KEY = 'ArrowRight'\\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\\n\\nconst ORDER_NEXT = 'next'\\nconst ORDER_PREV = 'prev'\\nconst DIRECTION_LEFT = 'left'\\nconst DIRECTION_RIGHT = 'right'\\n\\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\\nconst EVENT_SLID = `slid${EVENT_KEY}`\\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_CAROUSEL = 'carousel'\\nconst CLASS_NAME_ACTIVE = 'active'\\nconst CLASS_NAME_SLIDE = 'slide'\\nconst CLASS_NAME_END = 'carousel-item-end'\\nconst CLASS_NAME_START = 'carousel-item-start'\\nconst CLASS_NAME_NEXT = 'carousel-item-next'\\nconst CLASS_NAME_PREV = 'carousel-item-prev'\\nconst CLASS_NAME_PAUSED = 'is-paused' // Boosted mod: used for progress indicators\\nconst CLASS_NAME_DONE = 'is-done' // Boosted mod: used for progress indicators\\n\\nconst SELECTOR_ACTIVE = '.active'\\nconst SELECTOR_ITEM = '.carousel-item'\\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\\nconst SELECTOR_INDICATORS = '.carousel-indicators'\\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\\\"carousel\\\"]'\\nconst SELECTOR_CONTROL_PREV = '.carousel-control-prev' // Boosted mod\\nconst SELECTOR_CONTROL_NEXT = '.carousel-control-next' // Boosted mod\\nconst SELECTOR_CONTROL_PAUSE = '.carousel-control-play-pause' // Boosted mod\\nconst SELECTOR_CAROUSEL_TO_PAUSE = 'data-bs-target' // Boosted mod\\nconst SELECTOR_CAROUSEL_PLAY_TEXT = 'data-bs-play-text' // Boosted mod\\nconst SELECTOR_CAROUSEL_PAUSE_TEXT = 'data-bs-pause-text' // Boosted mod\\nconst SELECTOR_CAROUSEL_DEFAULT_PLAY_TEXT = 'Play Carousel' // Boosted mod\\nconst SELECTOR_CAROUSEL_DEFAULT_PAUSE_TEXT = 'Pause Carousel' // Boosted mod\\n\\nconst PREFIX_CUSTOM_PROPS = 'o-' // Boosted mod: should match `$boosted-prefix` in scss/_variables.scss\\n\\nconst KEY_TO_DIRECTION = {\\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\\n}\\n\\nconst Default = {\\n interval: 5000,\\n keyboard: true,\\n pause: 'hover',\\n ride: false,\\n touch: true,\\n wrap: true\\n}\\n\\nconst DefaultType = {\\n interval: '(number|boolean)',\\n keyboard: 'boolean',\\n ride: '(boolean|string)',\\n pause: '(string|boolean)',\\n touch: 'boolean',\\n wrap: 'boolean'\\n}\\n\\n/**\\n * Class definition\\n */\\n\\nclass Carousel extends BaseComponent {\\n constructor(element, config) {\\n super(element, config)\\n\\n this._interval = null\\n this._activeElement = null\\n this._isSliding = false\\n this.touchTimeout = null\\n this._swipeHelper = null\\n\\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\\n\\n this._playPauseButton = SelectorEngine.findOne(`${SELECTOR_CONTROL_PAUSE}[${SELECTOR_CAROUSEL_TO_PAUSE}=\\\"#${this._element.id}\\\"]`) // Boosted mod\\n\\n this._addEventListeners()\\n\\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\\n this.cycle()\\n }\\n }\\n\\n // Getters\\n static get Default() {\\n return Default\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n next() {\\n this._slide(ORDER_NEXT)\\n }\\n\\n nextWhenVisible() {\\n // FIXME TODO use `document.visibilityState`\\n // Don't call next when the page isn't visible\\n // or the carousel or its parent isn't visible\\n if (!document.hidden && isVisible(this._element)) {\\n this.next()\\n }\\n }\\n\\n prev() {\\n this._slide(ORDER_PREV)\\n }\\n\\n pause() {\\n // Boosted mod: reset the animation on progress indicator\\n if (this._indicatorsElement) {\\n this._element.classList.add(CLASS_NAME_PAUSED)\\n }\\n // End mod\\n\\n // Boosted mod: if a play-pause button is present, set the button to play on mouseenter\\n if (this._playPauseButton !== null && this._playPauseButton.classList.contains('pause')) {\\n this._playPauseButton.classList.remove('pause')\\n this._playPauseButton.classList.add('play')\\n this._playPauseButton.setAttribute('title', (this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PLAY_TEXT))\\n this._playPauseButton.querySelector('span.visually-hidden').innerHTML = (this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PLAY_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PLAY_TEXT)\\n this._stayPaused = true\\n }\\n // End mod\\n\\n if (this._isSliding) {\\n triggerTransitionEnd(this._element)\\n }\\n\\n this._clearInterval()\\n }\\n\\n cycle() {\\n // Boosted mod: restart the animation on progress indicator\\n if (this._indicatorsElement) {\\n this._element.classList.remove(CLASS_NAME_PAUSED)\\n }\\n // End mod\\n\\n // Boosted mod: if a play-pause button is present, reset the button to pause on mouseleave\\n if (this._playPauseButton !== null && this._playPauseButton.classList.contains('play')) {\\n this._playPauseButton.classList.remove('play')\\n this._playPauseButton.classList.add('pause')\\n this._playPauseButton.setAttribute('title', (this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PAUSE_TEXT))\\n this._playPauseButton.querySelector('span.visually-hidden').innerHTML = (this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) ? this._playPauseButton.getAttribute(SELECTOR_CAROUSEL_PAUSE_TEXT) : SELECTOR_CAROUSEL_DEFAULT_PAUSE_TEXT)\\n this._stayPaused = false\\n }\\n // End mod\\n\\n this._clearInterval()\\n this._updateInterval()\\n\\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\\n }\\n\\n _maybeEnableCycle() {\\n if (!this._config.ride) {\\n return\\n }\\n\\n if (this._isSliding) {\\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\\n return\\n }\\n\\n this.cycle()\\n }\\n\\n to(index) {\\n // Boosted mod: restart the animation on progress indicator\\n if (this._indicatorsElement) {\\n this._element.classList.remove(CLASS_NAME_DONE)\\n }\\n // End mod\\n\\n const items = this._getItems()\\n if (index > items.length - 1 || index < 0) {\\n return\\n }\\n\\n if (this._isSliding) {\\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\\n return\\n }\\n\\n const activeIndex = this._getItemIndex(this._getActive())\\n if (activeIndex === index) {\\n return\\n }\\n\\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\\n\\n this._slide(order, items[index])\\n }\\n\\n dispose() {\\n if (this._swipeHelper) {\\n this._swipeHelper.dispose()\\n }\\n\\n super.dispose()\\n }\\n\\n // Private\\n _configAfterMerge(config) {\\n config.defaultInterval = config.interval\\n return config\\n }\\n\\n _addEventListeners() {\\n if (this._config.keyboard) {\\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\\n }\\n\\n if (this._config.pause === 'hover') {\\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\\n }\\n\\n if (this._config.touch && Swipe.isSupported()) {\\n this._addTouchEventListeners()\\n }\\n }\\n\\n _addTouchEventListeners() {\\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\\n }\\n\\n const endCallBack = () => {\\n if (this._config.pause !== 'hover') {\\n return\\n }\\n\\n // If it's a touch-enabled device, mouseenter/leave are fired as\\n // part of the mouse compatibility events on first tap - the carousel\\n // would stop cycling until user tapped out of it;\\n // here, we listen for touchend, explicitly pause the carousel\\n // (as if it's the second time we tap on it, mouseenter compat event\\n // is NOT fired) and after a timeout (to allow for mouse compatibility\\n // events to fire) we explicitly restart cycling\\n\\n this.pause()\\n if (this.touchTimeout) {\\n clearTimeout(this.touchTimeout)\\n }\\n\\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\\n }\\n\\n const swipeConfig = {\\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\\n endCallback: endCallBack\\n }\\n\\n this._swipeHelper = new Swipe(this._element, swipeConfig)\\n }\\n\\n _keydown(event) {\\n if (/input|textarea/i.test(event.target.tagName)) {\\n return\\n }\\n\\n const direction = KEY_TO_DIRECTION[event.key]\\n if (direction) {\\n event.preventDefault()\\n this._slide(this._directionToOrder(direction))\\n }\\n }\\n\\n // Boosted mod: handle prev/next controls states\\n _disableControl(element) {\\n if (element.nodeName === 'BUTTON') {\\n element.disabled = true\\n } else {\\n element.setAttribute('aria-disabled', true)\\n element.setAttribute('tabindex', '-1')\\n }\\n }\\n\\n _enableControl(element) {\\n if (element.nodeName === 'BUTTON') {\\n element.disabled = false\\n } else {\\n element.removeAttribute('aria-disabled')\\n element.removeAttribute('tabindex')\\n }\\n }\\n // End mod\\n\\n _getItemIndex(element) {\\n return this._getItems().indexOf(element)\\n }\\n\\n _setActiveIndicatorElement(index) {\\n if (!this._indicatorsElement) {\\n return\\n }\\n\\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\\n\\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\\n activeIndicator.removeAttribute('aria-current')\\n\\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\\\"${index}\\\"]`, this._indicatorsElement)\\n\\n if (newActiveIndicator) {\\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\\n newActiveIndicator.setAttribute('aria-current', 'true')\\n }\\n }\\n\\n _updateInterval() {\\n const element = this._activeElement || this._getActive()\\n\\n if (!element) {\\n return\\n }\\n\\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\\n\\n this._config.interval = elementInterval || this._config.defaultInterval\\n\\n // Boosted mod: set progress indicator's interval as custom property\\n if (this._indicatorsElement && this._config.interval !== Default.interval) {\\n const currentIndex = this._getItemIndex(element)\\n const currentIndicator = SelectorEngine.findOne(`:nth-child(${currentIndex + 1})`, this._indicatorsElement)\\n currentIndicator.style.setProperty(`--${PREFIX_CUSTOM_PROPS}carousel-interval`, `${this._config.interval}ms`)\\n }\\n // End mod\\n }\\n\\n _slide(order, element = null) {\\n if (this._isSliding) {\\n return\\n }\\n\\n const activeElement = this._getActive()\\n const isNext = order === ORDER_NEXT\\n\\n // Boosted mod: progress indicators animation when wrapping is disabled\\n if (!this._config.wrap) {\\n const isPrev = order === ORDER_PREV\\n const activeIndex = this._getItemIndex(activeElement)\\n const lastItemIndex = this._getItems().length - 1\\n const isGoingToWrap = (isPrev && activeIndex === 0) || (isNext && activeIndex === lastItemIndex)\\n\\n if (isGoingToWrap) {\\n // Reset the animation on last progress indicator when last slide is active\\n if (isNext && this._indicatorsElement && !this._element.hasAttribute('data-bs-slide')) {\\n this._element.classList.add(CLASS_NAME_DONE)\\n }\\n\\n return activeElement\\n }\\n\\n // Restart animation otherwise\\n if (this._indicatorsElement) {\\n this._element.classList.remove(CLASS_NAME_DONE)\\n }\\n }\\n // End mod\\n\\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\\n\\n if (nextElement === activeElement) {\\n return\\n }\\n\\n const nextElementIndex = this._getItemIndex(nextElement)\\n\\n const triggerEvent = eventName => {\\n return EventHandler.trigger(this._element, eventName, {\\n relatedTarget: nextElement,\\n direction: this._orderToDirection(order),\\n from: this._getItemIndex(activeElement),\\n to: nextElementIndex\\n })\\n }\\n\\n const slideEvent = triggerEvent(EVENT_SLIDE)\\n\\n if (slideEvent.defaultPrevented) {\\n return\\n }\\n\\n if (!activeElement || !nextElement) {\\n // Some weirdness is happening, so we bail\\n // todo: change tests that use empty divs to avoid this check\\n return\\n }\\n\\n const isCycling = Boolean(this._interval)\\n this.pause()\\n\\n this._isSliding = true\\n\\n this._setActiveIndicatorElement(nextElementIndex)\\n this._activeElement = nextElement\\n\\n // Boosted mod: enable/disable prev/next controls when wrap=false\\n if (!this._config.wrap) {\\n const prevControl = SelectorEngine.findOne(SELECTOR_CONTROL_PREV, this._element)\\n const nextControl = SelectorEngine.findOne(SELECTOR_CONTROL_NEXT, this._element)\\n\\n this._enableControl(prevControl)\\n this._enableControl(nextControl)\\n\\n if (nextElementIndex === 0) {\\n this._disableControl(prevControl)\\n } else if (nextElementIndex === (this._getItems().length - 1)) {\\n this._disableControl(nextControl)\\n }\\n }\\n // End mod\\n\\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\\n\\n nextElement.classList.add(orderClassName)\\n\\n reflow(nextElement)\\n\\n activeElement.classList.add(directionalClassName)\\n nextElement.classList.add(directionalClassName)\\n\\n const completeCallBack = () => {\\n nextElement.classList.remove(directionalClassName, orderClassName)\\n nextElement.classList.add(CLASS_NAME_ACTIVE)\\n\\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\\n\\n this._isSliding = false\\n\\n triggerEvent(EVENT_SLID)\\n }\\n\\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\\n\\n if (isCycling) {\\n this.cycle()\\n }\\n }\\n\\n _isAnimated() {\\n return this._element.classList.contains(CLASS_NAME_SLIDE)\\n }\\n\\n _getActive() {\\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\\n }\\n\\n _getItems() {\\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\\n }\\n\\n _clearInterval() {\\n if (this._interval) {\\n clearInterval(this._interval)\\n this._interval = null\\n }\\n }\\n\\n _directionToOrder(direction) {\\n if (isRTL()) {\\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\\n }\\n\\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\\n }\\n\\n _orderToDirection(order) {\\n if (isRTL()) {\\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\\n }\\n\\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\\n }\\n\\n // Static\\n // Boosted mod: add pause button\\n static PauseCarousel(event) {\\n const pauseButton = event.target\\n const pauseButtonAttribute = pauseButton.getAttribute(SELECTOR_CAROUSEL_TO_PAUSE)\\n const carouselToPause = Carousel.getOrCreateInstance(document.querySelector(pauseButtonAttribute))\\n if (pauseButton.classList.contains('pause')) {\\n carouselToPause.pause()\\n } else {\\n carouselToPause.cycle()\\n }\\n }\\n // End mod\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Carousel.getOrCreateInstance(this, config)\\n\\n if (typeof config === 'number') {\\n data.to(config)\\n return\\n }\\n\\n if (typeof config === 'string') {\\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n }\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\\n const target = getElementFromSelector(this)\\n\\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\\n return\\n }\\n\\n event.preventDefault()\\n\\n const carousel = Carousel.getOrCreateInstance(target)\\n const slideIndex = this.getAttribute('data-bs-slide-to')\\n\\n if (slideIndex) {\\n carousel.to(slideIndex)\\n carousel._maybeEnableCycle()\\n return\\n }\\n\\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\\n carousel.next()\\n carousel._maybeEnableCycle()\\n return\\n }\\n\\n carousel.prev()\\n carousel._maybeEnableCycle()\\n})\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_CONTROL_PAUSE, Carousel.PauseCarousel) // Boosted mod\\n\\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\\n\\n for (const carousel of carousels) {\\n Carousel.getOrCreateInstance(carousel)\\n }\\n})\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Carousel)\\n\\nexport default Carousel\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"ARROW_LEFT_KEY\",\"ARROW_RIGHT_KEY\",\"TOUCHEVENT_COMPAT_WAIT\",\"ORDER_NEXT\",\"ORDER_PREV\",\"DIRECTION_LEFT\",\"DIRECTION_RIGHT\",\"EVENT_SLIDE\",\"EVENT_SLID\",\"EVENT_KEYDOWN\",\"EVENT_MOUSEENTER\",\"EVENT_MOUSELEAVE\",\"EVENT_DRAG_START\",\"EVENT_LOAD_DATA_API\",\"EVENT_CLICK_DATA_API\",\"CLASS_NAME_CAROUSEL\",\"CLASS_NAME_ACTIVE\",\"CLASS_NAME_SLIDE\",\"CLASS_NAME_END\",\"CLASS_NAME_START\",\"CLASS_NAME_NEXT\",\"CLASS_NAME_PREV\",\"CLASS_NAME_PAUSED\",\"CLASS_NAME_DONE\",\"SELECTOR_ACTIVE\",\"SELECTOR_ITEM\",\"SELECTOR_ACTIVE_ITEM\",\"SELECTOR_ITEM_IMG\",\"SELECTOR_INDICATORS\",\"SELECTOR_DATA_SLIDE\",\"SELECTOR_DATA_RIDE\",\"SELECTOR_CONTROL_PREV\",\"SELECTOR_CONTROL_NEXT\",\"SELECTOR_CONTROL_PAUSE\",\"SELECTOR_CAROUSEL_TO_PAUSE\",\"SELECTOR_CAROUSEL_PLAY_TEXT\",\"SELECTOR_CAROUSEL_PAUSE_TEXT\",\"SELECTOR_CAROUSEL_DEFAULT_PLAY_TEXT\",\"SELECTOR_CAROUSEL_DEFAULT_PAUSE_TEXT\",\"PREFIX_CUSTOM_PROPS\",\"KEY_TO_DIRECTION\",\"Default\",\"interval\",\"keyboard\",\"pause\",\"ride\",\"touch\",\"wrap\",\"DefaultType\",\"Carousel\",\"BaseComponent\",\"constructor\",\"element\",\"config\",\"_interval\",\"_activeElement\",\"_isSliding\",\"touchTimeout\",\"_swipeHelper\",\"_indicatorsElement\",\"SelectorEngine\",\"findOne\",\"_element\",\"_playPauseButton\",\"id\",\"_addEventListeners\",\"_config\",\"cycle\",\"next\",\"_slide\",\"nextWhenVisible\",\"document\",\"hidden\",\"isVisible\",\"prev\",\"classList\",\"add\",\"contains\",\"remove\",\"setAttribute\",\"getAttribute\",\"querySelector\",\"innerHTML\",\"_stayPaused\",\"triggerTransitionEnd\",\"_clearInterval\",\"_updateInterval\",\"setInterval\",\"_maybeEnableCycle\",\"EventHandler\",\"one\",\"to\",\"index\",\"items\",\"_getItems\",\"length\",\"activeIndex\",\"_getItemIndex\",\"_getActive\",\"order\",\"dispose\",\"_configAfterMerge\",\"defaultInterval\",\"on\",\"event\",\"_keydown\",\"Swipe\",\"isSupported\",\"_addTouchEventListeners\",\"img\",\"find\",\"preventDefault\",\"endCallBack\",\"clearTimeout\",\"setTimeout\",\"swipeConfig\",\"leftCallback\",\"_directionToOrder\",\"rightCallback\",\"endCallback\",\"test\",\"target\",\"tagName\",\"direction\",\"key\",\"_disableControl\",\"nodeName\",\"disabled\",\"_enableControl\",\"removeAttribute\",\"indexOf\",\"_setActiveIndicatorElement\",\"activeIndicator\",\"newActiveIndicator\",\"elementInterval\",\"Number\",\"parseInt\",\"currentIndex\",\"currentIndicator\",\"style\",\"setProperty\",\"activeElement\",\"isNext\",\"isPrev\",\"lastItemIndex\",\"isGoingToWrap\",\"hasAttribute\",\"nextElement\",\"getNextActiveElement\",\"nextElementIndex\",\"triggerEvent\",\"eventName\",\"trigger\",\"relatedTarget\",\"_orderToDirection\",\"from\",\"slideEvent\",\"defaultPrevented\",\"isCycling\",\"Boolean\",\"prevControl\",\"nextControl\",\"directionalClassName\",\"orderClassName\",\"reflow\",\"completeCallBack\",\"_queueCallback\",\"_isAnimated\",\"clearInterval\",\"isRTL\",\"PauseCarousel\",\"pauseButton\",\"pauseButtonAttribute\",\"carouselToPause\",\"getOrCreateInstance\",\"jQueryInterface\",\"each\",\"data\",\"undefined\",\"startsWith\",\"TypeError\",\"getElementFromSelector\",\"carousel\",\"slideIndex\",\"Manipulator\",\"getDataAttribute\",\"window\",\"carousels\",\"defineJQueryPlugin\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"ac70654b59d859658e1dd1a2596e258628d43f46","filename":"js/dist/collapse.js","status":"modified","additions":76,"deletions":258,"changes":334,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcollapse.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcollapse.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fcollapse.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,204 +1,39 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap collapse.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap collapse.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) :\n- typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));\n-})(this, (function (Data, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./dom/selector-engine'), require('./base-component')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/selector-engine', './base-component'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Index, global.EventHandler, global.SelectorEngine, global.BaseComponent));\n+})(this, (function (index, EventHandler, SelectorEngine, BaseComponent) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n- const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);\n const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);\n- const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);\n const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);\n const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n+ * Bootstrap (v5.2.0-beta1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n-\n- const toType = obj => {\n- if (obj === null || obj === undefined) {\n- return `${obj}`;\n- }\n-\n- return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n- };\n-\n- const getSelector = element => {\n- let selector = element.getAttribute('data-bs-target');\n-\n- if (!selector || selector === '#') {\n- let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n- // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n- // `document.querySelector` will rightfully complain it is invalid.\n- // See https://github.com/twbs/bootstrap/issues/32273\n-\n- if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {\n- return null;\n- } // Just in case some CMS puts out a full URL with the anchor appended\n-\n-\n- if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n- hrefAttr = `#${hrefAttr.split('#')[1]}`;\n- }\n-\n- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\n- }\n-\n- return selector;\n- };\n-\n- const getSelectorFromElement = element => {\n- const selector = getSelector(element);\n-\n- if (selector) {\n- return document.querySelector(selector) ? selector : null;\n- }\n-\n- return null;\n- };\n-\n- const getElementFromSelector = element => {\n- const selector = getSelector(element);\n- return selector ? document.querySelector(selector) : null;\n- };\n-\n- const isElement = obj => {\n- if (!obj || typeof obj !== 'object') {\n- return false;\n- }\n-\n- if (typeof obj.jquery !== 'undefined') {\n- obj = obj[0];\n- }\n-\n- return typeof obj.nodeType !== 'undefined';\n- };\n-\n- const getElement = obj => {\n- if (isElement(obj)) {\n- // it's a jQuery object or a node element\n- return obj.jquery ? obj[0] : obj;\n- }\n-\n- if (typeof obj === 'string' && obj.length > 0) {\n- return document.querySelector(obj);\n- }\n-\n- return null;\n- };\n-\n- const typeCheckConfig = (componentName, config, configTypes) => {\n- Object.keys(configTypes).forEach(property => {\n- const expectedTypes = configTypes[property];\n- const value = config[property];\n- const valueType = value && isElement(value) ? 'element' : toType(value);\n-\n- if (!new RegExp(expectedTypes).test(valueType)) {\n- throw new TypeError(`${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n- }\n- });\n- };\n /**\n- * Trick to restart an element's animation\n- *\n- * @param {HTMLElement} element\n- * @return void\n- *\n- * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n- */\n-\n-\n- const reflow = element => {\n- // eslint-disable-next-line no-unused-expressions\n- element.offsetHeight;\n- };\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): collapse.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'collapse';\n const DATA_KEY = 'bs.collapse';\n const EVENT_KEY = `.${DATA_KEY}`;\n const DATA_API_KEY = '.data-api';\n- const Default = {\n- toggle: true,\n- parent: null\n- };\n- const DefaultType = {\n- toggle: 'boolean',\n- parent: '(null|element)'\n- };\n const EVENT_SHOW = `show${EVENT_KEY}`;\n const EVENT_SHOWN = `shown${EVENT_KEY}`;\n const EVENT_HIDE = `hide${EVENT_KEY}`;\n@@ -214,28 +49,30 @@\n const HEIGHT = 'height';\n const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\n const SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]';\n+ const Default = {\n+ toggle: true,\n+ parent: null\n+ };\n+ const DefaultType = {\n+ toggle: 'boolean',\n+ parent: '(null|element)'\n+ };\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Collapse extends BaseComponent__default.default {\n constructor(element, config) {\n- super(element);\n+ super(element, config);\n this._isTransitioning = false;\n- this._config = this._getConfig(config);\n this._triggerArray = [];\n const toggleList = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE);\n \n- for (let i = 0, len = toggleList.length; i < len; i++) {\n- const elem = toggleList[i];\n- const selector = getSelectorFromElement(elem);\n- const filterElement = SelectorEngine__default.default.find(selector).filter(foundElem => foundElem === this._element);\n+ for (const elem of toggleList) {\n+ const selector = index.getSelectorFromElement(elem);\n+ const filterElement = SelectorEngine__default.default.find(selector).filter(foundElement => foundElement === this._element);\n \n if (selector !== null && filterElement.length) {\n- this._selector = selector;\n-\n this._triggerArray.push(elem);\n }\n }\n@@ -256,6 +93,10 @@\n return Default;\n }\n \n+ static get DefaultType() {\n+ return DefaultType;\n+ }\n+\n static get NAME() {\n return NAME;\n } // Public\n@@ -274,23 +115,16 @@\n return;\n }\n \n- let actives = [];\n- let activesData;\n+ let activeChildren = []; // find active children\n \n if (this._config.parent) {\n- const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n- actives = SelectorEngine__default.default.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)); // remove children if greater depth\n+ activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n+ toggle: false\n+ }));\n }\n \n- const container = SelectorEngine__default.default.findOne(this._selector);\n-\n- if (actives.length) {\n- const tempActiveData = actives.find(elem => container !== elem);\n- activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;\n-\n- if (activesData && activesData._isTransitioning) {\n- return;\n- }\n+ if (activeChildren.length && activeChildren[0]._isTransitioning) {\n+ return;\n }\n \n const startEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW);\n@@ -299,17 +133,9 @@\n return;\n }\n \n- actives.forEach(elemActive => {\n- if (container !== elemActive) {\n- Collapse.getOrCreateInstance(elemActive, {\n- toggle: false\n- }).hide();\n- }\n-\n- if (!activesData) {\n- Data__default.default.set(elemActive, DATA_KEY, null);\n- }\n- });\n+ for (const activeInstance of activeChildren) {\n+ activeInstance.hide();\n+ }\n \n const dimension = this._getDimension();\n \n@@ -356,31 +182,30 @@\n const dimension = this._getDimension();\n \n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n- reflow(this._element);\n+ index.reflow(this._element);\n \n this._element.classList.add(CLASS_NAME_COLLAPSING);\n \n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\n \n- const triggerArrayLength = this._triggerArray.length;\n-\n- for (let i = 0; i < triggerArrayLength; i++) {\n- const trigger = this._triggerArray[i];\n- const elem = getElementFromSelector(trigger);\n-\n- if (elem && !this._isShown(elem)) {\n- this._addAriaAndCollapsedClass([trigger], false);\n- }\n- }\n-\n this._isTransitioning = true;\n \n const complete = () => {\n this._isTransitioning = false;\n \n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n \n- this._element.classList.add(CLASS_NAME_COLLAPSE);\n+ this._element.classList.add(CLASS_NAME_COLLAPSE); // Boosted mod: Change the moment of the appliance of .collapsed\n+\n+\n+ for (const trigger of this._triggerArray) {\n+ const element = index.getElementFromSelector(trigger);\n+\n+ if (element && !this._isShown(element)) {\n+ this._addAriaAndCollapsedClass([trigger], false);\n+ }\n+ } // End mod\n+\n \n EventHandler__default.default.trigger(this._element, EVENT_HIDDEN);\n };\n@@ -395,15 +220,10 @@\n } // Private\n \n \n- _getConfig(config) {\n- config = { ...Default,\n- ...Manipulator__default.default.getDataAttributes(this._element),\n- ...config\n- };\n+ _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n \n- config.parent = getElement(config.parent);\n- typeCheckConfig(NAME, config, DefaultType);\n+ config.parent = index.getElement(config.parent);\n return config;\n }\n \n@@ -416,41 +236,43 @@\n return;\n }\n \n- const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n- SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem)).forEach(element => {\n- const selected = getElementFromSelector(element);\n+ const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE);\n+\n+ for (const element of children) {\n+ const selected = index.getElementFromSelector(element);\n \n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n- });\n+ }\n+ }\n+\n+ _getFirstLevelChildren(selector) {\n+ const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth\n+\n+ return SelectorEngine__default.default.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n \n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n \n- triggerArray.forEach(elem => {\n- if (isOpen) {\n- elem.classList.remove(CLASS_NAME_COLLAPSED);\n- } else {\n- elem.classList.add(CLASS_NAME_COLLAPSED);\n- }\n-\n- elem.setAttribute('aria-expanded', isOpen);\n- });\n+ for (const element of triggerArray) {\n+ element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n+ element.setAttribute('aria-expanded', isOpen);\n+ }\n } // Static\n \n \n static jQueryInterface(config) {\n- return this.each(function () {\n- const _config = {};\n+ const _config = {};\n \n- if (typeof config === 'string' && /show|hide/.test(config)) {\n- _config.toggle = false;\n- }\n+ if (typeof config === 'string' && /show|hide/.test(config)) {\n+ _config.toggle = false;\n+ }\n \n+ return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n \n if (typeof config === 'string') {\n@@ -465,9 +287,7 @@\n \n }\n /**\n- * ------------------------------------------------------------------------\n- * Data Api implementation\n- * ------------------------------------------------------------------------\n+ * Data API implementation\n */\n \n \n@@ -477,22 +297,20 @@\n event.preventDefault();\n }\n \n- const selector = getSelectorFromElement(this);\n+ const selector = index.getSelectorFromElement(this);\n const selectorElements = SelectorEngine__default.default.find(selector);\n- selectorElements.forEach(element => {\n+\n+ for (const element of selectorElements) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n- });\n+ }\n });\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n- * add .Collapse to jQuery only if jQuery is present\n */\n \n- defineJQueryPlugin(Collapse);\n+ index.defineJQueryPlugin(Collapse);\n \n return Collapse;\n "},{"sha":"341c1fb4fe1de51a5fe89f0d9ee452d988784b6e","filename":"js/dist/collapse.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcollapse.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fcollapse.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fcollapse.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"collapse.js\",\"sources\":[\"../src/util/index.js\",\"../src/collapse.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): collapse.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport {\\n defineJQueryPlugin,\\n getElement,\\n getSelectorFromElement,\\n getElementFromSelector,\\n reflow,\\n typeCheckConfig\\n} from './util/index'\\nimport Data from './dom/data'\\nimport EventHandler from './dom/event-handler'\\nimport Manipulator from './dom/manipulator'\\nimport SelectorEngine from './dom/selector-engine'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'collapse'\\nconst DATA_KEY = 'bs.collapse'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst Default = {\\n toggle: true,\\n parent: null\\n}\\n\\nconst DefaultType = {\\n toggle: 'boolean',\\n parent: '(null|element)'\\n}\\n\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_COLLAPSE = 'collapse'\\nconst CLASS_NAME_COLLAPSING = 'collapsing'\\nconst CLASS_NAME_COLLAPSED = 'collapsed'\\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\\n\\nconst WIDTH = 'width'\\nconst HEIGHT = 'height'\\n\\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"collapse\\\"]'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\n\\nclass Collapse extends BaseComponent {\\n constructor(element, config) {\\n super(element)\\n\\n this._isTransitioning = false\\n this._config = this._getConfig(config)\\n this._triggerArray = []\\n\\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\\n\\n for (let i = 0, len = toggleList.length; i < len; i++) {\\n const elem = toggleList[i]\\n const selector = getSelectorFromElement(elem)\\n const filterElement = SelectorEngine.find(selector)\\n .filter(foundElem => foundElem === this._element)\\n\\n if (selector !== null && filterElement.length) {\\n this._selector = selector\\n this._triggerArray.push(elem)\\n }\\n }\\n\\n this._initializeChildren()\\n\\n if (!this._config.parent) {\\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\\n }\\n\\n if (this._config.toggle) {\\n this.toggle()\\n }\\n }\\n\\n // Getters\\n\\n static get Default() {\\n return Default\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n\\n toggle() {\\n if (this._isShown()) {\\n this.hide()\\n } else {\\n this.show()\\n }\\n }\\n\\n show() {\\n if (this._isTransitioning || this._isShown()) {\\n return\\n }\\n\\n let actives = []\\n let activesData\\n\\n if (this._config.parent) {\\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)) // remove children if greater depth\\n }\\n\\n const container = SelectorEngine.findOne(this._selector)\\n if (actives.length) {\\n const tempActiveData = actives.find(elem => container !== elem)\\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\\n\\n if (activesData && activesData._isTransitioning) {\\n return\\n }\\n }\\n\\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\\n if (startEvent.defaultPrevented) {\\n return\\n }\\n\\n actives.forEach(elemActive => {\\n if (container !== elemActive) {\\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide()\\n }\\n\\n if (!activesData) {\\n Data.set(elemActive, DATA_KEY, null)\\n }\\n })\\n\\n const dimension = this._getDimension()\\n\\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\\n this._element.classList.add(CLASS_NAME_COLLAPSING)\\n\\n this._element.style[dimension] = 0\\n\\n this._addAriaAndCollapsedClass(this._triggerArray, true)\\n this._isTransitioning = true\\n\\n const complete = () => {\\n this._isTransitioning = false\\n\\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\\n\\n this._element.style[dimension] = ''\\n\\n EventHandler.trigger(this._element, EVENT_SHOWN)\\n }\\n\\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\\n const scrollSize = `scroll${capitalizedDimension}`\\n\\n this._queueCallback(complete, this._element, true)\\n this._element.style[dimension] = `${this._element[scrollSize]}px`\\n }\\n\\n hide() {\\n if (this._isTransitioning || !this._isShown()) {\\n return\\n }\\n\\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\\n if (startEvent.defaultPrevented) {\\n return\\n }\\n\\n const dimension = this._getDimension()\\n\\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\\n\\n reflow(this._element)\\n\\n this._element.classList.add(CLASS_NAME_COLLAPSING)\\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\\n\\n const triggerArrayLength = this._triggerArray.length\\n for (let i = 0; i < triggerArrayLength; i++) {\\n const trigger = this._triggerArray[i]\\n const elem = getElementFromSelector(trigger)\\n\\n if (elem && !this._isShown(elem)) {\\n this._addAriaAndCollapsedClass([trigger], false)\\n }\\n }\\n\\n this._isTransitioning = true\\n\\n const complete = () => {\\n this._isTransitioning = false\\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\\n this._element.classList.add(CLASS_NAME_COLLAPSE)\\n EventHandler.trigger(this._element, EVENT_HIDDEN)\\n }\\n\\n this._element.style[dimension] = ''\\n\\n this._queueCallback(complete, this._element, true)\\n }\\n\\n _isShown(element = this._element) {\\n return element.classList.contains(CLASS_NAME_SHOW)\\n }\\n\\n // Private\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...Manipulator.getDataAttributes(this._element),\\n ...config\\n }\\n config.toggle = Boolean(config.toggle) // Coerce string values\\n config.parent = getElement(config.parent)\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n\\n _getDimension() {\\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\\n }\\n\\n _initializeChildren() {\\n if (!this._config.parent) {\\n return\\n }\\n\\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\\n SelectorEngine.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem))\\n .forEach(element => {\\n const selected = getElementFromSelector(element)\\n\\n if (selected) {\\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\\n }\\n })\\n }\\n\\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\\n if (!triggerArray.length) {\\n return\\n }\\n\\n triggerArray.forEach(elem => {\\n if (isOpen) {\\n elem.classList.remove(CLASS_NAME_COLLAPSED)\\n } else {\\n elem.classList.add(CLASS_NAME_COLLAPSED)\\n }\\n\\n elem.setAttribute('aria-expanded', isOpen)\\n })\\n }\\n\\n // Static\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const _config = {}\\n if (typeof config === 'string' && /show|hide/.test(config)) {\\n _config.toggle = false\\n }\\n\\n const data = Collapse.getOrCreateInstance(this, _config)\\n\\n if (typeof config === 'string') {\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n }\\n })\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Data Api implementation\\n * ------------------------------------------------------------------------\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n // preventDefault only for elements (which change the URL) not inside the collapsible element\\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\\n event.preventDefault()\\n }\\n\\n const selector = getSelectorFromElement(this)\\n const selectorElements = SelectorEngine.find(selector)\\n\\n selectorElements.forEach(element => {\\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\\n })\\n})\\n\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n * add .Collapse to jQuery only if jQuery is present\\n */\\n\\ndefineJQueryPlugin(Collapse)\\n\\nexport default Collapse\\n\"],\"names\":[\"toType\",\"obj\",\"undefined\",\"toString\",\"call\",\"match\",\"toLowerCase\",\"getSelector\",\"element\",\"selector\",\"getAttribute\",\"hrefAttr\",\"includes\",\"startsWith\",\"split\",\"trim\",\"getSelectorFromElement\",\"document\",\"querySelector\",\"getElementFromSelector\",\"isElement\",\"jquery\",\"nodeType\",\"getElement\",\"length\",\"typeCheckConfig\",\"componentName\",\"config\",\"configTypes\",\"Object\",\"keys\",\"forEach\",\"property\",\"expectedTypes\",\"value\",\"valueType\",\"RegExp\",\"test\",\"TypeError\",\"toUpperCase\",\"reflow\",\"offsetHeight\",\"getjQuery\",\"jQuery\",\"window\",\"body\",\"hasAttribute\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"addEventListener\",\"push\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"Default\",\"toggle\",\"parent\",\"DefaultType\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_HIDE\",\"EVENT_HIDDEN\",\"EVENT_CLICK_DATA_API\",\"CLASS_NAME_SHOW\",\"CLASS_NAME_COLLAPSE\",\"CLASS_NAME_COLLAPSING\",\"CLASS_NAME_COLLAPSED\",\"CLASS_NAME_DEEPER_CHILDREN\",\"CLASS_NAME_HORIZONTAL\",\"WIDTH\",\"HEIGHT\",\"SELECTOR_ACTIVES\",\"SELECTOR_DATA_TOGGLE\",\"Collapse\",\"BaseComponent\",\"constructor\",\"_isTransitioning\",\"_config\",\"_getConfig\",\"_triggerArray\",\"toggleList\",\"SelectorEngine\",\"find\",\"i\",\"len\",\"elem\",\"filterElement\",\"filter\",\"foundElem\",\"_element\",\"_selector\",\"_initializeChildren\",\"_addAriaAndCollapsedClass\",\"_isShown\",\"hide\",\"show\",\"actives\",\"activesData\",\"children\",\"container\",\"findOne\",\"tempActiveData\",\"getInstance\",\"startEvent\",\"EventHandler\",\"trigger\",\"defaultPrevented\",\"elemActive\",\"getOrCreateInstance\",\"Data\",\"set\",\"dimension\",\"_getDimension\",\"classList\",\"remove\",\"add\",\"style\",\"complete\",\"capitalizedDimension\",\"slice\",\"scrollSize\",\"_queueCallback\",\"getBoundingClientRect\",\"triggerArrayLength\",\"contains\",\"Manipulator\",\"getDataAttributes\",\"Boolean\",\"selected\",\"triggerArray\",\"isOpen\",\"setAttribute\",\"each\",\"data\",\"on\",\"event\",\"target\",\"tagName\",\"delegateTarget\",\"preventDefault\",\"selectorElements\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"collapse.js\",\"sources\":[\"../src/collapse.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): collapse.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport {\\n defineJQueryPlugin,\\n getElement,\\n getElementFromSelector,\\n getSelectorFromElement,\\n reflow\\n} from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport SelectorEngine from './dom/selector-engine'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'collapse'\\nconst DATA_KEY = 'bs.collapse'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_COLLAPSE = 'collapse'\\nconst CLASS_NAME_COLLAPSING = 'collapsing'\\nconst CLASS_NAME_COLLAPSED = 'collapsed'\\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\\n\\nconst WIDTH = 'width'\\nconst HEIGHT = 'height'\\n\\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"collapse\\\"]'\\n\\nconst Default = {\\n toggle: true,\\n parent: null\\n}\\n\\nconst DefaultType = {\\n toggle: 'boolean',\\n parent: '(null|element)'\\n}\\n\\n/**\\n * Class definition\\n */\\n\\nclass Collapse extends BaseComponent {\\n constructor(element, config) {\\n super(element, config)\\n\\n this._isTransitioning = false\\n this._triggerArray = []\\n\\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\\n\\n for (const elem of toggleList) {\\n const selector = getSelectorFromElement(elem)\\n const filterElement = SelectorEngine.find(selector)\\n .filter(foundElement => foundElement === this._element)\\n\\n if (selector !== null && filterElement.length) {\\n this._triggerArray.push(elem)\\n }\\n }\\n\\n this._initializeChildren()\\n\\n if (!this._config.parent) {\\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\\n }\\n\\n if (this._config.toggle) {\\n this.toggle()\\n }\\n }\\n\\n // Getters\\n static get Default() {\\n return Default\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n toggle() {\\n if (this._isShown()) {\\n this.hide()\\n } else {\\n this.show()\\n }\\n }\\n\\n show() {\\n if (this._isTransitioning || this._isShown()) {\\n return\\n }\\n\\n let activeChildren = []\\n\\n // find active children\\n if (this._config.parent) {\\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\\n .filter(element => element !== this._element)\\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\\n }\\n\\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\\n return\\n }\\n\\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\\n if (startEvent.defaultPrevented) {\\n return\\n }\\n\\n for (const activeInstance of activeChildren) {\\n activeInstance.hide()\\n }\\n\\n const dimension = this._getDimension()\\n\\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\\n this._element.classList.add(CLASS_NAME_COLLAPSING)\\n\\n this._element.style[dimension] = 0\\n\\n this._addAriaAndCollapsedClass(this._triggerArray, true)\\n this._isTransitioning = true\\n\\n const complete = () => {\\n this._isTransitioning = false\\n\\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\\n\\n this._element.style[dimension] = ''\\n\\n EventHandler.trigger(this._element, EVENT_SHOWN)\\n }\\n\\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\\n const scrollSize = `scroll${capitalizedDimension}`\\n\\n this._queueCallback(complete, this._element, true)\\n this._element.style[dimension] = `${this._element[scrollSize]}px`\\n }\\n\\n hide() {\\n if (this._isTransitioning || !this._isShown()) {\\n return\\n }\\n\\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\\n if (startEvent.defaultPrevented) {\\n return\\n }\\n\\n const dimension = this._getDimension()\\n\\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\\n\\n reflow(this._element)\\n\\n this._element.classList.add(CLASS_NAME_COLLAPSING)\\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\\n\\n this._isTransitioning = true\\n\\n const complete = () => {\\n this._isTransitioning = false\\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\\n this._element.classList.add(CLASS_NAME_COLLAPSE)\\n\\n // Boosted mod: Change the moment of the appliance of .collapsed\\n for (const trigger of this._triggerArray) {\\n const element = getElementFromSelector(trigger)\\n\\n if (element && !this._isShown(element)) {\\n this._addAriaAndCollapsedClass([trigger], false)\\n }\\n }\\n // End mod\\n\\n EventHandler.trigger(this._element, EVENT_HIDDEN)\\n }\\n\\n this._element.style[dimension] = ''\\n\\n this._queueCallback(complete, this._element, true)\\n }\\n\\n _isShown(element = this._element) {\\n return element.classList.contains(CLASS_NAME_SHOW)\\n }\\n\\n // Private\\n _configAfterMerge(config) {\\n config.toggle = Boolean(config.toggle) // Coerce string values\\n config.parent = getElement(config.parent)\\n return config\\n }\\n\\n _getDimension() {\\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\\n }\\n\\n _initializeChildren() {\\n if (!this._config.parent) {\\n return\\n }\\n\\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\\n\\n for (const element of children) {\\n const selected = getElementFromSelector(element)\\n\\n if (selected) {\\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\\n }\\n }\\n }\\n\\n _getFirstLevelChildren(selector) {\\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\\n // remove children if greater depth\\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\\n }\\n\\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\\n if (!triggerArray.length) {\\n return\\n }\\n\\n for (const element of triggerArray) {\\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\\n element.setAttribute('aria-expanded', isOpen)\\n }\\n }\\n\\n // Static\\n static jQueryInterface(config) {\\n const _config = {}\\n if (typeof config === 'string' && /show|hide/.test(config)) {\\n _config.toggle = false\\n }\\n\\n return this.each(function () {\\n const data = Collapse.getOrCreateInstance(this, _config)\\n\\n if (typeof config === 'string') {\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n }\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n // preventDefault only for elements (which change the URL) not inside the collapsible element\\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\\n event.preventDefault()\\n }\\n\\n const selector = getSelectorFromElement(this)\\n const selectorElements = SelectorEngine.find(selector)\\n\\n for (const element of selectorElements) {\\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\\n }\\n})\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Collapse)\\n\\nexport default Collapse\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_HIDE\",\"EVENT_HIDDEN\",\"EVENT_CLICK_DATA_API\",\"CLASS_NAME_SHOW\",\"CLASS_NAME_COLLAPSE\",\"CLASS_NAME_COLLAPSING\",\"CLASS_NAME_COLLAPSED\",\"CLASS_NAME_DEEPER_CHILDREN\",\"CLASS_NAME_HORIZONTAL\",\"WIDTH\",\"HEIGHT\",\"SELECTOR_ACTIVES\",\"SELECTOR_DATA_TOGGLE\",\"Default\",\"toggle\",\"parent\",\"DefaultType\",\"Collapse\",\"BaseComponent\",\"constructor\",\"element\",\"config\",\"_isTransitioning\",\"_triggerArray\",\"toggleList\",\"SelectorEngine\",\"find\",\"elem\",\"selector\",\"getSelectorFromElement\",\"filterElement\",\"filter\",\"foundElement\",\"_element\",\"length\",\"push\",\"_initializeChildren\",\"_config\",\"_addAriaAndCollapsedClass\",\"_isShown\",\"hide\",\"show\",\"activeChildren\",\"_getFirstLevelChildren\",\"map\",\"getOrCreateInstance\",\"startEvent\",\"EventHandler\",\"trigger\",\"defaultPrevented\",\"activeInstance\",\"dimension\",\"_getDimension\",\"classList\",\"remove\",\"add\",\"style\",\"complete\",\"capitalizedDimension\",\"toUpperCase\",\"slice\",\"scrollSize\",\"_queueCallback\",\"getBoundingClientRect\",\"reflow\",\"getElementFromSelector\",\"contains\",\"_configAfterMerge\",\"Boolean\",\"getElement\",\"children\",\"selected\",\"includes\",\"triggerArray\",\"isOpen\",\"setAttribute\",\"jQueryInterface\",\"test\",\"each\",\"data\",\"TypeError\",\"on\",\"document\",\"event\",\"target\",\"tagName\",\"delegateTarget\",\"preventDefault\",\"selectorElements\",\"defineJQueryPlugin\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"58e982a71ca154b98f29227485eac545f78e8065","filename":"js/dist/dom/data.js","status":"modified","additions":6,"deletions":8,"changes":14,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fdata.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fdata.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fdata.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,11 +1,11 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap data.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap data.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n@@ -16,15 +16,13 @@\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): dom/data.js\n+ * Bootstrap (v5.2.0-beta1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n \n /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n const elementMap = new Map();\n const data = {"},{"sha":"19acd84a40af7e82b104d81125f197c64f630a38","filename":"js/dist/dom/data.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fdata.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fdata.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fdata.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"data.js\",\"sources\":[\"../../src/dom/data.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): dom/data.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst elementMap = new Map()\\n\\nexport default {\\n set(element, key, instance) {\\n if (!elementMap.has(element)) {\\n elementMap.set(element, new Map())\\n }\\n\\n const instanceMap = elementMap.get(element)\\n\\n // make it clear we only want one instance per element\\n // can be removed later when multiple key/instances are fine to be used\\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\\n // eslint-disable-next-line no-console\\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\\n return\\n }\\n\\n instanceMap.set(key, instance)\\n },\\n\\n get(element, key) {\\n if (elementMap.has(element)) {\\n return elementMap.get(element).get(key) || null\\n }\\n\\n return null\\n },\\n\\n remove(element, key) {\\n if (!elementMap.has(element)) {\\n return\\n }\\n\\n const instanceMap = elementMap.get(element)\\n\\n instanceMap.delete(key)\\n\\n // free up element references if there are no instances left for an element\\n if (instanceMap.size === 0) {\\n elementMap.delete(element)\\n }\\n }\\n}\\n\"],\"names\":[\"elementMap\",\"Map\",\"set\",\"element\",\"key\",\"instance\",\"has\",\"instanceMap\",\"get\",\"size\",\"console\",\"error\",\"Array\",\"from\",\"keys\",\"remove\",\"delete\"],\"mappings\":\";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB;AAEA,eAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,QAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB;EACD;;EAED,UAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,QAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,+EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,EAA+B,CAA/B,CAAkC,GAA/H;EACA;EACD;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB;EACD,GAjBY;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,QAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;EAC3B,aAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,KAAoC,IAA3C;EACD;;EAED,WAAO,IAAP;EACD,GAzBY;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,QAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B;EACD;;EAED,UAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,QAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;EAC1BT,MAAAA,UAAU,CAACgB,MAAX,CAAkBb,OAAlB;EACD;EACF;;EAxCY,CAAf;;;;;;;;\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"data.js\",\"sources\":[\"../../src/dom/data.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): dom/data.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\n/**\\n * Constants\\n */\\n\\nconst elementMap = new Map()\\n\\nexport default {\\n set(element, key, instance) {\\n if (!elementMap.has(element)) {\\n elementMap.set(element, new Map())\\n }\\n\\n const instanceMap = elementMap.get(element)\\n\\n // make it clear we only want one instance per element\\n // can be removed later when multiple key/instances are fine to be used\\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\\n // eslint-disable-next-line no-console\\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\\n return\\n }\\n\\n instanceMap.set(key, instance)\\n },\\n\\n get(element, key) {\\n if (elementMap.has(element)) {\\n return elementMap.get(element).get(key) || null\\n }\\n\\n return null\\n },\\n\\n remove(element, key) {\\n if (!elementMap.has(element)) {\\n return\\n }\\n\\n const instanceMap = elementMap.get(element)\\n\\n instanceMap.delete(key)\\n\\n // free up element references if there are no instances left for an element\\n if (instanceMap.size === 0) {\\n elementMap.delete(element)\\n }\\n }\\n}\\n\"],\"names\":[\"elementMap\",\"Map\",\"set\",\"element\",\"key\",\"instance\",\"has\",\"instanceMap\",\"get\",\"size\",\"console\",\"error\",\"Array\",\"from\",\"keys\",\"remove\",\"delete\"],\"mappings\":\";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB,CAAA;AAEA,eAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB,CAAA,CAAA;EACD,KAAA;;MAED,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,CAAA,4EAAA,EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,CAA+B,CAAA,CAA/B,CAAkC,CAA/H,CAAA,CAAA,CAAA,CAAA;EACA,MAAA,OAAA;EACD,KAAA;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB,CAAA,CAAA;KAhBW;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,IAAA,IAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;QAC3B,OAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,CAAA,IAAoC,IAA3C,CAAA;EACD,KAAA;;EAED,IAAA,OAAO,IAAP,CAAA;KAxBW;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAAA;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,IAAA,IAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;QAC1BT,UAAU,CAACgB,MAAX,CAAkBb,OAAlB,CAAA,CAAA;EACD,KAAA;EACF,GAAA;;EAxCY,CAAf;;;;;;;;\"}\n\\ No newline at end of file"},{"sha":"ab5be5e15965647a3026df4d90f11ab22f5f1324","filename":"js/dist/dom/event-handler.js","status":"modified","additions":60,"deletions":102,"changes":162,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fevent-handler.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fevent-handler.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fevent-handler.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,48 +1,27 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap event-handler.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap event-handler.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n- typeof define === 'function' && define.amd ? define(factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EventHandler = factory());\n-})(this, (function () { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../util/index')) :\n+ typeof define === 'function' && define.amd ? define(['../util/index'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EventHandler = factory(global.Index));\n+})(this, (function (index) { 'use strict';\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n+ * Bootstrap (v5.2.0-beta1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): dom/event-handler.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\n@@ -55,12 +34,9 @@\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n };\n- const customEventsRegex = /^(mouseenter|mouseleave)/i;\n const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n /**\n- * ------------------------------------------------------------------------\n * Private methods\n- * ------------------------------------------------------------------------\n */\n \n function getUidEvent(element, uid) {\n@@ -93,91 +69,79 @@\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n- for (let i = domElements.length; i--;) {\n- if (domElements[i] === target) {\n- event.delegateTarget = target;\n+ for (const domElement of domElements) {\n+ if (domElement !== target) {\n+ continue;\n+ }\n \n- if (handler.oneOff) {\n- EventHandler.off(element, event.type, selector, fn);\n- }\n+ event.delegateTarget = target;\n \n- return fn.apply(target, [event]);\n+ if (handler.oneOff) {\n+ EventHandler.off(element, event.type, selector, fn);\n }\n- }\n- } // To please ESLint\n-\n \n- return null;\n+ return fn.apply(target, [event]);\n+ }\n+ }\n };\n }\n \n function findHandler(events, handler, delegationSelector = null) {\n- const uidEventList = Object.keys(events);\n-\n- for (let i = 0, len = uidEventList.length; i < len; i++) {\n- const event = events[uidEventList[i]];\n-\n- if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n- return event;\n- }\n- }\n-\n- return null;\n+ return Object.values(events).find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector);\n }\n \n- function normalizeParams(originalTypeEvent, handler, delegationFn) {\n+ function normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const delegation = typeof handler === 'string';\n- const originalHandler = delegation ? delegationFn : handler;\n+ const originalHandler = delegation ? delegationFunction : handler;\n let typeEvent = getTypeEvent(originalTypeEvent);\n- const isNative = nativeEvents.has(typeEvent);\n \n- if (!isNative) {\n+ if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n \n return [delegation, originalHandler, typeEvent];\n }\n \n- function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n+ function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n \n if (!handler) {\n- handler = delegationFn;\n- delegationFn = null;\n+ handler = delegationFunction;\n+ delegationFunction = null;\n } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n \n \n- if (customEventsRegex.test(originalTypeEvent)) {\n- const wrapFn = fn => {\n+ if (originalTypeEvent in customEvents) {\n+ const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n \n- if (delegationFn) {\n- delegationFn = wrapFn(delegationFn);\n+ if (delegationFunction) {\n+ delegationFunction = wrapFunction(delegationFunction);\n } else {\n- handler = wrapFn(handler);\n+ handler = wrapFunction(handler);\n }\n }\n \n- const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);\n+ const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const events = getEvent(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n- const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);\n+ const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null);\n \n- if (previousFn) {\n- previousFn.oneOff = previousFn.oneOff && oneOff;\n+ if (previousFunction) {\n+ previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n \n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));\n- const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);\n+ const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFunction) : bootstrapHandler(element, handler);\n fn.delegationSelector = delegation ? handler : null;\n fn.originalHandler = originalHandler;\n fn.oneOff = oneOff;\n@@ -199,12 +163,13 @@\n \n function removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n- Object.keys(storeElementEvent).forEach(handlerKey => {\n+\n+ for (const handlerKey of Object.keys(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey];\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\n }\n- });\n+ }\n }\n \n function getTypeEvent(event) {\n@@ -214,20 +179,20 @@\n }\n \n const EventHandler = {\n- on(element, event, handler, delegationFn) {\n- addHandler(element, event, handler, delegationFn, false);\n+ on(element, event, handler, delegationFunction) {\n+ addHandler(element, event, handler, delegationFunction, false);\n },\n \n- one(element, event, handler, delegationFn) {\n- addHandler(element, event, handler, delegationFn, true);\n+ one(element, event, handler, delegationFunction) {\n+ addHandler(element, event, handler, delegationFunction, true);\n },\n \n- off(element, originalTypeEvent, handler, delegationFn) {\n+ off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n \n- const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);\n+ const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getEvent(element);\n const isNamespace = originalTypeEvent.startsWith('.');\n@@ -243,36 +208,35 @@\n }\n \n if (isNamespace) {\n- Object.keys(events).forEach(elementEvent => {\n+ for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n- });\n+ }\n }\n \n const storeElementEvent = events[typeEvent] || {};\n- Object.keys(storeElementEvent).forEach(keyHandlers => {\n+\n+ for (const keyHandlers of Object.keys(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n \n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers];\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\n }\n- });\n+ }\n },\n \n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n \n- const $ = getjQuery();\n+ const $ = index.getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n- const isNative = nativeEvents.has(typeEvent);\n- let jQueryEvent;\n+ let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n- let evt = null;\n \n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n@@ -282,26 +246,20 @@\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n \n- if (isNative) {\n- evt = document.createEvent('HTMLEvents');\n- evt.initEvent(typeEvent, bubbles, true);\n- } else {\n- evt = new CustomEvent(event, {\n- bubbles,\n- cancelable: true\n- });\n- } // merge custom information in our event\n-\n+ const evt = new Event(event, {\n+ bubbles,\n+ cancelable: true\n+ }); // merge custom information in our event\n \n if (typeof args !== 'undefined') {\n- Object.keys(args).forEach(key => {\n+ for (const key of Object.keys(args)) {\n Object.defineProperty(evt, key, {\n get() {\n return args[key];\n }\n \n });\n- });\n+ }\n }\n \n if (defaultPrevented) {\n@@ -312,7 +270,7 @@\n element.dispatchEvent(evt);\n }\n \n- if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n+ if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n "},{"sha":"3c3be78d67a5f05360801cdf48cd0dc164935899","filename":"js/dist/dom/event-handler.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fevent-handler.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fevent-handler.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fevent-handler.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"event-handler.js\",\"sources\":[\"../../src/util/index.js\",\"../../src/dom/event-handler.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): dom/event-handler.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { getjQuery } from '../util/index'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst namespaceRegex = /[^.]*(?=\\\\..*)\\\\.|.*/\\nconst stripNameRegex = /\\\\..*/\\nconst stripUidRegex = /::\\\\d+$/\\nconst eventRegistry = {} // Events storage\\nlet uidEvent = 1\\nconst customEvents = {\\n mouseenter: 'mouseover',\\n mouseleave: 'mouseout'\\n}\\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\\nconst nativeEvents = new Set([\\n 'click',\\n 'dblclick',\\n 'mouseup',\\n 'mousedown',\\n 'contextmenu',\\n 'mousewheel',\\n 'DOMMouseScroll',\\n 'mouseover',\\n 'mouseout',\\n 'mousemove',\\n 'selectstart',\\n 'selectend',\\n 'keydown',\\n 'keypress',\\n 'keyup',\\n 'orientationchange',\\n 'touchstart',\\n 'touchmove',\\n 'touchend',\\n 'touchcancel',\\n 'pointerdown',\\n 'pointermove',\\n 'pointerup',\\n 'pointerleave',\\n 'pointercancel',\\n 'gesturestart',\\n 'gesturechange',\\n 'gestureend',\\n 'focus',\\n 'blur',\\n 'change',\\n 'reset',\\n 'select',\\n 'submit',\\n 'focusin',\\n 'focusout',\\n 'load',\\n 'unload',\\n 'beforeunload',\\n 'resize',\\n 'move',\\n 'DOMContentLoaded',\\n 'readystatechange',\\n 'error',\\n 'abort',\\n 'scroll'\\n])\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Private methods\\n * ------------------------------------------------------------------------\\n */\\n\\nfunction getUidEvent(element, uid) {\\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\\n}\\n\\nfunction getEvent(element) {\\n const uid = getUidEvent(element)\\n\\n element.uidEvent = uid\\n eventRegistry[uid] = eventRegistry[uid] || {}\\n\\n return eventRegistry[uid]\\n}\\n\\nfunction bootstrapHandler(element, fn) {\\n return function handler(event) {\\n event.delegateTarget = element\\n\\n if (handler.oneOff) {\\n EventHandler.off(element, event.type, fn)\\n }\\n\\n return fn.apply(element, [event])\\n }\\n}\\n\\nfunction bootstrapDelegationHandler(element, selector, fn) {\\n return function handler(event) {\\n const domElements = element.querySelectorAll(selector)\\n\\n for (let { target } = event; target && target !== this; target = target.parentNode) {\\n for (let i = domElements.length; i--;) {\\n if (domElements[i] === target) {\\n event.delegateTarget = target\\n\\n if (handler.oneOff) {\\n EventHandler.off(element, event.type, selector, fn)\\n }\\n\\n return fn.apply(target, [event])\\n }\\n }\\n }\\n\\n // To please ESLint\\n return null\\n }\\n}\\n\\nfunction findHandler(events, handler, delegationSelector = null) {\\n const uidEventList = Object.keys(events)\\n\\n for (let i = 0, len = uidEventList.length; i < len; i++) {\\n const event = events[uidEventList[i]]\\n\\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\\n return event\\n }\\n }\\n\\n return null\\n}\\n\\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\\n const delegation = typeof handler === 'string'\\n const originalHandler = delegation ? delegationFn : handler\\n\\n let typeEvent = getTypeEvent(originalTypeEvent)\\n const isNative = nativeEvents.has(typeEvent)\\n\\n if (!isNative) {\\n typeEvent = originalTypeEvent\\n }\\n\\n return [delegation, originalHandler, typeEvent]\\n}\\n\\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\\n if (typeof originalTypeEvent !== 'string' || !element) {\\n return\\n }\\n\\n if (!handler) {\\n handler = delegationFn\\n delegationFn = null\\n }\\n\\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\\n if (customEventsRegex.test(originalTypeEvent)) {\\n const wrapFn = fn => {\\n return function (event) {\\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\\n return fn.call(this, event)\\n }\\n }\\n }\\n\\n if (delegationFn) {\\n delegationFn = wrapFn(delegationFn)\\n } else {\\n handler = wrapFn(handler)\\n }\\n }\\n\\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\\n const events = getEvent(element)\\n const handlers = events[typeEvent] || (events[typeEvent] = {})\\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\\n\\n if (previousFn) {\\n previousFn.oneOff = previousFn.oneOff && oneOff\\n\\n return\\n }\\n\\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\\n const fn = delegation ?\\n bootstrapDelegationHandler(element, handler, delegationFn) :\\n bootstrapHandler(element, handler)\\n\\n fn.delegationSelector = delegation ? handler : null\\n fn.originalHandler = originalHandler\\n fn.oneOff = oneOff\\n fn.uidEvent = uid\\n handlers[uid] = fn\\n\\n element.addEventListener(typeEvent, fn, delegation)\\n}\\n\\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\\n\\n if (!fn) {\\n return\\n }\\n\\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\\n delete events[typeEvent][fn.uidEvent]\\n}\\n\\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\\n const storeElementEvent = events[typeEvent] || {}\\n\\n Object.keys(storeElementEvent).forEach(handlerKey => {\\n if (handlerKey.includes(namespace)) {\\n const event = storeElementEvent[handlerKey]\\n\\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\\n }\\n })\\n}\\n\\nfunction getTypeEvent(event) {\\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\\n event = event.replace(stripNameRegex, '')\\n return customEvents[event] || event\\n}\\n\\nconst EventHandler = {\\n on(element, event, handler, delegationFn) {\\n addHandler(element, event, handler, delegationFn, false)\\n },\\n\\n one(element, event, handler, delegationFn) {\\n addHandler(element, event, handler, delegationFn, true)\\n },\\n\\n off(element, originalTypeEvent, handler, delegationFn) {\\n if (typeof originalTypeEvent !== 'string' || !element) {\\n return\\n }\\n\\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\\n const inNamespace = typeEvent !== originalTypeEvent\\n const events = getEvent(element)\\n const isNamespace = originalTypeEvent.startsWith('.')\\n\\n if (typeof originalHandler !== 'undefined') {\\n // Simplest case: handler is passed, remove that listener ONLY.\\n if (!events || !events[typeEvent]) {\\n return\\n }\\n\\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\\n return\\n }\\n\\n if (isNamespace) {\\n Object.keys(events).forEach(elementEvent => {\\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\\n })\\n }\\n\\n const storeElementEvent = events[typeEvent] || {}\\n Object.keys(storeElementEvent).forEach(keyHandlers => {\\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\\n\\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\\n const event = storeElementEvent[keyHandlers]\\n\\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\\n }\\n })\\n },\\n\\n trigger(element, event, args) {\\n if (typeof event !== 'string' || !element) {\\n return null\\n }\\n\\n const $ = getjQuery()\\n const typeEvent = getTypeEvent(event)\\n const inNamespace = event !== typeEvent\\n const isNative = nativeEvents.has(typeEvent)\\n\\n let jQueryEvent\\n let bubbles = true\\n let nativeDispatch = true\\n let defaultPrevented = false\\n let evt = null\\n\\n if (inNamespace && $) {\\n jQueryEvent = $.Event(event, args)\\n\\n $(element).trigger(jQueryEvent)\\n bubbles = !jQueryEvent.isPropagationStopped()\\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\\n defaultPrevented = jQueryEvent.isDefaultPrevented()\\n }\\n\\n if (isNative) {\\n evt = document.createEvent('HTMLEvents')\\n evt.initEvent(typeEvent, bubbles, true)\\n } else {\\n evt = new CustomEvent(event, {\\n bubbles,\\n cancelable: true\\n })\\n }\\n\\n // merge custom information in our event\\n if (typeof args !== 'undefined') {\\n Object.keys(args).forEach(key => {\\n Object.defineProperty(evt, key, {\\n get() {\\n return args[key]\\n }\\n })\\n })\\n }\\n\\n if (defaultPrevented) {\\n evt.preventDefault()\\n }\\n\\n if (nativeDispatch) {\\n element.dispatchEvent(evt)\\n }\\n\\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\\n jQueryEvent.preventDefault()\\n }\\n\\n return evt\\n }\\n}\\n\\nexport default EventHandler\\n\"],\"names\":[\"getjQuery\",\"jQuery\",\"window\",\"document\",\"body\",\"hasAttribute\",\"namespaceRegex\",\"stripNameRegex\",\"stripUidRegex\",\"eventRegistry\",\"uidEvent\",\"customEvents\",\"mouseenter\",\"mouseleave\",\"customEventsRegex\",\"nativeEvents\",\"Set\",\"getUidEvent\",\"element\",\"uid\",\"getEvent\",\"bootstrapHandler\",\"fn\",\"handler\",\"event\",\"delegateTarget\",\"oneOff\",\"EventHandler\",\"off\",\"type\",\"apply\",\"bootstrapDelegationHandler\",\"selector\",\"domElements\",\"querySelectorAll\",\"target\",\"parentNode\",\"i\",\"length\",\"findHandler\",\"events\",\"delegationSelector\",\"uidEventList\",\"Object\",\"keys\",\"len\",\"originalHandler\",\"normalizeParams\",\"originalTypeEvent\",\"delegationFn\",\"delegation\",\"typeEvent\",\"getTypeEvent\",\"isNative\",\"has\",\"addHandler\",\"test\",\"wrapFn\",\"relatedTarget\",\"contains\",\"call\",\"handlers\",\"previousFn\",\"replace\",\"addEventListener\",\"removeHandler\",\"removeEventListener\",\"Boolean\",\"removeNamespacedHandlers\",\"namespace\",\"storeElementEvent\",\"forEach\",\"handlerKey\",\"includes\",\"on\",\"one\",\"inNamespace\",\"isNamespace\",\"startsWith\",\"elementEvent\",\"slice\",\"keyHandlers\",\"trigger\",\"args\",\"$\",\"jQueryEvent\",\"bubbles\",\"nativeDispatch\",\"defaultPrevented\",\"evt\",\"Event\",\"isPropagationStopped\",\"isImmediatePropagationStopped\",\"isDefaultPrevented\",\"createEvent\",\"initEvent\",\"CustomEvent\",\"cancelable\",\"key\",\"defineProperty\",\"get\",\"preventDefault\",\"dispatchEvent\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"event-handler.js\",\"sources\":[\"../../src/dom/event-handler.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): dom/event-handler.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { getjQuery } from '../util/index'\\n\\n/**\\n * Constants\\n */\\n\\nconst namespaceRegex = /[^.]*(?=\\\\..*)\\\\.|.*/\\nconst stripNameRegex = /\\\\..*/\\nconst stripUidRegex = /::\\\\d+$/\\nconst eventRegistry = {} // Events storage\\nlet uidEvent = 1\\nconst customEvents = {\\n mouseenter: 'mouseover',\\n mouseleave: 'mouseout'\\n}\\n\\nconst nativeEvents = new Set([\\n 'click',\\n 'dblclick',\\n 'mouseup',\\n 'mousedown',\\n 'contextmenu',\\n 'mousewheel',\\n 'DOMMouseScroll',\\n 'mouseover',\\n 'mouseout',\\n 'mousemove',\\n 'selectstart',\\n 'selectend',\\n 'keydown',\\n 'keypress',\\n 'keyup',\\n 'orientationchange',\\n 'touchstart',\\n 'touchmove',\\n 'touchend',\\n 'touchcancel',\\n 'pointerdown',\\n 'pointermove',\\n 'pointerup',\\n 'pointerleave',\\n 'pointercancel',\\n 'gesturestart',\\n 'gesturechange',\\n 'gestureend',\\n 'focus',\\n 'blur',\\n 'change',\\n 'reset',\\n 'select',\\n 'submit',\\n 'focusin',\\n 'focusout',\\n 'load',\\n 'unload',\\n 'beforeunload',\\n 'resize',\\n 'move',\\n 'DOMContentLoaded',\\n 'readystatechange',\\n 'error',\\n 'abort',\\n 'scroll'\\n])\\n\\n/**\\n * Private methods\\n */\\n\\nfunction getUidEvent(element, uid) {\\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\\n}\\n\\nfunction getEvent(element) {\\n const uid = getUidEvent(element)\\n\\n element.uidEvent = uid\\n eventRegistry[uid] = eventRegistry[uid] || {}\\n\\n return eventRegistry[uid]\\n}\\n\\nfunction bootstrapHandler(element, fn) {\\n return function handler(event) {\\n event.delegateTarget = element\\n\\n if (handler.oneOff) {\\n EventHandler.off(element, event.type, fn)\\n }\\n\\n return fn.apply(element, [event])\\n }\\n}\\n\\nfunction bootstrapDelegationHandler(element, selector, fn) {\\n return function handler(event) {\\n const domElements = element.querySelectorAll(selector)\\n\\n for (let { target } = event; target && target !== this; target = target.parentNode) {\\n for (const domElement of domElements) {\\n if (domElement !== target) {\\n continue\\n }\\n\\n event.delegateTarget = target\\n\\n if (handler.oneOff) {\\n EventHandler.off(element, event.type, selector, fn)\\n }\\n\\n return fn.apply(target, [event])\\n }\\n }\\n }\\n}\\n\\nfunction findHandler(events, handler, delegationSelector = null) {\\n return Object.values(events)\\n .find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector)\\n}\\n\\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\\n const delegation = typeof handler === 'string'\\n const originalHandler = delegation ? delegationFunction : handler\\n let typeEvent = getTypeEvent(originalTypeEvent)\\n\\n if (!nativeEvents.has(typeEvent)) {\\n typeEvent = originalTypeEvent\\n }\\n\\n return [delegation, originalHandler, typeEvent]\\n}\\n\\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\\n if (typeof originalTypeEvent !== 'string' || !element) {\\n return\\n }\\n\\n if (!handler) {\\n handler = delegationFunction\\n delegationFunction = null\\n }\\n\\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\\n if (originalTypeEvent in customEvents) {\\n const wrapFunction = fn => {\\n return function (event) {\\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\\n return fn.call(this, event)\\n }\\n }\\n }\\n\\n if (delegationFunction) {\\n delegationFunction = wrapFunction(delegationFunction)\\n } else {\\n handler = wrapFunction(handler)\\n }\\n }\\n\\n const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\\n const events = getEvent(element)\\n const handlers = events[typeEvent] || (events[typeEvent] = {})\\n const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null)\\n\\n if (previousFunction) {\\n previousFunction.oneOff = previousFunction.oneOff && oneOff\\n\\n return\\n }\\n\\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\\n const fn = delegation ?\\n bootstrapDelegationHandler(element, handler, delegationFunction) :\\n bootstrapHandler(element, handler)\\n\\n fn.delegationSelector = delegation ? handler : null\\n fn.originalHandler = originalHandler\\n fn.oneOff = oneOff\\n fn.uidEvent = uid\\n handlers[uid] = fn\\n\\n element.addEventListener(typeEvent, fn, delegation)\\n}\\n\\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\\n\\n if (!fn) {\\n return\\n }\\n\\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\\n delete events[typeEvent][fn.uidEvent]\\n}\\n\\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\\n const storeElementEvent = events[typeEvent] || {}\\n\\n for (const handlerKey of Object.keys(storeElementEvent)) {\\n if (handlerKey.includes(namespace)) {\\n const event = storeElementEvent[handlerKey]\\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\\n }\\n }\\n}\\n\\nfunction getTypeEvent(event) {\\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\\n event = event.replace(stripNameRegex, '')\\n return customEvents[event] || event\\n}\\n\\nconst EventHandler = {\\n on(element, event, handler, delegationFunction) {\\n addHandler(element, event, handler, delegationFunction, false)\\n },\\n\\n one(element, event, handler, delegationFunction) {\\n addHandler(element, event, handler, delegationFunction, true)\\n },\\n\\n off(element, originalTypeEvent, handler, delegationFunction) {\\n if (typeof originalTypeEvent !== 'string' || !element) {\\n return\\n }\\n\\n const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\\n const inNamespace = typeEvent !== originalTypeEvent\\n const events = getEvent(element)\\n const isNamespace = originalTypeEvent.startsWith('.')\\n\\n if (typeof originalHandler !== 'undefined') {\\n // Simplest case: handler is passed, remove that listener ONLY.\\n if (!events || !events[typeEvent]) {\\n return\\n }\\n\\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\\n return\\n }\\n\\n if (isNamespace) {\\n for (const elementEvent of Object.keys(events)) {\\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\\n }\\n }\\n\\n const storeElementEvent = events[typeEvent] || {}\\n for (const keyHandlers of Object.keys(storeElementEvent)) {\\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\\n\\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\\n const event = storeElementEvent[keyHandlers]\\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\\n }\\n }\\n },\\n\\n trigger(element, event, args) {\\n if (typeof event !== 'string' || !element) {\\n return null\\n }\\n\\n const $ = getjQuery()\\n const typeEvent = getTypeEvent(event)\\n const inNamespace = event !== typeEvent\\n\\n let jQueryEvent = null\\n let bubbles = true\\n let nativeDispatch = true\\n let defaultPrevented = false\\n\\n if (inNamespace && $) {\\n jQueryEvent = $.Event(event, args)\\n\\n $(element).trigger(jQueryEvent)\\n bubbles = !jQueryEvent.isPropagationStopped()\\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\\n defaultPrevented = jQueryEvent.isDefaultPrevented()\\n }\\n\\n const evt = new Event(event, { bubbles, cancelable: true })\\n\\n // merge custom information in our event\\n if (typeof args !== 'undefined') {\\n for (const key of Object.keys(args)) {\\n Object.defineProperty(evt, key, {\\n get() {\\n return args[key]\\n }\\n })\\n }\\n }\\n\\n if (defaultPrevented) {\\n evt.preventDefault()\\n }\\n\\n if (nativeDispatch) {\\n element.dispatchEvent(evt)\\n }\\n\\n if (evt.defaultPrevented && jQueryEvent) {\\n jQueryEvent.preventDefault()\\n }\\n\\n return evt\\n }\\n}\\n\\nexport default EventHandler\\n\"],\"names\":[\"namespaceRegex\",\"stripNameRegex\",\"stripUidRegex\",\"eventRegistry\",\"uidEvent\",\"customEvents\",\"mouseenter\",\"mouseleave\",\"nativeEvents\",\"Set\",\"getUidEvent\",\"element\",\"uid\",\"getEvent\",\"bootstrapHandler\",\"fn\",\"handler\",\"event\",\"delegateTarget\",\"oneOff\",\"EventHandler\",\"off\",\"type\",\"apply\",\"bootstrapDelegationHandler\",\"selector\",\"domElements\",\"querySelectorAll\",\"target\",\"parentNode\",\"domElement\",\"findHandler\",\"events\",\"delegationSelector\",\"Object\",\"values\",\"find\",\"originalHandler\",\"normalizeParameters\",\"originalTypeEvent\",\"delegationFunction\",\"delegation\",\"typeEvent\",\"getTypeEvent\",\"has\",\"addHandler\",\"wrapFunction\",\"relatedTarget\",\"contains\",\"call\",\"handlers\",\"previousFunction\",\"replace\",\"addEventListener\",\"removeHandler\",\"removeEventListener\",\"Boolean\",\"removeNamespacedHandlers\",\"namespace\",\"storeElementEvent\",\"handlerKey\",\"keys\",\"includes\",\"on\",\"one\",\"inNamespace\",\"isNamespace\",\"startsWith\",\"elementEvent\",\"slice\",\"keyHandlers\",\"trigger\",\"args\",\"$\",\"getjQuery\",\"jQueryEvent\",\"bubbles\",\"nativeDispatch\",\"defaultPrevented\",\"Event\",\"isPropagationStopped\",\"isImmediatePropagationStopped\",\"isDefaultPrevented\",\"evt\",\"cancelable\",\"key\",\"defineProperty\",\"get\",\"preventDefault\",\"dispatchEvent\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"03138ad8e7664c982983f6998ab088fdcc9015ba","filename":"js/dist/dom/manipulator.js","status":"modified","additions":26,"deletions":30,"changes":56,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fmanipulator.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fmanipulator.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fmanipulator.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,11 +1,11 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap manipulator.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap manipulator.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n@@ -16,28 +16,36 @@\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): dom/manipulator.js\n+ * Bootstrap (v5.2.0-beta1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n- function normalizeData(val) {\n- if (val === 'true') {\n+ function normalizeData(value) {\n+ if (value === 'true') {\n return true;\n }\n \n- if (val === 'false') {\n+ if (value === 'false') {\n return false;\n }\n \n- if (val === Number(val).toString()) {\n- return Number(val);\n+ if (value === Number(value).toString()) {\n+ return Number(value);\n }\n \n- if (val === '' || val === 'null') {\n+ if (value === '' || value === 'null') {\n return null;\n }\n \n- return val;\n+ if (typeof value !== 'string') {\n+ return value;\n+ }\n+\n+ try {\n+ return JSON.parse(decodeURIComponent(value));\n+ } catch (_unused) {\n+ return value;\n+ }\n }\n \n function normalizeDataKey(key) {\n@@ -59,31 +67,19 @@\n }\n \n const attributes = {};\n- Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {\n+ const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n+\n+ for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n- });\n+ }\n+\n return attributes;\n },\n \n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n- },\n-\n- offset(element) {\n- const rect = element.getBoundingClientRect();\n- return {\n- top: rect.top + window.pageYOffset,\n- left: rect.left + window.pageXOffset\n- };\n- },\n-\n- position(element) {\n- return {\n- top: element.offsetTop,\n- left: element.offsetLeft\n- };\n }\n \n };"},{"sha":"add32db385936357845b285cdd8101c36f21505a","filename":"js/dist/dom/manipulator.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fmanipulator.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fmanipulator.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fmanipulator.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"manipulator.js\",\"sources\":[\"../../src/dom/manipulator.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): dom/manipulator.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nfunction normalizeData(val) {\\n if (val === 'true') {\\n return true\\n }\\n\\n if (val === 'false') {\\n return false\\n }\\n\\n if (val === Number(val).toString()) {\\n return Number(val)\\n }\\n\\n if (val === '' || val === 'null') {\\n return null\\n }\\n\\n return val\\n}\\n\\nfunction normalizeDataKey(key) {\\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\\n}\\n\\nconst Manipulator = {\\n setDataAttribute(element, key, value) {\\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\\n },\\n\\n removeDataAttribute(element, key) {\\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\\n },\\n\\n getDataAttributes(element) {\\n if (!element) {\\n return {}\\n }\\n\\n const attributes = {}\\n\\n Object.keys(element.dataset)\\n .filter(key => key.startsWith('bs'))\\n .forEach(key => {\\n let pureKey = key.replace(/^bs/, '')\\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\\n attributes[pureKey] = normalizeData(element.dataset[key])\\n })\\n\\n return attributes\\n },\\n\\n getDataAttribute(element, key) {\\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\\n },\\n\\n offset(element) {\\n const rect = element.getBoundingClientRect()\\n\\n return {\\n top: rect.top + window.pageYOffset,\\n left: rect.left + window.pageXOffset\\n }\\n },\\n\\n position(element) {\\n return {\\n top: element.offsetTop,\\n left: element.offsetLeft\\n }\\n }\\n}\\n\\nexport default Manipulator\\n\"],\"names\":[\"normalizeData\",\"val\",\"Number\",\"toString\",\"normalizeDataKey\",\"key\",\"replace\",\"chr\",\"toLowerCase\",\"Manipulator\",\"setDataAttribute\",\"element\",\"value\",\"setAttribute\",\"removeDataAttribute\",\"removeAttribute\",\"getDataAttributes\",\"attributes\",\"Object\",\"keys\",\"dataset\",\"filter\",\"startsWith\",\"forEach\",\"pureKey\",\"charAt\",\"slice\",\"length\",\"getDataAttribute\",\"getAttribute\",\"offset\",\"rect\",\"getBoundingClientRect\",\"top\",\"window\",\"pageYOffset\",\"left\",\"pageXOffset\",\"position\",\"offsetTop\",\"offsetLeft\"],\"mappings\":\";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAEA,SAASA,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,MAAIA,GAAG,KAAK,MAAZ,EAAoB;EAClB,WAAO,IAAP;EACD;;EAED,MAAIA,GAAG,KAAK,OAAZ,EAAqB;EACnB,WAAO,KAAP;EACD;;EAED,MAAIA,GAAG,KAAKC,MAAM,CAACD,GAAD,CAAN,CAAYE,QAAZ,EAAZ,EAAoC;EAClC,WAAOD,MAAM,CAACD,GAAD,CAAb;EACD;;EAED,MAAIA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;EAChC,WAAO,IAAP;EACD;;EAED,SAAOA,GAAP;EACD;;EAED,SAASG,gBAAT,CAA0BC,GAA1B,EAA+B;EAC7B,SAAOA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsBC,GAAG,IAAK,IAAGA,GAAG,CAACC,WAAJ,EAAkB,EAAnD,CAAP;EACD;;QAEKC,WAAW,GAAG;EAClBC,EAAAA,gBAAgB,CAACC,OAAD,EAAUN,GAAV,EAAeO,KAAf,EAAsB;EACpCD,IAAAA,OAAO,CAACE,YAAR,CAAsB,WAAUT,gBAAgB,CAACC,GAAD,CAAM,EAAtD,EAAyDO,KAAzD;EACD,GAHiB;;EAKlBE,EAAAA,mBAAmB,CAACH,OAAD,EAAUN,GAAV,EAAe;EAChCM,IAAAA,OAAO,CAACI,eAAR,CAAyB,WAAUX,gBAAgB,CAACC,GAAD,CAAM,EAAzD;EACD,GAPiB;;EASlBW,EAAAA,iBAAiB,CAACL,OAAD,EAAU;EACzB,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,EAAP;EACD;;EAED,UAAMM,UAAU,GAAG,EAAnB;EAEAC,IAAAA,MAAM,CAACC,IAAP,CAAYR,OAAO,CAACS,OAApB,EACGC,MADH,CACUhB,GAAG,IAAIA,GAAG,CAACiB,UAAJ,CAAe,IAAf,CADjB,EAEGC,OAFH,CAEWlB,GAAG,IAAI;EACd,UAAImB,OAAO,GAAGnB,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAd;EACAkB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,CAAf,EAAkBjB,WAAlB,KAAkCgB,OAAO,CAACE,KAAR,CAAc,CAAd,EAAiBF,OAAO,CAACG,MAAzB,CAA5C;EACAV,MAAAA,UAAU,CAACO,OAAD,CAAV,GAAsBxB,aAAa,CAACW,OAAO,CAACS,OAAR,CAAgBf,GAAhB,CAAD,CAAnC;EACD,KANH;EAQA,WAAOY,UAAP;EACD,GAzBiB;;EA2BlBW,EAAAA,gBAAgB,CAACjB,OAAD,EAAUN,GAAV,EAAe;EAC7B,WAAOL,aAAa,CAACW,OAAO,CAACkB,YAAR,CAAsB,WAAUzB,gBAAgB,CAACC,GAAD,CAAM,EAAtD,CAAD,CAApB;EACD,GA7BiB;;EA+BlByB,EAAAA,MAAM,CAACnB,OAAD,EAAU;EACd,UAAMoB,IAAI,GAAGpB,OAAO,CAACqB,qBAAR,EAAb;EAEA,WAAO;EACLC,MAAAA,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAWC,MAAM,CAACC,WADlB;EAELC,MAAAA,IAAI,EAAEL,IAAI,CAACK,IAAL,GAAYF,MAAM,CAACG;EAFpB,KAAP;EAID,GAtCiB;;EAwClBC,EAAAA,QAAQ,CAAC3B,OAAD,EAAU;EAChB,WAAO;EACLsB,MAAAA,GAAG,EAAEtB,OAAO,CAAC4B,SADR;EAELH,MAAAA,IAAI,EAAEzB,OAAO,CAAC6B;EAFT,KAAP;EAID;;EA7CiB;;;;;;;;\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"manipulator.js\",\"sources\":[\"../../src/dom/manipulator.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): dom/manipulator.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nfunction normalizeData(value) {\\n if (value === 'true') {\\n return true\\n }\\n\\n if (value === 'false') {\\n return false\\n }\\n\\n if (value === Number(value).toString()) {\\n return Number(value)\\n }\\n\\n if (value === '' || value === 'null') {\\n return null\\n }\\n\\n if (typeof value !== 'string') {\\n return value\\n }\\n\\n try {\\n return JSON.parse(decodeURIComponent(value))\\n } catch {\\n return value\\n }\\n}\\n\\nfunction normalizeDataKey(key) {\\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\\n}\\n\\nconst Manipulator = {\\n setDataAttribute(element, key, value) {\\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\\n },\\n\\n removeDataAttribute(element, key) {\\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\\n },\\n\\n getDataAttributes(element) {\\n if (!element) {\\n return {}\\n }\\n\\n const attributes = {}\\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\\n\\n for (const key of bsKeys) {\\n let pureKey = key.replace(/^bs/, '')\\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\\n attributes[pureKey] = normalizeData(element.dataset[key])\\n }\\n\\n return attributes\\n },\\n\\n getDataAttribute(element, key) {\\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\\n }\\n}\\n\\nexport default Manipulator\\n\"],\"names\":[\"normalizeData\",\"value\",\"Number\",\"toString\",\"JSON\",\"parse\",\"decodeURIComponent\",\"normalizeDataKey\",\"key\",\"replace\",\"chr\",\"toLowerCase\",\"Manipulator\",\"setDataAttribute\",\"element\",\"setAttribute\",\"removeDataAttribute\",\"removeAttribute\",\"getDataAttributes\",\"attributes\",\"bsKeys\",\"Object\",\"keys\",\"dataset\",\"filter\",\"startsWith\",\"pureKey\",\"charAt\",\"slice\",\"length\",\"getDataAttribute\",\"getAttribute\"],\"mappings\":\";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;IAC5B,IAAIA,KAAK,KAAK,MAAd,EAAsB;EACpB,IAAA,OAAO,IAAP,CAAA;EACD,GAAA;;IAED,IAAIA,KAAK,KAAK,OAAd,EAAuB;EACrB,IAAA,OAAO,KAAP,CAAA;EACD,GAAA;;IAED,IAAIA,KAAK,KAAKC,MAAM,CAACD,KAAD,CAAN,CAAcE,QAAd,EAAd,EAAwC;MACtC,OAAOD,MAAM,CAACD,KAAD,CAAb,CAAA;EACD,GAAA;;EAED,EAAA,IAAIA,KAAK,KAAK,EAAV,IAAgBA,KAAK,KAAK,MAA9B,EAAsC;EACpC,IAAA,OAAO,IAAP,CAAA;EACD,GAAA;;EAED,EAAA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;EAC7B,IAAA,OAAOA,KAAP,CAAA;EACD,GAAA;;IAED,IAAI;MACF,OAAOG,IAAI,CAACC,KAAL,CAAWC,kBAAkB,CAACL,KAAD,CAA7B,CAAP,CAAA;EACD,GAFD,CAEE,OAAM,OAAA,EAAA;EACN,IAAA,OAAOA,KAAP,CAAA;EACD,GAAA;EACF,CAAA;;EAED,SAASM,gBAAT,CAA0BC,GAA1B,EAA+B;EAC7B,EAAA,OAAOA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsBC,GAAG,IAAK,CAAA,CAAA,EAAGA,GAAG,CAACC,WAAJ,EAAkB,EAAnD,CAAP,CAAA;EACD,CAAA;;AAED,QAAMC,WAAW,GAAG;EAClBC,EAAAA,gBAAgB,CAACC,OAAD,EAAUN,GAAV,EAAeP,KAAf,EAAsB;MACpCa,OAAO,CAACC,YAAR,CAAsB,CAAUR,QAAAA,EAAAA,gBAAgB,CAACC,GAAD,CAAM,CAAtD,CAAA,EAAyDP,KAAzD,CAAA,CAAA;KAFgB;;EAKlBe,EAAAA,mBAAmB,CAACF,OAAD,EAAUN,GAAV,EAAe;MAChCM,OAAO,CAACG,eAAR,CAAyB,CAAA,QAAA,EAAUV,gBAAgB,CAACC,GAAD,CAAM,CAAzD,CAAA,CAAA,CAAA;KANgB;;IASlBU,iBAAiB,CAACJ,OAAD,EAAU;MACzB,IAAI,CAACA,OAAL,EAAc;EACZ,MAAA,OAAO,EAAP,CAAA;EACD,KAAA;;MAED,MAAMK,UAAU,GAAG,EAAnB,CAAA;MACA,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYR,OAAO,CAACS,OAApB,CAA6BC,CAAAA,MAA7B,CAAoChB,GAAG,IAAIA,GAAG,CAACiB,UAAJ,CAAe,IAAf,CAAwB,IAAA,CAACjB,GAAG,CAACiB,UAAJ,CAAe,UAAf,CAApE,CAAf,CAAA;;EAEA,IAAA,KAAK,MAAMjB,GAAX,IAAkBY,MAAlB,EAA0B;QACxB,IAAIM,OAAO,GAAGlB,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAd,CAAA;EACAiB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,CAAf,EAAkBhB,WAAlB,EAAA,GAAkCe,OAAO,CAACE,KAAR,CAAc,CAAd,EAAiBF,OAAO,CAACG,MAAzB,CAA5C,CAAA;EACAV,MAAAA,UAAU,CAACO,OAAD,CAAV,GAAsB1B,aAAa,CAACc,OAAO,CAACS,OAAR,CAAgBf,GAAhB,CAAD,CAAnC,CAAA;EACD,KAAA;;EAED,IAAA,OAAOW,UAAP,CAAA;KAvBgB;;EA0BlBW,EAAAA,gBAAgB,CAAChB,OAAD,EAAUN,GAAV,EAAe;EAC7B,IAAA,OAAOR,aAAa,CAACc,OAAO,CAACiB,YAAR,CAAsB,CAAUxB,QAAAA,EAAAA,gBAAgB,CAACC,GAAD,CAAM,CAAA,CAAtD,CAAD,CAApB,CAAA;EACD,GAAA;;EA5BiB;;;;;;;;\"}\n\\ No newline at end of file"},{"sha":"451f0484e2b883190119c671bc2a1bd07b0c8576","filename":"js/dist/dom/selector-engine.js","status":"modified","additions":19,"deletions":61,"changes":80,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fselector-engine.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fselector-engine.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fselector-engine.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,69 +1,29 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap selector-engine.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap selector-engine.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n- typeof define === 'function' && define.amd ? define(factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SelectorEngine = factory());\n-})(this, (function () { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../util/index')) :\n+ typeof define === 'function' && define.amd ? define(['../util/index'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SelectorEngine = factory(global.Index));\n+})(this, (function (index) { 'use strict';\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n+ * Bootstrap (v5.2.0-beta1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n-\n- const isElement = obj => {\n- if (!obj || typeof obj !== 'object') {\n- return false;\n- }\n-\n- if (typeof obj.jquery !== 'undefined') {\n- obj = obj[0];\n- }\n-\n- return typeof obj.nodeType !== 'undefined';\n- };\n-\n- const isVisible = element => {\n- if (!isElement(element) || element.getClientRects().length === 0) {\n- return false;\n- }\n-\n- return getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n- };\n-\n- const isDisabled = element => {\n- if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n- return true;\n- }\n-\n- if (element.classList.contains('disabled')) {\n- return true;\n- }\n-\n- if (typeof element.disabled !== 'undefined') {\n- return element.disabled;\n- }\n-\n- return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n- };\n-\n /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): dom/selector-engine.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n+ * Constants\n */\n- const NODE_TEXT = 3;\n+\n const SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n@@ -79,14 +39,11 @@\n \n parents(element, selector) {\n const parents = [];\n- let ancestor = element.parentNode;\n-\n- while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n- if (ancestor.matches(selector)) {\n- parents.push(ancestor);\n- }\n+ let ancestor = element.parentNode.closest(selector);\n \n- ancestor = ancestor.parentNode;\n+ while (ancestor) {\n+ parents.push(ancestor);\n+ ancestor = ancestor.parentNode.closest(selector);\n }\n \n return parents;\n@@ -106,6 +63,7 @@\n return [];\n },\n \n+ // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n \n@@ -121,8 +79,8 @@\n },\n \n focusableChildren(element) {\n- const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(', ');\n- return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n+ const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n+ return this.find(focusables, element).filter(el => !index.isDisabled(el) && index.isVisible(el));\n }\n \n };"},{"sha":"a2e3338ee6c30d51d6393a22608b4515851248fa","filename":"js/dist/dom/selector-engine.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fselector-engine.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdom%2Fselector-engine.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdom%2Fselector-engine.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"selector-engine.js\",\"sources\":[\"../../src/util/index.js\",\"../../src/dom/selector-engine.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): dom/selector-engine.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nimport { isDisabled, isVisible } from '../util/index'\\n\\nconst NODE_TEXT = 3\\n\\nconst SelectorEngine = {\\n find(selector, element = document.documentElement) {\\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\\n },\\n\\n findOne(selector, element = document.documentElement) {\\n return Element.prototype.querySelector.call(element, selector)\\n },\\n\\n children(element, selector) {\\n return [].concat(...element.children)\\n .filter(child => child.matches(selector))\\n },\\n\\n parents(element, selector) {\\n const parents = []\\n\\n let ancestor = element.parentNode\\n\\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\\n if (ancestor.matches(selector)) {\\n parents.push(ancestor)\\n }\\n\\n ancestor = ancestor.parentNode\\n }\\n\\n return parents\\n },\\n\\n prev(element, selector) {\\n let previous = element.previousElementSibling\\n\\n while (previous) {\\n if (previous.matches(selector)) {\\n return [previous]\\n }\\n\\n previous = previous.previousElementSibling\\n }\\n\\n return []\\n },\\n\\n next(element, selector) {\\n let next = element.nextElementSibling\\n\\n while (next) {\\n if (next.matches(selector)) {\\n return [next]\\n }\\n\\n next = next.nextElementSibling\\n }\\n\\n return []\\n },\\n\\n focusableChildren(element) {\\n const focusables = [\\n 'a',\\n 'button',\\n 'input',\\n 'textarea',\\n 'select',\\n 'details',\\n '[tabindex]',\\n '[contenteditable=\\\"true\\\"]'\\n ].map(selector => `${selector}:not([tabindex^=\\\"-\\\"])`).join(', ')\\n\\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\\n }\\n}\\n\\nexport default SelectorEngine\\n\"],\"names\":[\"isElement\",\"obj\",\"jquery\",\"nodeType\",\"isVisible\",\"element\",\"getClientRects\",\"length\",\"getComputedStyle\",\"getPropertyValue\",\"isDisabled\",\"Node\",\"ELEMENT_NODE\",\"classList\",\"contains\",\"disabled\",\"hasAttribute\",\"getAttribute\",\"NODE_TEXT\",\"SelectorEngine\",\"find\",\"selector\",\"document\",\"documentElement\",\"concat\",\"Element\",\"prototype\",\"querySelectorAll\",\"call\",\"findOne\",\"querySelector\",\"children\",\"filter\",\"child\",\"matches\",\"parents\",\"ancestor\",\"parentNode\",\"push\",\"prev\",\"previous\",\"previousElementSibling\",\"next\",\"nextElementSibling\",\"focusableChildren\",\"focusables\",\"map\",\"join\",\"el\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"selector-engine.js\",\"sources\":[\"../../src/dom/selector-engine.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): dom/selector-engine.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { isDisabled, isVisible } from '../util/index'\\n\\n/**\\n * Constants\\n */\\n\\nconst SelectorEngine = {\\n find(selector, element = document.documentElement) {\\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\\n },\\n\\n findOne(selector, element = document.documentElement) {\\n return Element.prototype.querySelector.call(element, selector)\\n },\\n\\n children(element, selector) {\\n return [].concat(...element.children).filter(child => child.matches(selector))\\n },\\n\\n parents(element, selector) {\\n const parents = []\\n let ancestor = element.parentNode.closest(selector)\\n\\n while (ancestor) {\\n parents.push(ancestor)\\n ancestor = ancestor.parentNode.closest(selector)\\n }\\n\\n return parents\\n },\\n\\n prev(element, selector) {\\n let previous = element.previousElementSibling\\n\\n while (previous) {\\n if (previous.matches(selector)) {\\n return [previous]\\n }\\n\\n previous = previous.previousElementSibling\\n }\\n\\n return []\\n },\\n\\n // TODO: this is now unused; remove later along with prev()\\n next(element, selector) {\\n let next = element.nextElementSibling\\n\\n while (next) {\\n if (next.matches(selector)) {\\n return [next]\\n }\\n\\n next = next.nextElementSibling\\n }\\n\\n return []\\n },\\n\\n focusableChildren(element) {\\n const focusables = [\\n 'a',\\n 'button',\\n 'input',\\n 'textarea',\\n 'select',\\n 'details',\\n '[tabindex]',\\n '[contenteditable=\\\"true\\\"]'\\n ].map(selector => `${selector}:not([tabindex^=\\\"-\\\"])`).join(',')\\n\\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\\n }\\n}\\n\\nexport default SelectorEngine\\n\"],\"names\":[\"SelectorEngine\",\"find\",\"selector\",\"element\",\"document\",\"documentElement\",\"concat\",\"Element\",\"prototype\",\"querySelectorAll\",\"call\",\"findOne\",\"querySelector\",\"children\",\"filter\",\"child\",\"matches\",\"parents\",\"ancestor\",\"parentNode\",\"closest\",\"push\",\"prev\",\"previous\",\"previousElementSibling\",\"next\",\"nextElementSibling\",\"focusableChildren\",\"focusables\",\"map\",\"join\",\"el\",\"isDisabled\",\"isVisible\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"0b2ce002801ab0b8664a4925c7f2432b35109981","filename":"js/dist/dropdown.js","status":"modified","additions":98,"deletions":314,"changes":412,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdropdown.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdropdown.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdropdown.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,24 +1,24 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap dropdown.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap dropdown.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) :\n- typeof define === 'function' && define.amd ? define(['@popperjs/core', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.Popper, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));\n-})(this, (function (Popper, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core'), require('./util/index'), require('./dom/event-handler'), require('./dom/manipulator'), require('./dom/selector-engine'), require('./base-component')) :\n+ typeof define === 'function' && define.amd ? define(['@popperjs/core', './util/index', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global[\"@popperjs/core\"], global.Index, global.EventHandler, global.Manipulator, global.SelectorEngine, global.BaseComponent));\n+})(this, (function (Popper, index, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n function _interopNamespace(e) {\n if (e && e.__esModule) return e;\n- const n = Object.create(null);\n+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });\n if (e) {\n for (const k in e) {\n if (k !== 'default') {\n@@ -42,212 +42,24 @@\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n-\n- const toType = obj => {\n- if (obj === null || obj === undefined) {\n- return `${obj}`;\n- }\n-\n- return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n- };\n-\n- const getSelector = element => {\n- let selector = element.getAttribute('data-bs-target');\n-\n- if (!selector || selector === '#') {\n- let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n- // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n- // `document.querySelector` will rightfully complain it is invalid.\n- // See https://github.com/twbs/bootstrap/issues/32273\n-\n- if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {\n- return null;\n- } // Just in case some CMS puts out a full URL with the anchor appended\n-\n-\n- if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n- hrefAttr = `#${hrefAttr.split('#')[1]}`;\n- }\n-\n- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\n- }\n-\n- return selector;\n- };\n-\n- const getElementFromSelector = element => {\n- const selector = getSelector(element);\n- return selector ? document.querySelector(selector) : null;\n- };\n-\n- const isElement = obj => {\n- if (!obj || typeof obj !== 'object') {\n- return false;\n- }\n-\n- if (typeof obj.jquery !== 'undefined') {\n- obj = obj[0];\n- }\n-\n- return typeof obj.nodeType !== 'undefined';\n- };\n-\n- const getElement = obj => {\n- if (isElement(obj)) {\n- // it's a jQuery object or a node element\n- return obj.jquery ? obj[0] : obj;\n- }\n-\n- if (typeof obj === 'string' && obj.length > 0) {\n- return document.querySelector(obj);\n- }\n-\n- return null;\n- };\n-\n- const typeCheckConfig = (componentName, config, configTypes) => {\n- Object.keys(configTypes).forEach(property => {\n- const expectedTypes = configTypes[property];\n- const value = config[property];\n- const valueType = value && isElement(value) ? 'element' : toType(value);\n-\n- if (!new RegExp(expectedTypes).test(valueType)) {\n- throw new TypeError(`${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n- }\n- });\n- };\n-\n- const isVisible = element => {\n- if (!isElement(element) || element.getClientRects().length === 0) {\n- return false;\n- }\n-\n- return getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n- };\n-\n- const isDisabled = element => {\n- if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n- return true;\n- }\n-\n- if (element.classList.contains('disabled')) {\n- return true;\n- }\n-\n- if (typeof element.disabled !== 'undefined') {\n- return element.disabled;\n- }\n-\n- return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n- };\n-\n- const noop = () => {};\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const isRTL = () => document.documentElement.dir === 'rtl';\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n- /**\n- * Return the previous/next element of a list.\n- *\n- * @param {array} list The list of elements\n- * @param activeElement The active element\n- * @param shouldGetNext Choose to get next or previous element\n- * @param isCycleAllowed\n- * @return {Element|elem} The proper element\n- */\n-\n-\n- const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n- let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n-\n- if (index === -1) {\n- return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];\n- }\n-\n- const listLength = list.length;\n- index += shouldGetNext ? 1 : -1;\n-\n- if (isCycleAllowed) {\n- index = (index + listLength) % listLength;\n- }\n-\n- return list[Math.max(0, Math.min(index, listLength - 1))];\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): dropdown.js\n+ * Bootstrap (v5.2.0-beta1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'dropdown';\n const DATA_KEY = 'bs.dropdown';\n const EVENT_KEY = `.${DATA_KEY}`;\n const DATA_API_KEY = '.data-api';\n const ESCAPE_KEY = 'Escape';\n- const SPACE_KEY = 'Space';\n const TAB_KEY = 'Tab';\n const ARROW_UP_KEY = 'ArrowUp';\n const ARROW_DOWN_KEY = 'ArrowDown';\n const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n \n- const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`);\n const EVENT_HIDE = `hide${EVENT_KEY}`;\n const EVENT_HIDDEN = `hidden${EVENT_KEY}`;\n const EVENT_SHOW = `show${EVENT_KEY}`;\n@@ -259,17 +71,22 @@\n const CLASS_NAME_DROPUP = 'dropup';\n const CLASS_NAME_DROPEND = 'dropend';\n const CLASS_NAME_DROPSTART = 'dropstart';\n- const CLASS_NAME_NAVBAR = 'navbar';\n- const SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]';\n+ const CLASS_NAME_DROPUP_CENTER = 'dropup-center';\n+ const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\n+ const SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\n+ const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`;\n const SELECTOR_MENU = '.dropdown-menu';\n+ const SELECTOR_NAVBAR = '.navbar';\n const SELECTOR_NAVBAR_NAV = '.navbar-nav';\n const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\n- const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\n- const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\n- const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\n- const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\n- const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\n- const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\n+ const PLACEMENT_TOP = index.isRTL() ? 'top-end' : 'top-start';\n+ const PLACEMENT_TOPEND = index.isRTL() ? 'top-start' : 'top-end';\n+ const PLACEMENT_BOTTOM = index.isRTL() ? 'bottom-end' : 'bottom-start';\n+ const PLACEMENT_BOTTOMEND = index.isRTL() ? 'bottom-start' : 'bottom-end';\n+ const PLACEMENT_RIGHT = index.isRTL() ? 'left-start' : 'right-start';\n+ const PLACEMENT_LEFT = index.isRTL() ? 'right-start' : 'left-start';\n+ const PLACEMENT_TOPCENTER = 'top';\n+ const PLACEMENT_BOTTOMCENTER = 'bottom';\n const Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n@@ -287,17 +104,16 @@\n autoClose: '(boolean|string)'\n };\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Dropdown extends BaseComponent__default.default {\n constructor(element, config) {\n- super(element);\n+ super(element, config);\n this._popper = null;\n- this._config = this._getConfig(config);\n- this._menu = this._getMenuElement();\n+ this._parent = this._element.parentNode; // dropdown wrapper\n+\n+ this._menu = SelectorEngine__default.default.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n } // Getters\n \n@@ -320,7 +136,7 @@\n }\n \n show() {\n- if (isDisabled(this._element) || this._isShown(this._menu)) {\n+ if (index.isDisabled(this._element) || this._isShown()) {\n return;\n }\n \n@@ -333,20 +149,16 @@\n return;\n }\n \n- const parent = Dropdown.getParentFromElement(this._element); // Totally disable Popper for Dropdowns in Navbar\n-\n- if (this._inNavbar) {\n- Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'none');\n- } else {\n- this._createPopper(parent);\n- } // If this is a touch-enabled device we add extra\n+ this._createPopper(); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n \n \n- if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {\n- [].concat(...document.body.children).forEach(elem => EventHandler__default.default.on(elem, 'mouseover', noop));\n+ if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n+ for (const element of [].concat(...document.body.children)) {\n+ EventHandler__default.default.on(element, 'mouseover', index.noop);\n+ }\n }\n \n this._element.focus();\n@@ -361,7 +173,7 @@\n }\n \n hide() {\n- if (isDisabled(this._element) || !this._isShown(this._menu)) {\n+ if (index.isDisabled(this._element) || !this._isShown()) {\n return;\n }\n \n@@ -399,7 +211,9 @@\n \n \n if ('ontouchstart' in document.documentElement) {\n- [].concat(...document.body.children).forEach(elem => EventHandler__default.default.off(elem, 'mouseover', noop));\n+ for (const element of [].concat(...document.body.children)) {\n+ EventHandler__default.default.off(element, 'mouseover', index.noop);\n+ }\n }\n \n if (this._popper) {\n@@ -417,62 +231,57 @@\n }\n \n _getConfig(config) {\n- config = { ...this.constructor.Default,\n- ...Manipulator__default.default.getDataAttributes(this._element),\n- ...config\n- };\n- typeCheckConfig(NAME, config, this.constructor.DefaultType);\n+ config = super._getConfig(config);\n \n- if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n+ if (typeof config.reference === 'object' && !index.isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n \n return config;\n }\n \n- _createPopper(parent) {\n+ _createPopper() {\n if (typeof Popper__namespace === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n \n let referenceElement = this._element;\n \n if (this._config.reference === 'parent') {\n- referenceElement = parent;\n- } else if (isElement(this._config.reference)) {\n- referenceElement = getElement(this._config.reference);\n+ referenceElement = this._parent;\n+ } else if (index.isElement(this._config.reference)) {\n+ referenceElement = index.getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n \n const popperConfig = this._getPopperConfig();\n \n- const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false);\n this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig);\n-\n- if (isDisplayStatic) {\n- Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'static');\n- }\n- }\n-\n- _isShown(element = this._element) {\n- return element.classList.contains(CLASS_NAME_SHOW);\n }\n \n- _getMenuElement() {\n- return SelectorEngine__default.default.next(this._element, SELECTOR_MENU)[0];\n+ _isShown() {\n+ return this._menu.classList.contains(CLASS_NAME_SHOW);\n }\n \n _getPlacement() {\n- const parentDropdown = this._element.parentNode;\n+ const parentDropdown = this._parent;\n \n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n \n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n+ }\n+\n+ if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n+ return PLACEMENT_TOPCENTER;\n+ }\n+\n+ if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n+ return PLACEMENT_BOTTOMCENTER;\n } // We need to trim the value because custom properties can also include spaces\n \n \n@@ -486,7 +295,7 @@\n }\n \n _detectNavbar() {\n- return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null;\n+ return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n \n _getOffset() {\n@@ -495,7 +304,7 @@\n } = this._config;\n \n if (typeof offset === 'string') {\n- return offset.split(',').map(val => Number.parseInt(val, 10));\n+ return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n \n if (typeof offset === 'function') {\n@@ -519,9 +328,11 @@\n offset: this._getOffset()\n }\n }]\n- }; // Disable Popper if we have a static display\n+ }; // Disable Popper if we have a static display or Dropdown is in Navbar\n+\n+ if (this._inNavbar || this._config.display === 'static') {\n+ Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove\n \n- if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n@@ -537,15 +348,15 @@\n key,\n target\n }) {\n- const items = SelectorEngine__default.default.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);\n+ const items = SelectorEngine__default.default.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => index.isVisible(element));\n \n if (!items.length) {\n return;\n } // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n \n \n- getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();\n+ index.getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();\n } // Static\n \n \n@@ -566,106 +377,82 @@\n }\n \n static clearMenus(event) {\n- if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY)) {\n+ if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {\n return;\n }\n \n- const toggles = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE);\n+ const openToggles = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE_SHOWN);\n \n- for (let i = 0, len = toggles.length; i < len; i++) {\n- const context = Dropdown.getInstance(toggles[i]);\n+ for (const toggle of openToggles) {\n+ const context = Dropdown.getInstance(toggle);\n \n if (!context || context._config.autoClose === false) {\n continue;\n }\n \n- if (!context._isShown()) {\n+ const composedPath = event.composedPath();\n+ const isMenuTarget = composedPath.includes(context._menu);\n+\n+ if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n+ continue;\n+ } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n+\n+\n+ if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n \n const relatedTarget = {\n relatedTarget: context._element\n };\n \n- if (event) {\n- const composedPath = event.composedPath();\n- const isMenuTarget = composedPath.includes(context._menu);\n-\n- if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n- continue;\n- } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n-\n-\n- if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n- continue;\n- }\n-\n- if (event.type === 'click') {\n- relatedTarget.clickEvent = event;\n- }\n+ if (event.type === 'click') {\n+ relatedTarget.clickEvent = event;\n }\n \n context._completeHide(relatedTarget);\n }\n }\n \n- static getParentFromElement(element) {\n- return getElementFromSelector(element) || element.parentNode;\n- }\n-\n static dataApiKeydownHandler(event) {\n- // If not input/textarea:\n- // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n- // If input/textarea:\n- // - If space key => not a dropdown command\n- // - If key is other than escape\n- // - If key is not up or down => not a dropdown command\n- // - If trigger inside the menu => not a dropdown command\n- if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY && (event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) {\n- return;\n- }\n+ // If not an UP | DOWN | ESCAPE key => not a dropdown command\n+ // If input/textarea && if key is other than ESCAPE => not a dropdown command\n+ const isInput = /input|textarea/i.test(event.target.tagName);\n+ const isEscapeEvent = event.key === ESCAPE_KEY;\n+ const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key);\n \n- const isActive = this.classList.contains(CLASS_NAME_SHOW);\n-\n- if (!isActive && event.key === ESCAPE_KEY) {\n+ if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n \n- event.preventDefault();\n- event.stopPropagation();\n-\n- if (isDisabled(this)) {\n+ if (isInput && !isEscapeEvent) {\n return;\n }\n \n- const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default.default.prev(this, SELECTOR_DATA_TOGGLE)[0];\n+ event.preventDefault();\n+ const getToggleButton = SelectorEngine__default.default.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n \n- if (event.key === ESCAPE_KEY) {\n- instance.hide();\n- return;\n- }\n-\n- if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n- if (!isActive) {\n- instance.show();\n- }\n+ if (isUpOrDownEvent) {\n+ event.stopPropagation();\n+ instance.show();\n \n instance._selectMenuItem(event);\n \n return;\n }\n \n- if (!isActive || event.key === SPACE_KEY) {\n- Dropdown.clearMenus();\n+ if (instance._isShown()) {\n+ // else is escape and we check if it is shown\n+ event.stopPropagation();\n+ instance.hide();\n+ getToggleButton.focus();\n }\n }\n \n }\n /**\n- * ------------------------------------------------------------------------\n- * Data Api implementation\n- * ------------------------------------------------------------------------\n+ * Data API implementation\n */\n \n \n@@ -678,13 +465,10 @@\n Dropdown.getOrCreateInstance(this).toggle();\n });\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n- * add .Dropdown to jQuery only if jQuery is present\n */\n \n- defineJQueryPlugin(Dropdown);\n+ index.defineJQueryPlugin(Dropdown);\n \n return Dropdown;\n "},{"sha":"ba8955b26ea1ba8f0d82df1bee02419ed151e555","filename":"js/dist/dropdown.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdropdown.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fdropdown.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fdropdown.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"dropdown.js\",\"sources\":[\"../src/util/index.js\",\"../src/dropdown.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): dropdown.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport * as Popper from '@popperjs/core'\\n\\nimport {\\n defineJQueryPlugin,\\n getElement,\\n getElementFromSelector,\\n getNextActiveElement,\\n isDisabled,\\n isElement,\\n isRTL,\\n isVisible,\\n noop,\\n typeCheckConfig\\n} from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport Manipulator from './dom/manipulator'\\nimport SelectorEngine from './dom/selector-engine'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'dropdown'\\nconst DATA_KEY = 'bs.dropdown'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst ESCAPE_KEY = 'Escape'\\nconst SPACE_KEY = 'Space'\\nconst TAB_KEY = 'Tab'\\nconst ARROW_UP_KEY = 'ArrowUp'\\nconst ARROW_DOWN_KEY = 'ArrowDown'\\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\\n\\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\\n\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_DROPUP = 'dropup'\\nconst CLASS_NAME_DROPEND = 'dropend'\\nconst CLASS_NAME_DROPSTART = 'dropstart'\\nconst CLASS_NAME_NAVBAR = 'navbar'\\n\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"dropdown\\\"]'\\nconst SELECTOR_MENU = '.dropdown-menu'\\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\\n\\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\\n\\nconst Default = {\\n offset: [0, 2],\\n boundary: 'clippingParents',\\n reference: 'toggle',\\n display: 'dynamic',\\n popperConfig: null,\\n autoClose: true\\n}\\n\\nconst DefaultType = {\\n offset: '(array|string|function)',\\n boundary: '(string|element)',\\n reference: '(string|element|object)',\\n display: 'string',\\n popperConfig: '(null|object|function)',\\n autoClose: '(boolean|string)'\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\n\\nclass Dropdown extends BaseComponent {\\n constructor(element, config) {\\n super(element)\\n\\n this._popper = null\\n this._config = this._getConfig(config)\\n this._menu = this._getMenuElement()\\n this._inNavbar = this._detectNavbar()\\n }\\n\\n // Getters\\n\\n static get Default() {\\n return Default\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n\\n toggle() {\\n return this._isShown() ? this.hide() : this.show()\\n }\\n\\n show() {\\n if (isDisabled(this._element) || this._isShown(this._menu)) {\\n return\\n }\\n\\n const relatedTarget = {\\n relatedTarget: this._element\\n }\\n\\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\\n\\n if (showEvent.defaultPrevented) {\\n return\\n }\\n\\n const parent = Dropdown.getParentFromElement(this._element)\\n // Totally disable Popper for Dropdowns in Navbar\\n if (this._inNavbar) {\\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\\n } else {\\n this._createPopper(parent)\\n }\\n\\n // If this is a touch-enabled device we add extra\\n // empty mouseover listeners to the body's immediate children;\\n // only needed because of broken event delegation on iOS\\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\\n if ('ontouchstart' in document.documentElement &&\\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\\n [].concat(...document.body.children)\\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\\n }\\n\\n this._element.focus()\\n this._element.setAttribute('aria-expanded', true)\\n\\n this._menu.classList.add(CLASS_NAME_SHOW)\\n this._element.classList.add(CLASS_NAME_SHOW)\\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\\n }\\n\\n hide() {\\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\\n return\\n }\\n\\n const relatedTarget = {\\n relatedTarget: this._element\\n }\\n\\n this._completeHide(relatedTarget)\\n }\\n\\n dispose() {\\n if (this._popper) {\\n this._popper.destroy()\\n }\\n\\n super.dispose()\\n }\\n\\n update() {\\n this._inNavbar = this._detectNavbar()\\n if (this._popper) {\\n this._popper.update()\\n }\\n }\\n\\n // Private\\n\\n _completeHide(relatedTarget) {\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n // If this is a touch-enabled device we remove the extra\\n // empty mouseover listeners we added for iOS support\\n if ('ontouchstart' in document.documentElement) {\\n [].concat(...document.body.children)\\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\\n }\\n\\n if (this._popper) {\\n this._popper.destroy()\\n }\\n\\n this._menu.classList.remove(CLASS_NAME_SHOW)\\n this._element.classList.remove(CLASS_NAME_SHOW)\\n this._element.setAttribute('aria-expanded', 'false')\\n Manipulator.removeDataAttribute(this._menu, 'popper')\\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\\n }\\n\\n _getConfig(config) {\\n config = {\\n ...this.constructor.Default,\\n ...Manipulator.getDataAttributes(this._element),\\n ...config\\n }\\n\\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\\n\\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\\n typeof config.reference.getBoundingClientRect !== 'function'\\n ) {\\n // Popper virtual elements require a getBoundingClientRect method\\n throw new TypeError(`${NAME.toUpperCase()}: Option \\\"reference\\\" provided type \\\"object\\\" without a required \\\"getBoundingClientRect\\\" method.`)\\n }\\n\\n return config\\n }\\n\\n _createPopper(parent) {\\n if (typeof Popper === 'undefined') {\\n throw new TypeError('Bootstrap\\\\'s dropdowns require Popper (https://popper.js.org)')\\n }\\n\\n let referenceElement = this._element\\n\\n if (this._config.reference === 'parent') {\\n referenceElement = parent\\n } else if (isElement(this._config.reference)) {\\n referenceElement = getElement(this._config.reference)\\n } else if (typeof this._config.reference === 'object') {\\n referenceElement = this._config.reference\\n }\\n\\n const popperConfig = this._getPopperConfig()\\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\\n\\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\\n\\n if (isDisplayStatic) {\\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\\n }\\n }\\n\\n _isShown(element = this._element) {\\n return element.classList.contains(CLASS_NAME_SHOW)\\n }\\n\\n _getMenuElement() {\\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\\n }\\n\\n _getPlacement() {\\n const parentDropdown = this._element.parentNode\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\\n return PLACEMENT_RIGHT\\n }\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\\n return PLACEMENT_LEFT\\n }\\n\\n // We need to trim the value because custom properties can also include spaces\\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\\n }\\n\\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\\n }\\n\\n _detectNavbar() {\\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\\n }\\n\\n _getOffset() {\\n const { offset } = this._config\\n\\n if (typeof offset === 'string') {\\n return offset.split(',').map(val => Number.parseInt(val, 10))\\n }\\n\\n if (typeof offset === 'function') {\\n return popperData => offset(popperData, this._element)\\n }\\n\\n return offset\\n }\\n\\n _getPopperConfig() {\\n const defaultBsPopperConfig = {\\n placement: this._getPlacement(),\\n modifiers: [{\\n name: 'preventOverflow',\\n options: {\\n boundary: this._config.boundary\\n }\\n },\\n {\\n name: 'offset',\\n options: {\\n offset: this._getOffset()\\n }\\n }]\\n }\\n\\n // Disable Popper if we have a static display\\n if (this._config.display === 'static') {\\n defaultBsPopperConfig.modifiers = [{\\n name: 'applyStyles',\\n enabled: false\\n }]\\n }\\n\\n return {\\n ...defaultBsPopperConfig,\\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\\n }\\n }\\n\\n _selectMenuItem({ key, target }) {\\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\\n\\n if (!items.length) {\\n return\\n }\\n\\n // if target isn't included in items (e.g. when expanding the dropdown)\\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\\n }\\n\\n // Static\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Dropdown.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n })\\n }\\n\\n static clearMenus(event) {\\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\\n return\\n }\\n\\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\\n\\n for (let i = 0, len = toggles.length; i < len; i++) {\\n const context = Dropdown.getInstance(toggles[i])\\n if (!context || context._config.autoClose === false) {\\n continue\\n }\\n\\n if (!context._isShown()) {\\n continue\\n }\\n\\n const relatedTarget = {\\n relatedTarget: context._element\\n }\\n\\n if (event) {\\n const composedPath = event.composedPath()\\n const isMenuTarget = composedPath.includes(context._menu)\\n if (\\n composedPath.includes(context._element) ||\\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\\n (context._config.autoClose === 'outside' && isMenuTarget)\\n ) {\\n continue\\n }\\n\\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\\n continue\\n }\\n\\n if (event.type === 'click') {\\n relatedTarget.clickEvent = event\\n }\\n }\\n\\n context._completeHide(relatedTarget)\\n }\\n }\\n\\n static getParentFromElement(element) {\\n return getElementFromSelector(element) || element.parentNode\\n }\\n\\n static dataApiKeydownHandler(event) {\\n // If not input/textarea:\\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\\n // If input/textarea:\\n // - If space key => not a dropdown command\\n // - If key is other than escape\\n // - If key is not up or down => not a dropdown command\\n // - If trigger inside the menu => not a dropdown command\\n if (/input|textarea/i.test(event.target.tagName) ?\\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\\n event.target.closest(SELECTOR_MENU))) :\\n !REGEXP_KEYDOWN.test(event.key)) {\\n return\\n }\\n\\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\\n\\n if (!isActive && event.key === ESCAPE_KEY) {\\n return\\n }\\n\\n event.preventDefault()\\n event.stopPropagation()\\n\\n if (isDisabled(this)) {\\n return\\n }\\n\\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\\n\\n if (event.key === ESCAPE_KEY) {\\n instance.hide()\\n return\\n }\\n\\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\\n if (!isActive) {\\n instance.show()\\n }\\n\\n instance._selectMenuItem(event)\\n return\\n }\\n\\n if (!isActive || event.key === SPACE_KEY) {\\n Dropdown.clearMenus()\\n }\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Data Api implementation\\n * ------------------------------------------------------------------------\\n */\\n\\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n event.preventDefault()\\n Dropdown.getOrCreateInstance(this).toggle()\\n})\\n\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n * add .Dropdown to jQuery only if jQuery is present\\n */\\n\\ndefineJQueryPlugin(Dropdown)\\n\\nexport default Dropdown\\n\"],\"names\":[\"toType\",\"obj\",\"undefined\",\"toString\",\"call\",\"match\",\"toLowerCase\",\"getSelector\",\"element\",\"selector\",\"getAttribute\",\"hrefAttr\",\"includes\",\"startsWith\",\"split\",\"trim\",\"getElementFromSelector\",\"document\",\"querySelector\",\"isElement\",\"jquery\",\"nodeType\",\"getElement\",\"length\",\"typeCheckConfig\",\"componentName\",\"config\",\"configTypes\",\"Object\",\"keys\",\"forEach\",\"property\",\"expectedTypes\",\"value\",\"valueType\",\"RegExp\",\"test\",\"TypeError\",\"toUpperCase\",\"isVisible\",\"getClientRects\",\"getComputedStyle\",\"getPropertyValue\",\"isDisabled\",\"Node\",\"ELEMENT_NODE\",\"classList\",\"contains\",\"disabled\",\"hasAttribute\",\"noop\",\"getjQuery\",\"jQuery\",\"window\",\"body\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"addEventListener\",\"push\",\"isRTL\",\"documentElement\",\"dir\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"getNextActiveElement\",\"list\",\"activeElement\",\"shouldGetNext\",\"isCycleAllowed\",\"index\",\"indexOf\",\"listLength\",\"Math\",\"max\",\"min\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"ESCAPE_KEY\",\"SPACE_KEY\",\"TAB_KEY\",\"ARROW_UP_KEY\",\"ARROW_DOWN_KEY\",\"RIGHT_MOUSE_BUTTON\",\"REGEXP_KEYDOWN\",\"EVENT_HIDE\",\"EVENT_HIDDEN\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_CLICK_DATA_API\",\"EVENT_KEYDOWN_DATA_API\",\"EVENT_KEYUP_DATA_API\",\"CLASS_NAME_SHOW\",\"CLASS_NAME_DROPUP\",\"CLASS_NAME_DROPEND\",\"CLASS_NAME_DROPSTART\",\"CLASS_NAME_NAVBAR\",\"SELECTOR_DATA_TOGGLE\",\"SELECTOR_MENU\",\"SELECTOR_NAVBAR_NAV\",\"SELECTOR_VISIBLE_ITEMS\",\"PLACEMENT_TOP\",\"PLACEMENT_TOPEND\",\"PLACEMENT_BOTTOM\",\"PLACEMENT_BOTTOMEND\",\"PLACEMENT_RIGHT\",\"PLACEMENT_LEFT\",\"Default\",\"offset\",\"boundary\",\"reference\",\"display\",\"popperConfig\",\"autoClose\",\"DefaultType\",\"Dropdown\",\"BaseComponent\",\"constructor\",\"_popper\",\"_config\",\"_getConfig\",\"_menu\",\"_getMenuElement\",\"_inNavbar\",\"_detectNavbar\",\"toggle\",\"_isShown\",\"hide\",\"show\",\"_element\",\"relatedTarget\",\"showEvent\",\"EventHandler\",\"trigger\",\"defaultPrevented\",\"parent\",\"getParentFromElement\",\"Manipulator\",\"setDataAttribute\",\"_createPopper\",\"closest\",\"concat\",\"children\",\"elem\",\"on\",\"focus\",\"setAttribute\",\"add\",\"_completeHide\",\"dispose\",\"destroy\",\"update\",\"hideEvent\",\"off\",\"remove\",\"removeDataAttribute\",\"getDataAttributes\",\"getBoundingClientRect\",\"Popper\",\"referenceElement\",\"_getPopperConfig\",\"isDisplayStatic\",\"modifiers\",\"find\",\"modifier\",\"enabled\",\"createPopper\",\"SelectorEngine\",\"next\",\"_getPlacement\",\"parentDropdown\",\"parentNode\",\"isEnd\",\"_getOffset\",\"map\",\"val\",\"Number\",\"parseInt\",\"popperData\",\"defaultBsPopperConfig\",\"placement\",\"options\",\"_selectMenuItem\",\"key\",\"target\",\"items\",\"filter\",\"each\",\"data\",\"getOrCreateInstance\",\"clearMenus\",\"event\",\"button\",\"type\",\"toggles\",\"i\",\"len\",\"context\",\"getInstance\",\"composedPath\",\"isMenuTarget\",\"tagName\",\"clickEvent\",\"dataApiKeydownHandler\",\"isActive\",\"preventDefault\",\"stopPropagation\",\"getToggleButton\",\"matches\",\"prev\",\"instance\"],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAOA,MAAMA,MAAM,GAAGC,GAAG,IAAI;EACpB,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKC,SAA5B,EAAuC;EACrC,WAAQ,GAAED,GAAI,EAAd;EACD;;EAED,SAAO,GAAGE,QAAH,CAAYC,IAAZ,CAAiBH,GAAjB,EAAsBI,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;EACD,CAND;;EAsBA,MAAMC,WAAW,GAAGC,OAAO,IAAI;EAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,gBAArB,CAAf;;EAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,QAAIE,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAf,CADiC;EAIjC;EACA;EACA;;EACA,QAAI,CAACC,QAAD,IAAc,CAACA,QAAQ,CAACC,QAAT,CAAkB,GAAlB,CAAD,IAA2B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA9C,EAAyE;EACvE,aAAO,IAAP;EACD,KATgC;;;EAYjC,QAAIF,QAAQ,CAACC,QAAT,CAAkB,GAAlB,KAA0B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA/B,EAAyD;EACvDF,MAAAA,QAAQ,GAAI,IAAGA,QAAQ,CAACG,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAuB,EAAtC;EACD;;EAEDL,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACI,IAAT,EAA/B,GAAiD,IAA5D;EACD;;EAED,SAAON,QAAP;EACD,CAvBD;;EAmCA,MAAMO,sBAAsB,GAAGR,OAAO,IAAI;EACxC,QAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;EAEA,SAAOC,QAAQ,GAAGQ,QAAQ,CAACC,aAAT,CAAuBT,QAAvB,CAAH,GAAsC,IAArD;EACD,CAJD;;EAiCA,MAAMU,SAAS,GAAGlB,GAAG,IAAI;EACvB,MAAI,CAACA,GAAD,IAAQ,OAAOA,GAAP,KAAe,QAA3B,EAAqC;EACnC,WAAO,KAAP;EACD;;EAED,MAAI,OAAOA,GAAG,CAACmB,MAAX,KAAsB,WAA1B,EAAuC;EACrCnB,IAAAA,GAAG,GAAGA,GAAG,CAAC,CAAD,CAAT;EACD;;EAED,SAAO,OAAOA,GAAG,CAACoB,QAAX,KAAwB,WAA/B;EACD,CAVD;;EAYA,MAAMC,UAAU,GAAGrB,GAAG,IAAI;EACxB,MAAIkB,SAAS,CAAClB,GAAD,CAAb,EAAoB;EAAE;EACpB,WAAOA,GAAG,CAACmB,MAAJ,GAAanB,GAAG,CAAC,CAAD,CAAhB,GAAsBA,GAA7B;EACD;;EAED,MAAI,OAAOA,GAAP,KAAe,QAAf,IAA2BA,GAAG,CAACsB,MAAJ,GAAa,CAA5C,EAA+C;EAC7C,WAAON,QAAQ,CAACC,aAAT,CAAuBjB,GAAvB,CAAP;EACD;;EAED,SAAO,IAAP;EACD,CAVD;;EAYA,MAAMuB,eAAe,GAAG,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,KAAwC;EAC9DC,EAAAA,MAAM,CAACC,IAAP,CAAYF,WAAZ,EAAyBG,OAAzB,CAAiCC,QAAQ,IAAI;EAC3C,UAAMC,aAAa,GAAGL,WAAW,CAACI,QAAD,CAAjC;EACA,UAAME,KAAK,GAAGP,MAAM,CAACK,QAAD,CAApB;EACA,UAAMG,SAAS,GAAGD,KAAK,IAAId,SAAS,CAACc,KAAD,CAAlB,GAA4B,SAA5B,GAAwCjC,MAAM,CAACiC,KAAD,CAAhE;;EAEA,QAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;EAC9C,YAAM,IAAIG,SAAJ,CACH,GAAEZ,aAAa,CAACa,WAAd,EAA4B,aAAYP,QAAS,oBAAmBG,SAAU,wBAAuBF,aAAc,IADlH,CAAN;EAGD;EACF,GAVD;EAWD,CAZD;;EAcA,MAAMO,SAAS,GAAG/B,OAAO,IAAI;EAC3B,MAAI,CAACW,SAAS,CAACX,OAAD,CAAV,IAAuBA,OAAO,CAACgC,cAAR,GAAyBjB,MAAzB,KAAoC,CAA/D,EAAkE;EAChE,WAAO,KAAP;EACD;;EAED,SAAOkB,gBAAgB,CAACjC,OAAD,CAAhB,CAA0BkC,gBAA1B,CAA2C,YAA3C,MAA6D,SAApE;EACD,CAND;;EAQA,MAAMC,UAAU,GAAGnC,OAAO,IAAI;EAC5B,MAAI,CAACA,OAAD,IAAYA,OAAO,CAACa,QAAR,KAAqBuB,IAAI,CAACC,YAA1C,EAAwD;EACtD,WAAO,IAAP;EACD;;EAED,MAAIrC,OAAO,CAACsC,SAAR,CAAkBC,QAAlB,CAA2B,UAA3B,CAAJ,EAA4C;EAC1C,WAAO,IAAP;EACD;;EAED,MAAI,OAAOvC,OAAO,CAACwC,QAAf,KAA4B,WAAhC,EAA6C;EAC3C,WAAOxC,OAAO,CAACwC,QAAf;EACD;;EAED,SAAOxC,OAAO,CAACyC,YAAR,CAAqB,UAArB,KAAoCzC,OAAO,CAACE,YAAR,CAAqB,UAArB,MAAqC,OAAhF;EACD,CAdD;;EAuCA,MAAMwC,IAAI,GAAG,MAAM,EAAnB;;EAeA,MAAMC,SAAS,GAAG,MAAM;EACtB,QAAM;EAAEC,IAAAA;EAAF,MAAaC,MAAnB;;EAEA,MAAID,MAAM,IAAI,CAACnC,QAAQ,CAACqC,IAAT,CAAcL,YAAd,CAA2B,mBAA3B,CAAf,EAAgE;EAC9D,WAAOG,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EAUA,MAAMG,yBAAyB,GAAG,EAAlC;;EAEA,MAAMC,kBAAkB,GAAGC,QAAQ,IAAI;EACrC,MAAIxC,QAAQ,CAACyC,UAAT,KAAwB,SAA5B,EAAuC;EACrC;EACA,QAAI,CAACH,yBAAyB,CAAChC,MAA/B,EAAuC;EACrCN,MAAAA,QAAQ,CAAC0C,gBAAT,CAA0B,kBAA1B,EAA8C,MAAM;EAClDJ,QAAAA,yBAAyB,CAACzB,OAA1B,CAAkC2B,QAAQ,IAAIA,QAAQ,EAAtD;EACD,OAFD;EAGD;;EAEDF,IAAAA,yBAAyB,CAACK,IAA1B,CAA+BH,QAA/B;EACD,GATD,MASO;EACLA,IAAAA,QAAQ;EACT;EACF,CAbD;;EAeA,MAAMI,KAAK,GAAG,MAAM5C,QAAQ,CAAC6C,eAAT,CAAyBC,GAAzB,KAAiC,KAArD;;EAEA,MAAMC,kBAAkB,GAAGC,MAAM,IAAI;EACnCT,EAAAA,kBAAkB,CAAC,MAAM;EACvB,UAAMU,CAAC,GAAGf,SAAS,EAAnB;EACA;;EACA,QAAIe,CAAJ,EAAO;EACL,YAAMC,IAAI,GAAGF,MAAM,CAACG,IAApB;EACA,YAAMC,kBAAkB,GAAGH,CAAC,CAACI,EAAF,CAAKH,IAAL,CAA3B;EACAD,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,IAAaF,MAAM,CAACM,eAApB;EACAL,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,EAAWK,WAAX,GAAyBP,MAAzB;;EACAC,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,EAAWM,UAAX,GAAwB,MAAM;EAC5BP,QAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,IAAaE,kBAAb;EACA,eAAOJ,MAAM,CAACM,eAAd;EACD,OAHD;EAID;EACF,GAbiB,CAAlB;EAcD,CAfD;EAoDA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EACA,MAAMG,oBAAoB,GAAG,CAACC,IAAD,EAAOC,aAAP,EAAsBC,aAAtB,EAAqCC,cAArC,KAAwD;EACnF,MAAIC,KAAK,GAAGJ,IAAI,CAACK,OAAL,CAAaJ,aAAb,CAAZ,CADmF;;EAInF,MAAIG,KAAK,KAAK,CAAC,CAAf,EAAkB;EAChB,WAAOJ,IAAI,CAAC,CAACE,aAAD,IAAkBC,cAAlB,GAAmCH,IAAI,CAACpD,MAAL,GAAc,CAAjD,GAAqD,CAAtD,CAAX;EACD;;EAED,QAAM0D,UAAU,GAAGN,IAAI,CAACpD,MAAxB;EAEAwD,EAAAA,KAAK,IAAIF,aAAa,GAAG,CAAH,GAAO,CAAC,CAA9B;;EAEA,MAAIC,cAAJ,EAAoB;EAClBC,IAAAA,KAAK,GAAG,CAACA,KAAK,GAAGE,UAAT,IAAuBA,UAA/B;EACD;;EAED,SAAON,IAAI,CAACO,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACE,GAAL,CAASL,KAAT,EAAgBE,UAAU,GAAG,CAA7B,CAAZ,CAAD,CAAX;EACD,CAjBD;;ECpSA;EACA;EACA;EACA;EACA;EACA;EAqBA;EACA;EACA;EACA;EACA;;EAEA,MAAMb,IAAI,GAAG,UAAb;EACA,MAAMiB,QAAQ,GAAG,aAAjB;EACA,MAAMC,SAAS,GAAI,IAAGD,QAAS,EAA/B;EACA,MAAME,YAAY,GAAG,WAArB;EAEA,MAAMC,UAAU,GAAG,QAAnB;EACA,MAAMC,SAAS,GAAG,OAAlB;EACA,MAAMC,OAAO,GAAG,KAAhB;EACA,MAAMC,YAAY,GAAG,SAArB;EACA,MAAMC,cAAc,GAAG,WAAvB;EACA,MAAMC,kBAAkB,GAAG,CAA3B;;EAEA,MAAMC,cAAc,GAAG,IAAI3D,MAAJ,CAAY,GAAEwD,YAAa,IAAGC,cAAe,IAAGJ,UAAW,EAA3D,CAAvB;EAEA,MAAMO,UAAU,GAAI,OAAMT,SAAU,EAApC;EACA,MAAMU,YAAY,GAAI,SAAQV,SAAU,EAAxC;EACA,MAAMW,UAAU,GAAI,OAAMX,SAAU,EAApC;EACA,MAAMY,WAAW,GAAI,QAAOZ,SAAU,EAAtC;EACA,MAAMa,oBAAoB,GAAI,QAAOb,SAAU,GAAEC,YAAa,EAA9D;EACA,MAAMa,sBAAsB,GAAI,UAASd,SAAU,GAAEC,YAAa,EAAlE;EACA,MAAMc,oBAAoB,GAAI,QAAOf,SAAU,GAAEC,YAAa,EAA9D;EAEA,MAAMe,eAAe,GAAG,MAAxB;EACA,MAAMC,iBAAiB,GAAG,QAA1B;EACA,MAAMC,kBAAkB,GAAG,SAA3B;EACA,MAAMC,oBAAoB,GAAG,WAA7B;EACA,MAAMC,iBAAiB,GAAG,QAA1B;EAEA,MAAMC,oBAAoB,GAAG,6BAA7B;EACA,MAAMC,aAAa,GAAG,gBAAtB;EACA,MAAMC,mBAAmB,GAAG,aAA5B;EACA,MAAMC,sBAAsB,GAAG,6DAA/B;EAEA,MAAMC,aAAa,GAAGlD,KAAK,KAAK,SAAL,GAAiB,WAA5C;EACA,MAAMmD,gBAAgB,GAAGnD,KAAK,KAAK,WAAL,GAAmB,SAAjD;EACA,MAAMoD,gBAAgB,GAAGpD,KAAK,KAAK,YAAL,GAAoB,cAAlD;EACA,MAAMqD,mBAAmB,GAAGrD,KAAK,KAAK,cAAL,GAAsB,YAAvD;EACA,MAAMsD,eAAe,GAAGtD,KAAK,KAAK,YAAL,GAAoB,aAAjD;EACA,MAAMuD,cAAc,GAAGvD,KAAK,KAAK,aAAL,GAAqB,YAAjD;EAEA,MAAMwD,OAAO,GAAG;EACdC,EAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CADM;EAEdC,EAAAA,QAAQ,EAAE,iBAFI;EAGdC,EAAAA,SAAS,EAAE,QAHG;EAIdC,EAAAA,OAAO,EAAE,SAJK;EAKdC,EAAAA,YAAY,EAAE,IALA;EAMdC,EAAAA,SAAS,EAAE;EANG,CAAhB;EASA,MAAMC,WAAW,GAAG;EAClBN,EAAAA,MAAM,EAAE,yBADU;EAElBC,EAAAA,QAAQ,EAAE,kBAFQ;EAGlBC,EAAAA,SAAS,EAAE,yBAHO;EAIlBC,EAAAA,OAAO,EAAE,QAJS;EAKlBC,EAAAA,YAAY,EAAE,wBALI;EAMlBC,EAAAA,SAAS,EAAE;EANO,CAApB;EASA;EACA;EACA;EACA;EACA;;EAEA,MAAME,QAAN,SAAuBC,8BAAvB,CAAqC;EACnCC,EAAAA,WAAW,CAACvH,OAAD,EAAUkB,MAAV,EAAkB;EAC3B,UAAMlB,OAAN;EAEA,SAAKwH,OAAL,GAAe,IAAf;EACA,SAAKC,OAAL,GAAe,KAAKC,UAAL,CAAgBxG,MAAhB,CAAf;EACA,SAAKyG,KAAL,GAAa,KAAKC,eAAL,EAAb;EACA,SAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;EACD,GARkC;;;EAYjB,aAAPjB,OAAO,GAAG;EACnB,WAAOA,OAAP;EACD;;EAEqB,aAAXO,WAAW,GAAG;EACvB,WAAOA,WAAP;EACD;;EAEc,aAAJxD,IAAI,GAAG;EAChB,WAAOA,IAAP;EACD,GAtBkC;;;EA0BnCmE,EAAAA,MAAM,GAAG;EACP,WAAO,KAAKC,QAAL,KAAkB,KAAKC,IAAL,EAAlB,GAAgC,KAAKC,IAAL,EAAvC;EACD;;EAEDA,EAAAA,IAAI,GAAG;EACL,QAAI/F,UAAU,CAAC,KAAKgG,QAAN,CAAV,IAA6B,KAAKH,QAAL,CAAc,KAAKL,KAAnB,CAAjC,EAA4D;EAC1D;EACD;;EAED,UAAMS,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKD;EADA,KAAtB;EAIA,UAAME,SAAS,GAAGC,6BAAY,CAACC,OAAb,CAAqB,KAAKJ,QAA1B,EAAoC1C,UAApC,EAAgD2C,aAAhD,CAAlB;;EAEA,QAAIC,SAAS,CAACG,gBAAd,EAAgC;EAC9B;EACD;;EAED,UAAMC,MAAM,GAAGpB,QAAQ,CAACqB,oBAAT,CAA8B,KAAKP,QAAnC,CAAf,CAfK;;EAiBL,QAAI,KAAKN,SAAT,EAAoB;EAClBc,MAAAA,4BAAW,CAACC,gBAAZ,CAA6B,KAAKjB,KAAlC,EAAyC,QAAzC,EAAmD,MAAnD;EACD,KAFD,MAEO;EACL,WAAKkB,aAAL,CAAmBJ,MAAnB;EACD,KArBI;EAwBL;EACA;EACA;;;EACA,QAAI,kBAAkBhI,QAAQ,CAAC6C,eAA3B,IACF,CAACmF,MAAM,CAACK,OAAP,CAAezC,mBAAf,CADH,EACwC;EACtC,SAAG0C,MAAH,CAAU,GAAGtI,QAAQ,CAACqC,IAAT,CAAckG,QAA3B,EACG1H,OADH,CACW2H,IAAI,IAAIX,6BAAY,CAACY,EAAb,CAAgBD,IAAhB,EAAsB,WAAtB,EAAmCvG,IAAnC,CADnB;EAED;;EAED,SAAKyF,QAAL,CAAcgB,KAAd;;EACA,SAAKhB,QAAL,CAAciB,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;EAEA,SAAKzB,KAAL,CAAWrF,SAAX,CAAqB+G,GAArB,CAAyBvD,eAAzB;;EACA,SAAKqC,QAAL,CAAc7F,SAAd,CAAwB+G,GAAxB,CAA4BvD,eAA5B;;EACAwC,IAAAA,6BAAY,CAACC,OAAb,CAAqB,KAAKJ,QAA1B,EAAoCzC,WAApC,EAAiD0C,aAAjD;EACD;;EAEDH,EAAAA,IAAI,GAAG;EACL,QAAI9F,UAAU,CAAC,KAAKgG,QAAN,CAAV,IAA6B,CAAC,KAAKH,QAAL,CAAc,KAAKL,KAAnB,CAAlC,EAA6D;EAC3D;EACD;;EAED,UAAMS,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKD;EADA,KAAtB;;EAIA,SAAKmB,aAAL,CAAmBlB,aAAnB;EACD;;EAEDmB,EAAAA,OAAO,GAAG;EACR,QAAI,KAAK/B,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAagC,OAAb;EACD;;EAED,UAAMD,OAAN;EACD;;EAEDE,EAAAA,MAAM,GAAG;EACP,SAAK5B,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EACA,QAAI,KAAKN,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAaiC,MAAb;EACD;EACF,GAhGkC;;;EAoGnCH,EAAAA,aAAa,CAAClB,aAAD,EAAgB;EAC3B,UAAMsB,SAAS,GAAGpB,6BAAY,CAACC,OAAb,CAAqB,KAAKJ,QAA1B,EAAoC5C,UAApC,EAAgD6C,aAAhD,CAAlB;;EACA,QAAIsB,SAAS,CAAClB,gBAAd,EAAgC;EAC9B;EACD,KAJ0B;EAO3B;;;EACA,QAAI,kBAAkB/H,QAAQ,CAAC6C,eAA/B,EAAgD;EAC9C,SAAGyF,MAAH,CAAU,GAAGtI,QAAQ,CAACqC,IAAT,CAAckG,QAA3B,EACG1H,OADH,CACW2H,IAAI,IAAIX,6BAAY,CAACqB,GAAb,CAAiBV,IAAjB,EAAuB,WAAvB,EAAoCvG,IAApC,CADnB;EAED;;EAED,QAAI,KAAK8E,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAagC,OAAb;EACD;;EAED,SAAK7B,KAAL,CAAWrF,SAAX,CAAqBsH,MAArB,CAA4B9D,eAA5B;;EACA,SAAKqC,QAAL,CAAc7F,SAAd,CAAwBsH,MAAxB,CAA+B9D,eAA/B;;EACA,SAAKqC,QAAL,CAAciB,YAAd,CAA2B,eAA3B,EAA4C,OAA5C;;EACAT,IAAAA,4BAAW,CAACkB,mBAAZ,CAAgC,KAAKlC,KAArC,EAA4C,QAA5C;EACAW,IAAAA,6BAAY,CAACC,OAAb,CAAqB,KAAKJ,QAA1B,EAAoC3C,YAApC,EAAkD4C,aAAlD;EACD;;EAEDV,EAAAA,UAAU,CAACxG,MAAD,EAAS;EACjBA,IAAAA,MAAM,GAAG,EACP,GAAG,KAAKqG,WAAL,CAAiBV,OADb;EAEP,SAAG8B,4BAAW,CAACmB,iBAAZ,CAA8B,KAAK3B,QAAnC,CAFI;EAGP,SAAGjH;EAHI,KAAT;EAMAF,IAAAA,eAAe,CAAC4C,IAAD,EAAO1C,MAAP,EAAe,KAAKqG,WAAL,CAAiBH,WAAhC,CAAf;;EAEA,QAAI,OAAOlG,MAAM,CAAC8F,SAAd,KAA4B,QAA5B,IAAwC,CAACrG,SAAS,CAACO,MAAM,CAAC8F,SAAR,CAAlD,IACF,OAAO9F,MAAM,CAAC8F,SAAP,CAAiB+C,qBAAxB,KAAkD,UADpD,EAEE;EACA;EACA,YAAM,IAAIlI,SAAJ,CAAe,GAAE+B,IAAI,CAAC9B,WAAL,EAAmB,gGAApC,CAAN;EACD;;EAED,WAAOZ,MAAP;EACD;;EAED2H,EAAAA,aAAa,CAACJ,MAAD,EAAS;EACpB,QAAI,OAAOuB,iBAAP,KAAkB,WAAtB,EAAmC;EACjC,YAAM,IAAInI,SAAJ,CAAc,+DAAd,CAAN;EACD;;EAED,QAAIoI,gBAAgB,GAAG,KAAK9B,QAA5B;;EAEA,QAAI,KAAKV,OAAL,CAAaT,SAAb,KAA2B,QAA/B,EAAyC;EACvCiD,MAAAA,gBAAgB,GAAGxB,MAAnB;EACD,KAFD,MAEO,IAAI9H,SAAS,CAAC,KAAK8G,OAAL,CAAaT,SAAd,CAAb,EAAuC;EAC5CiD,MAAAA,gBAAgB,GAAGnJ,UAAU,CAAC,KAAK2G,OAAL,CAAaT,SAAd,CAA7B;EACD,KAFM,MAEA,IAAI,OAAO,KAAKS,OAAL,CAAaT,SAApB,KAAkC,QAAtC,EAAgD;EACrDiD,MAAAA,gBAAgB,GAAG,KAAKxC,OAAL,CAAaT,SAAhC;EACD;;EAED,UAAME,YAAY,GAAG,KAAKgD,gBAAL,EAArB;;EACA,UAAMC,eAAe,GAAGjD,YAAY,CAACkD,SAAb,CAAuBC,IAAvB,CAA4BC,QAAQ,IAAIA,QAAQ,CAAC3G,IAAT,KAAkB,aAAlB,IAAmC2G,QAAQ,CAACC,OAAT,KAAqB,KAAhG,CAAxB;EAEA,SAAK/C,OAAL,GAAewC,iBAAM,CAACQ,YAAP,CAAoBP,gBAApB,EAAsC,KAAKtC,KAA3C,EAAkDT,YAAlD,CAAf;;EAEA,QAAIiD,eAAJ,EAAqB;EACnBxB,MAAAA,4BAAW,CAACC,gBAAZ,CAA6B,KAAKjB,KAAlC,EAAyC,QAAzC,EAAmD,QAAnD;EACD;EACF;;EAEDK,EAAAA,QAAQ,CAAChI,OAAO,GAAG,KAAKmI,QAAhB,EAA0B;EAChC,WAAOnI,OAAO,CAACsC,SAAR,CAAkBC,QAAlB,CAA2BuD,eAA3B,CAAP;EACD;;EAED8B,EAAAA,eAAe,GAAG;EAChB,WAAO6C,+BAAc,CAACC,IAAf,CAAoB,KAAKvC,QAAzB,EAAmC/B,aAAnC,EAAkD,CAAlD,CAAP;EACD;;EAEDuE,EAAAA,aAAa,GAAG;EACd,UAAMC,cAAc,GAAG,KAAKzC,QAAL,CAAc0C,UAArC;;EAEA,QAAID,cAAc,CAACtI,SAAf,CAAyBC,QAAzB,CAAkCyD,kBAAlC,CAAJ,EAA2D;EACzD,aAAOW,eAAP;EACD;;EAED,QAAIiE,cAAc,CAACtI,SAAf,CAAyBC,QAAzB,CAAkC0D,oBAAlC,CAAJ,EAA6D;EAC3D,aAAOW,cAAP;EACD,KATa;;;EAYd,UAAMkE,KAAK,GAAG7I,gBAAgB,CAAC,KAAK0F,KAAN,CAAhB,CAA6BzF,gBAA7B,CAA8C,eAA9C,EAA+D3B,IAA/D,OAA0E,KAAxF;;EAEA,QAAIqK,cAAc,CAACtI,SAAf,CAAyBC,QAAzB,CAAkCwD,iBAAlC,CAAJ,EAA0D;EACxD,aAAO+E,KAAK,GAAGtE,gBAAH,GAAsBD,aAAlC;EACD;;EAED,WAAOuE,KAAK,GAAGpE,mBAAH,GAAyBD,gBAArC;EACD;;EAEDqB,EAAAA,aAAa,GAAG;EACd,WAAO,KAAKK,QAAL,CAAcW,OAAd,CAAuB,IAAG5C,iBAAkB,EAA5C,MAAmD,IAA1D;EACD;;EAED6E,EAAAA,UAAU,GAAG;EACX,UAAM;EAAEjE,MAAAA;EAAF,QAAa,KAAKW,OAAxB;;EAEA,QAAI,OAAOX,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,aAAOA,MAAM,CAACxG,KAAP,CAAa,GAAb,EAAkB0K,GAAlB,CAAsBC,GAAG,IAAIC,MAAM,CAACC,QAAP,CAAgBF,GAAhB,EAAqB,EAArB,CAA7B,CAAP;EACD;;EAED,QAAI,OAAOnE,MAAP,KAAkB,UAAtB,EAAkC;EAChC,aAAOsE,UAAU,IAAItE,MAAM,CAACsE,UAAD,EAAa,KAAKjD,QAAlB,CAA3B;EACD;;EAED,WAAOrB,MAAP;EACD;;EAEDoD,EAAAA,gBAAgB,GAAG;EACjB,UAAMmB,qBAAqB,GAAG;EAC5BC,MAAAA,SAAS,EAAE,KAAKX,aAAL,EADiB;EAE5BP,MAAAA,SAAS,EAAE,CAAC;EACVzG,QAAAA,IAAI,EAAE,iBADI;EAEV4H,QAAAA,OAAO,EAAE;EACPxE,UAAAA,QAAQ,EAAE,KAAKU,OAAL,CAAaV;EADhB;EAFC,OAAD,EAMX;EACEpD,QAAAA,IAAI,EAAE,QADR;EAEE4H,QAAAA,OAAO,EAAE;EACPzE,UAAAA,MAAM,EAAE,KAAKiE,UAAL;EADD;EAFX,OANW;EAFiB,KAA9B,CADiB;;EAkBjB,QAAI,KAAKtD,OAAL,CAAaR,OAAb,KAAyB,QAA7B,EAAuC;EACrCoE,MAAAA,qBAAqB,CAACjB,SAAtB,GAAkC,CAAC;EACjCzG,QAAAA,IAAI,EAAE,aAD2B;EAEjC4G,QAAAA,OAAO,EAAE;EAFwB,OAAD,CAAlC;EAID;;EAED,WAAO,EACL,GAAGc,qBADE;EAEL,UAAI,OAAO,KAAK5D,OAAL,CAAaP,YAApB,KAAqC,UAArC,GAAkD,KAAKO,OAAL,CAAaP,YAAb,CAA0BmE,qBAA1B,CAAlD,GAAqG,KAAK5D,OAAL,CAAaP,YAAtH;EAFK,KAAP;EAID;;EAEDsE,EAAAA,eAAe,CAAC;EAAEC,IAAAA,GAAF;EAAOC,IAAAA;EAAP,GAAD,EAAkB;EAC/B,UAAMC,KAAK,GAAGlB,+BAAc,CAACJ,IAAf,CAAoB/D,sBAApB,EAA4C,KAAKqB,KAAjD,EAAwDiE,MAAxD,CAA+D7J,SAA/D,CAAd;;EAEA,QAAI,CAAC4J,KAAK,CAAC5K,MAAX,EAAmB;EACjB;EACD,KAL8B;EAQ/B;;;EACAmD,IAAAA,oBAAoB,CAACyH,KAAD,EAAQD,MAAR,EAAgBD,GAAG,KAAKrG,cAAxB,EAAwC,CAACuG,KAAK,CAACvL,QAAN,CAAesL,MAAf,CAAzC,CAApB,CAAqFvC,KAArF;EACD,GAhQkC;;;EAoQb,SAAfpF,eAAe,CAAC7C,MAAD,EAAS;EAC7B,WAAO,KAAK2K,IAAL,CAAU,YAAY;EAC3B,YAAMC,IAAI,GAAGzE,QAAQ,CAAC0E,mBAAT,CAA6B,IAA7B,EAAmC7K,MAAnC,CAAb;;EAEA,UAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;EAC9B;EACD;;EAED,UAAI,OAAO4K,IAAI,CAAC5K,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIW,SAAJ,CAAe,oBAAmBX,MAAO,GAAzC,CAAN;EACD;;EAED4K,MAAAA,IAAI,CAAC5K,MAAD,CAAJ;EACD,KAZM,CAAP;EAaD;;EAEgB,SAAV8K,UAAU,CAACC,KAAD,EAAQ;EACvB,QAAIA,KAAK,KAAKA,KAAK,CAACC,MAAN,KAAiB7G,kBAAjB,IAAwC4G,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACR,GAAN,KAAcvG,OAArF,CAAT,EAAyG;EACvG;EACD;;EAED,UAAMkH,OAAO,GAAG3B,+BAAc,CAACJ,IAAf,CAAoBlE,oBAApB,CAAhB;;EAEA,SAAK,IAAIkG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGF,OAAO,CAACrL,MAA9B,EAAsCsL,CAAC,GAAGC,GAA1C,EAA+CD,CAAC,EAAhD,EAAoD;EAClD,YAAME,OAAO,GAAGlF,QAAQ,CAACmF,WAAT,CAAqBJ,OAAO,CAACC,CAAD,CAA5B,CAAhB;;EACA,UAAI,CAACE,OAAD,IAAYA,OAAO,CAAC9E,OAAR,CAAgBN,SAAhB,KAA8B,KAA9C,EAAqD;EACnD;EACD;;EAED,UAAI,CAACoF,OAAO,CAACvE,QAAR,EAAL,EAAyB;EACvB;EACD;;EAED,YAAMI,aAAa,GAAG;EACpBA,QAAAA,aAAa,EAAEmE,OAAO,CAACpE;EADH,OAAtB;;EAIA,UAAI8D,KAAJ,EAAW;EACT,cAAMQ,YAAY,GAAGR,KAAK,CAACQ,YAAN,EAArB;EACA,cAAMC,YAAY,GAAGD,YAAY,CAACrM,QAAb,CAAsBmM,OAAO,CAAC5E,KAA9B,CAArB;;EACA,YACE8E,YAAY,CAACrM,QAAb,CAAsBmM,OAAO,CAACpE,QAA9B,KACCoE,OAAO,CAAC9E,OAAR,CAAgBN,SAAhB,KAA8B,QAA9B,IAA0C,CAACuF,YAD5C,IAECH,OAAO,CAAC9E,OAAR,CAAgBN,SAAhB,KAA8B,SAA9B,IAA2CuF,YAH9C,EAIE;EACA;EACD,SATQ;;;EAYT,YAAIH,OAAO,CAAC5E,KAAR,CAAcpF,QAAd,CAAuB0J,KAAK,CAACP,MAA7B,MAA0CO,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACR,GAAN,KAAcvG,OAAzC,IAAqD,qCAAqCtD,IAArC,CAA0CqK,KAAK,CAACP,MAAN,CAAaiB,OAAvD,CAA9F,CAAJ,EAAoK;EAClK;EACD;;EAED,YAAIV,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;EAC1B/D,UAAAA,aAAa,CAACwE,UAAd,GAA2BX,KAA3B;EACD;EACF;;EAEDM,MAAAA,OAAO,CAACjD,aAAR,CAAsBlB,aAAtB;EACD;EACF;;EAE0B,SAApBM,oBAAoB,CAAC1I,OAAD,EAAU;EACnC,WAAOQ,sBAAsB,CAACR,OAAD,CAAtB,IAAmCA,OAAO,CAAC6K,UAAlD;EACD;;EAE2B,SAArBgC,qBAAqB,CAACZ,KAAD,EAAQ;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAI,kBAAkBrK,IAAlB,CAAuBqK,KAAK,CAACP,MAAN,CAAaiB,OAApC,IACFV,KAAK,CAACR,GAAN,KAAcxG,SAAd,IAA4BgH,KAAK,CAACR,GAAN,KAAczG,UAAd,KAC1BiH,KAAK,CAACR,GAAN,KAAcrG,cAAd,IAAgC6G,KAAK,CAACR,GAAN,KAActG,YAA/C,IACC8G,KAAK,CAACP,MAAN,CAAa5C,OAAb,CAAqB1C,aAArB,CAF0B,CAD1B,GAIF,CAACd,cAAc,CAAC1D,IAAf,CAAoBqK,KAAK,CAACR,GAA1B,CAJH,EAImC;EACjC;EACD;;EAED,UAAMqB,QAAQ,GAAG,KAAKxK,SAAL,CAAeC,QAAf,CAAwBuD,eAAxB,CAAjB;;EAEA,QAAI,CAACgH,QAAD,IAAab,KAAK,CAACR,GAAN,KAAczG,UAA/B,EAA2C;EACzC;EACD;;EAEDiH,IAAAA,KAAK,CAACc,cAAN;EACAd,IAAAA,KAAK,CAACe,eAAN;;EAEA,QAAI7K,UAAU,CAAC,IAAD,CAAd,EAAsB;EACpB;EACD;;EAED,UAAM8K,eAAe,GAAG,KAAKC,OAAL,CAAa/G,oBAAb,IAAqC,IAArC,GAA4CsE,+BAAc,CAAC0C,IAAf,CAAoB,IAApB,EAA0BhH,oBAA1B,EAAgD,CAAhD,CAApE;EACA,UAAMiH,QAAQ,GAAG/F,QAAQ,CAAC0E,mBAAT,CAA6BkB,eAA7B,CAAjB;;EAEA,QAAIhB,KAAK,CAACR,GAAN,KAAczG,UAAlB,EAA8B;EAC5BoI,MAAAA,QAAQ,CAACnF,IAAT;EACA;EACD;;EAED,QAAIgE,KAAK,CAACR,GAAN,KAActG,YAAd,IAA8B8G,KAAK,CAACR,GAAN,KAAcrG,cAAhD,EAAgE;EAC9D,UAAI,CAAC0H,QAAL,EAAe;EACbM,QAAAA,QAAQ,CAAClF,IAAT;EACD;;EAEDkF,MAAAA,QAAQ,CAAC5B,eAAT,CAAyBS,KAAzB;;EACA;EACD;;EAED,QAAI,CAACa,QAAD,IAAab,KAAK,CAACR,GAAN,KAAcxG,SAA/B,EAA0C;EACxCoC,MAAAA,QAAQ,CAAC2E,UAAT;EACD;EACF;;EAvXkC;EA0XrC;EACA;EACA;EACA;EACA;;;AAEA1D,+BAAY,CAACY,EAAb,CAAgBzI,QAAhB,EAA0BmF,sBAA1B,EAAkDO,oBAAlD,EAAwEkB,QAAQ,CAACwF,qBAAjF;AACAvE,+BAAY,CAACY,EAAb,CAAgBzI,QAAhB,EAA0BmF,sBAA1B,EAAkDQ,aAAlD,EAAiEiB,QAAQ,CAACwF,qBAA1E;AACAvE,+BAAY,CAACY,EAAb,CAAgBzI,QAAhB,EAA0BkF,oBAA1B,EAAgD0B,QAAQ,CAAC2E,UAAzD;AACA1D,+BAAY,CAACY,EAAb,CAAgBzI,QAAhB,EAA0BoF,oBAA1B,EAAgDwB,QAAQ,CAAC2E,UAAzD;AACA1D,+BAAY,CAACY,EAAb,CAAgBzI,QAAhB,EAA0BkF,oBAA1B,EAAgDQ,oBAAhD,EAAsE,UAAU8F,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAACc,cAAN;EACA1F,EAAAA,QAAQ,CAAC0E,mBAAT,CAA6B,IAA7B,EAAmChE,MAAnC;EACD,CAHD;EAKA;EACA;EACA;EACA;EACA;EACA;;EAEAvE,kBAAkB,CAAC6D,QAAD,CAAlB;;;;;;;;\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"dropdown.js\",\"sources\":[\"../src/dropdown.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): dropdown.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport * as Popper from '@popperjs/core'\\nimport {\\n defineJQueryPlugin,\\n getElement,\\n getNextActiveElement,\\n isDisabled,\\n isElement,\\n isRTL,\\n isVisible,\\n noop\\n} from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport Manipulator from './dom/manipulator'\\nimport SelectorEngine from './dom/selector-engine'\\nimport BaseComponent from './base-component'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'dropdown'\\nconst DATA_KEY = 'bs.dropdown'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst ESCAPE_KEY = 'Escape'\\nconst TAB_KEY = 'Tab'\\nconst ARROW_UP_KEY = 'ArrowUp'\\nconst ARROW_DOWN_KEY = 'ArrowDown'\\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\\n\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_DROPUP = 'dropup'\\nconst CLASS_NAME_DROPEND = 'dropend'\\nconst CLASS_NAME_DROPSTART = 'dropstart'\\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\\n\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"dropdown\\\"]:not(.disabled):not(:disabled)'\\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\\nconst SELECTOR_MENU = '.dropdown-menu'\\nconst SELECTOR_NAVBAR = '.navbar'\\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\\n\\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\\nconst PLACEMENT_TOPCENTER = 'top'\\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\\n\\nconst Default = {\\n offset: [0, 2],\\n boundary: 'clippingParents',\\n reference: 'toggle',\\n display: 'dynamic',\\n popperConfig: null,\\n autoClose: true\\n}\\n\\nconst DefaultType = {\\n offset: '(array|string|function)',\\n boundary: '(string|element)',\\n reference: '(string|element|object)',\\n display: 'string',\\n popperConfig: '(null|object|function)',\\n autoClose: '(boolean|string)'\\n}\\n\\n/**\\n * Class definition\\n */\\n\\nclass Dropdown extends BaseComponent {\\n constructor(element, config) {\\n super(element, config)\\n\\n this._popper = null\\n this._parent = this._element.parentNode // dropdown wrapper\\n this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent)\\n this._inNavbar = this._detectNavbar()\\n }\\n\\n // Getters\\n static get Default() {\\n return Default\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n toggle() {\\n return this._isShown() ? this.hide() : this.show()\\n }\\n\\n show() {\\n if (isDisabled(this._element) || this._isShown()) {\\n return\\n }\\n\\n const relatedTarget = {\\n relatedTarget: this._element\\n }\\n\\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\\n\\n if (showEvent.defaultPrevented) {\\n return\\n }\\n\\n this._createPopper()\\n\\n // If this is a touch-enabled device we add extra\\n // empty mouseover listeners to the body's immediate children;\\n // only needed because of broken event delegation on iOS\\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\\n for (const element of [].concat(...document.body.children)) {\\n EventHandler.on(element, 'mouseover', noop)\\n }\\n }\\n\\n this._element.focus()\\n this._element.setAttribute('aria-expanded', true)\\n\\n this._menu.classList.add(CLASS_NAME_SHOW)\\n this._element.classList.add(CLASS_NAME_SHOW)\\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\\n }\\n\\n hide() {\\n if (isDisabled(this._element) || !this._isShown()) {\\n return\\n }\\n\\n const relatedTarget = {\\n relatedTarget: this._element\\n }\\n\\n this._completeHide(relatedTarget)\\n }\\n\\n dispose() {\\n if (this._popper) {\\n this._popper.destroy()\\n }\\n\\n super.dispose()\\n }\\n\\n update() {\\n this._inNavbar = this._detectNavbar()\\n if (this._popper) {\\n this._popper.update()\\n }\\n }\\n\\n // Private\\n _completeHide(relatedTarget) {\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n // If this is a touch-enabled device we remove the extra\\n // empty mouseover listeners we added for iOS support\\n if ('ontouchstart' in document.documentElement) {\\n for (const element of [].concat(...document.body.children)) {\\n EventHandler.off(element, 'mouseover', noop)\\n }\\n }\\n\\n if (this._popper) {\\n this._popper.destroy()\\n }\\n\\n this._menu.classList.remove(CLASS_NAME_SHOW)\\n this._element.classList.remove(CLASS_NAME_SHOW)\\n this._element.setAttribute('aria-expanded', 'false')\\n Manipulator.removeDataAttribute(this._menu, 'popper')\\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\\n }\\n\\n _getConfig(config) {\\n config = super._getConfig(config)\\n\\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\\n typeof config.reference.getBoundingClientRect !== 'function'\\n ) {\\n // Popper virtual elements require a getBoundingClientRect method\\n throw new TypeError(`${NAME.toUpperCase()}: Option \\\"reference\\\" provided type \\\"object\\\" without a required \\\"getBoundingClientRect\\\" method.`)\\n }\\n\\n return config\\n }\\n\\n _createPopper() {\\n if (typeof Popper === 'undefined') {\\n throw new TypeError('Bootstrap\\\\'s dropdowns require Popper (https://popper.js.org)')\\n }\\n\\n let referenceElement = this._element\\n\\n if (this._config.reference === 'parent') {\\n referenceElement = this._parent\\n } else if (isElement(this._config.reference)) {\\n referenceElement = getElement(this._config.reference)\\n } else if (typeof this._config.reference === 'object') {\\n referenceElement = this._config.reference\\n }\\n\\n const popperConfig = this._getPopperConfig()\\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\\n }\\n\\n _isShown() {\\n return this._menu.classList.contains(CLASS_NAME_SHOW)\\n }\\n\\n _getPlacement() {\\n const parentDropdown = this._parent\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\\n return PLACEMENT_RIGHT\\n }\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\\n return PLACEMENT_LEFT\\n }\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\\n return PLACEMENT_TOPCENTER\\n }\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\\n return PLACEMENT_BOTTOMCENTER\\n }\\n\\n // We need to trim the value because custom properties can also include spaces\\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\\n\\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\\n }\\n\\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\\n }\\n\\n _detectNavbar() {\\n return this._element.closest(SELECTOR_NAVBAR) !== null\\n }\\n\\n _getOffset() {\\n const { offset } = this._config\\n\\n if (typeof offset === 'string') {\\n return offset.split(',').map(value => Number.parseInt(value, 10))\\n }\\n\\n if (typeof offset === 'function') {\\n return popperData => offset(popperData, this._element)\\n }\\n\\n return offset\\n }\\n\\n _getPopperConfig() {\\n const defaultBsPopperConfig = {\\n placement: this._getPlacement(),\\n modifiers: [{\\n name: 'preventOverflow',\\n options: {\\n boundary: this._config.boundary\\n }\\n },\\n {\\n name: 'offset',\\n options: {\\n offset: this._getOffset()\\n }\\n }]\\n }\\n\\n // Disable Popper if we have a static display or Dropdown is in Navbar\\n if (this._inNavbar || this._config.display === 'static') {\\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // todo:v6 remove\\n defaultBsPopperConfig.modifiers = [{\\n name: 'applyStyles',\\n enabled: false\\n }]\\n }\\n\\n return {\\n ...defaultBsPopperConfig,\\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\\n }\\n }\\n\\n _selectMenuItem({ key, target }) {\\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\\n\\n if (!items.length) {\\n return\\n }\\n\\n // if target isn't included in items (e.g. when expanding the dropdown)\\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\\n }\\n\\n // Static\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Dropdown.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n })\\n }\\n\\n static clearMenus(event) {\\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\\n return\\n }\\n\\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\\n\\n for (const toggle of openToggles) {\\n const context = Dropdown.getInstance(toggle)\\n if (!context || context._config.autoClose === false) {\\n continue\\n }\\n\\n const composedPath = event.composedPath()\\n const isMenuTarget = composedPath.includes(context._menu)\\n if (\\n composedPath.includes(context._element) ||\\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\\n (context._config.autoClose === 'outside' && isMenuTarget)\\n ) {\\n continue\\n }\\n\\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\\n continue\\n }\\n\\n const relatedTarget = { relatedTarget: context._element }\\n\\n if (event.type === 'click') {\\n relatedTarget.clickEvent = event\\n }\\n\\n context._completeHide(relatedTarget)\\n }\\n }\\n\\n static dataApiKeydownHandler(event) {\\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\\n\\n const isInput = /input|textarea/i.test(event.target.tagName)\\n const isEscapeEvent = event.key === ESCAPE_KEY\\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\\n\\n if (!isUpOrDownEvent && !isEscapeEvent) {\\n return\\n }\\n\\n if (isInput && !isEscapeEvent) {\\n return\\n }\\n\\n event.preventDefault()\\n\\n const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode)\\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\\n\\n if (isUpOrDownEvent) {\\n event.stopPropagation()\\n instance.show()\\n instance._selectMenuItem(event)\\n return\\n }\\n\\n if (instance._isShown()) { // else is escape and we check if it is shown\\n event.stopPropagation()\\n instance.hide()\\n getToggleButton.focus()\\n }\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n event.preventDefault()\\n Dropdown.getOrCreateInstance(this).toggle()\\n})\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Dropdown)\\n\\nexport default Dropdown\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"ESCAPE_KEY\",\"TAB_KEY\",\"ARROW_UP_KEY\",\"ARROW_DOWN_KEY\",\"RIGHT_MOUSE_BUTTON\",\"EVENT_HIDE\",\"EVENT_HIDDEN\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_CLICK_DATA_API\",\"EVENT_KEYDOWN_DATA_API\",\"EVENT_KEYUP_DATA_API\",\"CLASS_NAME_SHOW\",\"CLASS_NAME_DROPUP\",\"CLASS_NAME_DROPEND\",\"CLASS_NAME_DROPSTART\",\"CLASS_NAME_DROPUP_CENTER\",\"CLASS_NAME_DROPDOWN_CENTER\",\"SELECTOR_DATA_TOGGLE\",\"SELECTOR_DATA_TOGGLE_SHOWN\",\"SELECTOR_MENU\",\"SELECTOR_NAVBAR\",\"SELECTOR_NAVBAR_NAV\",\"SELECTOR_VISIBLE_ITEMS\",\"PLACEMENT_TOP\",\"isRTL\",\"PLACEMENT_TOPEND\",\"PLACEMENT_BOTTOM\",\"PLACEMENT_BOTTOMEND\",\"PLACEMENT_RIGHT\",\"PLACEMENT_LEFT\",\"PLACEMENT_TOPCENTER\",\"PLACEMENT_BOTTOMCENTER\",\"Default\",\"offset\",\"boundary\",\"reference\",\"display\",\"popperConfig\",\"autoClose\",\"DefaultType\",\"Dropdown\",\"BaseComponent\",\"constructor\",\"element\",\"config\",\"_popper\",\"_parent\",\"_element\",\"parentNode\",\"_menu\",\"SelectorEngine\",\"findOne\",\"_inNavbar\",\"_detectNavbar\",\"toggle\",\"_isShown\",\"hide\",\"show\",\"isDisabled\",\"relatedTarget\",\"showEvent\",\"EventHandler\",\"trigger\",\"defaultPrevented\",\"_createPopper\",\"document\",\"documentElement\",\"closest\",\"concat\",\"body\",\"children\",\"on\",\"noop\",\"focus\",\"setAttribute\",\"classList\",\"add\",\"_completeHide\",\"dispose\",\"destroy\",\"update\",\"hideEvent\",\"off\",\"remove\",\"Manipulator\",\"removeDataAttribute\",\"_getConfig\",\"isElement\",\"getBoundingClientRect\",\"TypeError\",\"toUpperCase\",\"Popper\",\"referenceElement\",\"_config\",\"getElement\",\"_getPopperConfig\",\"createPopper\",\"contains\",\"_getPlacement\",\"parentDropdown\",\"isEnd\",\"getComputedStyle\",\"getPropertyValue\",\"trim\",\"_getOffset\",\"split\",\"map\",\"value\",\"Number\",\"parseInt\",\"popperData\",\"defaultBsPopperConfig\",\"placement\",\"modifiers\",\"name\",\"options\",\"setDataAttribute\",\"enabled\",\"_selectMenuItem\",\"key\",\"target\",\"items\",\"find\",\"filter\",\"isVisible\",\"length\",\"getNextActiveElement\",\"includes\",\"jQueryInterface\",\"each\",\"data\",\"getOrCreateInstance\",\"clearMenus\",\"event\",\"button\",\"type\",\"openToggles\",\"context\",\"getInstance\",\"composedPath\",\"isMenuTarget\",\"test\",\"tagName\",\"clickEvent\",\"dataApiKeydownHandler\",\"isInput\",\"isEscapeEvent\",\"isUpOrDownEvent\",\"preventDefault\",\"getToggleButton\",\"delegateTarget\",\"instance\",\"stopPropagation\",\"defineJQueryPlugin\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"c1fa9bc7920f94c674d8b77228a67053ed90eaf6","filename":"js/dist/modal.js","status":"modified","additions":109,"deletions":754,"changes":863,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fmodal.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fmodal.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fmodal.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,644 +1,43 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap modal.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap modal.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) :\n- typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));\n-})(this, (function (EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./dom/selector-engine'), require('./util/scrollbar'), require('./base-component'), require('./util/backdrop'), require('./util/focustrap'), require('./util/component-functions')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/selector-engine', './util/scrollbar', './base-component', './util/backdrop', './util/focustrap', './util/component-functions'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.Index, global.EventHandler, global.SelectorEngine, global.Scrollbar, global.BaseComponent, global.Backdrop, global.Focustrap, global.ComponentFunctions));\n+})(this, (function (index, EventHandler, SelectorEngine, ScrollBarHelper, BaseComponent, Backdrop, FocusTrap, componentFunctions) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);\n- const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);\n const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);\n+ const ScrollBarHelper__default = /*#__PURE__*/_interopDefaultLegacy(ScrollBarHelper);\n const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);\n+ const Backdrop__default = /*#__PURE__*/_interopDefaultLegacy(Backdrop);\n+ const FocusTrap__default = /*#__PURE__*/_interopDefaultLegacy(FocusTrap);\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n+ * Bootstrap (v5.2.0-beta1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n- const MILLISECONDS_MULTIPLIER = 1000;\n- const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n-\n- const toType = obj => {\n- if (obj === null || obj === undefined) {\n- return `${obj}`;\n- }\n-\n- return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n- };\n-\n- const getSelector = element => {\n- let selector = element.getAttribute('data-bs-target');\n-\n- if (!selector || selector === '#') {\n- let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n- // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n- // `document.querySelector` will rightfully complain it is invalid.\n- // See https://github.com/twbs/bootstrap/issues/32273\n-\n- if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {\n- return null;\n- } // Just in case some CMS puts out a full URL with the anchor appended\n-\n-\n- if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n- hrefAttr = `#${hrefAttr.split('#')[1]}`;\n- }\n-\n- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\n- }\n-\n- return selector;\n- };\n-\n- const getElementFromSelector = element => {\n- const selector = getSelector(element);\n- return selector ? document.querySelector(selector) : null;\n- };\n-\n- const getTransitionDurationFromElement = element => {\n- if (!element) {\n- return 0;\n- } // Get transition-duration of the element\n-\n-\n- let {\n- transitionDuration,\n- transitionDelay\n- } = window.getComputedStyle(element);\n- const floatTransitionDuration = Number.parseFloat(transitionDuration);\n- const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n-\n- if (!floatTransitionDuration && !floatTransitionDelay) {\n- return 0;\n- } // If multiple durations are defined, take the first\n-\n-\n- transitionDuration = transitionDuration.split(',')[0];\n- transitionDelay = transitionDelay.split(',')[0];\n- return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n- };\n-\n- const triggerTransitionEnd = element => {\n- element.dispatchEvent(new Event(TRANSITION_END));\n- };\n-\n- const isElement = obj => {\n- if (!obj || typeof obj !== 'object') {\n- return false;\n- }\n-\n- if (typeof obj.jquery !== 'undefined') {\n- obj = obj[0];\n- }\n-\n- return typeof obj.nodeType !== 'undefined';\n- };\n-\n- const getElement = obj => {\n- if (isElement(obj)) {\n- // it's a jQuery object or a node element\n- return obj.jquery ? obj[0] : obj;\n- }\n-\n- if (typeof obj === 'string' && obj.length > 0) {\n- return document.querySelector(obj);\n- }\n-\n- return null;\n- };\n-\n- const typeCheckConfig = (componentName, config, configTypes) => {\n- Object.keys(configTypes).forEach(property => {\n- const expectedTypes = configTypes[property];\n- const value = config[property];\n- const valueType = value && isElement(value) ? 'element' : toType(value);\n-\n- if (!new RegExp(expectedTypes).test(valueType)) {\n- throw new TypeError(`${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n- }\n- });\n- };\n-\n- const isVisible = element => {\n- if (!isElement(element) || element.getClientRects().length === 0) {\n- return false;\n- }\n-\n- return getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n- };\n-\n- const isDisabled = element => {\n- if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n- return true;\n- }\n-\n- if (element.classList.contains('disabled')) {\n- return true;\n- }\n-\n- if (typeof element.disabled !== 'undefined') {\n- return element.disabled;\n- }\n-\n- return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n- };\n /**\n- * Trick to restart an element's animation\n- *\n- * @param {HTMLElement} element\n- * @return void\n- *\n- * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n- */\n-\n-\n- const reflow = element => {\n- // eslint-disable-next-line no-unused-expressions\n- element.offsetHeight;\n- };\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const isRTL = () => document.documentElement.dir === 'rtl';\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n-\n- const execute = callback => {\n- if (typeof callback === 'function') {\n- callback();\n- }\n- };\n-\n- const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n- if (!waitForTransition) {\n- execute(callback);\n- return;\n- }\n-\n- const durationPadding = 5;\n- const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n- let called = false;\n-\n- const handler = ({\n- target\n- }) => {\n- if (target !== transitionElement) {\n- return;\n- }\n-\n- called = true;\n- transitionElement.removeEventListener(TRANSITION_END, handler);\n- execute(callback);\n- };\n-\n- transitionElement.addEventListener(TRANSITION_END, handler);\n- setTimeout(() => {\n- if (!called) {\n- triggerTransitionEnd(transitionElement);\n- }\n- }, emulatedDuration);\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/scrollBar.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n- const SELECTOR_STICKY_CONTENT = '.sticky-top';\n-\n- class ScrollBarHelper {\n- constructor() {\n- this._element = document.body;\n- }\n-\n- getWidth() {\n- // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n- const documentWidth = document.documentElement.clientWidth;\n- return Math.abs(window.innerWidth - documentWidth);\n- }\n-\n- hide() {\n- const width = this.getWidth();\n-\n- this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n-\n-\n- this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n-\n-\n- this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);\n-\n- this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);\n- }\n-\n- _disableOverFlow() {\n- this._saveInitialAttribute(this._element, 'overflow');\n-\n- this._element.style.overflow = 'hidden';\n- }\n-\n- _setElementAttributes(selector, styleProp, callback) {\n- const scrollbarWidth = this.getWidth();\n-\n- const manipulationCallBack = element => {\n- if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n- return;\n- }\n-\n- this._saveInitialAttribute(element, styleProp);\n-\n- const calculatedValue = window.getComputedStyle(element)[styleProp];\n- element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;\n- };\n-\n- this._applyManipulationCallback(selector, manipulationCallBack);\n- }\n-\n- reset() {\n- this._resetElementAttributes(this._element, 'overflow');\n-\n- this._resetElementAttributes(this._element, 'paddingRight');\n-\n- this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');\n-\n- this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');\n- }\n-\n- _saveInitialAttribute(element, styleProp) {\n- const actualValue = element.style[styleProp];\n-\n- if (actualValue) {\n- Manipulator__default.default.setDataAttribute(element, styleProp, actualValue);\n- }\n- }\n-\n- _resetElementAttributes(selector, styleProp) {\n- const manipulationCallBack = element => {\n- const value = Manipulator__default.default.getDataAttribute(element, styleProp);\n-\n- if (typeof value === 'undefined') {\n- element.style.removeProperty(styleProp);\n- } else {\n- Manipulator__default.default.removeDataAttribute(element, styleProp);\n- element.style[styleProp] = value;\n- }\n- };\n-\n- this._applyManipulationCallback(selector, manipulationCallBack);\n- }\n-\n- _applyManipulationCallback(selector, callBack) {\n- if (isElement(selector)) {\n- callBack(selector);\n- } else {\n- SelectorEngine__default.default.find(selector, this._element).forEach(callBack);\n- }\n- }\n-\n- isOverflowing() {\n- return this.getWidth() > 0;\n- }\n-\n- }\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/backdrop.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const Default$2 = {\n- className: 'modal-backdrop',\n- isVisible: true,\n- // if false, we use the backdrop helper without adding any element to the dom\n- isAnimated: false,\n- rootElement: 'body',\n- // give the choice to place backdrop under different elements\n- clickCallback: null\n- };\n- const DefaultType$2 = {\n- className: 'string',\n- isVisible: 'boolean',\n- isAnimated: 'boolean',\n- rootElement: '(element|string)',\n- clickCallback: '(function|null)'\n- };\n- const NAME$2 = 'backdrop';\n- const CLASS_NAME_FADE$1 = 'fade';\n- const CLASS_NAME_SHOW$1 = 'show';\n- const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$2}`;\n-\n- class Backdrop {\n- constructor(config) {\n- this._config = this._getConfig(config);\n- this._isAppended = false;\n- this._element = null;\n- }\n-\n- show(callback) {\n- if (!this._config.isVisible) {\n- execute(callback);\n- return;\n- }\n-\n- this._append();\n-\n- if (this._config.isAnimated) {\n- reflow(this._getElement());\n- }\n-\n- this._getElement().classList.add(CLASS_NAME_SHOW$1);\n-\n- this._emulateAnimation(() => {\n- execute(callback);\n- });\n- }\n-\n- hide(callback) {\n- if (!this._config.isVisible) {\n- execute(callback);\n- return;\n- }\n-\n- this._getElement().classList.remove(CLASS_NAME_SHOW$1);\n-\n- this._emulateAnimation(() => {\n- this.dispose();\n- execute(callback);\n- });\n- } // Private\n-\n-\n- _getElement() {\n- if (!this._element) {\n- const backdrop = document.createElement('div');\n- backdrop.className = this._config.className;\n-\n- if (this._config.isAnimated) {\n- backdrop.classList.add(CLASS_NAME_FADE$1);\n- }\n-\n- this._element = backdrop;\n- }\n-\n- return this._element;\n- }\n-\n- _getConfig(config) {\n- config = { ...Default$2,\n- ...(typeof config === 'object' ? config : {})\n- }; // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n-\n- config.rootElement = getElement(config.rootElement);\n- typeCheckConfig(NAME$2, config, DefaultType$2);\n- return config;\n- }\n-\n- _append() {\n- if (this._isAppended) {\n- return;\n- }\n-\n- this._config.rootElement.append(this._getElement());\n-\n- EventHandler__default.default.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n- execute(this._config.clickCallback);\n- });\n- this._isAppended = true;\n- }\n-\n- dispose() {\n- if (!this._isAppended) {\n- return;\n- }\n-\n- EventHandler__default.default.off(this._element, EVENT_MOUSEDOWN);\n-\n- this._element.remove();\n-\n- this._isAppended = false;\n- }\n-\n- _emulateAnimation(callback) {\n- executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n- }\n-\n- }\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/focustrap.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const Default$1 = {\n- trapElement: null,\n- // The element to trap focus inside of\n- autofocus: true\n- };\n- const DefaultType$1 = {\n- trapElement: 'element',\n- autofocus: 'boolean'\n- };\n- const NAME$1 = 'focustrap';\n- const DATA_KEY$1 = 'bs.focustrap';\n- const EVENT_KEY$1 = `.${DATA_KEY$1}`;\n- const EVENT_FOCUSIN = `focusin${EVENT_KEY$1}`;\n- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$1}`;\n- const TAB_KEY = 'Tab';\n- const TAB_NAV_FORWARD = 'forward';\n- const TAB_NAV_BACKWARD = 'backward';\n-\n- class FocusTrap {\n- constructor(config) {\n- this._config = this._getConfig(config);\n- this._isActive = false;\n- this._lastTabNavDirection = null;\n- }\n-\n- activate() {\n- const {\n- trapElement,\n- autofocus\n- } = this._config;\n-\n- if (this._isActive) {\n- return;\n- }\n-\n- if (autofocus) {\n- trapElement.focus();\n- }\n-\n- EventHandler__default.default.off(document, EVENT_KEY$1); // guard against infinite focus loop\n-\n- EventHandler__default.default.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event));\n- EventHandler__default.default.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n- this._isActive = true;\n- }\n-\n- deactivate() {\n- if (!this._isActive) {\n- return;\n- }\n-\n- this._isActive = false;\n- EventHandler__default.default.off(document, EVENT_KEY$1);\n- } // Private\n-\n-\n- _handleFocusin(event) {\n- const {\n- target\n- } = event;\n- const {\n- trapElement\n- } = this._config;\n-\n- if (target === document || target === trapElement || trapElement.contains(target)) {\n- return;\n- }\n-\n- const elements = SelectorEngine__default.default.focusableChildren(trapElement);\n-\n- if (elements.length === 0) {\n- trapElement.focus();\n- } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n- elements[elements.length - 1].focus();\n- } else {\n- elements[0].focus();\n- }\n- }\n-\n- _handleKeydown(event) {\n- if (event.key !== TAB_KEY) {\n- return;\n- }\n-\n- this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n- }\n-\n- _getConfig(config) {\n- config = { ...Default$1,\n- ...(typeof config === 'object' ? config : {})\n- };\n- typeCheckConfig(NAME$1, config, DefaultType$1);\n- return config;\n- }\n-\n- }\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/component-functions.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n-\n- const enableDismissTrigger = (component, method = 'hide') => {\n- const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n- const name = component.NAME;\n- EventHandler__default.default.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n- if (['A', 'AREA'].includes(this.tagName)) {\n- event.preventDefault();\n- }\n-\n- if (isDisabled(this)) {\n- return;\n- }\n-\n- const target = getElementFromSelector(this) || this.closest(`.${name}`);\n- const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n-\n- instance[method]();\n- });\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): modal.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'modal';\n const DATA_KEY = 'bs.modal';\n const EVENT_KEY = `.${DATA_KEY}`;\n const DATA_API_KEY = '.data-api';\n const ESCAPE_KEY = 'Escape';\n- const Default = {\n- backdrop: true,\n- keyboard: true,\n- focus: true\n- };\n- const DefaultType = {\n- backdrop: '(boolean|string)',\n- keyboard: 'boolean',\n- focus: 'boolean'\n- };\n const EVENT_HIDE = `hide${EVENT_KEY}`;\n const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;\n const EVENT_HIDDEN = `hidden${EVENT_KEY}`;\n@@ -647,8 +46,6 @@\n const EVENT_RESIZE = `resize${EVENT_KEY}`;\n const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\n const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\n- const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`;\n- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;\n const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\n const CLASS_NAME_OPEN = 'modal-open';\n const CLASS_NAME_FADE = 'fade';\n@@ -658,30 +55,42 @@\n const SELECTOR_DIALOG = '.modal-dialog';\n const SELECTOR_MODAL_BODY = '.modal-body';\n const SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]';\n+ const Default = {\n+ backdrop: true,\n+ keyboard: true,\n+ focus: true\n+ };\n+ const DefaultType = {\n+ backdrop: '(boolean|string)',\n+ keyboard: 'boolean',\n+ focus: 'boolean'\n+ };\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Modal extends BaseComponent__default.default {\n constructor(element, config) {\n- super(element);\n- this._config = this._getConfig(config);\n+ super(element, config);\n this._dialog = SelectorEngine__default.default.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n- this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n- this._scrollBar = new ScrollBarHelper();\n+ this._scrollBar = new ScrollBarHelper__default.default();\n+\n+ this._addEventListeners();\n } // Getters\n \n \n static get Default() {\n return Default;\n }\n \n+ static get DefaultType() {\n+ return DefaultType;\n+ }\n+\n static get NAME() {\n return NAME;\n } // Public\n@@ -705,30 +114,15 @@\n }\n \n this._isShown = true;\n-\n- if (this._isAnimated()) {\n- this._isTransitioning = true;\n- }\n+ this._isTransitioning = true;\n \n this._scrollBar.hide();\n \n document.body.classList.add(CLASS_NAME_OPEN);\n \n this._adjustDialog();\n \n- this._setEscapeEvent();\n-\n- this._setResizeEvent();\n-\n- EventHandler__default.default.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n- EventHandler__default.default.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n- if (event.target === this._element) {\n- this._ignoreBackdropClick = true;\n- }\n- });\n- });\n-\n- this._showBackdrop(() => this._showElement(relatedTarget));\n+ this._backdrop.show(() => this._showElement(relatedTarget));\n }\n \n hide() {\n@@ -743,29 +137,19 @@\n }\n \n this._isShown = false;\n-\n- const isAnimated = this._isAnimated();\n-\n- if (isAnimated) {\n- this._isTransitioning = true;\n- }\n-\n- this._setEscapeEvent();\n-\n- this._setResizeEvent();\n+ this._isTransitioning = true;\n \n this._focustrap.deactivate();\n \n this._element.classList.remove(CLASS_NAME_SHOW);\n \n- EventHandler__default.default.off(this._element, EVENT_CLICK_DISMISS);\n- EventHandler__default.default.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);\n-\n- this._queueCallback(() => this._hideModal(), this._element, isAnimated);\n+ this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n \n dispose() {\n- [window, this._dialog].forEach(htmlElement => EventHandler__default.default.off(htmlElement, EVENT_KEY));\n+ for (const htmlElement of [window, this._dialog]) {\n+ EventHandler__default.default.off(htmlElement, EVENT_KEY);\n+ }\n \n this._backdrop.dispose();\n \n@@ -780,35 +164,22 @@\n \n \n _initializeBackDrop() {\n- return new Backdrop({\n+ return new Backdrop__default.default({\n isVisible: Boolean(this._config.backdrop),\n- // 'static' option will be translated to true, and booleans will keep their value\n+ // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n \n _initializeFocusTrap() {\n- return new FocusTrap({\n+ return new FocusTrap__default.default({\n trapElement: this._element\n });\n }\n \n- _getConfig(config) {\n- config = { ...Default,\n- ...Manipulator__default.default.getDataAttributes(this._element),\n- ...(typeof config === 'object' ? config : {})\n- };\n- typeCheckConfig(NAME, config, DefaultType);\n- return config;\n- }\n-\n _showElement(relatedTarget) {\n- const isAnimated = this._isAnimated();\n-\n- const modalBody = SelectorEngine__default.default.findOne(SELECTOR_MODAL_BODY, this._dialog);\n-\n- if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n- // Don't move modal's DOM position\n+ // try to append dynamic modal\n+ if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n \n@@ -821,14 +192,13 @@\n this._element.setAttribute('role', 'dialog');\n \n this._element.scrollTop = 0;\n+ const modalBody = SelectorEngine__default.default.findOne(SELECTOR_MODAL_BODY, this._dialog);\n \n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n \n- if (isAnimated) {\n- reflow(this._element);\n- }\n+ index.reflow(this._element);\n \n this._element.classList.add(CLASS_NAME_SHOW);\n \n@@ -843,30 +213,44 @@\n });\n };\n \n- this._queueCallback(transitionComplete, this._dialog, isAnimated);\n+ this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n \n- _setEscapeEvent() {\n- if (this._isShown) {\n- EventHandler__default.default.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n- if (this._config.keyboard && event.key === ESCAPE_KEY) {\n- event.preventDefault();\n- this.hide();\n- } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n- this._triggerBackdropTransition();\n- }\n- });\n- } else {\n- EventHandler__default.default.off(this._element, EVENT_KEYDOWN_DISMISS);\n- }\n- }\n+ _addEventListeners() {\n+ EventHandler__default.default.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n+ if (event.key !== ESCAPE_KEY) {\n+ return;\n+ }\n \n- _setResizeEvent() {\n- if (this._isShown) {\n- EventHandler__default.default.on(window, EVENT_RESIZE, () => this._adjustDialog());\n- } else {\n- EventHandler__default.default.off(window, EVENT_RESIZE);\n- }\n+ if (this._config.keyboard) {\n+ event.preventDefault();\n+ this.hide();\n+ return;\n+ }\n+\n+ this._triggerBackdropTransition();\n+ });\n+ EventHandler__default.default.on(window, EVENT_RESIZE, () => {\n+ if (this._isShown && !this._isTransitioning) {\n+ this._adjustDialog();\n+ }\n+ });\n+ EventHandler__default.default.on(this._element, EVENT_CLICK_DISMISS, event => {\n+ if (event.target !== event.currentTarget) {\n+ // click is inside modal-dialog\n+ return;\n+ }\n+\n+ if (this._config.backdrop === 'static') {\n+ this._triggerBackdropTransition();\n+\n+ return;\n+ }\n+\n+ if (this._config.backdrop) {\n+ this.hide();\n+ }\n+ });\n }\n \n _hideModal() {\n@@ -891,27 +275,6 @@\n });\n }\n \n- _showBackdrop(callback) {\n- EventHandler__default.default.on(this._element, EVENT_CLICK_DISMISS, event => {\n- if (this._ignoreBackdropClick) {\n- this._ignoreBackdropClick = false;\n- return;\n- }\n-\n- if (event.target !== event.currentTarget) {\n- return;\n- }\n-\n- if (this._config.backdrop === true) {\n- this.hide();\n- } else if (this._config.backdrop === 'static') {\n- this._triggerBackdropTransition();\n- }\n- });\n-\n- this._backdrop.show(callback);\n- }\n-\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE);\n }\n@@ -923,37 +286,32 @@\n return;\n }\n \n- const {\n- classList,\n- scrollHeight,\n- style\n- } = this._element;\n- const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed\n+ const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n+ const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed\n \n- if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) {\n+ if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n \n if (!isModalOverflowing) {\n- style.overflowY = 'hidden';\n+ this._element.style.overflowY = 'hidden';\n }\n \n- classList.add(CLASS_NAME_STATIC);\n+ this._element.classList.add(CLASS_NAME_STATIC);\n \n this._queueCallback(() => {\n- classList.remove(CLASS_NAME_STATIC);\n+ this._element.classList.remove(CLASS_NAME_STATIC);\n \n- if (!isModalOverflowing) {\n- this._queueCallback(() => {\n- style.overflowY = '';\n- }, this._dialog);\n- }\n+ this._queueCallback(() => {\n+ this._element.style.overflowY = initialOverflowY;\n+ }, this._dialog);\n }, this._dialog);\n \n this._element.focus();\n- } // ----------------------------------------------------------------------\n- // the following methods are used to handle overflowing modals\n- // ----------------------------------------------------------------------\n+ }\n+ /**\n+ * The following methods are used to handle overflowing modals\n+ */\n \n \n _adjustDialog() {\n@@ -963,12 +321,14 @@\n \n const isBodyOverflowing = scrollbarWidth > 0;\n \n- if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) {\n- this._element.style.paddingLeft = `${scrollbarWidth}px`;\n+ if (isBodyOverflowing && !isModalOverflowing) {\n+ const property = index.isRTL() ? 'paddingLeft' : 'paddingRight';\n+ this._element.style[property] = `${scrollbarWidth}px`;\n }\n \n- if (isBodyOverflowing && !isModalOverflowing && !isRTL() || !isBodyOverflowing && isModalOverflowing && isRTL()) {\n- this._element.style.paddingRight = `${scrollbarWidth}px`;\n+ if (!isBodyOverflowing && isModalOverflowing) {\n+ const property = index.isRTL() ? 'paddingRight' : 'paddingLeft';\n+ this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n \n@@ -996,14 +356,12 @@\n \n }\n /**\n- * ------------------------------------------------------------------------\n- * Data Api implementation\n- * ------------------------------------------------------------------------\n+ * Data API implementation\n */\n \n \n EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n- const target = getElementFromSelector(this);\n+ const target = index.getElementFromSelector(this);\n \n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n@@ -1016,30 +374,27 @@\n }\n \n EventHandler__default.default.one(target, EVENT_HIDDEN, () => {\n- if (isVisible(this)) {\n+ if (index.isVisible(this)) {\n this.focus();\n }\n });\n- }); // avoid conflict when clicking moddal toggler while another one is open\n+ }); // avoid conflict when clicking modal toggler while another one is open\n \n- const allReadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR);\n+ const alreadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR);\n \n- if (allReadyOpen) {\n- Modal.getInstance(allReadyOpen).hide();\n+ if (alreadyOpen) {\n+ Modal.getInstance(alreadyOpen).hide();\n }\n \n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n });\n- enableDismissTrigger(Modal);\n+ componentFunctions.enableDismissTrigger(Modal);\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n- * add .Modal to jQuery only if jQuery is present\n */\n \n- defineJQueryPlugin(Modal);\n+ index.defineJQueryPlugin(Modal);\n \n return Modal;\n "},{"sha":"3b9a50255a8586283fc5b44d95d902e4ae1472c3","filename":"js/dist/modal.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fmodal.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fmodal.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fmodal.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"modal.js\",\"sources\":[\"../src/util/index.js\",\"../src/util/scrollbar.js\",\"../src/util/backdrop.js\",\"../src/util/focustrap.js\",\"../src/util/component-functions.js\",\"../src/modal.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/scrollBar.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport SelectorEngine from '../dom/selector-engine'\\nimport Manipulator from '../dom/manipulator'\\nimport { isElement } from './index'\\n\\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\\n\\nclass ScrollBarHelper {\\n constructor() {\\n this._element = document.body\\n }\\n\\n getWidth() {\\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\\n const documentWidth = document.documentElement.clientWidth\\n return Math.abs(window.innerWidth - documentWidth)\\n }\\n\\n hide() {\\n const width = this.getWidth()\\n this._disableOverFlow()\\n // give padding to element to balance the hidden scrollbar width\\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\\n }\\n\\n _disableOverFlow() {\\n this._saveInitialAttribute(this._element, 'overflow')\\n this._element.style.overflow = 'hidden'\\n }\\n\\n _setElementAttributes(selector, styleProp, callback) {\\n const scrollbarWidth = this.getWidth()\\n const manipulationCallBack = element => {\\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\\n return\\n }\\n\\n this._saveInitialAttribute(element, styleProp)\\n const calculatedValue = window.getComputedStyle(element)[styleProp]\\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\\n }\\n\\n this._applyManipulationCallback(selector, manipulationCallBack)\\n }\\n\\n reset() {\\n this._resetElementAttributes(this._element, 'overflow')\\n this._resetElementAttributes(this._element, 'paddingRight')\\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\\n }\\n\\n _saveInitialAttribute(element, styleProp) {\\n const actualValue = element.style[styleProp]\\n if (actualValue) {\\n Manipulator.setDataAttribute(element, styleProp, actualValue)\\n }\\n }\\n\\n _resetElementAttributes(selector, styleProp) {\\n const manipulationCallBack = element => {\\n const value = Manipulator.getDataAttribute(element, styleProp)\\n if (typeof value === 'undefined') {\\n element.style.removeProperty(styleProp)\\n } else {\\n Manipulator.removeDataAttribute(element, styleProp)\\n element.style[styleProp] = value\\n }\\n }\\n\\n this._applyManipulationCallback(selector, manipulationCallBack)\\n }\\n\\n _applyManipulationCallback(selector, callBack) {\\n if (isElement(selector)) {\\n callBack(selector)\\n } else {\\n SelectorEngine.find(selector, this._element).forEach(callBack)\\n }\\n }\\n\\n isOverflowing() {\\n return this.getWidth() > 0\\n }\\n}\\n\\nexport default ScrollBarHelper\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/backdrop.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport EventHandler from '../dom/event-handler'\\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\\n\\nconst Default = {\\n className: 'modal-backdrop',\\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\\n isAnimated: false,\\n rootElement: 'body', // give the choice to place backdrop under different elements\\n clickCallback: null\\n}\\n\\nconst DefaultType = {\\n className: 'string',\\n isVisible: 'boolean',\\n isAnimated: 'boolean',\\n rootElement: '(element|string)',\\n clickCallback: '(function|null)'\\n}\\nconst NAME = 'backdrop'\\nconst CLASS_NAME_FADE = 'fade'\\nconst CLASS_NAME_SHOW = 'show'\\n\\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\\n\\nclass Backdrop {\\n constructor(config) {\\n this._config = this._getConfig(config)\\n this._isAppended = false\\n this._element = null\\n }\\n\\n show(callback) {\\n if (!this._config.isVisible) {\\n execute(callback)\\n return\\n }\\n\\n this._append()\\n\\n if (this._config.isAnimated) {\\n reflow(this._getElement())\\n }\\n\\n this._getElement().classList.add(CLASS_NAME_SHOW)\\n\\n this._emulateAnimation(() => {\\n execute(callback)\\n })\\n }\\n\\n hide(callback) {\\n if (!this._config.isVisible) {\\n execute(callback)\\n return\\n }\\n\\n this._getElement().classList.remove(CLASS_NAME_SHOW)\\n\\n this._emulateAnimation(() => {\\n this.dispose()\\n execute(callback)\\n })\\n }\\n\\n // Private\\n\\n _getElement() {\\n if (!this._element) {\\n const backdrop = document.createElement('div')\\n backdrop.className = this._config.className\\n if (this._config.isAnimated) {\\n backdrop.classList.add(CLASS_NAME_FADE)\\n }\\n\\n this._element = backdrop\\n }\\n\\n return this._element\\n }\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...(typeof config === 'object' ? config : {})\\n }\\n\\n // use getElement() with the default \\\"body\\\" to get a fresh Element on each instantiation\\n config.rootElement = getElement(config.rootElement)\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n\\n _append() {\\n if (this._isAppended) {\\n return\\n }\\n\\n this._config.rootElement.append(this._getElement())\\n\\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\\n execute(this._config.clickCallback)\\n })\\n\\n this._isAppended = true\\n }\\n\\n dispose() {\\n if (!this._isAppended) {\\n return\\n }\\n\\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\\n\\n this._element.remove()\\n this._isAppended = false\\n }\\n\\n _emulateAnimation(callback) {\\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\\n }\\n}\\n\\nexport default Backdrop\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/focustrap.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport EventHandler from '../dom/event-handler'\\nimport SelectorEngine from '../dom/selector-engine'\\nimport { typeCheckConfig } from './index'\\n\\nconst Default = {\\n trapElement: null, // The element to trap focus inside of\\n autofocus: true\\n}\\n\\nconst DefaultType = {\\n trapElement: 'element',\\n autofocus: 'boolean'\\n}\\n\\nconst NAME = 'focustrap'\\nconst DATA_KEY = 'bs.focustrap'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\\n\\nconst TAB_KEY = 'Tab'\\nconst TAB_NAV_FORWARD = 'forward'\\nconst TAB_NAV_BACKWARD = 'backward'\\n\\nclass FocusTrap {\\n constructor(config) {\\n this._config = this._getConfig(config)\\n this._isActive = false\\n this._lastTabNavDirection = null\\n }\\n\\n activate() {\\n const { trapElement, autofocus } = this._config\\n\\n if (this._isActive) {\\n return\\n }\\n\\n if (autofocus) {\\n trapElement.focus()\\n }\\n\\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\\n\\n this._isActive = true\\n }\\n\\n deactivate() {\\n if (!this._isActive) {\\n return\\n }\\n\\n this._isActive = false\\n EventHandler.off(document, EVENT_KEY)\\n }\\n\\n // Private\\n\\n _handleFocusin(event) {\\n const { target } = event\\n const { trapElement } = this._config\\n\\n if (target === document || target === trapElement || trapElement.contains(target)) {\\n return\\n }\\n\\n const elements = SelectorEngine.focusableChildren(trapElement)\\n\\n if (elements.length === 0) {\\n trapElement.focus()\\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\\n elements[elements.length - 1].focus()\\n } else {\\n elements[0].focus()\\n }\\n }\\n\\n _handleKeydown(event) {\\n if (event.key !== TAB_KEY) {\\n return\\n }\\n\\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\\n }\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...(typeof config === 'object' ? config : {})\\n }\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n}\\n\\nexport default FocusTrap\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/component-functions.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport EventHandler from '../dom/event-handler'\\nimport { getElementFromSelector, isDisabled } from './index'\\n\\nconst enableDismissTrigger = (component, method = 'hide') => {\\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\\n const name = component.NAME\\n\\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\\\"${name}\\\"]`, function (event) {\\n if (['A', 'AREA'].includes(this.tagName)) {\\n event.preventDefault()\\n }\\n\\n if (isDisabled(this)) {\\n return\\n }\\n\\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\\n const instance = component.getOrCreateInstance(target)\\n\\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\\n instance[method]()\\n })\\n}\\n\\nexport {\\n enableDismissTrigger\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): modal.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport {\\n defineJQueryPlugin,\\n getElementFromSelector,\\n isRTL,\\n isVisible,\\n reflow,\\n typeCheckConfig\\n} from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport Manipulator from './dom/manipulator'\\nimport SelectorEngine from './dom/selector-engine'\\nimport ScrollBarHelper from './util/scrollbar'\\nimport BaseComponent from './base-component'\\nimport Backdrop from './util/backdrop'\\nimport FocusTrap from './util/focustrap'\\nimport { enableDismissTrigger } from './util/component-functions'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'modal'\\nconst DATA_KEY = 'bs.modal'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\nconst ESCAPE_KEY = 'Escape'\\n\\nconst Default = {\\n backdrop: true,\\n keyboard: true,\\n focus: true\\n}\\n\\nconst DefaultType = {\\n backdrop: '(boolean|string)',\\n keyboard: 'boolean',\\n focus: 'boolean'\\n}\\n\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_OPEN = 'modal-open'\\nconst CLASS_NAME_FADE = 'fade'\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_STATIC = 'modal-static'\\n\\nconst OPEN_SELECTOR = '.modal.show'\\nconst SELECTOR_DIALOG = '.modal-dialog'\\nconst SELECTOR_MODAL_BODY = '.modal-body'\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"modal\\\"]'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\n\\nclass Modal extends BaseComponent {\\n constructor(element, config) {\\n super(element)\\n\\n this._config = this._getConfig(config)\\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\\n this._backdrop = this._initializeBackDrop()\\n this._focustrap = this._initializeFocusTrap()\\n this._isShown = false\\n this._ignoreBackdropClick = false\\n this._isTransitioning = false\\n this._scrollBar = new ScrollBarHelper()\\n }\\n\\n // Getters\\n\\n static get Default() {\\n return Default\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n\\n toggle(relatedTarget) {\\n return this._isShown ? this.hide() : this.show(relatedTarget)\\n }\\n\\n show(relatedTarget) {\\n if (this._isShown || this._isTransitioning) {\\n return\\n }\\n\\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\\n relatedTarget\\n })\\n\\n if (showEvent.defaultPrevented) {\\n return\\n }\\n\\n this._isShown = true\\n\\n if (this._isAnimated()) {\\n this._isTransitioning = true\\n }\\n\\n this._scrollBar.hide()\\n\\n document.body.classList.add(CLASS_NAME_OPEN)\\n\\n this._adjustDialog()\\n\\n this._setEscapeEvent()\\n this._setResizeEvent()\\n\\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\\n if (event.target === this._element) {\\n this._ignoreBackdropClick = true\\n }\\n })\\n })\\n\\n this._showBackdrop(() => this._showElement(relatedTarget))\\n }\\n\\n hide() {\\n if (!this._isShown || this._isTransitioning) {\\n return\\n }\\n\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\\n\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n this._isShown = false\\n const isAnimated = this._isAnimated()\\n\\n if (isAnimated) {\\n this._isTransitioning = true\\n }\\n\\n this._setEscapeEvent()\\n this._setResizeEvent()\\n\\n this._focustrap.deactivate()\\n\\n this._element.classList.remove(CLASS_NAME_SHOW)\\n\\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\\n\\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\\n }\\n\\n dispose() {\\n [window, this._dialog]\\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\\n\\n this._backdrop.dispose()\\n this._focustrap.deactivate()\\n super.dispose()\\n }\\n\\n handleUpdate() {\\n this._adjustDialog()\\n }\\n\\n // Private\\n\\n _initializeBackDrop() {\\n return new Backdrop({\\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\\n isAnimated: this._isAnimated()\\n })\\n }\\n\\n _initializeFocusTrap() {\\n return new FocusTrap({\\n trapElement: this._element\\n })\\n }\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...Manipulator.getDataAttributes(this._element),\\n ...(typeof config === 'object' ? config : {})\\n }\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n\\n _showElement(relatedTarget) {\\n const isAnimated = this._isAnimated()\\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\\n\\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\\n // Don't move modal's DOM position\\n document.body.append(this._element)\\n }\\n\\n this._element.style.display = 'block'\\n this._element.removeAttribute('aria-hidden')\\n this._element.setAttribute('aria-modal', true)\\n this._element.setAttribute('role', 'dialog')\\n this._element.scrollTop = 0\\n\\n if (modalBody) {\\n modalBody.scrollTop = 0\\n }\\n\\n if (isAnimated) {\\n reflow(this._element)\\n }\\n\\n this._element.classList.add(CLASS_NAME_SHOW)\\n\\n const transitionComplete = () => {\\n if (this._config.focus) {\\n this._focustrap.activate()\\n }\\n\\n this._isTransitioning = false\\n EventHandler.trigger(this._element, EVENT_SHOWN, {\\n relatedTarget\\n })\\n }\\n\\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\\n }\\n\\n _setEscapeEvent() {\\n if (this._isShown) {\\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\\n event.preventDefault()\\n this.hide()\\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\\n this._triggerBackdropTransition()\\n }\\n })\\n } else {\\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\\n }\\n }\\n\\n _setResizeEvent() {\\n if (this._isShown) {\\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\\n } else {\\n EventHandler.off(window, EVENT_RESIZE)\\n }\\n }\\n\\n _hideModal() {\\n this._element.style.display = 'none'\\n this._element.setAttribute('aria-hidden', true)\\n this._element.removeAttribute('aria-modal')\\n this._element.removeAttribute('role')\\n this._isTransitioning = false\\n this._backdrop.hide(() => {\\n document.body.classList.remove(CLASS_NAME_OPEN)\\n this._resetAdjustments()\\n this._scrollBar.reset()\\n EventHandler.trigger(this._element, EVENT_HIDDEN)\\n })\\n }\\n\\n _showBackdrop(callback) {\\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\\n if (this._ignoreBackdropClick) {\\n this._ignoreBackdropClick = false\\n return\\n }\\n\\n if (event.target !== event.currentTarget) {\\n return\\n }\\n\\n if (this._config.backdrop === true) {\\n this.hide()\\n } else if (this._config.backdrop === 'static') {\\n this._triggerBackdropTransition()\\n }\\n })\\n\\n this._backdrop.show(callback)\\n }\\n\\n _isAnimated() {\\n return this._element.classList.contains(CLASS_NAME_FADE)\\n }\\n\\n _triggerBackdropTransition() {\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n const { classList, scrollHeight, style } = this._element\\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight\\n\\n // return if the following background transition hasn't yet completed\\n if ((!isModalOverflowing && style.overflowY === 'hidden') || classList.contains(CLASS_NAME_STATIC)) {\\n return\\n }\\n\\n if (!isModalOverflowing) {\\n style.overflowY = 'hidden'\\n }\\n\\n classList.add(CLASS_NAME_STATIC)\\n this._queueCallback(() => {\\n classList.remove(CLASS_NAME_STATIC)\\n if (!isModalOverflowing) {\\n this._queueCallback(() => {\\n style.overflowY = ''\\n }, this._dialog)\\n }\\n }, this._dialog)\\n\\n this._element.focus()\\n }\\n\\n // ----------------------------------------------------------------------\\n // the following methods are used to handle overflowing modals\\n // ----------------------------------------------------------------------\\n\\n _adjustDialog() {\\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\\n const scrollbarWidth = this._scrollBar.getWidth()\\n const isBodyOverflowing = scrollbarWidth > 0\\n\\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\\n this._element.style.paddingLeft = `${scrollbarWidth}px`\\n }\\n\\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\\n this._element.style.paddingRight = `${scrollbarWidth}px`\\n }\\n }\\n\\n _resetAdjustments() {\\n this._element.style.paddingLeft = ''\\n this._element.style.paddingRight = ''\\n }\\n\\n // Static\\n\\n static jQueryInterface(config, relatedTarget) {\\n return this.each(function () {\\n const data = Modal.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config](relatedTarget)\\n })\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Data Api implementation\\n * ------------------------------------------------------------------------\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n const target = getElementFromSelector(this)\\n\\n if (['A', 'AREA'].includes(this.tagName)) {\\n event.preventDefault()\\n }\\n\\n EventHandler.one(target, EVENT_SHOW, showEvent => {\\n if (showEvent.defaultPrevented) {\\n // only register focus restorer if modal will actually get shown\\n return\\n }\\n\\n EventHandler.one(target, EVENT_HIDDEN, () => {\\n if (isVisible(this)) {\\n this.focus()\\n }\\n })\\n })\\n\\n // avoid conflict when clicking moddal toggler while another one is open\\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\\n if (allReadyOpen) {\\n Modal.getInstance(allReadyOpen).hide()\\n }\\n\\n const data = Modal.getOrCreateInstance(target)\\n\\n data.toggle(this)\\n})\\n\\nenableDismissTrigger(Modal)\\n\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n * add .Modal to jQuery only if jQuery is present\\n */\\n\\ndefineJQueryPlugin(Modal)\\n\\nexport default Modal\\n\"],\"names\":[\"MILLISECONDS_MULTIPLIER\",\"TRANSITION_END\",\"toType\",\"obj\",\"undefined\",\"toString\",\"call\",\"match\",\"toLowerCase\",\"getSelector\",\"element\",\"selector\",\"getAttribute\",\"hrefAttr\",\"includes\",\"startsWith\",\"split\",\"trim\",\"getElementFromSelector\",\"document\",\"querySelector\",\"getTransitionDurationFromElement\",\"transitionDuration\",\"transitionDelay\",\"window\",\"getComputedStyle\",\"floatTransitionDuration\",\"Number\",\"parseFloat\",\"floatTransitionDelay\",\"triggerTransitionEnd\",\"dispatchEvent\",\"Event\",\"isElement\",\"jquery\",\"nodeType\",\"getElement\",\"length\",\"typeCheckConfig\",\"componentName\",\"config\",\"configTypes\",\"Object\",\"keys\",\"forEach\",\"property\",\"expectedTypes\",\"value\",\"valueType\",\"RegExp\",\"test\",\"TypeError\",\"toUpperCase\",\"isVisible\",\"getClientRects\",\"getPropertyValue\",\"isDisabled\",\"Node\",\"ELEMENT_NODE\",\"classList\",\"contains\",\"disabled\",\"hasAttribute\",\"reflow\",\"offsetHeight\",\"getjQuery\",\"jQuery\",\"body\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"addEventListener\",\"push\",\"isRTL\",\"documentElement\",\"dir\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"execute\",\"executeAfterTransition\",\"transitionElement\",\"waitForTransition\",\"durationPadding\",\"emulatedDuration\",\"called\",\"handler\",\"target\",\"removeEventListener\",\"setTimeout\",\"SELECTOR_FIXED_CONTENT\",\"SELECTOR_STICKY_CONTENT\",\"ScrollBarHelper\",\"constructor\",\"_element\",\"getWidth\",\"documentWidth\",\"clientWidth\",\"Math\",\"abs\",\"innerWidth\",\"hide\",\"width\",\"_disableOverFlow\",\"_setElementAttributes\",\"calculatedValue\",\"_saveInitialAttribute\",\"style\",\"overflow\",\"styleProp\",\"scrollbarWidth\",\"manipulationCallBack\",\"_applyManipulationCallback\",\"reset\",\"_resetElementAttributes\",\"actualValue\",\"Manipulator\",\"setDataAttribute\",\"getDataAttribute\",\"removeProperty\",\"removeDataAttribute\",\"callBack\",\"SelectorEngine\",\"find\",\"isOverflowing\",\"Default\",\"className\",\"isAnimated\",\"rootElement\",\"clickCallback\",\"DefaultType\",\"CLASS_NAME_FADE\",\"CLASS_NAME_SHOW\",\"EVENT_MOUSEDOWN\",\"Backdrop\",\"_config\",\"_getConfig\",\"_isAppended\",\"show\",\"_append\",\"_getElement\",\"add\",\"_emulateAnimation\",\"remove\",\"dispose\",\"backdrop\",\"createElement\",\"append\",\"EventHandler\",\"on\",\"off\",\"trapElement\",\"autofocus\",\"DATA_KEY\",\"EVENT_KEY\",\"EVENT_FOCUSIN\",\"EVENT_KEYDOWN_TAB\",\"TAB_KEY\",\"TAB_NAV_FORWARD\",\"TAB_NAV_BACKWARD\",\"FocusTrap\",\"_isActive\",\"_lastTabNavDirection\",\"activate\",\"focus\",\"event\",\"_handleFocusin\",\"_handleKeydown\",\"deactivate\",\"elements\",\"focusableChildren\",\"key\",\"shiftKey\",\"enableDismissTrigger\",\"component\",\"method\",\"clickEvent\",\"tagName\",\"preventDefault\",\"closest\",\"instance\",\"getOrCreateInstance\",\"DATA_API_KEY\",\"ESCAPE_KEY\",\"keyboard\",\"EVENT_HIDE\",\"EVENT_HIDE_PREVENTED\",\"EVENT_HIDDEN\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_RESIZE\",\"EVENT_CLICK_DISMISS\",\"EVENT_KEYDOWN_DISMISS\",\"EVENT_MOUSEUP_DISMISS\",\"EVENT_MOUSEDOWN_DISMISS\",\"EVENT_CLICK_DATA_API\",\"CLASS_NAME_OPEN\",\"CLASS_NAME_STATIC\",\"OPEN_SELECTOR\",\"SELECTOR_DIALOG\",\"SELECTOR_MODAL_BODY\",\"SELECTOR_DATA_TOGGLE\",\"Modal\",\"BaseComponent\",\"_dialog\",\"findOne\",\"_backdrop\",\"_initializeBackDrop\",\"_focustrap\",\"_initializeFocusTrap\",\"_isShown\",\"_ignoreBackdropClick\",\"_isTransitioning\",\"_scrollBar\",\"toggle\",\"relatedTarget\",\"showEvent\",\"trigger\",\"defaultPrevented\",\"_isAnimated\",\"_adjustDialog\",\"_setEscapeEvent\",\"_setResizeEvent\",\"one\",\"_showBackdrop\",\"_showElement\",\"hideEvent\",\"_queueCallback\",\"_hideModal\",\"htmlElement\",\"handleUpdate\",\"Boolean\",\"getDataAttributes\",\"modalBody\",\"parentNode\",\"display\",\"removeAttribute\",\"setAttribute\",\"scrollTop\",\"transitionComplete\",\"_triggerBackdropTransition\",\"_resetAdjustments\",\"currentTarget\",\"scrollHeight\",\"isModalOverflowing\",\"clientHeight\",\"overflowY\",\"isBodyOverflowing\",\"paddingLeft\",\"paddingRight\",\"each\",\"data\",\"allReadyOpen\",\"getInstance\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"modal.js\",\"sources\":[\"../src/modal.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): modal.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin, getElementFromSelector, isRTL, isVisible, reflow } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport SelectorEngine from './dom/selector-engine'\\nimport ScrollBarHelper from './util/scrollbar'\\nimport BaseComponent from './base-component'\\nimport Backdrop from './util/backdrop'\\nimport FocusTrap from './util/focustrap'\\nimport { enableDismissTrigger } from './util/component-functions'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'modal'\\nconst DATA_KEY = 'bs.modal'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\nconst ESCAPE_KEY = 'Escape'\\n\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst CLASS_NAME_OPEN = 'modal-open'\\nconst CLASS_NAME_FADE = 'fade'\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_STATIC = 'modal-static'\\n\\nconst OPEN_SELECTOR = '.modal.show'\\nconst SELECTOR_DIALOG = '.modal-dialog'\\nconst SELECTOR_MODAL_BODY = '.modal-body'\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"modal\\\"]'\\n\\nconst Default = {\\n backdrop: true,\\n keyboard: true,\\n focus: true\\n}\\n\\nconst DefaultType = {\\n backdrop: '(boolean|string)',\\n keyboard: 'boolean',\\n focus: 'boolean'\\n}\\n\\n/**\\n * Class definition\\n */\\n\\nclass Modal extends BaseComponent {\\n constructor(element, config) {\\n super(element, config)\\n\\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\\n this._backdrop = this._initializeBackDrop()\\n this._focustrap = this._initializeFocusTrap()\\n this._isShown = false\\n this._isTransitioning = false\\n this._scrollBar = new ScrollBarHelper()\\n\\n this._addEventListeners()\\n }\\n\\n // Getters\\n static get Default() {\\n return Default\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n toggle(relatedTarget) {\\n return this._isShown ? this.hide() : this.show(relatedTarget)\\n }\\n\\n show(relatedTarget) {\\n if (this._isShown || this._isTransitioning) {\\n return\\n }\\n\\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\\n relatedTarget\\n })\\n\\n if (showEvent.defaultPrevented) {\\n return\\n }\\n\\n this._isShown = true\\n this._isTransitioning = true\\n\\n this._scrollBar.hide()\\n\\n document.body.classList.add(CLASS_NAME_OPEN)\\n\\n this._adjustDialog()\\n\\n this._backdrop.show(() => this._showElement(relatedTarget))\\n }\\n\\n hide() {\\n if (!this._isShown || this._isTransitioning) {\\n return\\n }\\n\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\\n\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n this._isShown = false\\n this._isTransitioning = true\\n this._focustrap.deactivate()\\n\\n this._element.classList.remove(CLASS_NAME_SHOW)\\n\\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\\n }\\n\\n dispose() {\\n for (const htmlElement of [window, this._dialog]) {\\n EventHandler.off(htmlElement, EVENT_KEY)\\n }\\n\\n this._backdrop.dispose()\\n this._focustrap.deactivate()\\n super.dispose()\\n }\\n\\n handleUpdate() {\\n this._adjustDialog()\\n }\\n\\n // Private\\n _initializeBackDrop() {\\n return new Backdrop({\\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\\n isAnimated: this._isAnimated()\\n })\\n }\\n\\n _initializeFocusTrap() {\\n return new FocusTrap({\\n trapElement: this._element\\n })\\n }\\n\\n _showElement(relatedTarget) {\\n // try to append dynamic modal\\n if (!document.body.contains(this._element)) {\\n document.body.append(this._element)\\n }\\n\\n this._element.style.display = 'block'\\n this._element.removeAttribute('aria-hidden')\\n this._element.setAttribute('aria-modal', true)\\n this._element.setAttribute('role', 'dialog')\\n this._element.scrollTop = 0\\n\\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\\n if (modalBody) {\\n modalBody.scrollTop = 0\\n }\\n\\n reflow(this._element)\\n\\n this._element.classList.add(CLASS_NAME_SHOW)\\n\\n const transitionComplete = () => {\\n if (this._config.focus) {\\n this._focustrap.activate()\\n }\\n\\n this._isTransitioning = false\\n EventHandler.trigger(this._element, EVENT_SHOWN, {\\n relatedTarget\\n })\\n }\\n\\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\\n }\\n\\n _addEventListeners() {\\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\\n if (event.key !== ESCAPE_KEY) {\\n return\\n }\\n\\n if (this._config.keyboard) {\\n event.preventDefault()\\n this.hide()\\n return\\n }\\n\\n this._triggerBackdropTransition()\\n })\\n\\n EventHandler.on(window, EVENT_RESIZE, () => {\\n if (this._isShown && !this._isTransitioning) {\\n this._adjustDialog()\\n }\\n })\\n\\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\\n if (event.target !== event.currentTarget) { // click is inside modal-dialog\\n return\\n }\\n\\n if (this._config.backdrop === 'static') {\\n this._triggerBackdropTransition()\\n return\\n }\\n\\n if (this._config.backdrop) {\\n this.hide()\\n }\\n })\\n }\\n\\n _hideModal() {\\n this._element.style.display = 'none'\\n this._element.setAttribute('aria-hidden', true)\\n this._element.removeAttribute('aria-modal')\\n this._element.removeAttribute('role')\\n this._isTransitioning = false\\n\\n this._backdrop.hide(() => {\\n document.body.classList.remove(CLASS_NAME_OPEN)\\n this._resetAdjustments()\\n this._scrollBar.reset()\\n EventHandler.trigger(this._element, EVENT_HIDDEN)\\n })\\n }\\n\\n _isAnimated() {\\n return this._element.classList.contains(CLASS_NAME_FADE)\\n }\\n\\n _triggerBackdropTransition() {\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\\n const initialOverflowY = this._element.style.overflowY\\n // return if the following background transition hasn't yet completed\\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\\n return\\n }\\n\\n if (!isModalOverflowing) {\\n this._element.style.overflowY = 'hidden'\\n }\\n\\n this._element.classList.add(CLASS_NAME_STATIC)\\n this._queueCallback(() => {\\n this._element.classList.remove(CLASS_NAME_STATIC)\\n this._queueCallback(() => {\\n this._element.style.overflowY = initialOverflowY\\n }, this._dialog)\\n }, this._dialog)\\n\\n this._element.focus()\\n }\\n\\n /**\\n * The following methods are used to handle overflowing modals\\n */\\n\\n _adjustDialog() {\\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\\n const scrollbarWidth = this._scrollBar.getWidth()\\n const isBodyOverflowing = scrollbarWidth > 0\\n\\n if (isBodyOverflowing && !isModalOverflowing) {\\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\\n this._element.style[property] = `${scrollbarWidth}px`\\n }\\n\\n if (!isBodyOverflowing && isModalOverflowing) {\\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\\n this._element.style[property] = `${scrollbarWidth}px`\\n }\\n }\\n\\n _resetAdjustments() {\\n this._element.style.paddingLeft = ''\\n this._element.style.paddingRight = ''\\n }\\n\\n // Static\\n static jQueryInterface(config, relatedTarget) {\\n return this.each(function () {\\n const data = Modal.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config](relatedTarget)\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n const target = getElementFromSelector(this)\\n\\n if (['A', 'AREA'].includes(this.tagName)) {\\n event.preventDefault()\\n }\\n\\n EventHandler.one(target, EVENT_SHOW, showEvent => {\\n if (showEvent.defaultPrevented) {\\n // only register focus restorer if modal will actually get shown\\n return\\n }\\n\\n EventHandler.one(target, EVENT_HIDDEN, () => {\\n if (isVisible(this)) {\\n this.focus()\\n }\\n })\\n })\\n\\n // avoid conflict when clicking modal toggler while another one is open\\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\\n if (alreadyOpen) {\\n Modal.getInstance(alreadyOpen).hide()\\n }\\n\\n const data = Modal.getOrCreateInstance(target)\\n\\n data.toggle(this)\\n})\\n\\nenableDismissTrigger(Modal)\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Modal)\\n\\nexport default Modal\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"ESCAPE_KEY\",\"EVENT_HIDE\",\"EVENT_HIDE_PREVENTED\",\"EVENT_HIDDEN\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_RESIZE\",\"EVENT_CLICK_DISMISS\",\"EVENT_KEYDOWN_DISMISS\",\"EVENT_CLICK_DATA_API\",\"CLASS_NAME_OPEN\",\"CLASS_NAME_FADE\",\"CLASS_NAME_SHOW\",\"CLASS_NAME_STATIC\",\"OPEN_SELECTOR\",\"SELECTOR_DIALOG\",\"SELECTOR_MODAL_BODY\",\"SELECTOR_DATA_TOGGLE\",\"Default\",\"backdrop\",\"keyboard\",\"focus\",\"DefaultType\",\"Modal\",\"BaseComponent\",\"constructor\",\"element\",\"config\",\"_dialog\",\"SelectorEngine\",\"findOne\",\"_element\",\"_backdrop\",\"_initializeBackDrop\",\"_focustrap\",\"_initializeFocusTrap\",\"_isShown\",\"_isTransitioning\",\"_scrollBar\",\"ScrollBarHelper\",\"_addEventListeners\",\"toggle\",\"relatedTarget\",\"hide\",\"show\",\"showEvent\",\"EventHandler\",\"trigger\",\"defaultPrevented\",\"document\",\"body\",\"classList\",\"add\",\"_adjustDialog\",\"_showElement\",\"hideEvent\",\"deactivate\",\"remove\",\"_queueCallback\",\"_hideModal\",\"_isAnimated\",\"dispose\",\"htmlElement\",\"window\",\"off\",\"handleUpdate\",\"Backdrop\",\"isVisible\",\"Boolean\",\"_config\",\"isAnimated\",\"FocusTrap\",\"trapElement\",\"contains\",\"append\",\"style\",\"display\",\"removeAttribute\",\"setAttribute\",\"scrollTop\",\"modalBody\",\"reflow\",\"transitionComplete\",\"activate\",\"on\",\"event\",\"key\",\"preventDefault\",\"_triggerBackdropTransition\",\"target\",\"currentTarget\",\"_resetAdjustments\",\"reset\",\"isModalOverflowing\",\"scrollHeight\",\"documentElement\",\"clientHeight\",\"initialOverflowY\",\"overflowY\",\"scrollbarWidth\",\"getWidth\",\"isBodyOverflowing\",\"property\",\"isRTL\",\"paddingLeft\",\"paddingRight\",\"jQueryInterface\",\"each\",\"data\",\"getOrCreateInstance\",\"TypeError\",\"getElementFromSelector\",\"includes\",\"tagName\",\"one\",\"alreadyOpen\",\"getInstance\",\"enableDismissTrigger\",\"defineJQueryPlugin\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"4eb5f1127fcb3cad3f4b473eec3e7c7888ac4282","filename":"js/dist/offcanvas.js","status":"modified","additions":92,"deletions":661,"changes":753,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Foffcanvas.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Foffcanvas.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Foffcanvas.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,625 +1,36 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap offcanvas.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap offcanvas.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/manipulator.js'), require('./dom/event-handler.js'), require('./base-component.js')) :\n- typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/manipulator', './dom/event-handler', './base-component'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.SelectorEngine, global.Manipulator, global.EventHandler, global.Base));\n-})(this, (function (SelectorEngine, Manipulator, EventHandler, BaseComponent) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./util/scrollbar'), require('./dom/event-handler'), require('./base-component'), require('./dom/selector-engine'), require('./util/backdrop'), require('./util/focustrap'), require('./util/component-functions')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './util/scrollbar', './dom/event-handler', './base-component', './dom/selector-engine', './util/backdrop', './util/focustrap', './util/component-functions'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.Index, global.Scrollbar, global.EventHandler, global.BaseComponent, global.SelectorEngine, global.Backdrop, global.Focustrap, global.ComponentFunctions));\n+})(this, (function (index, ScrollBarHelper, EventHandler, BaseComponent, SelectorEngine, Backdrop, FocusTrap, componentFunctions) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n- const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);\n- const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);\n+ const ScrollBarHelper__default = /*#__PURE__*/_interopDefaultLegacy(ScrollBarHelper);\n const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);\n const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);\n+ const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);\n+ const Backdrop__default = /*#__PURE__*/_interopDefaultLegacy(Backdrop);\n+ const FocusTrap__default = /*#__PURE__*/_interopDefaultLegacy(FocusTrap);\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const MILLISECONDS_MULTIPLIER = 1000;\n- const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n-\n- const toType = obj => {\n- if (obj === null || obj === undefined) {\n- return `${obj}`;\n- }\n-\n- return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n- };\n-\n- const getSelector = element => {\n- let selector = element.getAttribute('data-bs-target');\n-\n- if (!selector || selector === '#') {\n- let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n- // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n- // `document.querySelector` will rightfully complain it is invalid.\n- // See https://github.com/twbs/bootstrap/issues/32273\n-\n- if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {\n- return null;\n- } // Just in case some CMS puts out a full URL with the anchor appended\n-\n-\n- if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n- hrefAttr = `#${hrefAttr.split('#')[1]}`;\n- }\n-\n- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\n- }\n-\n- return selector;\n- };\n-\n- const getElementFromSelector = element => {\n- const selector = getSelector(element);\n- return selector ? document.querySelector(selector) : null;\n- };\n-\n- const getTransitionDurationFromElement = element => {\n- if (!element) {\n- return 0;\n- } // Get transition-duration of the element\n-\n-\n- let {\n- transitionDuration,\n- transitionDelay\n- } = window.getComputedStyle(element);\n- const floatTransitionDuration = Number.parseFloat(transitionDuration);\n- const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n-\n- if (!floatTransitionDuration && !floatTransitionDelay) {\n- return 0;\n- } // If multiple durations are defined, take the first\n-\n-\n- transitionDuration = transitionDuration.split(',')[0];\n- transitionDelay = transitionDelay.split(',')[0];\n- return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n- };\n-\n- const triggerTransitionEnd = element => {\n- element.dispatchEvent(new Event(TRANSITION_END));\n- };\n-\n- const isElement = obj => {\n- if (!obj || typeof obj !== 'object') {\n- return false;\n- }\n-\n- if (typeof obj.jquery !== 'undefined') {\n- obj = obj[0];\n- }\n-\n- return typeof obj.nodeType !== 'undefined';\n- };\n-\n- const getElement = obj => {\n- if (isElement(obj)) {\n- // it's a jQuery object or a node element\n- return obj.jquery ? obj[0] : obj;\n- }\n-\n- if (typeof obj === 'string' && obj.length > 0) {\n- return document.querySelector(obj);\n- }\n-\n- return null;\n- };\n-\n- const typeCheckConfig = (componentName, config, configTypes) => {\n- Object.keys(configTypes).forEach(property => {\n- const expectedTypes = configTypes[property];\n- const value = config[property];\n- const valueType = value && isElement(value) ? 'element' : toType(value);\n-\n- if (!new RegExp(expectedTypes).test(valueType)) {\n- throw new TypeError(`${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n- }\n- });\n- };\n-\n- const isVisible = element => {\n- if (!isElement(element) || element.getClientRects().length === 0) {\n- return false;\n- }\n-\n- return getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n- };\n-\n- const isDisabled = element => {\n- if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n- return true;\n- }\n-\n- if (element.classList.contains('disabled')) {\n- return true;\n- }\n-\n- if (typeof element.disabled !== 'undefined') {\n- return element.disabled;\n- }\n-\n- return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n- };\n- /**\n- * Trick to restart an element's animation\n- *\n- * @param {HTMLElement} element\n- * @return void\n- *\n- * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n- */\n-\n-\n- const reflow = element => {\n- // eslint-disable-next-line no-unused-expressions\n- element.offsetHeight;\n- };\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n-\n- const execute = callback => {\n- if (typeof callback === 'function') {\n- callback();\n- }\n- };\n-\n- const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n- if (!waitForTransition) {\n- execute(callback);\n- return;\n- }\n-\n- const durationPadding = 5;\n- const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n- let called = false;\n-\n- const handler = ({\n- target\n- }) => {\n- if (target !== transitionElement) {\n- return;\n- }\n-\n- called = true;\n- transitionElement.removeEventListener(TRANSITION_END, handler);\n- execute(callback);\n- };\n-\n- transitionElement.addEventListener(TRANSITION_END, handler);\n- setTimeout(() => {\n- if (!called) {\n- triggerTransitionEnd(transitionElement);\n- }\n- }, emulatedDuration);\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/scrollBar.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n- const SELECTOR_STICKY_CONTENT = '.sticky-top';\n-\n- class ScrollBarHelper {\n- constructor() {\n- this._element = document.body;\n- }\n-\n- getWidth() {\n- // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n- const documentWidth = document.documentElement.clientWidth;\n- return Math.abs(window.innerWidth - documentWidth);\n- }\n-\n- hide() {\n- const width = this.getWidth();\n-\n- this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n-\n-\n- this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n-\n-\n- this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);\n-\n- this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);\n- }\n-\n- _disableOverFlow() {\n- this._saveInitialAttribute(this._element, 'overflow');\n-\n- this._element.style.overflow = 'hidden';\n- }\n-\n- _setElementAttributes(selector, styleProp, callback) {\n- const scrollbarWidth = this.getWidth();\n-\n- const manipulationCallBack = element => {\n- if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n- return;\n- }\n-\n- this._saveInitialAttribute(element, styleProp);\n-\n- const calculatedValue = window.getComputedStyle(element)[styleProp];\n- element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;\n- };\n-\n- this._applyManipulationCallback(selector, manipulationCallBack);\n- }\n-\n- reset() {\n- this._resetElementAttributes(this._element, 'overflow');\n-\n- this._resetElementAttributes(this._element, 'paddingRight');\n-\n- this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');\n-\n- this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');\n- }\n-\n- _saveInitialAttribute(element, styleProp) {\n- const actualValue = element.style[styleProp];\n-\n- if (actualValue) {\n- Manipulator__default.default.setDataAttribute(element, styleProp, actualValue);\n- }\n- }\n-\n- _resetElementAttributes(selector, styleProp) {\n- const manipulationCallBack = element => {\n- const value = Manipulator__default.default.getDataAttribute(element, styleProp);\n-\n- if (typeof value === 'undefined') {\n- element.style.removeProperty(styleProp);\n- } else {\n- Manipulator__default.default.removeDataAttribute(element, styleProp);\n- element.style[styleProp] = value;\n- }\n- };\n-\n- this._applyManipulationCallback(selector, manipulationCallBack);\n- }\n-\n- _applyManipulationCallback(selector, callBack) {\n- if (isElement(selector)) {\n- callBack(selector);\n- } else {\n- SelectorEngine__default.default.find(selector, this._element).forEach(callBack);\n- }\n- }\n-\n- isOverflowing() {\n- return this.getWidth() > 0;\n- }\n-\n- }\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/backdrop.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const Default$2 = {\n- className: 'modal-backdrop',\n- isVisible: true,\n- // if false, we use the backdrop helper without adding any element to the dom\n- isAnimated: false,\n- rootElement: 'body',\n- // give the choice to place backdrop under different elements\n- clickCallback: null\n- };\n- const DefaultType$2 = {\n- className: 'string',\n- isVisible: 'boolean',\n- isAnimated: 'boolean',\n- rootElement: '(element|string)',\n- clickCallback: '(function|null)'\n- };\n- const NAME$2 = 'backdrop';\n- const CLASS_NAME_FADE = 'fade';\n- const CLASS_NAME_SHOW$1 = 'show';\n- const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$2}`;\n-\n- class Backdrop {\n- constructor(config) {\n- this._config = this._getConfig(config);\n- this._isAppended = false;\n- this._element = null;\n- }\n-\n- show(callback) {\n- if (!this._config.isVisible) {\n- execute(callback);\n- return;\n- }\n-\n- this._append();\n-\n- if (this._config.isAnimated) {\n- reflow(this._getElement());\n- }\n-\n- this._getElement().classList.add(CLASS_NAME_SHOW$1);\n-\n- this._emulateAnimation(() => {\n- execute(callback);\n- });\n- }\n-\n- hide(callback) {\n- if (!this._config.isVisible) {\n- execute(callback);\n- return;\n- }\n-\n- this._getElement().classList.remove(CLASS_NAME_SHOW$1);\n-\n- this._emulateAnimation(() => {\n- this.dispose();\n- execute(callback);\n- });\n- } // Private\n-\n-\n- _getElement() {\n- if (!this._element) {\n- const backdrop = document.createElement('div');\n- backdrop.className = this._config.className;\n-\n- if (this._config.isAnimated) {\n- backdrop.classList.add(CLASS_NAME_FADE);\n- }\n-\n- this._element = backdrop;\n- }\n-\n- return this._element;\n- }\n-\n- _getConfig(config) {\n- config = { ...Default$2,\n- ...(typeof config === 'object' ? config : {})\n- }; // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n-\n- config.rootElement = getElement(config.rootElement);\n- typeCheckConfig(NAME$2, config, DefaultType$2);\n- return config;\n- }\n-\n- _append() {\n- if (this._isAppended) {\n- return;\n- }\n-\n- this._config.rootElement.append(this._getElement());\n-\n- EventHandler__default.default.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n- execute(this._config.clickCallback);\n- });\n- this._isAppended = true;\n- }\n-\n- dispose() {\n- if (!this._isAppended) {\n- return;\n- }\n-\n- EventHandler__default.default.off(this._element, EVENT_MOUSEDOWN);\n-\n- this._element.remove();\n-\n- this._isAppended = false;\n- }\n-\n- _emulateAnimation(callback) {\n- executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n- }\n-\n- }\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/focustrap.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n- const Default$1 = {\n- trapElement: null,\n- // The element to trap focus inside of\n- autofocus: true\n- };\n- const DefaultType$1 = {\n- trapElement: 'element',\n- autofocus: 'boolean'\n- };\n- const NAME$1 = 'focustrap';\n- const DATA_KEY$1 = 'bs.focustrap';\n- const EVENT_KEY$1 = `.${DATA_KEY$1}`;\n- const EVENT_FOCUSIN = `focusin${EVENT_KEY$1}`;\n- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$1}`;\n- const TAB_KEY = 'Tab';\n- const TAB_NAV_FORWARD = 'forward';\n- const TAB_NAV_BACKWARD = 'backward';\n-\n- class FocusTrap {\n- constructor(config) {\n- this._config = this._getConfig(config);\n- this._isActive = false;\n- this._lastTabNavDirection = null;\n- }\n-\n- activate() {\n- const {\n- trapElement,\n- autofocus\n- } = this._config;\n-\n- if (this._isActive) {\n- return;\n- }\n-\n- if (autofocus) {\n- trapElement.focus();\n- }\n-\n- EventHandler__default.default.off(document, EVENT_KEY$1); // guard against infinite focus loop\n-\n- EventHandler__default.default.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event));\n- EventHandler__default.default.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n- this._isActive = true;\n- }\n-\n- deactivate() {\n- if (!this._isActive) {\n- return;\n- }\n-\n- this._isActive = false;\n- EventHandler__default.default.off(document, EVENT_KEY$1);\n- } // Private\n-\n-\n- _handleFocusin(event) {\n- const {\n- target\n- } = event;\n- const {\n- trapElement\n- } = this._config;\n-\n- if (target === document || target === trapElement || trapElement.contains(target)) {\n- return;\n- }\n-\n- const elements = SelectorEngine__default.default.focusableChildren(trapElement);\n-\n- if (elements.length === 0) {\n- trapElement.focus();\n- } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n- elements[elements.length - 1].focus();\n- } else {\n- elements[0].focus();\n- }\n- }\n-\n- _handleKeydown(event) {\n- if (event.key !== TAB_KEY) {\n- return;\n- }\n-\n- this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n- }\n-\n- _getConfig(config) {\n- config = { ...Default$1,\n- ...(typeof config === 'object' ? config : {})\n- };\n- typeCheckConfig(NAME$1, config, DefaultType$1);\n- return config;\n- }\n-\n- }\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/component-functions.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n-\n- const enableDismissTrigger = (component, method = 'hide') => {\n- const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n- const name = component.NAME;\n- EventHandler__default.default.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n- if (['A', 'AREA'].includes(this.tagName)) {\n- event.preventDefault();\n- }\n-\n- if (isDisabled(this)) {\n- return;\n- }\n-\n- const target = getElementFromSelector(this) || this.closest(`.${name}`);\n- const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n-\n- instance[method]();\n- });\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): offcanvas.js\n+ * Bootstrap (v5.2.0-beta1): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'offcanvas';\n@@ -628,36 +39,37 @@\n const DATA_API_KEY = '.data-api';\n const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\n const ESCAPE_KEY = 'Escape';\n- const Default = {\n- backdrop: true,\n- keyboard: true,\n- scroll: false\n- };\n- const DefaultType = {\n- backdrop: 'boolean',\n- keyboard: 'boolean',\n- scroll: 'boolean'\n- };\n const CLASS_NAME_SHOW = 'show';\n+ const CLASS_NAME_SHOWING = 'showing';\n+ const CLASS_NAME_HIDING = 'hiding';\n const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\n const OPEN_SELECTOR = '.offcanvas.show';\n const EVENT_SHOW = `show${EVENT_KEY}`;\n const EVENT_SHOWN = `shown${EVENT_KEY}`;\n const EVENT_HIDE = `hide${EVENT_KEY}`;\n+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;\n const EVENT_HIDDEN = `hidden${EVENT_KEY}`;\n+ const EVENT_RESIZE = `resize${EVENT_KEY}`;\n const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\n const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\n const SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]';\n+ const Default = {\n+ backdrop: true,\n+ keyboard: true,\n+ scroll: false\n+ };\n+ const DefaultType = {\n+ backdrop: '(boolean|string)',\n+ keyboard: 'boolean',\n+ scroll: 'boolean'\n+ };\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Offcanvas extends BaseComponent__default.default {\n constructor(element, config) {\n- super(element);\n- this._config = this._getConfig(config);\n+ super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n@@ -666,12 +78,16 @@\n } // Getters\n \n \n- static get NAME() {\n- return NAME;\n- }\n-\n static get Default() {\n return Default;\n+ }\n+\n+ static get DefaultType() {\n+ return DefaultType;\n+ }\n+\n+ static get NAME() {\n+ return NAME;\n } // Public\n \n \n@@ -693,27 +109,28 @@\n }\n \n this._isShown = true;\n- this._element.style.visibility = 'visible';\n \n this._backdrop.show();\n \n if (!this._config.scroll) {\n- new ScrollBarHelper().hide();\n+ new ScrollBarHelper__default.default().hide();\n }\n \n- this._element.removeAttribute('aria-hidden');\n-\n this._element.setAttribute('aria-modal', true);\n \n this._element.setAttribute('role', 'dialog');\n \n- this._element.classList.add(CLASS_NAME_SHOW);\n+ this._element.classList.add(CLASS_NAME_SHOWING);\n \n const completeCallBack = () => {\n if (!this._config.scroll) {\n this._focustrap.activate();\n }\n \n+ this._element.classList.add(CLASS_NAME_SHOW);\n+\n+ this._element.classList.remove(CLASS_NAME_SHOWING);\n+\n EventHandler__default.default.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n });\n@@ -739,21 +156,19 @@\n \n this._isShown = false;\n \n- this._element.classList.remove(CLASS_NAME_SHOW);\n+ this._element.classList.add(CLASS_NAME_HIDING);\n \n this._backdrop.hide();\n \n const completeCallback = () => {\n- this._element.setAttribute('aria-hidden', true);\n+ this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING);\n \n this._element.removeAttribute('aria-modal');\n \n this._element.removeAttribute('role');\n \n- this._element.style.visibility = 'hidden';\n-\n if (!this._config.scroll) {\n- new ScrollBarHelper().reset();\n+ new ScrollBarHelper__default.default().reset();\n }\n \n EventHandler__default.default.trigger(this._element, EVENT_HIDDEN);\n@@ -771,36 +186,45 @@\n } // Private\n \n \n- _getConfig(config) {\n- config = { ...Default,\n- ...Manipulator__default.default.getDataAttributes(this._element),\n- ...(typeof config === 'object' ? config : {})\n- };\n- typeCheckConfig(NAME, config, DefaultType);\n- return config;\n- }\n-\n _initializeBackDrop() {\n- return new Backdrop({\n+ const clickCallback = () => {\n+ if (this._config.backdrop === 'static') {\n+ EventHandler__default.default.trigger(this._element, EVENT_HIDE_PREVENTED);\n+ return;\n+ }\n+\n+ this.hide();\n+ }; // 'static' option will be translated to true, and booleans will keep their value\n+\n+\n+ const isVisible = Boolean(this._config.backdrop);\n+ return new Backdrop__default.default({\n className: CLASS_NAME_BACKDROP,\n- isVisible: this._config.backdrop,\n+ isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n- clickCallback: () => this.hide()\n+ clickCallback: isVisible ? clickCallback : null\n });\n }\n \n _initializeFocusTrap() {\n- return new FocusTrap({\n+ return new FocusTrap__default.default({\n trapElement: this._element\n });\n }\n \n _addEventListeners() {\n EventHandler__default.default.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n- if (this._config.keyboard && event.key === ESCAPE_KEY) {\n- this.hide();\n+ if (event.key !== ESCAPE_KEY) {\n+ return;\n }\n+\n+ if (!this._config.keyboard) {\n+ EventHandler__default.default.trigger(this._element, EVENT_HIDE_PREVENTED);\n+ return;\n+ }\n+\n+ this.hide();\n });\n } // Static\n \n@@ -823,48 +247,55 @@\n \n }\n /**\n- * ------------------------------------------------------------------------\n- * Data Api implementation\n- * ------------------------------------------------------------------------\n+ * Data API implementation\n */\n \n \n EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n- const target = getElementFromSelector(this);\n+ const target = index.getElementFromSelector(this);\n \n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n \n- if (isDisabled(this)) {\n+ if (index.isDisabled(this)) {\n return;\n }\n \n EventHandler__default.default.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n- if (isVisible(this)) {\n+ if (index.isVisible(this)) {\n this.focus();\n }\n }); // avoid conflict when clicking a toggler of an offcanvas, while another is open\n \n- const allReadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR);\n+ const alreadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR);\n \n- if (allReadyOpen && allReadyOpen !== target) {\n- Offcanvas.getInstance(allReadyOpen).hide();\n+ if (alreadyOpen && alreadyOpen !== target) {\n+ Offcanvas.getInstance(alreadyOpen).hide();\n }\n \n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n });\n- EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => SelectorEngine__default.default.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show()));\n- enableDismissTrigger(Offcanvas);\n+ EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {\n+ for (const selector of SelectorEngine__default.default.find(OPEN_SELECTOR)) {\n+ Offcanvas.getOrCreateInstance(selector).show();\n+ }\n+ });\n+ EventHandler__default.default.on(window, EVENT_RESIZE, () => {\n+ for (const element of SelectorEngine__default.default.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n+ if (getComputedStyle(element).position !== 'fixed') {\n+ Offcanvas.getOrCreateInstance(element).hide();\n+ }\n+ }\n+ });\n+ componentFunctions.enableDismissTrigger(Offcanvas);\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n */\n \n- defineJQueryPlugin(Offcanvas);\n+ index.defineJQueryPlugin(Offcanvas);\n \n return Offcanvas;\n "},{"sha":"8fede2500af7342a2873855d3087937c26dfa13d","filename":"js/dist/offcanvas.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Foffcanvas.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Foffcanvas.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Foffcanvas.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"offcanvas.js\",\"sources\":[\"../src/util/index.js\",\"../src/util/scrollbar.js\",\"../src/util/backdrop.js\",\"../src/util/focustrap.js\",\"../src/util/component-functions.js\",\"../src/offcanvas.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/scrollBar.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport SelectorEngine from '../dom/selector-engine'\\nimport Manipulator from '../dom/manipulator'\\nimport { isElement } from './index'\\n\\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\\n\\nclass ScrollBarHelper {\\n constructor() {\\n this._element = document.body\\n }\\n\\n getWidth() {\\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\\n const documentWidth = document.documentElement.clientWidth\\n return Math.abs(window.innerWidth - documentWidth)\\n }\\n\\n hide() {\\n const width = this.getWidth()\\n this._disableOverFlow()\\n // give padding to element to balance the hidden scrollbar width\\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\\n }\\n\\n _disableOverFlow() {\\n this._saveInitialAttribute(this._element, 'overflow')\\n this._element.style.overflow = 'hidden'\\n }\\n\\n _setElementAttributes(selector, styleProp, callback) {\\n const scrollbarWidth = this.getWidth()\\n const manipulationCallBack = element => {\\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\\n return\\n }\\n\\n this._saveInitialAttribute(element, styleProp)\\n const calculatedValue = window.getComputedStyle(element)[styleProp]\\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\\n }\\n\\n this._applyManipulationCallback(selector, manipulationCallBack)\\n }\\n\\n reset() {\\n this._resetElementAttributes(this._element, 'overflow')\\n this._resetElementAttributes(this._element, 'paddingRight')\\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\\n }\\n\\n _saveInitialAttribute(element, styleProp) {\\n const actualValue = element.style[styleProp]\\n if (actualValue) {\\n Manipulator.setDataAttribute(element, styleProp, actualValue)\\n }\\n }\\n\\n _resetElementAttributes(selector, styleProp) {\\n const manipulationCallBack = element => {\\n const value = Manipulator.getDataAttribute(element, styleProp)\\n if (typeof value === 'undefined') {\\n element.style.removeProperty(styleProp)\\n } else {\\n Manipulator.removeDataAttribute(element, styleProp)\\n element.style[styleProp] = value\\n }\\n }\\n\\n this._applyManipulationCallback(selector, manipulationCallBack)\\n }\\n\\n _applyManipulationCallback(selector, callBack) {\\n if (isElement(selector)) {\\n callBack(selector)\\n } else {\\n SelectorEngine.find(selector, this._element).forEach(callBack)\\n }\\n }\\n\\n isOverflowing() {\\n return this.getWidth() > 0\\n }\\n}\\n\\nexport default ScrollBarHelper\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/backdrop.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport EventHandler from '../dom/event-handler'\\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\\n\\nconst Default = {\\n className: 'modal-backdrop',\\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\\n isAnimated: false,\\n rootElement: 'body', // give the choice to place backdrop under different elements\\n clickCallback: null\\n}\\n\\nconst DefaultType = {\\n className: 'string',\\n isVisible: 'boolean',\\n isAnimated: 'boolean',\\n rootElement: '(element|string)',\\n clickCallback: '(function|null)'\\n}\\nconst NAME = 'backdrop'\\nconst CLASS_NAME_FADE = 'fade'\\nconst CLASS_NAME_SHOW = 'show'\\n\\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\\n\\nclass Backdrop {\\n constructor(config) {\\n this._config = this._getConfig(config)\\n this._isAppended = false\\n this._element = null\\n }\\n\\n show(callback) {\\n if (!this._config.isVisible) {\\n execute(callback)\\n return\\n }\\n\\n this._append()\\n\\n if (this._config.isAnimated) {\\n reflow(this._getElement())\\n }\\n\\n this._getElement().classList.add(CLASS_NAME_SHOW)\\n\\n this._emulateAnimation(() => {\\n execute(callback)\\n })\\n }\\n\\n hide(callback) {\\n if (!this._config.isVisible) {\\n execute(callback)\\n return\\n }\\n\\n this._getElement().classList.remove(CLASS_NAME_SHOW)\\n\\n this._emulateAnimation(() => {\\n this.dispose()\\n execute(callback)\\n })\\n }\\n\\n // Private\\n\\n _getElement() {\\n if (!this._element) {\\n const backdrop = document.createElement('div')\\n backdrop.className = this._config.className\\n if (this._config.isAnimated) {\\n backdrop.classList.add(CLASS_NAME_FADE)\\n }\\n\\n this._element = backdrop\\n }\\n\\n return this._element\\n }\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...(typeof config === 'object' ? config : {})\\n }\\n\\n // use getElement() with the default \\\"body\\\" to get a fresh Element on each instantiation\\n config.rootElement = getElement(config.rootElement)\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n\\n _append() {\\n if (this._isAppended) {\\n return\\n }\\n\\n this._config.rootElement.append(this._getElement())\\n\\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\\n execute(this._config.clickCallback)\\n })\\n\\n this._isAppended = true\\n }\\n\\n dispose() {\\n if (!this._isAppended) {\\n return\\n }\\n\\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\\n\\n this._element.remove()\\n this._isAppended = false\\n }\\n\\n _emulateAnimation(callback) {\\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\\n }\\n}\\n\\nexport default Backdrop\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/focustrap.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport EventHandler from '../dom/event-handler'\\nimport SelectorEngine from '../dom/selector-engine'\\nimport { typeCheckConfig } from './index'\\n\\nconst Default = {\\n trapElement: null, // The element to trap focus inside of\\n autofocus: true\\n}\\n\\nconst DefaultType = {\\n trapElement: 'element',\\n autofocus: 'boolean'\\n}\\n\\nconst NAME = 'focustrap'\\nconst DATA_KEY = 'bs.focustrap'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\\n\\nconst TAB_KEY = 'Tab'\\nconst TAB_NAV_FORWARD = 'forward'\\nconst TAB_NAV_BACKWARD = 'backward'\\n\\nclass FocusTrap {\\n constructor(config) {\\n this._config = this._getConfig(config)\\n this._isActive = false\\n this._lastTabNavDirection = null\\n }\\n\\n activate() {\\n const { trapElement, autofocus } = this._config\\n\\n if (this._isActive) {\\n return\\n }\\n\\n if (autofocus) {\\n trapElement.focus()\\n }\\n\\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\\n\\n this._isActive = true\\n }\\n\\n deactivate() {\\n if (!this._isActive) {\\n return\\n }\\n\\n this._isActive = false\\n EventHandler.off(document, EVENT_KEY)\\n }\\n\\n // Private\\n\\n _handleFocusin(event) {\\n const { target } = event\\n const { trapElement } = this._config\\n\\n if (target === document || target === trapElement || trapElement.contains(target)) {\\n return\\n }\\n\\n const elements = SelectorEngine.focusableChildren(trapElement)\\n\\n if (elements.length === 0) {\\n trapElement.focus()\\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\\n elements[elements.length - 1].focus()\\n } else {\\n elements[0].focus()\\n }\\n }\\n\\n _handleKeydown(event) {\\n if (event.key !== TAB_KEY) {\\n return\\n }\\n\\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\\n }\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...(typeof config === 'object' ? config : {})\\n }\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n}\\n\\nexport default FocusTrap\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/component-functions.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport EventHandler from '../dom/event-handler'\\nimport { getElementFromSelector, isDisabled } from './index'\\n\\nconst enableDismissTrigger = (component, method = 'hide') => {\\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\\n const name = component.NAME\\n\\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\\\"${name}\\\"]`, function (event) {\\n if (['A', 'AREA'].includes(this.tagName)) {\\n event.preventDefault()\\n }\\n\\n if (isDisabled(this)) {\\n return\\n }\\n\\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\\n const instance = component.getOrCreateInstance(target)\\n\\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\\n instance[method]()\\n })\\n}\\n\\nexport {\\n enableDismissTrigger\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): offcanvas.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport {\\n defineJQueryPlugin,\\n getElementFromSelector,\\n isDisabled,\\n isVisible,\\n typeCheckConfig\\n} from './util/index'\\nimport ScrollBarHelper from './util/scrollbar'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\nimport SelectorEngine from './dom/selector-engine'\\nimport Manipulator from './dom/manipulator'\\nimport Backdrop from './util/backdrop'\\nimport FocusTrap from './util/focustrap'\\nimport { enableDismissTrigger } from './util/component-functions'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'offcanvas'\\nconst DATA_KEY = 'bs.offcanvas'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\\nconst ESCAPE_KEY = 'Escape'\\n\\nconst Default = {\\n backdrop: true,\\n keyboard: true,\\n scroll: false\\n}\\n\\nconst DefaultType = {\\n backdrop: 'boolean',\\n keyboard: 'boolean',\\n scroll: 'boolean'\\n}\\n\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\\nconst OPEN_SELECTOR = '.offcanvas.show'\\n\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\\n\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"offcanvas\\\"]'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\n\\nclass Offcanvas extends BaseComponent {\\n constructor(element, config) {\\n super(element)\\n\\n this._config = this._getConfig(config)\\n this._isShown = false\\n this._backdrop = this._initializeBackDrop()\\n this._focustrap = this._initializeFocusTrap()\\n this._addEventListeners()\\n }\\n\\n // Getters\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n static get Default() {\\n return Default\\n }\\n\\n // Public\\n\\n toggle(relatedTarget) {\\n return this._isShown ? this.hide() : this.show(relatedTarget)\\n }\\n\\n show(relatedTarget) {\\n if (this._isShown) {\\n return\\n }\\n\\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\\n\\n if (showEvent.defaultPrevented) {\\n return\\n }\\n\\n this._isShown = true\\n this._element.style.visibility = 'visible'\\n\\n this._backdrop.show()\\n\\n if (!this._config.scroll) {\\n new ScrollBarHelper().hide()\\n }\\n\\n this._element.removeAttribute('aria-hidden')\\n this._element.setAttribute('aria-modal', true)\\n this._element.setAttribute('role', 'dialog')\\n this._element.classList.add(CLASS_NAME_SHOW)\\n\\n const completeCallBack = () => {\\n if (!this._config.scroll) {\\n this._focustrap.activate()\\n }\\n\\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\\n }\\n\\n this._queueCallback(completeCallBack, this._element, true)\\n }\\n\\n hide() {\\n if (!this._isShown) {\\n return\\n }\\n\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\\n\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n this._focustrap.deactivate()\\n this._element.blur()\\n this._isShown = false\\n this._element.classList.remove(CLASS_NAME_SHOW)\\n this._backdrop.hide()\\n\\n const completeCallback = () => {\\n this._element.setAttribute('aria-hidden', true)\\n this._element.removeAttribute('aria-modal')\\n this._element.removeAttribute('role')\\n this._element.style.visibility = 'hidden'\\n\\n if (!this._config.scroll) {\\n new ScrollBarHelper().reset()\\n }\\n\\n EventHandler.trigger(this._element, EVENT_HIDDEN)\\n }\\n\\n this._queueCallback(completeCallback, this._element, true)\\n }\\n\\n dispose() {\\n this._backdrop.dispose()\\n this._focustrap.deactivate()\\n super.dispose()\\n }\\n\\n // Private\\n\\n _getConfig(config) {\\n config = {\\n ...Default,\\n ...Manipulator.getDataAttributes(this._element),\\n ...(typeof config === 'object' ? config : {})\\n }\\n typeCheckConfig(NAME, config, DefaultType)\\n return config\\n }\\n\\n _initializeBackDrop() {\\n return new Backdrop({\\n className: CLASS_NAME_BACKDROP,\\n isVisible: this._config.backdrop,\\n isAnimated: true,\\n rootElement: this._element.parentNode,\\n clickCallback: () => this.hide()\\n })\\n }\\n\\n _initializeFocusTrap() {\\n return new FocusTrap({\\n trapElement: this._element\\n })\\n }\\n\\n _addEventListeners() {\\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\\n this.hide()\\n }\\n })\\n }\\n\\n // Static\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Offcanvas.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config](this)\\n })\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Data Api implementation\\n * ------------------------------------------------------------------------\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n const target = getElementFromSelector(this)\\n\\n if (['A', 'AREA'].includes(this.tagName)) {\\n event.preventDefault()\\n }\\n\\n if (isDisabled(this)) {\\n return\\n }\\n\\n EventHandler.one(target, EVENT_HIDDEN, () => {\\n // focus on trigger when it is closed\\n if (isVisible(this)) {\\n this.focus()\\n }\\n })\\n\\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\\n if (allReadyOpen && allReadyOpen !== target) {\\n Offcanvas.getInstance(allReadyOpen).hide()\\n }\\n\\n const data = Offcanvas.getOrCreateInstance(target)\\n data.toggle(this)\\n})\\n\\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())\\n)\\n\\nenableDismissTrigger(Offcanvas)\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n */\\n\\ndefineJQueryPlugin(Offcanvas)\\n\\nexport default Offcanvas\\n\"],\"names\":[\"MILLISECONDS_MULTIPLIER\",\"TRANSITION_END\",\"toType\",\"obj\",\"undefined\",\"toString\",\"call\",\"match\",\"toLowerCase\",\"getSelector\",\"element\",\"selector\",\"getAttribute\",\"hrefAttr\",\"includes\",\"startsWith\",\"split\",\"trim\",\"getElementFromSelector\",\"document\",\"querySelector\",\"getTransitionDurationFromElement\",\"transitionDuration\",\"transitionDelay\",\"window\",\"getComputedStyle\",\"floatTransitionDuration\",\"Number\",\"parseFloat\",\"floatTransitionDelay\",\"triggerTransitionEnd\",\"dispatchEvent\",\"Event\",\"isElement\",\"jquery\",\"nodeType\",\"getElement\",\"length\",\"typeCheckConfig\",\"componentName\",\"config\",\"configTypes\",\"Object\",\"keys\",\"forEach\",\"property\",\"expectedTypes\",\"value\",\"valueType\",\"RegExp\",\"test\",\"TypeError\",\"toUpperCase\",\"isVisible\",\"getClientRects\",\"getPropertyValue\",\"isDisabled\",\"Node\",\"ELEMENT_NODE\",\"classList\",\"contains\",\"disabled\",\"hasAttribute\",\"reflow\",\"offsetHeight\",\"getjQuery\",\"jQuery\",\"body\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"addEventListener\",\"push\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"execute\",\"executeAfterTransition\",\"transitionElement\",\"waitForTransition\",\"durationPadding\",\"emulatedDuration\",\"called\",\"handler\",\"target\",\"removeEventListener\",\"setTimeout\",\"SELECTOR_FIXED_CONTENT\",\"SELECTOR_STICKY_CONTENT\",\"ScrollBarHelper\",\"constructor\",\"_element\",\"getWidth\",\"documentWidth\",\"documentElement\",\"clientWidth\",\"Math\",\"abs\",\"innerWidth\",\"hide\",\"width\",\"_disableOverFlow\",\"_setElementAttributes\",\"calculatedValue\",\"_saveInitialAttribute\",\"style\",\"overflow\",\"styleProp\",\"scrollbarWidth\",\"manipulationCallBack\",\"_applyManipulationCallback\",\"reset\",\"_resetElementAttributes\",\"actualValue\",\"Manipulator\",\"setDataAttribute\",\"getDataAttribute\",\"removeProperty\",\"removeDataAttribute\",\"callBack\",\"SelectorEngine\",\"find\",\"isOverflowing\",\"Default\",\"className\",\"isAnimated\",\"rootElement\",\"clickCallback\",\"DefaultType\",\"CLASS_NAME_FADE\",\"CLASS_NAME_SHOW\",\"EVENT_MOUSEDOWN\",\"Backdrop\",\"_config\",\"_getConfig\",\"_isAppended\",\"show\",\"_append\",\"_getElement\",\"add\",\"_emulateAnimation\",\"remove\",\"dispose\",\"backdrop\",\"createElement\",\"append\",\"EventHandler\",\"on\",\"off\",\"trapElement\",\"autofocus\",\"DATA_KEY\",\"EVENT_KEY\",\"EVENT_FOCUSIN\",\"EVENT_KEYDOWN_TAB\",\"TAB_KEY\",\"TAB_NAV_FORWARD\",\"TAB_NAV_BACKWARD\",\"FocusTrap\",\"_isActive\",\"_lastTabNavDirection\",\"activate\",\"focus\",\"event\",\"_handleFocusin\",\"_handleKeydown\",\"deactivate\",\"elements\",\"focusableChildren\",\"key\",\"shiftKey\",\"enableDismissTrigger\",\"component\",\"method\",\"clickEvent\",\"tagName\",\"preventDefault\",\"closest\",\"instance\",\"getOrCreateInstance\",\"DATA_API_KEY\",\"EVENT_LOAD_DATA_API\",\"ESCAPE_KEY\",\"keyboard\",\"scroll\",\"CLASS_NAME_BACKDROP\",\"OPEN_SELECTOR\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_HIDE\",\"EVENT_HIDDEN\",\"EVENT_CLICK_DATA_API\",\"EVENT_KEYDOWN_DISMISS\",\"SELECTOR_DATA_TOGGLE\",\"Offcanvas\",\"BaseComponent\",\"_isShown\",\"_backdrop\",\"_initializeBackDrop\",\"_focustrap\",\"_initializeFocusTrap\",\"_addEventListeners\",\"toggle\",\"relatedTarget\",\"showEvent\",\"trigger\",\"defaultPrevented\",\"visibility\",\"removeAttribute\",\"setAttribute\",\"completeCallBack\",\"_queueCallback\",\"hideEvent\",\"blur\",\"completeCallback\",\"getDataAttributes\",\"parentNode\",\"each\",\"data\",\"one\",\"allReadyOpen\",\"findOne\",\"getInstance\",\"el\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"offcanvas.js\",\"sources\":[\"../src/offcanvas.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): offcanvas.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport {\\n defineJQueryPlugin,\\n getElementFromSelector,\\n isDisabled,\\n isVisible\\n} from './util/index'\\nimport ScrollBarHelper from './util/scrollbar'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\nimport SelectorEngine from './dom/selector-engine'\\nimport Backdrop from './util/backdrop'\\nimport FocusTrap from './util/focustrap'\\nimport { enableDismissTrigger } from './util/component-functions'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'offcanvas'\\nconst DATA_KEY = 'bs.offcanvas'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\\nconst ESCAPE_KEY = 'Escape'\\n\\nconst CLASS_NAME_SHOW = 'show'\\nconst CLASS_NAME_SHOWING = 'showing'\\nconst CLASS_NAME_HIDING = 'hiding'\\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\\nconst OPEN_SELECTOR = '.offcanvas.show'\\n\\nconst EVENT_SHOW = `show${EVENT_KEY}`\\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\\nconst EVENT_HIDE = `hide${EVENT_KEY}`\\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\\n\\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\\\"offcanvas\\\"]'\\n\\nconst Default = {\\n backdrop: true,\\n keyboard: true,\\n scroll: false\\n}\\n\\nconst DefaultType = {\\n backdrop: '(boolean|string)',\\n keyboard: 'boolean',\\n scroll: 'boolean'\\n}\\n\\n/**\\n * Class definition\\n */\\n\\nclass Offcanvas extends BaseComponent {\\n constructor(element, config) {\\n super(element, config)\\n\\n this._isShown = false\\n this._backdrop = this._initializeBackDrop()\\n this._focustrap = this._initializeFocusTrap()\\n this._addEventListeners()\\n }\\n\\n // Getters\\n static get Default() {\\n return Default\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n toggle(relatedTarget) {\\n return this._isShown ? this.hide() : this.show(relatedTarget)\\n }\\n\\n show(relatedTarget) {\\n if (this._isShown) {\\n return\\n }\\n\\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\\n\\n if (showEvent.defaultPrevented) {\\n return\\n }\\n\\n this._isShown = true\\n this._backdrop.show()\\n\\n if (!this._config.scroll) {\\n new ScrollBarHelper().hide()\\n }\\n\\n this._element.setAttribute('aria-modal', true)\\n this._element.setAttribute('role', 'dialog')\\n this._element.classList.add(CLASS_NAME_SHOWING)\\n\\n const completeCallBack = () => {\\n if (!this._config.scroll) {\\n this._focustrap.activate()\\n }\\n\\n this._element.classList.add(CLASS_NAME_SHOW)\\n this._element.classList.remove(CLASS_NAME_SHOWING)\\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\\n }\\n\\n this._queueCallback(completeCallBack, this._element, true)\\n }\\n\\n hide() {\\n if (!this._isShown) {\\n return\\n }\\n\\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\\n\\n if (hideEvent.defaultPrevented) {\\n return\\n }\\n\\n this._focustrap.deactivate()\\n this._element.blur()\\n this._isShown = false\\n this._element.classList.add(CLASS_NAME_HIDING)\\n this._backdrop.hide()\\n\\n const completeCallback = () => {\\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\\n this._element.removeAttribute('aria-modal')\\n this._element.removeAttribute('role')\\n\\n if (!this._config.scroll) {\\n new ScrollBarHelper().reset()\\n }\\n\\n EventHandler.trigger(this._element, EVENT_HIDDEN)\\n }\\n\\n this._queueCallback(completeCallback, this._element, true)\\n }\\n\\n dispose() {\\n this._backdrop.dispose()\\n this._focustrap.deactivate()\\n super.dispose()\\n }\\n\\n // Private\\n _initializeBackDrop() {\\n const clickCallback = () => {\\n if (this._config.backdrop === 'static') {\\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\\n return\\n }\\n\\n this.hide()\\n }\\n\\n // 'static' option will be translated to true, and booleans will keep their value\\n const isVisible = Boolean(this._config.backdrop)\\n\\n return new Backdrop({\\n className: CLASS_NAME_BACKDROP,\\n isVisible,\\n isAnimated: true,\\n rootElement: this._element.parentNode,\\n clickCallback: isVisible ? clickCallback : null\\n })\\n }\\n\\n _initializeFocusTrap() {\\n return new FocusTrap({\\n trapElement: this._element\\n })\\n }\\n\\n _addEventListeners() {\\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\\n if (event.key !== ESCAPE_KEY) {\\n return\\n }\\n\\n if (!this._config.keyboard) {\\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\\n return\\n }\\n\\n this.hide()\\n })\\n }\\n\\n // Static\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Offcanvas.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config](this)\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\\n const target = getElementFromSelector(this)\\n\\n if (['A', 'AREA'].includes(this.tagName)) {\\n event.preventDefault()\\n }\\n\\n if (isDisabled(this)) {\\n return\\n }\\n\\n EventHandler.one(target, EVENT_HIDDEN, () => {\\n // focus on trigger when it is closed\\n if (isVisible(this)) {\\n this.focus()\\n }\\n })\\n\\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\\n if (alreadyOpen && alreadyOpen !== target) {\\n Offcanvas.getInstance(alreadyOpen).hide()\\n }\\n\\n const data = Offcanvas.getOrCreateInstance(target)\\n data.toggle(this)\\n})\\n\\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\\n Offcanvas.getOrCreateInstance(selector).show()\\n }\\n})\\n\\nEventHandler.on(window, EVENT_RESIZE, () => {\\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\\n if (getComputedStyle(element).position !== 'fixed') {\\n Offcanvas.getOrCreateInstance(element).hide()\\n }\\n }\\n})\\n\\nenableDismissTrigger(Offcanvas)\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Offcanvas)\\n\\nexport default Offcanvas\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"EVENT_LOAD_DATA_API\",\"ESCAPE_KEY\",\"CLASS_NAME_SHOW\",\"CLASS_NAME_SHOWING\",\"CLASS_NAME_HIDING\",\"CLASS_NAME_BACKDROP\",\"OPEN_SELECTOR\",\"EVENT_SHOW\",\"EVENT_SHOWN\",\"EVENT_HIDE\",\"EVENT_HIDE_PREVENTED\",\"EVENT_HIDDEN\",\"EVENT_RESIZE\",\"EVENT_CLICK_DATA_API\",\"EVENT_KEYDOWN_DISMISS\",\"SELECTOR_DATA_TOGGLE\",\"Default\",\"backdrop\",\"keyboard\",\"scroll\",\"DefaultType\",\"Offcanvas\",\"BaseComponent\",\"constructor\",\"element\",\"config\",\"_isShown\",\"_backdrop\",\"_initializeBackDrop\",\"_focustrap\",\"_initializeFocusTrap\",\"_addEventListeners\",\"toggle\",\"relatedTarget\",\"hide\",\"show\",\"showEvent\",\"EventHandler\",\"trigger\",\"_element\",\"defaultPrevented\",\"_config\",\"ScrollBarHelper\",\"setAttribute\",\"classList\",\"add\",\"completeCallBack\",\"activate\",\"remove\",\"_queueCallback\",\"hideEvent\",\"deactivate\",\"blur\",\"completeCallback\",\"removeAttribute\",\"reset\",\"dispose\",\"clickCallback\",\"isVisible\",\"Boolean\",\"Backdrop\",\"className\",\"isAnimated\",\"rootElement\",\"parentNode\",\"FocusTrap\",\"trapElement\",\"on\",\"event\",\"key\",\"jQueryInterface\",\"each\",\"data\",\"getOrCreateInstance\",\"undefined\",\"startsWith\",\"TypeError\",\"document\",\"target\",\"getElementFromSelector\",\"includes\",\"tagName\",\"preventDefault\",\"isDisabled\",\"one\",\"focus\",\"alreadyOpen\",\"SelectorEngine\",\"findOne\",\"getInstance\",\"window\",\"selector\",\"find\",\"getComputedStyle\",\"position\",\"enableDismissTrigger\",\"defineJQueryPlugin\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"b73d285a8f6c51b9e51b512748244ecf067d94b4","filename":"js/dist/orange-navbar.js","status":"added","additions":108,"deletions":0,"changes":108,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Forange-navbar.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Forange-navbar.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Forange-navbar.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -0,0 +1,108 @@\n+/*!\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n+ * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n+ * This a fork of Bootstrap : Initial license below\n+ * Bootstrap orange-navbar.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n+ */\n+(function (global, factory) {\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./base-component'), require('./dom/selector-engine')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component', './dom/selector-engine'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.OrangeNavbar = factory(global.Index, global.EventHandler, global.BaseComponent, global.SelectorEngine));\n+})(this, (function (index, EventHandler, BaseComponent, SelectorEngine) { 'use strict';\n+\n+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n+\n+ const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);\n+ const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);\n+ const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);\n+\n+ /**\n+ * --------------------------------------------------------------------------\n+ * Boosted (v5.2.0-beta1): orange-navbar.js\n+ * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n+ * --------------------------------------------------------------------------\n+ */\n+ /**\n+ * Constants\n+ */\n+\n+ const NAME = 'orangenavbar';\n+ const DATA_KEY = 'bs.orangenavbar';\n+ const EVENT_KEY = `.${DATA_KEY}`;\n+ const DATA_API_KEY = '.data-api';\n+ const EVENT_SCROLL_DATA_API = `scroll${EVENT_KEY}${DATA_API_KEY}`;\n+ const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\n+ const SELECTOR_STICKY_TOP = 'header.sticky-top';\n+ /**\n+ * Class definition\n+ */\n+\n+ class OrangeNavbar extends BaseComponent__default.default {\n+ // Getters\n+ static get NAME() {\n+ return NAME;\n+ } // Static\n+\n+\n+ static enableMinimizing(el) {\n+ // The minimized behaviour works only if your header has .sticky-top (fixed-top will be sticky without minimizing)\n+ const scroll = window.scrollY;\n+ const headerChildren = [...el.children];\n+ const globalHeaderChild = headerChildren.find(element => !element.classList.contains('supra'));\n+\n+ if (globalHeaderChild) {\n+ if (scroll > 0) {\n+ // Consider first element not having .supra in array is the first header\n+ globalHeaderChild.classList.add('header-minimized');\n+ } else {\n+ globalHeaderChild.classList.remove('header-minimized');\n+ }\n+ }\n+ }\n+\n+ static jQueryInterface(config) {\n+ return this.each(function () {\n+ const data = OrangeNavbar.getOrCreateInstance(this, config);\n+\n+ if (typeof config !== 'string') {\n+ return;\n+ }\n+\n+ if (typeof data[config] === 'undefined') {\n+ throw new TypeError(`No method named \"${config}\"`);\n+ }\n+\n+ data[config]();\n+ });\n+ }\n+\n+ }\n+ /**\n+ * Data API implementation\n+ */\n+\n+\n+ EventHandler__default.default.on(window, EVENT_SCROLL_DATA_API, () => {\n+ for (const el of SelectorEngine__default.default.find(SELECTOR_STICKY_TOP)) {\n+ OrangeNavbar.enableMinimizing(el);\n+ }\n+ });\n+ EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {\n+ for (const el of SelectorEngine__default.default.find(SELECTOR_STICKY_TOP)) {\n+ OrangeNavbar.enableMinimizing(el);\n+ }\n+ });\n+ /**\n+ * jQuery\n+ */\n+\n+ index.defineJQueryPlugin(OrangeNavbar);\n+\n+ return OrangeNavbar;\n+\n+}));\n+//# sourceMappingURL=orange-navbar.js.map"},{"sha":"2885d5cbc826525a1e4e151b4181a5cc47afba8e","filename":"js/dist/orange-navbar.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Forange-navbar.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Forange-navbar.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Forange-navbar.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -0,0 +1 @@\n+{\"version\":3,\"file\":\"orange-navbar.js\",\"sources\":[\"../src/orange-navbar.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Boosted (v5.2.0-beta1): orange-navbar.js\\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\nimport SelectorEngine from './dom/selector-engine'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'orangenavbar'\\nconst DATA_KEY = 'bs.orangenavbar'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\nconst EVENT_SCROLL_DATA_API = `scroll${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\\nconst SELECTOR_STICKY_TOP = 'header.sticky-top'\\n\\n/**\\n * Class definition\\n */\\n\\nclass OrangeNavbar extends BaseComponent {\\n // Getters\\n static get NAME() {\\n return NAME\\n }\\n\\n // Static\\n static enableMinimizing(el) {\\n // The minimized behaviour works only if your header has .sticky-top (fixed-top will be sticky without minimizing)\\n const scroll = window.scrollY\\n const headerChildren = [...el.children]\\n const globalHeaderChild = headerChildren.find(element => !element.classList.contains('supra'))\\n\\n if (globalHeaderChild) {\\n if (scroll > 0) {\\n // Consider first element not having .supra in array is the first header\\n globalHeaderChild.classList.add('header-minimized')\\n } else {\\n globalHeaderChild.classList.remove('header-minimized')\\n }\\n }\\n }\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = OrangeNavbar.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(window, EVENT_SCROLL_DATA_API, () => {\\n for (const el of SelectorEngine.find(SELECTOR_STICKY_TOP)) {\\n OrangeNavbar.enableMinimizing(el)\\n }\\n})\\n\\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\\n for (const el of SelectorEngine.find(SELECTOR_STICKY_TOP)) {\\n OrangeNavbar.enableMinimizing(el)\\n }\\n})\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(OrangeNavbar)\\n\\nexport default OrangeNavbar\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"EVENT_SCROLL_DATA_API\",\"EVENT_LOAD_DATA_API\",\"SELECTOR_STICKY_TOP\",\"OrangeNavbar\",\"BaseComponent\",\"enableMinimizing\",\"el\",\"scroll\",\"window\",\"scrollY\",\"headerChildren\",\"children\",\"globalHeaderChild\",\"find\",\"element\",\"classList\",\"contains\",\"add\",\"remove\",\"jQueryInterface\",\"config\",\"each\",\"data\",\"getOrCreateInstance\",\"TypeError\",\"EventHandler\",\"on\",\"SelectorEngine\",\"defineJQueryPlugin\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"2ebe8cc9805ea86d6cffd8dee1fab73000ad75be","filename":"js/dist/popover.js","status":"modified","additions":35,"deletions":117,"changes":152,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fpopover.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fpopover.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fpopover.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1,94 +1,36 @@\n /*!\n- * Boosted v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2015-2021 The Boosted Authors\n- * Copyright 2015-2021 Orange\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n * This a fork of Bootstrap : Initial license below\n- * Bootstrap popover.js v5.1.3 (https://boosted.orange.com/)\n- * Copyright 2011-2021 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Bootstrap popover.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n (function (global, factory) {\n- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./tooltip.js')) :\n- typeof define === 'function' && define.amd ? define(['./tooltip'], factory) :\n- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Tooltip));\n-})(this, (function (Tooltip) { 'use strict';\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./tooltip')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './tooltip'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Index, global.Tooltip));\n+})(this, (function (index, Tooltip) { 'use strict';\n \n const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n \n const Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);\n \n /**\n * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): util/index.js\n- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n- * --------------------------------------------------------------------------\n- */\n-\n- const getjQuery = () => {\n- const {\n- jQuery\n- } = window;\n-\n- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n- return jQuery;\n- }\n-\n- return null;\n- };\n-\n- const DOMContentLoadedCallbacks = [];\n-\n- const onDOMContentLoaded = callback => {\n- if (document.readyState === 'loading') {\n- // add listener on the first call when the document is in loading state\n- if (!DOMContentLoadedCallbacks.length) {\n- document.addEventListener('DOMContentLoaded', () => {\n- DOMContentLoadedCallbacks.forEach(callback => callback());\n- });\n- }\n-\n- DOMContentLoadedCallbacks.push(callback);\n- } else {\n- callback();\n- }\n- };\n-\n- const defineJQueryPlugin = plugin => {\n- onDOMContentLoaded(() => {\n- const $ = getjQuery();\n- /* istanbul ignore if */\n-\n- if ($) {\n- const name = plugin.NAME;\n- const JQUERY_NO_CONFLICT = $.fn[name];\n- $.fn[name] = plugin.jQueryInterface;\n- $.fn[name].Constructor = plugin;\n-\n- $.fn[name].noConflict = () => {\n- $.fn[name] = JQUERY_NO_CONFLICT;\n- return plugin.jQueryInterface;\n- };\n- }\n- });\n- };\n-\n- /**\n- * --------------------------------------------------------------------------\n- * Bootstrap (v5.1.3): popover.js\n+ * Bootstrap (v5.2.0-beta1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n- * ------------------------------------------------------------------------\n * Constants\n- * ------------------------------------------------------------------------\n */\n \n const NAME = 'popover';\n- const DATA_KEY = 'bs.popover';\n- const EVENT_KEY = `.${DATA_KEY}`;\n- const CLASS_PREFIX = 'bs-popover';\n+ const SELECTOR_TITLE = '.popover-header';\n+ const SELECTOR_CONTENT = '.popover-body';\n const Default = { ...Tooltip__default.default.Default,\n placement: 'right',\n offset: [0, 8],\n@@ -97,26 +39,10 @@\n template: ''\n };\n const DefaultType = { ...Tooltip__default.default.DefaultType,\n- content: '(string|element|function)'\n- };\n- const Event = {\n- HIDE: `hide${EVENT_KEY}`,\n- HIDDEN: `hidden${EVENT_KEY}`,\n- SHOW: `show${EVENT_KEY}`,\n- SHOWN: `shown${EVENT_KEY}`,\n- INSERTED: `inserted${EVENT_KEY}`,\n- CLICK: `click${EVENT_KEY}`,\n- FOCUSIN: `focusin${EVENT_KEY}`,\n- FOCUSOUT: `focusout${EVENT_KEY}`,\n- MOUSEENTER: `mouseenter${EVENT_KEY}`,\n- MOUSELEAVE: `mouseleave${EVENT_KEY}`\n+ content: '(null|string|element|function)'\n };\n- const SELECTOR_TITLE = '.popover-header';\n- const SELECTOR_CONTENT = '.popover-body';\n /**\n- * ------------------------------------------------------------------------\n- * Class Definition\n- * ------------------------------------------------------------------------\n+ * Class definition\n */\n \n class Popover extends Tooltip__default.default {\n@@ -125,63 +51,55 @@\n return Default;\n }\n \n- static get NAME() {\n- return NAME;\n- }\n-\n- static get Event() {\n- return Event;\n- }\n-\n static get DefaultType() {\n return DefaultType;\n- } // Overrides\n-\n-\n- isWithContent() {\n- return this.getTitle() || this._getContent();\n }\n \n- setContent(tip) {\n- this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE);\n+ static get NAME() {\n+ return NAME;\n+ } // Overrides\n \n- this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT);\n+\n+ _isWithContent() {\n+ return this._getTitle() || this._getContent();\n } // Private\n \n \n- _getContent() {\n- return this._resolvePossibleFunction(this._config.content);\n+ _getContentForTemplate() {\n+ return {\n+ [SELECTOR_TITLE]: this._getTitle(),\n+ [SELECTOR_CONTENT]: this._getContent()\n+ };\n }\n \n- _getBasicClassPrefix() {\n- return CLASS_PREFIX;\n+ _getContent() {\n+ return this._resolvePossibleFunction(this._config.content);\n } // Static\n \n \n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n \n- if (typeof config === 'string') {\n- if (typeof data[config] === 'undefined') {\n- throw new TypeError(`No method named \"${config}\"`);\n- }\n+ if (typeof config !== 'string') {\n+ return;\n+ }\n \n- data[config]();\n+ if (typeof data[config] === 'undefined') {\n+ throw new TypeError(`No method named \"${config}\"`);\n }\n+\n+ data[config]();\n });\n }\n \n }\n /**\n- * ------------------------------------------------------------------------\n * jQuery\n- * ------------------------------------------------------------------------\n- * add .Popover to jQuery only if jQuery is present\n */\n \n \n- defineJQueryPlugin(Popover);\n+ index.defineJQueryPlugin(Popover);\n \n return Popover;\n "},{"sha":"ff12de823f879c9e03a17354045e549ee95b23ce","filename":"js/dist/popover.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fpopover.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fpopover.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fpopover.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -1 +1 @@\n-{\"version\":3,\"file\":\"popover.js\",\"sources\":[\"../src/util/index.js\",\"../src/popover.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): util/index.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nconst MAX_UID = 1000000\\nconst MILLISECONDS_MULTIPLIER = 1000\\nconst TRANSITION_END = 'transitionend'\\n\\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\\nconst toType = obj => {\\n if (obj === null || obj === undefined) {\\n return `${obj}`\\n }\\n\\n return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase()\\n}\\n\\n/**\\n * --------------------------------------------------------------------------\\n * Public Util Api\\n * --------------------------------------------------------------------------\\n */\\n\\nconst getUID = prefix => {\\n do {\\n prefix += Math.floor(Math.random() * MAX_UID)\\n } while (document.getElementById(prefix))\\n\\n return prefix\\n}\\n\\nconst getSelector = element => {\\n let selector = element.getAttribute('data-bs-target')\\n\\n if (!selector || selector === '#') {\\n let hrefAttr = element.getAttribute('href')\\n\\n // The only valid content that could double as a selector are IDs or classes,\\n // so everything starting with `#` or `.`. If a \\\"real\\\" URL is used as the selector,\\n // `document.querySelector` will rightfully complain it is invalid.\\n // See https://github.com/twbs/bootstrap/issues/32273\\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\\n return null\\n }\\n\\n // Just in case some CMS puts out a full URL with the anchor appended\\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\\n hrefAttr = `#${hrefAttr.split('#')[1]}`\\n }\\n\\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\\n }\\n\\n return selector\\n}\\n\\nconst getSelectorFromElement = element => {\\n const selector = getSelector(element)\\n\\n if (selector) {\\n return document.querySelector(selector) ? selector : null\\n }\\n\\n return null\\n}\\n\\nconst getElementFromSelector = element => {\\n const selector = getSelector(element)\\n\\n return selector ? document.querySelector(selector) : null\\n}\\n\\nconst getTransitionDurationFromElement = element => {\\n if (!element) {\\n return 0\\n }\\n\\n // Get transition-duration of the element\\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\\n\\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\\n\\n // Return 0 if element or transition duration is not found\\n if (!floatTransitionDuration && !floatTransitionDelay) {\\n return 0\\n }\\n\\n // If multiple durations are defined, take the first\\n transitionDuration = transitionDuration.split(',')[0]\\n transitionDelay = transitionDelay.split(',')[0]\\n\\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\\n}\\n\\nconst triggerTransitionEnd = element => {\\n element.dispatchEvent(new Event(TRANSITION_END))\\n}\\n\\nconst isElement = obj => {\\n if (!obj || typeof obj !== 'object') {\\n return false\\n }\\n\\n if (typeof obj.jquery !== 'undefined') {\\n obj = obj[0]\\n }\\n\\n return typeof obj.nodeType !== 'undefined'\\n}\\n\\nconst getElement = obj => {\\n if (isElement(obj)) { // it's a jQuery object or a node element\\n return obj.jquery ? obj[0] : obj\\n }\\n\\n if (typeof obj === 'string' && obj.length > 0) {\\n return document.querySelector(obj)\\n }\\n\\n return null\\n}\\n\\nconst typeCheckConfig = (componentName, config, configTypes) => {\\n Object.keys(configTypes).forEach(property => {\\n const expectedTypes = configTypes[property]\\n const value = config[property]\\n const valueType = value && isElement(value) ? 'element' : toType(value)\\n\\n if (!new RegExp(expectedTypes).test(valueType)) {\\n throw new TypeError(\\n `${componentName.toUpperCase()}: Option \\\"${property}\\\" provided type \\\"${valueType}\\\" but expected type \\\"${expectedTypes}\\\".`\\n )\\n }\\n })\\n}\\n\\nconst isVisible = element => {\\n if (!isElement(element) || element.getClientRects().length === 0) {\\n return false\\n }\\n\\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\\n}\\n\\nconst isDisabled = element => {\\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\\n return true\\n }\\n\\n if (element.classList.contains('disabled')) {\\n return true\\n }\\n\\n if (typeof element.disabled !== 'undefined') {\\n return element.disabled\\n }\\n\\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\\n}\\n\\nconst findShadowRoot = element => {\\n if (!document.documentElement.attachShadow) {\\n return null\\n }\\n\\n // Can find the shadow root otherwise it'll return the document\\n if (typeof element.getRootNode === 'function') {\\n const root = element.getRootNode()\\n return root instanceof ShadowRoot ? root : null\\n }\\n\\n if (element instanceof ShadowRoot) {\\n return element\\n }\\n\\n // when we don't find a shadow root\\n if (!element.parentNode) {\\n return null\\n }\\n\\n return findShadowRoot(element.parentNode)\\n}\\n\\nconst noop = () => {}\\n\\n/**\\n * Trick to restart an element's animation\\n *\\n * @param {HTMLElement} element\\n * @return void\\n *\\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\\n */\\nconst reflow = element => {\\n // eslint-disable-next-line no-unused-expressions\\n element.offsetHeight\\n}\\n\\nconst getjQuery = () => {\\n const { jQuery } = window\\n\\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\\n return jQuery\\n }\\n\\n return null\\n}\\n\\nconst DOMContentLoadedCallbacks = []\\n\\nconst onDOMContentLoaded = callback => {\\n if (document.readyState === 'loading') {\\n // add listener on the first call when the document is in loading state\\n if (!DOMContentLoadedCallbacks.length) {\\n document.addEventListener('DOMContentLoaded', () => {\\n DOMContentLoadedCallbacks.forEach(callback => callback())\\n })\\n }\\n\\n DOMContentLoadedCallbacks.push(callback)\\n } else {\\n callback()\\n }\\n}\\n\\nconst isRTL = () => document.documentElement.dir === 'rtl'\\n\\nconst defineJQueryPlugin = plugin => {\\n onDOMContentLoaded(() => {\\n const $ = getjQuery()\\n /* istanbul ignore if */\\n if ($) {\\n const name = plugin.NAME\\n const JQUERY_NO_CONFLICT = $.fn[name]\\n $.fn[name] = plugin.jQueryInterface\\n $.fn[name].Constructor = plugin\\n $.fn[name].noConflict = () => {\\n $.fn[name] = JQUERY_NO_CONFLICT\\n return plugin.jQueryInterface\\n }\\n }\\n })\\n}\\n\\nconst execute = callback => {\\n if (typeof callback === 'function') {\\n callback()\\n }\\n}\\n\\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\\n if (!waitForTransition) {\\n execute(callback)\\n return\\n }\\n\\n const durationPadding = 5\\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\\n\\n let called = false\\n\\n const handler = ({ target }) => {\\n if (target !== transitionElement) {\\n return\\n }\\n\\n called = true\\n transitionElement.removeEventListener(TRANSITION_END, handler)\\n execute(callback)\\n }\\n\\n transitionElement.addEventListener(TRANSITION_END, handler)\\n setTimeout(() => {\\n if (!called) {\\n triggerTransitionEnd(transitionElement)\\n }\\n }, emulatedDuration)\\n}\\n\\n/**\\n * Return the previous/next element of a list.\\n *\\n * @param {array} list The list of elements\\n * @param activeElement The active element\\n * @param shouldGetNext Choose to get next or previous element\\n * @param isCycleAllowed\\n * @return {Element|elem} The proper element\\n */\\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\\n let index = list.indexOf(activeElement)\\n\\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\\n if (index === -1) {\\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\\n }\\n\\n const listLength = list.length\\n\\n index += shouldGetNext ? 1 : -1\\n\\n if (isCycleAllowed) {\\n index = (index + listLength) % listLength\\n }\\n\\n return list[Math.max(0, Math.min(index, listLength - 1))]\\n}\\n\\nexport {\\n getElement,\\n getUID,\\n getSelectorFromElement,\\n getElementFromSelector,\\n getTransitionDurationFromElement,\\n triggerTransitionEnd,\\n isElement,\\n typeCheckConfig,\\n isVisible,\\n isDisabled,\\n findShadowRoot,\\n noop,\\n getNextActiveElement,\\n reflow,\\n getjQuery,\\n onDOMContentLoaded,\\n isRTL,\\n defineJQueryPlugin,\\n execute,\\n executeAfterTransition\\n}\\n\",\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.1.3): popover.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport Tooltip from './tooltip'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Constants\\n * ------------------------------------------------------------------------\\n */\\n\\nconst NAME = 'popover'\\nconst DATA_KEY = 'bs.popover'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst CLASS_PREFIX = 'bs-popover'\\n\\nconst Default = {\\n ...Tooltip.Default,\\n placement: 'right',\\n offset: [0, 8],\\n trigger: 'click',\\n content: '',\\n template: '' +\\n '
' +\\n '' +\\n '
' +\\n '
'\\n}\\n\\nconst DefaultType = {\\n ...Tooltip.DefaultType,\\n content: '(string|element|function)'\\n}\\n\\nconst Event = {\\n HIDE: `hide${EVENT_KEY}`,\\n HIDDEN: `hidden${EVENT_KEY}`,\\n SHOW: `show${EVENT_KEY}`,\\n SHOWN: `shown${EVENT_KEY}`,\\n INSERTED: `inserted${EVENT_KEY}`,\\n CLICK: `click${EVENT_KEY}`,\\n FOCUSIN: `focusin${EVENT_KEY}`,\\n FOCUSOUT: `focusout${EVENT_KEY}`,\\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\\n}\\n\\nconst SELECTOR_TITLE = '.popover-header'\\nconst SELECTOR_CONTENT = '.popover-body'\\n\\n/**\\n * ------------------------------------------------------------------------\\n * Class Definition\\n * ------------------------------------------------------------------------\\n */\\n\\nclass Popover extends Tooltip {\\n // Getters\\n\\n static get Default() {\\n return Default\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n static get Event() {\\n return Event\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n // Overrides\\n\\n isWithContent() {\\n return this.getTitle() || this._getContent()\\n }\\n\\n setContent(tip) {\\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE)\\n this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT)\\n }\\n\\n // Private\\n\\n _getContent() {\\n return this._resolvePossibleFunction(this._config.content)\\n }\\n\\n _getBasicClassPrefix() {\\n return CLASS_PREFIX\\n }\\n\\n // Static\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Popover.getOrCreateInstance(this, config)\\n\\n if (typeof config === 'string') {\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n }\\n })\\n }\\n}\\n\\n/**\\n * ------------------------------------------------------------------------\\n * jQuery\\n * ------------------------------------------------------------------------\\n * add .Popover to jQuery only if jQuery is present\\n */\\n\\ndefineJQueryPlugin(Popover)\\n\\nexport default Popover\\n\"],\"names\":[\"getjQuery\",\"jQuery\",\"window\",\"document\",\"body\",\"hasAttribute\",\"DOMContentLoadedCallbacks\",\"onDOMContentLoaded\",\"callback\",\"readyState\",\"length\",\"addEventListener\",\"forEach\",\"push\",\"defineJQueryPlugin\",\"plugin\",\"$\",\"name\",\"NAME\",\"JQUERY_NO_CONFLICT\",\"fn\",\"jQueryInterface\",\"Constructor\",\"noConflict\",\"DATA_KEY\",\"EVENT_KEY\",\"CLASS_PREFIX\",\"Default\",\"Tooltip\",\"placement\",\"offset\",\"trigger\",\"content\",\"template\",\"DefaultType\",\"Event\",\"HIDE\",\"HIDDEN\",\"SHOW\",\"SHOWN\",\"INSERTED\",\"CLICK\",\"FOCUSIN\",\"FOCUSOUT\",\"MOUSEENTER\",\"MOUSELEAVE\",\"SELECTOR_TITLE\",\"SELECTOR_CONTENT\",\"Popover\",\"isWithContent\",\"getTitle\",\"_getContent\",\"setContent\",\"tip\",\"_sanitizeAndSetContent\",\"_resolvePossibleFunction\",\"_config\",\"_getBasicClassPrefix\",\"config\",\"each\",\"data\",\"getOrCreateInstance\",\"TypeError\"],\"mappings\":\"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\"}\n\\ No newline at end of file\n+{\"version\":3,\"file\":\"popover.js\",\"sources\":[\"../src/popover.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Bootstrap (v5.2.0-beta1): popover.js\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport Tooltip from './tooltip'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'popover'\\n\\nconst SELECTOR_TITLE = '.popover-header'\\nconst SELECTOR_CONTENT = '.popover-body'\\n\\nconst Default = {\\n ...Tooltip.Default,\\n placement: 'right',\\n offset: [0, 8],\\n trigger: 'click',\\n content: '',\\n template: '' +\\n '
' +\\n '' +\\n '
' +\\n '
'\\n}\\n\\nconst DefaultType = {\\n ...Tooltip.DefaultType,\\n content: '(null|string|element|function)'\\n}\\n\\n/**\\n * Class definition\\n */\\n\\nclass Popover extends Tooltip {\\n // Getters\\n static get Default() {\\n return Default\\n }\\n\\n static get DefaultType() {\\n return DefaultType\\n }\\n\\n static get NAME() {\\n return NAME\\n }\\n\\n // Overrides\\n _isWithContent() {\\n return this._getTitle() || this._getContent()\\n }\\n\\n // Private\\n _getContentForTemplate() {\\n return {\\n [SELECTOR_TITLE]: this._getTitle(),\\n [SELECTOR_CONTENT]: this._getContent()\\n }\\n }\\n\\n _getContent() {\\n return this._resolvePossibleFunction(this._config.content)\\n }\\n\\n // Static\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = Popover.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n })\\n }\\n}\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(Popover)\\n\\nexport default Popover\\n\"],\"names\":[\"NAME\",\"SELECTOR_TITLE\",\"SELECTOR_CONTENT\",\"Default\",\"Tooltip\",\"placement\",\"offset\",\"trigger\",\"content\",\"template\",\"DefaultType\",\"Popover\",\"_isWithContent\",\"_getTitle\",\"_getContent\",\"_getContentForTemplate\",\"_resolvePossibleFunction\",\"_config\",\"jQueryInterface\",\"config\",\"each\",\"data\",\"getOrCreateInstance\",\"TypeError\",\"defineJQueryPlugin\"],\"mappings\":\";;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAb,CAAA;EAEA,MAAMC,cAAc,GAAG,iBAAvB,CAAA;EACA,MAAMC,gBAAgB,GAAG,eAAzB,CAAA;EAEA,MAAMC,OAAO,GAAG,EACd,GAAGC,wBAAO,CAACD,OADG;EAEdE,EAAAA,SAAS,EAAE,OAFG;EAGdC,EAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CAHM;EAIdC,EAAAA,OAAO,EAAE,OAJK;EAKdC,EAAAA,OAAO,EAAE,EALK;EAMdC,EAAAA,QAAQ,EAAE,sCACE,GAAA,mCADF,GAEE,kCAFF,GAGE,kCAHF,GAIA,QAAA;EAVI,CAAhB,CAAA;EAaA,MAAMC,WAAW,GAAG,EAClB,GAAGN,wBAAO,CAACM,WADO;EAElBF,EAAAA,OAAO,EAAE,gCAAA;EAFS,CAApB,CAAA;EAKA;EACA;EACA;;EAEA,MAAMG,OAAN,SAAsBP,wBAAtB,CAA8B;EAC5B;EACkB,EAAA,WAAPD,OAAO,GAAG;EACnB,IAAA,OAAOA,OAAP,CAAA;EACD,GAAA;;EAEqB,EAAA,WAAXO,WAAW,GAAG;EACvB,IAAA,OAAOA,WAAP,CAAA;EACD,GAAA;;EAEc,EAAA,WAAJV,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAZ2B;;;EAe5BY,EAAAA,cAAc,GAAG;EACf,IAAA,OAAO,IAAKC,CAAAA,SAAL,EAAoB,IAAA,IAAA,CAAKC,WAAL,EAA3B,CAAA;EACD,GAjB2B;;;EAoB5BC,EAAAA,sBAAsB,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAD,GAAkB,IAAKY,CAAAA,SAAL,EADb;QAEL,CAACX,gBAAD,GAAoB,IAAA,CAAKY,WAAL,EAAA;OAFtB,CAAA;EAID,GAAA;;EAEDA,EAAAA,WAAW,GAAG;EACZ,IAAA,OAAO,KAAKE,wBAAL,CAA8B,KAAKC,OAAL,CAAaT,OAA3C,CAAP,CAAA;EACD,GA7B2B;;;IAgCN,OAAfU,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAR,CAA4B,IAA5B,EAAkCH,MAAlC,CAAb,CAAA;;EAEA,MAAA,IAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,QAAA,OAAA;EACD,OAAA;;EAED,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,QAAA,MAAM,IAAII,SAAJ,CAAe,CAAmBJ,iBAAAA,EAAAA,MAAO,GAAzC,CAAN,CAAA;EACD,OAAA;;QAEDE,IAAI,CAACF,MAAD,CAAJ,EAAA,CAAA;EACD,KAZM,CAAP,CAAA;EAaD,GAAA;;EA9C2B,CAAA;EAiD9B;EACA;EACA;;;AAEAK,0BAAkB,CAACb,OAAD,CAAlB;;;;;;;;\"}\n\\ No newline at end of file"},{"sha":"4db88f1c24364840553bcee0bedbeb02f3f45c77","filename":"js/dist/quantity-selector.js","status":"added","additions":162,"deletions":0,"changes":162,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fquantity-selector.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fquantity-selector.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fquantity-selector.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -0,0 +1,162 @@\n+/*!\n+ * Boosted v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2015-2022 The Boosted Authors\n+ * Copyright 2015-2022 Orange\n+ * Licensed under MIT (https://github.com/orange-opensource/orange-boosted-bootstrap/blob/main/LICENSE)\n+ * This a fork of Bootstrap : Initial license below\n+ * Bootstrap quantity-selector.js v5.2.0-beta1 (https://boosted.orange.com/)\n+ * Copyright 2011-2022 The Boosted Authors (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors)\n+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n+ */\n+(function (global, factory) {\n+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./base-component'), require('./dom/selector-engine')) :\n+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component', './dom/selector-engine'], factory) :\n+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.QuantitySelector = factory(global.Index, global.EventHandler, global.BaseComponent, global.SelectorEngine));\n+})(this, (function (index, EventHandler, BaseComponent, SelectorEngine) { 'use strict';\n+\n+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };\n+\n+ const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);\n+ const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);\n+ const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);\n+\n+ /**\n+ * --------------------------------------------------------------------------\n+ * Boosted (v5.2.0-beta1): quantity-selector.js\n+ * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\n+ * --------------------------------------------------------------------------\n+ */\n+ /**\n+ * Constants\n+ */\n+\n+ const NAME = 'quantityselector';\n+ const DATA_KEY = 'bs.quantityselector';\n+ const EVENT_KEY = `.${DATA_KEY}`;\n+ const DATA_API_KEY = '.data-api';\n+ const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\n+ const EVENT_CHANGE_DATA_API = `change${EVENT_KEY}${DATA_API_KEY}`;\n+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\n+ const SELECTOR_STEP_UP_BUTTON = '[data-bs-step=\"up\"]';\n+ const SELECTOR_STEP_DOWN_BUTTON = '[data-bs-step=\"down\"]';\n+ const SELECTOR_COUNTER_INPUT = '[data-bs-step=\"counter\"]';\n+ const SELECTOR_INPUT_GROUP = '.input-group';\n+ /**\n+ * Class definition\n+ */\n+\n+ class QuantitySelector extends BaseComponent__default.default {\n+ // Getters\n+ static get NAME() {\n+ return NAME;\n+ } // Public\n+\n+\n+ ValueOnLoad(element) {\n+ const counterInput = element.querySelector(SELECTOR_COUNTER_INPUT);\n+ const btnUp = element.querySelector(SELECTOR_STEP_UP_BUTTON);\n+ const btnDown = element.querySelector(SELECTOR_STEP_DOWN_BUTTON);\n+ const min = counterInput.getAttribute('min');\n+ const max = counterInput.getAttribute('max');\n+ const step = Number(counterInput.getAttribute('step'));\n+\n+ if (Number(counterInput.value) - step < min) {\n+ btnDown.setAttribute('disabled', '');\n+ }\n+\n+ if (Number(counterInput.value) + step > max) {\n+ btnUp.setAttribute('disabled', '');\n+ }\n+ } // Static\n+\n+\n+ static StepUp(event) {\n+ const parent = event.target.closest(SELECTOR_INPUT_GROUP);\n+ const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT);\n+ const max = counterInput.getAttribute('max');\n+ const step = Number(counterInput.getAttribute('step'));\n+ const round = Number(counterInput.getAttribute('data-bs-round'));\n+ const eventChange = new Event('change');\n+\n+ if (Number(counterInput.value) < max) {\n+ counterInput.value = (Number(counterInput.value) + step).toFixed(round).toString();\n+ }\n+\n+ counterInput.dispatchEvent(eventChange);\n+ }\n+\n+ static StepDown(event) {\n+ const parent = event.target.closest(SELECTOR_INPUT_GROUP);\n+ const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT);\n+ const min = counterInput.getAttribute('min');\n+ const step = Number(counterInput.getAttribute('step'));\n+ const round = Number(counterInput.getAttribute('data-bs-round'));\n+ const eventChange = new Event('change');\n+\n+ if (Number(counterInput.value) > min) {\n+ counterInput.value = (Number(counterInput.value) - step).toFixed(round).toString();\n+ }\n+\n+ counterInput.dispatchEvent(eventChange);\n+ }\n+\n+ static CheckIfDisabledOnChange(event) {\n+ const parent = event.target.closest(SELECTOR_INPUT_GROUP);\n+ const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT);\n+ const btnUp = parent.querySelector(SELECTOR_STEP_UP_BUTTON);\n+ const btnDown = parent.querySelector(SELECTOR_STEP_DOWN_BUTTON);\n+ const min = counterInput.getAttribute('min');\n+ const max = counterInput.getAttribute('max');\n+ const step = Number(counterInput.getAttribute('step'));\n+ btnUp.removeAttribute('disabled', '');\n+ btnDown.removeAttribute('disabled', '');\n+\n+ if (Number(counterInput.value) - step < min) {\n+ btnDown.setAttribute('disabled', '');\n+ }\n+\n+ if (Number(counterInput.value) + step > max) {\n+ btnUp.setAttribute('disabled', '');\n+ }\n+ }\n+\n+ static jQueryInterface(config) {\n+ return this.each(function () {\n+ const data = QuantitySelector.getOrCreateInstance(this, config);\n+\n+ if (typeof config !== 'string') {\n+ return;\n+ }\n+\n+ if (typeof data[config] === 'undefined') {\n+ throw new TypeError(`No method named \"${config}\"`);\n+ }\n+\n+ data[config]();\n+ });\n+ }\n+\n+ }\n+ /**\n+ * Data API implementation\n+ */\n+\n+\n+ EventHandler__default.default.on(document, EVENT_CHANGE_DATA_API, SELECTOR_COUNTER_INPUT, QuantitySelector.CheckIfDisabledOnChange);\n+ EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_STEP_UP_BUTTON, QuantitySelector.StepUp);\n+ EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_STEP_DOWN_BUTTON, QuantitySelector.StepDown);\n+ EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {\n+ for (const el of SelectorEngine__default.default.find(SELECTOR_INPUT_GROUP)) {\n+ QuantitySelector.getOrCreateInstance(el).ValueOnLoad(el);\n+ }\n+ });\n+ /**\n+ * jQuery\n+ */\n+\n+ index.defineJQueryPlugin(QuantitySelector);\n+\n+ return QuantitySelector;\n+\n+}));\n+//# sourceMappingURL=quantity-selector.js.map"},{"sha":"5ca8dc9a5789e8a062b32200dc8e76fba72786d0","filename":"js/dist/quantity-selector.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fquantity-selector.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fquantity-selector.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fquantity-selector.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e","patch":"@@ -0,0 +1 @@\n+{\"version\":3,\"file\":\"quantity-selector.js\",\"sources\":[\"../src/quantity-selector.js\"],\"sourcesContent\":[\"/**\\n * --------------------------------------------------------------------------\\n * Boosted (v5.2.0-beta1): quantity-selector.js\\n * Licensed under MIT (https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE)\\n * --------------------------------------------------------------------------\\n */\\n\\nimport { defineJQueryPlugin } from './util/index'\\nimport EventHandler from './dom/event-handler'\\nimport BaseComponent from './base-component'\\nimport SelectorEngine from './dom/selector-engine'\\n\\n/**\\n * Constants\\n */\\n\\nconst NAME = 'quantityselector'\\nconst DATA_KEY = 'bs.quantityselector'\\nconst EVENT_KEY = `.${DATA_KEY}`\\nconst DATA_API_KEY = '.data-api'\\n\\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_CHANGE_DATA_API = `change${EVENT_KEY}${DATA_API_KEY}`\\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\\n\\nconst SELECTOR_STEP_UP_BUTTON = '[data-bs-step=\\\"up\\\"]'\\nconst SELECTOR_STEP_DOWN_BUTTON = '[data-bs-step=\\\"down\\\"]'\\nconst SELECTOR_COUNTER_INPUT = '[data-bs-step=\\\"counter\\\"]'\\nconst SELECTOR_INPUT_GROUP = '.input-group'\\n\\n/**\\n * Class definition\\n */\\n\\nclass QuantitySelector extends BaseComponent {\\n // Getters\\n static get NAME() {\\n return NAME\\n }\\n\\n // Public\\n ValueOnLoad(element) {\\n const counterInput = element.querySelector(SELECTOR_COUNTER_INPUT)\\n const btnUp = element.querySelector(SELECTOR_STEP_UP_BUTTON)\\n const btnDown = element.querySelector(SELECTOR_STEP_DOWN_BUTTON)\\n\\n const min = counterInput.getAttribute('min')\\n const max = counterInput.getAttribute('max')\\n const step = Number(counterInput.getAttribute('step'))\\n\\n if (Number(counterInput.value) - step < min) {\\n btnDown.setAttribute('disabled', '')\\n }\\n\\n if (Number(counterInput.value) + step > max) {\\n btnUp.setAttribute('disabled', '')\\n }\\n }\\n\\n // Static\\n static StepUp(event) {\\n const parent = event.target.closest(SELECTOR_INPUT_GROUP)\\n const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT)\\n\\n const max = counterInput.getAttribute('max')\\n const step = Number(counterInput.getAttribute('step'))\\n const round = Number(counterInput.getAttribute('data-bs-round'))\\n\\n const eventChange = new Event('change')\\n\\n if (Number(counterInput.value) < max) {\\n counterInput.value = (Number(counterInput.value) + step).toFixed(round).toString()\\n }\\n\\n counterInput.dispatchEvent(eventChange)\\n }\\n\\n static StepDown(event) {\\n const parent = event.target.closest(SELECTOR_INPUT_GROUP)\\n const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT)\\n\\n const min = counterInput.getAttribute('min')\\n const step = Number(counterInput.getAttribute('step'))\\n const round = Number(counterInput.getAttribute('data-bs-round'))\\n\\n const eventChange = new Event('change')\\n\\n if (Number(counterInput.value) > min) {\\n counterInput.value = (Number(counterInput.value) - step).toFixed(round).toString()\\n }\\n\\n counterInput.dispatchEvent(eventChange)\\n }\\n\\n static CheckIfDisabledOnChange(event) {\\n const parent = event.target.closest(SELECTOR_INPUT_GROUP)\\n const counterInput = parent.querySelector(SELECTOR_COUNTER_INPUT)\\n const btnUp = parent.querySelector(SELECTOR_STEP_UP_BUTTON)\\n const btnDown = parent.querySelector(SELECTOR_STEP_DOWN_BUTTON)\\n\\n const min = counterInput.getAttribute('min')\\n const max = counterInput.getAttribute('max')\\n const step = Number(counterInput.getAttribute('step'))\\n\\n btnUp.removeAttribute('disabled', '')\\n btnDown.removeAttribute('disabled', '')\\n\\n if (Number(counterInput.value) - step < min) {\\n btnDown.setAttribute('disabled', '')\\n }\\n\\n if (Number(counterInput.value) + step > max) {\\n btnUp.setAttribute('disabled', '')\\n }\\n }\\n\\n static jQueryInterface(config) {\\n return this.each(function () {\\n const data = QuantitySelector.getOrCreateInstance(this, config)\\n\\n if (typeof config !== 'string') {\\n return\\n }\\n\\n if (typeof data[config] === 'undefined') {\\n throw new TypeError(`No method named \\\"${config}\\\"`)\\n }\\n\\n data[config]()\\n })\\n }\\n}\\n\\n/**\\n * Data API implementation\\n */\\n\\nEventHandler.on(document, EVENT_CHANGE_DATA_API, SELECTOR_COUNTER_INPUT, QuantitySelector.CheckIfDisabledOnChange)\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_STEP_UP_BUTTON, QuantitySelector.StepUp)\\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_STEP_DOWN_BUTTON, QuantitySelector.StepDown)\\n\\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\\n for (const el of SelectorEngine.find(SELECTOR_INPUT_GROUP)) {\\n QuantitySelector.getOrCreateInstance(el).ValueOnLoad(el)\\n }\\n})\\n\\n/**\\n * jQuery\\n */\\n\\ndefineJQueryPlugin(QuantitySelector)\\n\\nexport default QuantitySelector\\n\"],\"names\":[\"NAME\",\"DATA_KEY\",\"EVENT_KEY\",\"DATA_API_KEY\",\"EVENT_LOAD_DATA_API\",\"EVENT_CHANGE_DATA_API\",\"EVENT_CLICK_DATA_API\",\"SELECTOR_STEP_UP_BUTTON\",\"SELECTOR_STEP_DOWN_BUTTON\",\"SELECTOR_COUNTER_INPUT\",\"SELECTOR_INPUT_GROUP\",\"QuantitySelector\",\"BaseComponent\",\"ValueOnLoad\",\"element\",\"counterInput\",\"querySelector\",\"btnUp\",\"btnDown\",\"min\",\"getAttribute\",\"max\",\"step\",\"Number\",\"value\",\"setAttribute\",\"StepUp\",\"event\",\"parent\",\"target\",\"closest\",\"round\",\"eventChange\",\"Event\",\"toFixed\",\"toString\",\"dispatchEvent\",\"StepDown\",\"CheckIfDisabledOnChange\",\"removeAttribute\",\"jQueryInterface\",\"config\",\"each\",\"data\",\"getOrCreateInstance\",\"TypeError\",\"EventHandler\",\"on\",\"document\",\"window\",\"el\",\"SelectorEngine\",\"find\",\"defineJQueryPlugin\"],\"mappings\":\"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\"}\n\\ No newline at end of file"},{"sha":"0fda22c2cdb577ae9216ce8fb6c362d640d74392","filename":"js/dist/scrollspy.js","status":"modified","additions":0,"deletions":0,"changes":0,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fscrollspy.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fscrollspy.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fscrollspy.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"2ce022e0b651b83a9a08ea8f7321aec68c435a81","filename":"js/dist/scrollspy.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fscrollspy.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Fscrollspy.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Fscrollspy.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"4639d4cd71043a40adaa6ce7241d21d874442568","filename":"js/dist/tab.js","status":"modified","additions":230,"deletions":217,"changes":447,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftab.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftab.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Ftab.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"533e6d97e6737aedcec3438cc0b4a78c4a8eff6e","filename":"js/dist/tab.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftab.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftab.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Ftab.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"5d0c38cf193e629704e09e7b1537809876173010","filename":"js/dist/toast.js","status":"modified","additions":31,"deletions":217,"changes":248,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftoast.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftoast.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Ftoast.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"db513d2112225e48d3369543d3a71d3bfd31c3b4","filename":"js/dist/toast.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftoast.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftoast.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Ftoast.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"4c91fc2a6596d82e105c150aa67c445cd5feaab5","filename":"js/dist/tooltip.js","status":"modified","additions":266,"deletions":607,"changes":873,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftooltip.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftooltip.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Ftooltip.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"976f7dce1b68e21b9be9ad765b33072e8d916b14","filename":"js/dist/tooltip.js.map","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftooltip.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Ftooltip.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Ftooltip.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"b3e101ca02693392010a696a7f01d23d1948ca3e","filename":"js/dist/util/backdrop.js","status":"added","additions":171,"deletions":0,"changes":171,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fbackdrop.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fbackdrop.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fbackdrop.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"95ec109edd38243650570a1cf526457e9f57a5f7","filename":"js/dist/util/backdrop.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fbackdrop.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fbackdrop.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fbackdrop.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"94f1bad1de93104733c1df909510176b2e9cb26c","filename":"js/dist/util/component-functions.js","status":"added","additions":52,"deletions":0,"changes":52,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fcomponent-functions.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fcomponent-functions.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fcomponent-functions.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"8c27bf0cc45aa16d6c9ad23405ca35f795225023","filename":"js/dist/util/component-functions.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fcomponent-functions.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fcomponent-functions.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fcomponent-functions.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"18d9b099335a9ec276237753f839b7656c9f1bd4","filename":"js/dist/util/config.js","status":"added","additions":85,"deletions":0,"changes":85,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fconfig.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fconfig.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fconfig.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"346450601d097ba5aca8cbadedb93a9bf7ff4cc3","filename":"js/dist/util/config.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fconfig.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fconfig.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fconfig.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"e2990c9375e859ae9b2852e4cf217e1736ad14b9","filename":"js/dist/util/focustrap.js","status":"added","additions":135,"deletions":0,"changes":135,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ffocustrap.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ffocustrap.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Ffocustrap.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"7970701db69420f5ee321d97c0e40089b27fe28f","filename":"js/dist/util/focustrap.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ffocustrap.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ffocustrap.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Ffocustrap.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"22479808a72da5a62a0bad7a1b20d891cfcfcff5","filename":"js/dist/util/index.js","status":"added","additions":356,"deletions":0,"changes":356,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Findex.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Findex.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Findex.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"094bdaddeb4760e79d07cc58b500dcd0cbda0368","filename":"js/dist/util/index.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Findex.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Findex.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Findex.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"01d00808ea1b06750d1dfef24dfc86572c573273","filename":"js/dist/util/sanitizer.js","status":"added","additions":128,"deletions":0,"changes":128,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fsanitizer.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fsanitizer.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fsanitizer.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"d08a789d3539b10193b9bc065a8550f3dc986e49","filename":"js/dist/util/sanitizer.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fsanitizer.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fsanitizer.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fsanitizer.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"ab04bc90c4fcc0b70668705716fc72e1edcbc974","filename":"js/dist/util/scrollbar.js","status":"added","additions":144,"deletions":0,"changes":144,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fscrollbar.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fscrollbar.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fscrollbar.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"f6a36c8add2287c92f19b436b3b41797d9d4f831","filename":"js/dist/util/scrollbar.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fscrollbar.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fscrollbar.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fscrollbar.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"95fb20cb17c6fb241c3cf78b138a4519aeadb987","filename":"js/dist/util/swipe.js","status":"added","additions":161,"deletions":0,"changes":161,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fswipe.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fswipe.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fswipe.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"a97b53938f71ff7edeeff289655d8fcc42790b5a","filename":"js/dist/util/swipe.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fswipe.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Fswipe.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Fswipe.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"881a8b56b4ecc95659731aa318ee51a6d832a094","filename":"js/dist/util/template-factory.js","status":"added","additions":183,"deletions":0,"changes":183,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ftemplate-factory.js","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ftemplate-factory.js","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Ftemplate-factory.js?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"},{"sha":"8876eff510d4c3af094ad2798a0994b5cdc26785","filename":"js/dist/util/template-factory.js.map","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ftemplate-factory.js.map","raw_url":"https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/raw/578e446d5fc3a244a1a39afa5ff0cead35399b5e/js%2Fdist%2Futil%2Ftemplate-factory.js.map","contents_url":"https://api.github.com/repos/Orange-OpenSource/Orange-Boosted-Bootstrap/contents/js%2Fdist%2Futil%2Ftemplate-factory.js.map?ref=578e446d5fc3a244a1a39afa5ff0cead35399b5e"}]}