bootstrap-italia 2.12.1 → 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.EN.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/bootstrap-italia.esm.js +1 -1
  4. package/dist/css/bootstrap-italia.min.css +9 -1
  5. package/dist/css/bootstrap-italia.min.css.map +1 -1
  6. package/dist/js/bootstrap-italia.bundle.min.js +19 -23
  7. package/dist/js/bootstrap-italia.min.js +18 -2
  8. package/dist/plugins/accept-overlay.js +19 -9
  9. package/dist/plugins/accept-overlay.js.map +1 -1
  10. package/dist/plugins/accordion.js +19 -24
  11. package/dist/plugins/accordion.js.map +1 -1
  12. package/dist/plugins/alert.js +67 -2
  13. package/dist/plugins/alert.js.map +1 -1
  14. package/dist/plugins/{backToTop.js → back-to-top.js} +14 -5
  15. package/dist/plugins/back-to-top.js.map +1 -0
  16. package/dist/plugins/base-component.js +91 -0
  17. package/dist/plugins/base-component.js.map +1 -0
  18. package/dist/plugins/button.js +58 -2
  19. package/dist/plugins/button.js.map +1 -1
  20. package/dist/plugins/carousel-bi.js +19 -9
  21. package/dist/plugins/carousel-bi.js.map +1 -1
  22. package/dist/plugins/carousel.js +445 -2
  23. package/dist/plugins/carousel.js.map +1 -1
  24. package/dist/plugins/collapse.js +273 -2
  25. package/dist/plugins/collapse.js.map +1 -1
  26. package/dist/plugins/cookiebar.js +39 -52
  27. package/dist/plugins/cookiebar.js.map +1 -1
  28. package/dist/plugins/dimmer.js +19 -8
  29. package/dist/plugins/dimmer.js.map +1 -1
  30. package/dist/plugins/dom/data.js +61 -0
  31. package/dist/plugins/dom/data.js.map +1 -0
  32. package/dist/plugins/dom/event-handler.js +296 -0
  33. package/dist/plugins/dom/event-handler.js.map +1 -0
  34. package/dist/plugins/dom/manipulator.js +76 -0
  35. package/dist/plugins/dom/manipulator.js.map +1 -0
  36. package/dist/plugins/dom/selector-engine.js +82 -0
  37. package/dist/plugins/dom/selector-engine.js.map +1 -0
  38. package/dist/plugins/dropdown.js +433 -2
  39. package/dist/plugins/dropdown.js.map +1 -1
  40. package/dist/plugins/fonts-loader.js +9 -1
  41. package/dist/plugins/fonts-loader.js.map +1 -1
  42. package/dist/plugins/form-validate.js +22 -8
  43. package/dist/plugins/form-validate.js.map +1 -1
  44. package/dist/plugins/forward.js +21 -18
  45. package/dist/plugins/forward.js.map +1 -1
  46. package/dist/plugins/header-sticky.js +11 -2
  47. package/dist/plugins/header-sticky.js.map +1 -1
  48. package/dist/plugins/history-back.js +17 -17
  49. package/dist/plugins/history-back.js.map +1 -1
  50. package/dist/plugins/init.js +9 -0
  51. package/dist/plugins/init.js.map +1 -1
  52. package/dist/plugins/input-label.js +14 -3
  53. package/dist/plugins/input-label.js.map +1 -1
  54. package/dist/plugins/input-number.js +13 -4
  55. package/dist/plugins/input-number.js.map +1 -1
  56. package/dist/plugins/input-password.js +48 -37
  57. package/dist/plugins/input-password.js.map +1 -1
  58. package/dist/plugins/input-search-autocomplete.js +9 -11
  59. package/dist/plugins/input-search-autocomplete.js.map +1 -1
  60. package/dist/plugins/input.js +12 -3
  61. package/dist/plugins/input.js.map +1 -1
  62. package/dist/plugins/list.js +23 -12
  63. package/dist/plugins/list.js.map +1 -1
  64. package/dist/plugins/masonry.js +29 -29
  65. package/dist/plugins/masonry.js.map +1 -1
  66. package/dist/plugins/modal.js +358 -2
  67. package/dist/plugins/modal.js.map +1 -1
  68. package/dist/plugins/navbar-collapsible.js +55 -45
  69. package/dist/plugins/navbar-collapsible.js.map +1 -1
  70. package/dist/plugins/navscroll.js +16 -23
  71. package/dist/plugins/navscroll.js.map +1 -1
  72. package/dist/plugins/notification.js +34 -23
  73. package/dist/plugins/notification.js.map +1 -1
  74. package/dist/plugins/offcanvas.js +259 -2
  75. package/dist/plugins/offcanvas.js.map +1 -1
  76. package/dist/plugins/popover.js +76 -2
  77. package/dist/plugins/popover.js.map +1 -1
  78. package/dist/plugins/progress-donut.js +19 -12
  79. package/dist/plugins/progress-donut.js.map +1 -1
  80. package/dist/plugins/scrollspy.js +273 -2
  81. package/dist/plugins/scrollspy.js.map +1 -1
  82. package/dist/plugins/select-autocomplete.js +10 -1
  83. package/dist/plugins/select-autocomplete.js.map +1 -1
  84. package/dist/plugins/sticky.js +21 -18
  85. package/dist/plugins/sticky.js.map +1 -1
  86. package/dist/plugins/tab.js +244 -27
  87. package/dist/plugins/tab.js.map +1 -1
  88. package/dist/plugins/toast.js +203 -2
  89. package/dist/plugins/toast.js.map +1 -1
  90. package/dist/plugins/tooltip.js +602 -2
  91. package/dist/plugins/tooltip.js.map +1 -1
  92. package/dist/plugins/track-focus.js +8 -0
  93. package/dist/plugins/track-focus.js.map +1 -1
  94. package/dist/plugins/transfer.js +11 -16
  95. package/dist/plugins/transfer.js.map +1 -1
  96. package/dist/plugins/upload-dragdrop.js +13 -4
  97. package/dist/plugins/upload-dragdrop.js.map +1 -1
  98. package/dist/plugins/util/backdrop.js +155 -0
  99. package/dist/plugins/util/backdrop.js.map +1 -0
  100. package/dist/plugins/util/component-functions.js +38 -0
  101. package/dist/plugins/util/component-functions.js.map +1 -0
  102. package/dist/plugins/util/config.js +70 -0
  103. package/dist/plugins/util/config.js.map +1 -0
  104. package/dist/plugins/util/cookies.js +8 -0
  105. package/dist/plugins/util/cookies.js.map +1 -1
  106. package/dist/plugins/util/device.js +0 -3
  107. package/dist/plugins/util/device.js.map +1 -1
  108. package/dist/plugins/util/dom.js +8 -0
  109. package/dist/plugins/util/dom.js.map +1 -1
  110. package/dist/plugins/util/focustrap.js +121 -0
  111. package/dist/plugins/util/focustrap.js.map +1 -0
  112. package/dist/plugins/util/index.js +280 -0
  113. package/dist/plugins/util/index.js.map +1 -0
  114. package/dist/plugins/util/observer.js +8 -0
  115. package/dist/plugins/util/observer.js.map +1 -1
  116. package/dist/plugins/util/on-document-scroll.js +20 -9
  117. package/dist/plugins/util/on-document-scroll.js.map +1 -1
  118. package/dist/plugins/util/pageScroll.js +8 -0
  119. package/dist/plugins/util/pageScroll.js.map +1 -1
  120. package/dist/plugins/util/sanitizer.js +115 -0
  121. package/dist/plugins/util/sanitizer.js.map +1 -0
  122. package/dist/plugins/util/scrollbar.js +120 -0
  123. package/dist/plugins/util/scrollbar.js.map +1 -0
  124. package/dist/plugins/util/swipe.js +150 -0
  125. package/dist/plugins/util/swipe.js.map +1 -0
  126. package/dist/plugins/util/template-factory.js +166 -0
  127. package/dist/plugins/util/template-factory.js.map +1 -0
  128. package/dist/plugins/util/tween.js +10 -1
  129. package/dist/plugins/util/tween.js.map +1 -1
  130. package/dist/plugins/util/youtube-video.js +12 -21
  131. package/dist/plugins/util/youtube-video.js.map +1 -1
  132. package/dist/plugins/videoplayer.js +19 -8
  133. package/dist/plugins/videoplayer.js.map +1 -1
  134. package/dist/version.js +10 -3
  135. package/dist/version.js.map +1 -1
  136. package/package.json +6 -7
  137. package/src/js/bootstrap-italia.entry.js +8 -0
  138. package/src/js/bootstrap-italia.esm.js +9 -1
  139. package/src/js/icons.js +8 -0
  140. package/src/js/load-plugin.js +8 -0
  141. package/src/js/plugins/accept-overlay.js +18 -10
  142. package/src/js/plugins/accordion.js +16 -22
  143. package/src/js/plugins/alert.js +66 -2
  144. package/src/js/plugins/{backToTop.js → back-to-top.js} +12 -4
  145. package/src/js/plugins/base-component.js +89 -0
  146. package/src/js/plugins/button.js +57 -2
  147. package/src/js/plugins/carousel-bi.js +18 -9
  148. package/src/js/plugins/carousel.js +444 -2
  149. package/src/js/plugins/collapse.js +272 -2
  150. package/src/js/plugins/cookiebar.js +37 -60
  151. package/src/js/plugins/dimmer.js +18 -8
  152. package/src/js/plugins/dom/data.js +58 -0
  153. package/src/js/plugins/dom/event-handler.js +301 -0
  154. package/src/js/plugins/dom/manipulator.js +75 -0
  155. package/src/js/plugins/dom/selector-engine.js +80 -0
  156. package/src/js/plugins/dropdown.js +432 -2
  157. package/src/js/plugins/fonts-loader.js +9 -1
  158. package/src/js/plugins/form-validate.js +21 -8
  159. package/src/js/plugins/form.js +11 -3
  160. package/src/js/plugins/forward.js +18 -16
  161. package/src/js/plugins/header-sticky.js +10 -2
  162. package/src/js/plugins/history-back.js +14 -14
  163. package/src/js/plugins/init.js +8 -0
  164. package/src/js/plugins/input-label.js +13 -3
  165. package/src/js/plugins/input-number.js +12 -4
  166. package/src/js/plugins/input-password.js +46 -36
  167. package/src/js/plugins/input-search-autocomplete.js +9 -13
  168. package/src/js/plugins/input.js +11 -3
  169. package/src/js/plugins/list.js +22 -12
  170. package/src/js/plugins/masonry.js +26 -27
  171. package/src/js/plugins/modal.js +357 -2
  172. package/src/js/plugins/navbar-collapsible.js +55 -53
  173. package/src/js/plugins/navscroll.js +16 -23
  174. package/src/js/plugins/notification.js +33 -23
  175. package/src/js/plugins/offcanvas.js +258 -2
  176. package/src/js/plugins/popover.js +75 -2
  177. package/src/js/plugins/progress-donut.js +17 -13
  178. package/src/js/plugins/scrollspy.js +272 -2
  179. package/src/js/plugins/select-autocomplete.js +9 -1
  180. package/src/js/plugins/sticky.js +21 -23
  181. package/src/js/plugins/tab.js +243 -27
  182. package/src/js/plugins/toast.js +206 -2
  183. package/src/js/plugins/tooltip.js +601 -2
  184. package/src/js/plugins/track-focus.js +8 -0
  185. package/src/js/plugins/transfer.js +12 -24
  186. package/src/js/plugins/upload-dragdrop.js +12 -4
  187. package/src/js/plugins/util/backdrop.js +153 -0
  188. package/src/js/plugins/util/component-functions.js +36 -0
  189. package/src/js/plugins/util/config.js +68 -0
  190. package/src/js/plugins/util/cookies.js +8 -0
  191. package/src/js/plugins/util/device.js +0 -3
  192. package/src/js/plugins/util/dom.js +8 -0
  193. package/src/js/plugins/util/focustrap.js +119 -0
  194. package/src/js/plugins/util/index.js +317 -0
  195. package/src/js/plugins/util/observer.js +8 -0
  196. package/src/js/plugins/util/on-document-scroll.js +19 -9
  197. package/src/js/plugins/util/pageScroll.js +8 -0
  198. package/src/js/plugins/util/sanitizer.js +112 -0
  199. package/src/js/plugins/util/scrollbar.js +118 -0
  200. package/src/js/plugins/util/swipe.js +148 -0
  201. package/src/js/plugins/util/template-factory.js +164 -0
  202. package/src/js/plugins/util/tween.js +9 -1
  203. package/src/js/plugins/util/youtube-video.js +12 -21
  204. package/src/js/plugins/videoplayer.js +18 -8
  205. package/src/js/version.js +10 -3
  206. package/src/scss/base/_containers.scss +41 -0
  207. package/src/scss/base/_functions.scss +373 -0
  208. package/src/scss/base/_helpers.scss +10 -0
  209. package/src/scss/base/_maps.scss +54 -0
  210. package/src/scss/base/_mixins.scss +44 -0
  211. package/src/scss/base/_reboot.scss +590 -0
  212. package/src/scss/base/_root.scss +73 -0
  213. package/src/scss/base/_transitions.scss +27 -0
  214. package/src/scss/base/_utilities.scss +742 -0
  215. package/src/scss/base/_variables.scss +2123 -0
  216. package/src/scss/base/_version.scss +3 -0
  217. package/src/scss/base/helpers/_clearfix.scss +3 -0
  218. package/src/scss/base/helpers/_color-bg.scss +10 -0
  219. package/src/scss/base/helpers/_colored-links.scss +16 -0
  220. package/src/scss/base/helpers/_position.scss +36 -0
  221. package/src/scss/base/helpers/_ratio.scss +26 -0
  222. package/src/scss/base/helpers/_stacks.scss +15 -0
  223. package/src/scss/base/helpers/_stretched-link.scss +15 -0
  224. package/src/scss/base/helpers/_text-truncation.scss +7 -0
  225. package/src/scss/base/helpers/_visually-hidden.scss +8 -0
  226. package/src/scss/base/helpers/_vr.scss +8 -0
  227. package/src/scss/base/mixins/_alert.scss +15 -0
  228. package/src/scss/base/mixins/_backdrop.scss +18 -0
  229. package/src/scss/base/mixins/_banner.scss +11 -0
  230. package/src/scss/base/mixins/_border-radius.scss +77 -0
  231. package/src/scss/base/mixins/_box-shadow.scss +18 -0
  232. package/src/scss/base/mixins/_breakpoints.scss +127 -0
  233. package/src/scss/base/mixins/_buttons.scss +141 -0
  234. package/src/scss/base/mixins/_caret.scss +64 -0
  235. package/src/scss/base/mixins/_clearfix.scss +9 -0
  236. package/src/scss/base/mixins/_color-scheme.scss +7 -0
  237. package/src/scss/base/mixins/_container.scss +11 -0
  238. package/src/scss/base/mixins/_deprecate.scss +10 -0
  239. package/src/scss/base/mixins/_forms.scss +152 -0
  240. package/src/scss/base/mixins/_gradients.scss +47 -0
  241. package/src/scss/base/mixins/_grid.scss +151 -0
  242. package/src/scss/base/mixins/_image.scss +15 -0
  243. package/src/scss/base/mixins/_list-group.scss +24 -0
  244. package/src/scss/base/mixins/_lists.scss +7 -0
  245. package/src/scss/base/mixins/_pagination.scss +10 -0
  246. package/src/scss/base/mixins/_reset-text.scss +17 -0
  247. package/src/scss/base/mixins/_resize.scss +6 -0
  248. package/src/scss/base/mixins/_table-variants.scss +24 -0
  249. package/src/scss/base/mixins/_text-truncate.scss +8 -0
  250. package/src/scss/base/mixins/_transition.scss +26 -0
  251. package/src/scss/base/mixins/_utilities.scss +96 -0
  252. package/src/scss/base/mixins/_visually-hidden.scss +29 -0
  253. package/src/scss/base/utilities/_api.scss +45 -0
  254. package/src/scss/base/vendor/_rfs.scss +337 -0
  255. package/src/scss/bootstrap-italia.scss +137 -156
  256. package/src/scss/{custom → components}/_accept-overlay.scss +2 -1
  257. package/src/scss/components/_accordion.scss +297 -0
  258. package/src/scss/components/_badge.scss +60 -0
  259. package/src/scss/components/_breadcrumb.scss +95 -0
  260. package/src/scss/components/_button-group.scss +143 -0
  261. package/src/scss/components/_buttons.scss +467 -0
  262. package/src/scss/{custom → components}/_card.scss +228 -0
  263. package/src/scss/{custom → components}/_carousel.scss +225 -3
  264. package/src/scss/components/_dropdown.scss +480 -0
  265. package/src/scss/{custom → components}/_grid.scss +33 -0
  266. package/src/scss/{custom → components}/_gridlist.scss +7 -0
  267. package/src/scss/{custom → components}/_hero.scss +23 -57
  268. package/src/scss/components/_images.scss +48 -0
  269. package/src/scss/{custom → components}/_linklist.scss +0 -1
  270. package/src/scss/components/_list-group.scss +190 -0
  271. package/src/scss/components/_modal.scss +475 -0
  272. package/src/scss/components/_nav.scss +169 -0
  273. package/src/scss/components/_navbar.scss +274 -0
  274. package/src/scss/components/_offcanvas.scss +144 -0
  275. package/src/scss/components/_pagination.scss +108 -0
  276. package/src/scss/components/_placeholders.scss +51 -0
  277. package/src/scss/components/_popover.scss +298 -0
  278. package/src/scss/components/_progress-bars.scss +126 -0
  279. package/src/scss/{custom → components}/_steppers.scss +2 -2
  280. package/src/scss/{custom → components}/_tab.scss +3 -7
  281. package/src/scss/components/_tables.scss +171 -0
  282. package/src/scss/components/_toasts.scss +73 -0
  283. package/src/scss/{custom → components}/_toolbar.scss +19 -12
  284. package/src/scss/components/_tooltip.scss +139 -0
  285. package/src/scss/{custom → components}/_type.scss +92 -0
  286. package/src/scss/forms/_accessible-autocomplete.scss +188 -0
  287. package/src/scss/forms/_floating-labels.scss +75 -0
  288. package/src/scss/forms/_form-check.scss +163 -0
  289. package/src/scss/forms/_form-control.scss +201 -0
  290. package/src/scss/forms/_form-range.scss +95 -0
  291. package/src/scss/{custom → forms}/_form-select.scss +72 -0
  292. package/src/scss/forms/_form-text.scss +11 -0
  293. package/src/scss/{custom → forms}/_forms.scss +8 -12
  294. package/src/scss/forms/_input-group.scss +129 -0
  295. package/src/scss/forms/_labels.scss +36 -0
  296. package/src/scss/forms/_validation.scss +12 -0
  297. package/src/scss/utilities/icons.scss +5 -5
  298. package/types/index.d.ts +4 -1
  299. package/types/plugins/video.ts +33 -0
  300. package/dist/plugins/backToTop.js.map +0 -1
  301. package/src/scss/_functions.scss +0 -38
  302. package/src/scss/_variables.scss +0 -639
  303. package/src/scss/custom/_accessible-autocomplete.scss +0 -30
  304. package/src/scss/custom/_accordion.scss +0 -176
  305. package/src/scss/custom/_badge.scss +0 -29
  306. package/src/scss/custom/_breadcrumb.scss +0 -51
  307. package/src/scss/custom/_buttons.scss +0 -235
  308. package/src/scss/custom/_componente-base.scss +0 -6
  309. package/src/scss/custom/_dropdown.scss +0 -248
  310. package/src/scss/custom/_form-datepicker.scss +0 -604
  311. package/src/scss/custom/_images.scss +0 -10
  312. package/src/scss/custom/_modal.scss +0 -248
  313. package/src/scss/custom/_popover.scss +0 -106
  314. package/src/scss/custom/_progress-bars.scss +0 -70
  315. package/src/scss/custom/_tables.scss +0 -11
  316. package/src/scss/custom/_timepicker.scss +0 -252
  317. package/src/scss/custom/_tooltip.scss +0 -33
  318. package/src/scss/custom/_version.scss +0 -3
  319. package/src/scss/custom/mixins/_buttons.scss +0 -67
  320. package/src/scss/utilities/colors_vars.scss +0 -426
  321. /package/src/scss/{custom → base}/mixins/_text-emphasis.scss +0 -0
  322. /package/src/scss/{custom → components}/_affix.scss +0 -0
  323. /package/src/scss/{custom → components}/_alert.scss +0 -0
  324. /package/src/scss/{custom → components}/_anchor.scss +0 -0
  325. /package/src/scss/{custom → components}/_avatar.scss +0 -0
  326. /package/src/scss/{custom → components}/_back-to-top.scss +0 -0
  327. /package/src/scss/{custom → components}/_bottomnav.scss +0 -0
  328. /package/src/scss/{custom → components}/_calendar.scss +0 -0
  329. /package/src/scss/{custom → components}/_callout.scss +0 -0
  330. /package/src/scss/{custom → components}/_chips.scss +0 -0
  331. /package/src/scss/{custom → components}/_code.scss +0 -0
  332. /package/src/scss/{custom → components}/_cookiebar.scss +0 -0
  333. /package/src/scss/{custom → components}/_dimmer.scss +0 -0
  334. /package/src/scss/{custom → components}/_figcaption.scss +0 -0
  335. /package/src/scss/{custom → components}/_font.scss +0 -0
  336. /package/src/scss/{custom → components}/_footer.scss +0 -0
  337. /package/src/scss/{custom → components}/_forward.scss +0 -0
  338. /package/src/scss/{custom → components}/_header.scss +0 -0
  339. /package/src/scss/{custom → components}/_headercenter.scss +0 -0
  340. /package/src/scss/{custom → components}/_headercentertheme.scss +0 -0
  341. /package/src/scss/{custom → components}/_headernavbar.scss +0 -0
  342. /package/src/scss/{custom → components}/_headernavbartheme.scss +0 -0
  343. /package/src/scss/{custom → components}/_headerslim.scss +0 -0
  344. /package/src/scss/{custom → components}/_headerslimtheme.scss +0 -0
  345. /package/src/scss/{custom → components}/_imgresponsive.scss +0 -0
  346. /package/src/scss/{custom → components}/_list.scss +0 -0
  347. /package/src/scss/{custom → components}/_map.scss +0 -0
  348. /package/src/scss/{custom → components}/_masonry-loader.scss +0 -0
  349. /package/src/scss/{custom → components}/_megamenu.scss +0 -0
  350. /package/src/scss/{custom → components}/_navigation.scss +0 -0
  351. /package/src/scss/{custom → components}/_navigationtheme.scss +0 -0
  352. /package/src/scss/{custom → components}/_navscroll.scss +0 -0
  353. /package/src/scss/{custom → components}/_navscrolltheme.scss +0 -0
  354. /package/src/scss/{custom → components}/_notifications.scss +0 -0
  355. /package/src/scss/{custom → components}/_overlay-panel.scss +0 -0
  356. /package/src/scss/{custom → components}/_page-scroll.scss +0 -0
  357. /package/src/scss/{custom → components}/_pager.scss +0 -0
  358. /package/src/scss/{custom → components}/_point-list.scss +0 -0
  359. /package/src/scss/{custom → components}/_print.scss +0 -0
  360. /package/src/scss/{custom → components}/_progress-donuts.scss +0 -0
  361. /package/src/scss/{custom → components}/_progress-spinners.scss +0 -0
  362. /package/src/scss/{custom → components}/_rating-list.scss +0 -0
  363. /package/src/scss/{custom → components}/_rating.scss +0 -0
  364. /package/src/scss/{custom → components}/_sections.scss +0 -0
  365. /package/src/scss/{custom → components}/_sidebar.scss +0 -0
  366. /package/src/scss/{custom → components}/_sidebarthemes.scss +0 -0
  367. /package/src/scss/{custom → components}/_skiplinks.scss +0 -0
  368. /package/src/scss/{custom → components}/_sticky.scss +0 -0
  369. /package/src/scss/{custom → components}/_thumbnav.scss +0 -0
  370. /package/src/scss/{custom → components}/_timeline.scss +0 -0
  371. /package/src/scss/{custom → components}/_videoplayer.scss +0 -0
  372. /package/src/scss/{custom → forms}/_autocomplete.scss +0 -0
  373. /package/src/scss/{custom → forms}/_form-input-file.scss +0 -0
  374. /package/src/scss/{custom → forms}/_form-input-number.scss +0 -0
  375. /package/src/scss/{custom → forms}/_form-input-upload.scss +0 -0
  376. /package/src/scss/{custom → forms}/_form-password.scss +0 -0
  377. /package/src/scss/{custom → forms}/_form-toggles.scss +0 -0
  378. /package/src/scss/{custom → forms}/_form-transfer.scss +0 -0
  379. /package/src/scss/{custom → forms}/_just-validate.scss +0 -0
  380. /package/types/plugins/{backToTop.d.ts → back-to-top.d.ts} +0 -0
@@ -1,6 +1,277 @@
1
- import BSCollapse from 'bootstrap/js/src/collapse';
1
+ import { getSelectorFromElement, reflow, getElementFromSelector, getElement } from './util/index.js';
2
+ import EventHandler from './dom/event-handler.js';
3
+ import SelectorEngine from './dom/selector-engine.js';
4
+ import BaseComponent from './base-component.js';
2
5
 
3
- class Collapse extends BSCollapse {}
6
+ /**
7
+ * --------------------------------------------------------------------------
8
+ * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)
9
+ * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS
10
+ * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)
11
+ * This a fork of Bootstrap: Initial license and original file name below
12
+ * Bootstrap (v5.2.3): collapse.js
13
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
14
+ * --------------------------------------------------------------------------
15
+ */
16
+
17
+
18
+ /**
19
+ * Constants
20
+ */
21
+
22
+ const NAME = 'collapse';
23
+ const DATA_KEY = 'bs.collapse';
24
+ const EVENT_KEY = `.${DATA_KEY}`;
25
+ const DATA_API_KEY = '.data-api';
26
+
27
+ const EVENT_SHOW = `show${EVENT_KEY}`;
28
+ const EVENT_SHOWN = `shown${EVENT_KEY}`;
29
+ const EVENT_HIDE = `hide${EVENT_KEY}`;
30
+ const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
31
+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
32
+
33
+ const CLASS_NAME_SHOW = 'show';
34
+ const CLASS_NAME_COLLAPSE = 'collapse';
35
+ const CLASS_NAME_COLLAPSING = 'collapsing';
36
+ const CLASS_NAME_COLLAPSED = 'collapsed';
37
+ const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;
38
+ const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
39
+
40
+ const WIDTH = 'width';
41
+ const HEIGHT = 'height';
42
+
43
+ const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
44
+ const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]';
45
+
46
+ const Default = {
47
+ parent: null,
48
+ toggle: true,
49
+ };
50
+
51
+ const DefaultType = {
52
+ parent: '(null|element)',
53
+ toggle: 'boolean',
54
+ };
55
+
56
+ /**
57
+ * Class definition
58
+ */
59
+
60
+ class Collapse extends BaseComponent {
61
+ constructor(element, config) {
62
+ super(element, config);
63
+
64
+ this._isTransitioning = false;
65
+ this._triggerArray = [];
66
+
67
+ const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE);
68
+
69
+ for (const elem of toggleList) {
70
+ const selector = getSelectorFromElement(elem);
71
+ const filterElement = SelectorEngine.find(selector).filter((foundElement) => foundElement === this._element);
72
+
73
+ if (selector !== null && filterElement.length) {
74
+ this._triggerArray.push(elem);
75
+ }
76
+ }
77
+
78
+ this._initializeChildren();
79
+
80
+ if (!this._config.parent) {
81
+ this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());
82
+ }
83
+
84
+ if (this._config.toggle) {
85
+ this.toggle();
86
+ }
87
+ }
88
+
89
+ // Getters
90
+ static get Default() {
91
+ return Default
92
+ }
93
+
94
+ static get DefaultType() {
95
+ return DefaultType
96
+ }
97
+
98
+ static get NAME() {
99
+ return NAME
100
+ }
101
+
102
+ // Public
103
+ toggle() {
104
+ if (this._isShown()) {
105
+ this.hide();
106
+ } else {
107
+ this.show();
108
+ }
109
+ }
110
+
111
+ show() {
112
+ if (this._isTransitioning || this._isShown()) {
113
+ return
114
+ }
115
+
116
+ let activeChildren = [];
117
+
118
+ // find active children
119
+ if (this._config.parent) {
120
+ activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)
121
+ .filter((element) => element !== this._element)
122
+ .map((element) => Collapse.getOrCreateInstance(element, { toggle: false }));
123
+ }
124
+
125
+ if (activeChildren.length && activeChildren[0]._isTransitioning) {
126
+ return
127
+ }
128
+
129
+ const startEvent = EventHandler.trigger(this._element, EVENT_SHOW);
130
+ if (startEvent.defaultPrevented) {
131
+ return
132
+ }
133
+
134
+ for (const activeInstance of activeChildren) {
135
+ activeInstance.hide();
136
+ }
137
+
138
+ const dimension = this._getDimension();
139
+
140
+ this._element.classList.remove(CLASS_NAME_COLLAPSE);
141
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
142
+
143
+ this._element.style[dimension] = 0;
144
+
145
+ this._addAriaAndCollapsedClass(this._triggerArray, true);
146
+ this._isTransitioning = true;
147
+
148
+ const complete = () => {
149
+ this._isTransitioning = false;
150
+
151
+ this._element.classList.remove(CLASS_NAME_COLLAPSING);
152
+ this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
153
+
154
+ this._element.style[dimension] = '';
155
+
156
+ EventHandler.trigger(this._element, EVENT_SHOWN);
157
+ };
158
+
159
+ const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
160
+ const scrollSize = `scroll${capitalizedDimension}`;
161
+
162
+ this._queueCallback(complete, this._element, true);
163
+ this._element.style[dimension] = `${this._element[scrollSize]}px`;
164
+ }
165
+
166
+ hide() {
167
+ if (this._isTransitioning || !this._isShown()) {
168
+ return
169
+ }
170
+
171
+ const startEvent = EventHandler.trigger(this._element, EVENT_HIDE);
172
+ if (startEvent.defaultPrevented) {
173
+ return
174
+ }
175
+
176
+ const dimension = this._getDimension();
177
+
178
+ this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
179
+
180
+ reflow(this._element);
181
+
182
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
183
+ this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
184
+
185
+ for (const trigger of this._triggerArray) {
186
+ const element = getElementFromSelector(trigger);
187
+
188
+ if (element && !this._isShown(element)) {
189
+ this._addAriaAndCollapsedClass([trigger], false);
190
+ }
191
+ }
192
+
193
+ this._isTransitioning = true;
194
+
195
+ const complete = () => {
196
+ this._isTransitioning = false;
197
+ this._element.classList.remove(CLASS_NAME_COLLAPSING);
198
+ this._element.classList.add(CLASS_NAME_COLLAPSE);
199
+ EventHandler.trigger(this._element, EVENT_HIDDEN);
200
+ };
201
+
202
+ this._element.style[dimension] = '';
203
+
204
+ this._queueCallback(complete, this._element, true);
205
+ }
206
+
207
+ _isShown(element = this._element) {
208
+ return element.classList.contains(CLASS_NAME_SHOW)
209
+ }
210
+
211
+ // Private
212
+ _configAfterMerge(config) {
213
+ config.toggle = Boolean(config.toggle); // Coerce string values
214
+ config.parent = getElement(config.parent);
215
+ return config
216
+ }
217
+
218
+ _getDimension() {
219
+ return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT
220
+ }
221
+
222
+ _initializeChildren() {
223
+ if (!this._config.parent) {
224
+ return
225
+ }
226
+
227
+ const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE);
228
+
229
+ for (const element of children) {
230
+ const selected = getElementFromSelector(element);
231
+
232
+ if (selected) {
233
+ this._addAriaAndCollapsedClass([element], this._isShown(selected));
234
+ }
235
+ }
236
+ }
237
+
238
+ _getFirstLevelChildren(selector) {
239
+ const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);
240
+ // remove children if greater depth
241
+ return SelectorEngine.find(selector, this._config.parent).filter((element) => !children.includes(element))
242
+ }
243
+
244
+ _addAriaAndCollapsedClass(triggerArray, isOpen) {
245
+ if (!triggerArray.length) {
246
+ return
247
+ }
248
+
249
+ for (const element of triggerArray) {
250
+ element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);
251
+ element.setAttribute('aria-expanded', isOpen);
252
+ }
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Data API implementation
258
+ */
259
+
260
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
261
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
262
+ // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
263
+ if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {
264
+ event.preventDefault();
265
+ }
266
+
267
+ const selector = getSelectorFromElement(this);
268
+ const selectorElements = SelectorEngine.find(selector);
269
+
270
+ for (const element of selectorElements) {
271
+ Collapse.getOrCreateInstance(element, { toggle: false }).toggle();
272
+ }
273
+ });
274
+ }
4
275
 
5
276
  export { Collapse as default };
6
277
  //# sourceMappingURL=collapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse.js","sources":["../../src/js/plugins/collapse.js"],"sourcesContent":["import { default as BSCollapse } from 'bootstrap/js/src/collapse'\n\nclass Collapse extends BSCollapse {}\n\nexport default Collapse\n"],"names":[],"mappings":";;AAEA,MAAM,QAAQ,SAAS,UAAU,CAAC;;;;"}
1
+ {"version":3,"file":"collapse.js","sources":["../../src/js/plugins/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)\n * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS\n * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license and original file name below\n * Bootstrap (v5.2.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getElement, getElementFromSelector, getSelectorFromElement, reflow } 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 parent: null,\n toggle: true,\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean',\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).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 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\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 _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\n/**\n * Data API implementation\n */\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> 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\nexport default Collapse\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,15 @@
1
- import BaseComponent from 'bootstrap/js/src/base-component.js';
2
- import { isDisabled, getElementFromSelector, reflow } from 'bootstrap/js/src/util/index';
3
- import EventHandler from 'bootstrap/js/src/dom/event-handler';
1
+ import BaseComponent from './base-component.js';
2
+ import { isDisabled, getElementFromSelector, reflow } from './util/index.js';
3
+ import EventHandler from './dom/event-handler.js';
4
+
5
+ /**
6
+ * --------------------------------------------------------------------------
7
+ * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)
8
+ * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS
9
+ * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)
10
+ * --------------------------------------------------------------------------
11
+ */
12
+
4
13
 
5
14
  /**
6
15
  * ------------------------------------------------------------------------
@@ -13,7 +22,6 @@ const VERSION = '5.0.0';
13
22
  const DATA_KEY = 'bs.cookiebar';
14
23
  const EVENT_KEY = `.${DATA_KEY}`;
15
24
  const DATA_API_KEY = '.data-api';
16
- //const JQUERY_NO_CONFLICT = $.fn[NAME]
17
25
  const COOKIE_NAME = 'cookies_consent';
18
26
  const COOKIE_VALUE = 'true';
19
27
  const COOKIE_EXPIRE = 30;
@@ -192,27 +200,6 @@ class Cookiebar extends BaseComponent {
192
200
  this.dispose();
193
201
  }
194
202
 
195
- // Static
196
-
197
- /*static _jQueryInterface(config) {
198
- return this.each(function () {
199
- const $element = $(this)
200
- let data = $element.data(DATA_KEY)
201
-
202
- if (!data) {
203
- data = new Cookiebar(this)
204
- $element.data(DATA_KEY, data)
205
- }
206
-
207
- if (typeof config === 'string') {
208
- if (typeof data[config] === 'undefined') {
209
- throw new TypeError(`No method named "${config}"`)
210
- }
211
- data[config](this)
212
- }
213
- })
214
- }*/
215
-
216
203
  static _handleAccept(cookiebarInstance) {
217
204
  return function (event) {
218
205
  if (event) {
@@ -258,36 +245,36 @@ class Cookiebar extends BaseComponent {
258
245
  * ------------------------------------------------------------------------
259
246
  */
260
247
 
261
- //$(document).on(EVENT_CLICK_DATA_API, SELECTOR_ACCEPT, Cookiebar._handleAccept(new Cookiebar()))
262
-
263
- EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_ACCEPT, function (event) {
264
- if (['A', 'AREA'].includes(this.tagName)) {
265
- event.preventDefault();
266
- }
267
-
268
- if (isDisabled(this)) {
269
- return
270
- }
271
-
272
- const target = getElementFromSelector(this) || this.closest(`.${NAME}`);
273
- const instance = Cookiebar.getOrCreateInstance(target);
274
- instance.accept();
275
- //Cookiebar._handleAccept(new Cookiebar())
276
- });
248
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
249
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_ACCEPT, function (event) {
250
+ if (['A', 'AREA'].includes(this.tagName)) {
251
+ event.preventDefault();
252
+ }
277
253
 
278
- EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
279
- const consent = Cookiebar._getCookieEU();
280
- if (!consent) {
281
- if (typeof document === 'undefined') {
254
+ if (isDisabled(this)) {
282
255
  return
283
256
  }
284
- const cookiebars = document.querySelectorAll(SELECTOR_COOKIE_BAR);
285
- cookiebars.forEach((bar) => {
286
- const instance = Cookiebar.getOrCreateInstance(bar);
287
- instance.show();
288
- });
289
- }
290
- });
257
+
258
+ const target = getElementFromSelector(this) || this.closest(`.${NAME}`);
259
+ const instance = Cookiebar.getOrCreateInstance(target);
260
+ instance.accept();
261
+ //Cookiebar._handleAccept(new Cookiebar())
262
+ });
263
+
264
+ EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
265
+ const consent = Cookiebar._getCookieEU();
266
+ if (!consent) {
267
+ if (typeof document === 'undefined') {
268
+ return
269
+ }
270
+ const cookiebars = document.querySelectorAll(SELECTOR_COOKIE_BAR);
271
+ cookiebars.forEach((bar) => {
272
+ const instance = Cookiebar.getOrCreateInstance(bar);
273
+ instance.show();
274
+ });
275
+ }
276
+ });
277
+ }
291
278
 
292
279
  export { Cookiebar as default };
293
280
  //# sourceMappingURL=cookiebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookiebar.js","sources":["../../src/js/plugins/cookiebar.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport { /*defineJQueryPlugin,*/ isDisabled, getElementFromSelector, reflow } from 'bootstrap/js/src/util/index'\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'cookiebar'\nconst VERSION = '5.0.0'\nconst DATA_KEY = 'bs.cookiebar'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n//const JQUERY_NO_CONFLICT = $.fn[NAME]\nconst COOKIE_NAME = 'cookies_consent'\nconst COOKIE_VALUE = 'true'\nconst COOKIE_EXPIRE = 30\n\nconst SELECTOR_COOKIE_BAR = '.cookiebar'\nconst SELECTOR_ACCEPT = '[data-bs-accept=\"cookiebar\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${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_COOKIE_BAR = 'cookiebar'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_FADE = 'fade'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Cookiebar extends BaseComponent {\n constructor(element) {\n super(element)\n\n this._isShown = this._element.classList.contains(CLASS_NAME_SHOW)\n this._isTransitioning = false\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._showElement()\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\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._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideElement(), this._element, isAnimated)\n }\n\n accept(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.defaultPrevented) {\n return\n }\n\n this._setCookieEU()\n\n this.hide()\n //this._removeElement(rootElement)\n //this.dispose()\n }\n\n /*dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }*/\n\n static clearCookie() {\n if (typeof document === 'undefined') {\n return\n }\n document.cookie = COOKIE_NAME + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'\n }\n\n // Private\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _showElement() {\n const isAnimated = this._isAnimated()\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-live', 'polite')\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n this._isTransitioning = false\n }\n\n this._queueCallback(transitionComplete, this._element, isAnimated)\n }\n\n _hideElement() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-live')\n this._isTransitioning = false\n }\n\n _setCookieEU() {\n var exdate = new Date()\n exdate.setDate(exdate.getDate() + COOKIE_EXPIRE)\n var c_value = escape(COOKIE_VALUE) + (COOKIE_EXPIRE == null ? '' : '; expires=' + exdate.toUTCString())\n if (typeof document === 'undefined') {\n return\n }\n document.cookie = COOKIE_NAME + '=' + c_value + '; path=/; SameSite=Strict'\n }\n\n _getRootElement(element) {\n const selector = getElementFromSelector(element)\n let parent = null\n\n if (selector) {\n parent = selector\n }\n\n if (!parent) {\n parent = element.closest(`.${CLASS_NAME_COOKIE_BAR}`) //$(element).closest(`.${CLASS_NAME_COOKIE_BAR}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n /*const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)*/\n\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n //$(element).removeClass(CLASS_NAME_SHOW).attr('aria-hidden', 'true').attr('aria-live', 'off')\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-hidden', 'true')\n element.setAttribute('aria-live', 'off')\n\n //this._destroyElement(element)\n EventHandler.trigger(element, EVENT_CLOSED)\n\n this.dispose()\n }\n\n // Static\n\n /*static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Cookiebar(this)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](this)\n }\n })\n }*/\n\n static _handleAccept(cookiebarInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n cookiebarInstance.close(this)\n }\n }\n\n static _handleConsent(cookiebarInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n cookiebarInstance.close(this)\n }\n }\n\n static _getCookieEU() {\n if (typeof document === 'undefined') {\n return\n }\n var i,\n x,\n y,\n ARRcookies = document.cookie.split(';')\n for (i = 0; i < ARRcookies.length; i++) {\n x = ARRcookies[i].substring(0, ARRcookies[i].indexOf('='))\n y = ARRcookies[i].substring(ARRcookies[i].indexOf('=') + 1)\n x = x.replace(/^\\s+|\\s+$/g, '')\n if (x == COOKIE_NAME) {\n return unescape(y)\n }\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n//$(document).on(EVENT_CLICK_DATA_API, SELECTOR_ACCEPT, Cookiebar._handleAccept(new Cookiebar()))\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_ACCEPT, 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 = Cookiebar.getOrCreateInstance(target)\n instance.accept()\n //Cookiebar._handleAccept(new Cookiebar())\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, function () {\n const consent = Cookiebar._getCookieEU()\n if (!consent) {\n if (typeof document === 'undefined') {\n return\n }\n const cookiebars = document.querySelectorAll(SELECTOR_COOKIE_BAR)\n cookiebars.forEach((bar) => {\n const instance = Cookiebar.getOrCreateInstance(bar)\n instance.show()\n })\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Cookiebar to jQuery only if jQuery is present\n */\n\n//defineJQueryPlugin(Cookiebar)\n\nexport default Cookiebar\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookiebar.js","sources":["../../src/js/plugins/cookiebar.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)\n * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS\n * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\n\nimport { isDisabled, getElementFromSelector, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'cookiebar'\nconst VERSION = '5.0.0'\nconst DATA_KEY = 'bs.cookiebar'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst COOKIE_NAME = 'cookies_consent'\nconst COOKIE_VALUE = 'true'\nconst COOKIE_EXPIRE = 30\n\nconst SELECTOR_COOKIE_BAR = '.cookiebar'\nconst SELECTOR_ACCEPT = '[data-bs-accept=\"cookiebar\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${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_COOKIE_BAR = 'cookiebar'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_FADE = 'fade'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Cookiebar extends BaseComponent {\n constructor(element) {\n super(element)\n\n this._isShown = this._element.classList.contains(CLASS_NAME_SHOW)\n this._isTransitioning = false\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._showElement()\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\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._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideElement(), this._element, isAnimated)\n }\n\n accept(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.defaultPrevented) {\n return\n }\n\n this._setCookieEU()\n\n this.hide()\n //this._removeElement(rootElement)\n //this.dispose()\n }\n\n /*dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }*/\n\n static clearCookie() {\n if (typeof document === 'undefined') {\n return\n }\n document.cookie = COOKIE_NAME + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'\n }\n\n // Private\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _showElement() {\n const isAnimated = this._isAnimated()\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-live', 'polite')\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n this._isTransitioning = false\n }\n\n this._queueCallback(transitionComplete, this._element, isAnimated)\n }\n\n _hideElement() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-live')\n this._isTransitioning = false\n }\n\n _setCookieEU() {\n var exdate = new Date()\n exdate.setDate(exdate.getDate() + COOKIE_EXPIRE)\n var c_value = escape(COOKIE_VALUE) + (COOKIE_EXPIRE == null ? '' : '; expires=' + exdate.toUTCString())\n if (typeof document === 'undefined') {\n return\n }\n document.cookie = COOKIE_NAME + '=' + c_value + '; path=/; SameSite=Strict'\n }\n\n _getRootElement(element) {\n const selector = getElementFromSelector(element)\n let parent = null\n\n if (selector) {\n parent = selector\n }\n\n if (!parent) {\n parent = element.closest(`.${CLASS_NAME_COOKIE_BAR}`) //$(element).closest(`.${CLASS_NAME_COOKIE_BAR}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n /*const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)*/\n\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n //$(element).removeClass(CLASS_NAME_SHOW).attr('aria-hidden', 'true').attr('aria-live', 'off')\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-hidden', 'true')\n element.setAttribute('aria-live', 'off')\n\n //this._destroyElement(element)\n EventHandler.trigger(element, EVENT_CLOSED)\n\n this.dispose()\n }\n\n static _handleAccept(cookiebarInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n cookiebarInstance.close(this)\n }\n }\n\n static _handleConsent(cookiebarInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n cookiebarInstance.close(this)\n }\n }\n\n static _getCookieEU() {\n if (typeof document === 'undefined') {\n return\n }\n var i,\n x,\n y,\n ARRcookies = document.cookie.split(';')\n for (i = 0; i < ARRcookies.length; i++) {\n x = ARRcookies[i].substring(0, ARRcookies[i].indexOf('='))\n y = ARRcookies[i].substring(ARRcookies[i].indexOf('=') + 1)\n x = x.replace(/^\\s+|\\s+$/g, '')\n if (x == COOKIE_NAME) {\n return unescape(y)\n }\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_ACCEPT, 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 = Cookiebar.getOrCreateInstance(target)\n instance.accept()\n //Cookiebar._handleAccept(new Cookiebar())\n })\n\n EventHandler.on(window, EVENT_LOAD_DATA_API, function () {\n const consent = Cookiebar._getCookieEU()\n if (!consent) {\n if (typeof document === 'undefined') {\n return\n }\n const cookiebars = document.querySelectorAll(SELECTOR_COOKIE_BAR)\n cookiebars.forEach((bar) => {\n const instance = Cookiebar.getOrCreateInstance(bar)\n instance.show()\n })\n }\n })\n}\n\nexport default Cookiebar\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,15 @@
1
- import BaseComponent from 'bootstrap/js/src/base-component.js';
2
- import { getElementFromSelector, reflow } from 'bootstrap/js/src/util';
3
- import EventHandler from 'bootstrap/js/src/dom/event-handler';
1
+ import BaseComponent from './base-component.js';
2
+ import { getElementFromSelector, reflow } from './util/index.js';
3
+ import EventHandler from './dom/event-handler.js';
4
+
5
+ /**
6
+ * --------------------------------------------------------------------------
7
+ * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)
8
+ * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS
9
+ * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)
10
+ * --------------------------------------------------------------------------
11
+ */
12
+
4
13
 
5
14
  const NAME = 'dimmer';
6
15
  const DATA_KEY = 'bs.dimmer';
@@ -104,12 +113,14 @@ class Dimmer extends BaseComponent {
104
113
  * ------------------------------------------------------------------------
105
114
  */
106
115
 
107
- EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function () {
108
- const dimmerElement = getElementFromSelector(this);
109
- const dimmer = Dimmer.getOrCreateInstance(dimmerElement);
116
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
117
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function () {
118
+ const dimmerElement = getElementFromSelector(this);
119
+ const dimmer = Dimmer.getOrCreateInstance(dimmerElement);
110
120
 
111
- this.checked ? dimmer.show() : dimmer.hide();
112
- });
121
+ this.checked ? dimmer.show() : dimmer.hide();
122
+ });
123
+ }
113
124
 
114
125
  export { Dimmer as default };
115
126
  //# sourceMappingURL=dimmer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dimmer.js","sources":["../../src/js/plugins/dimmer.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport { reflow, getElementFromSelector } from 'bootstrap/js/src/util'\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\n\nconst NAME = 'dimmer'\nconst DATA_KEY = 'bs.dimmer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dimmer\"]'\nconst SELECTOR_DATA_ARIAHIDDEN = '[aria-hidden=true]'\n\nclass Dimmer extends BaseComponent {\n constructor(element) {\n super(element)\n\n this._isShown = !element.matches(SELECTOR_DATA_ARIAHIDDEN)\n this._isTransitioning = false\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._showElement()\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\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._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideElement(), this._element, isAnimated)\n }\n\n //Private\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _showElement() {\n const isAnimated = this._isAnimated()\n\n //this._element.style.display = 'flex'\n this._element.removeAttribute('aria-hidden')\n //this._element.setAttribute('aria-modal', true)\n //this._element.setAttribute('role', 'dialog')\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n this._isTransitioning = false\n }\n\n this._queueCallback(transitionComplete, this._element, isAnimated)\n }\n\n _hideElement() {\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}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n const dimmerElement = getElementFromSelector(this)\n const dimmer = Dimmer.getOrCreateInstance(dimmerElement)\n\n this.checked ? dimmer.show() : dimmer.hide()\n})\n\nexport default Dimmer\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dimmer.js","sources":["../../src/js/plugins/dimmer.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)\n * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS\n * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\n\nimport { reflow, getElementFromSelector } from './util/index'\nimport EventHandler from './dom/event-handler'\n\nconst NAME = 'dimmer'\nconst DATA_KEY = 'bs.dimmer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dimmer\"]'\nconst SELECTOR_DATA_ARIAHIDDEN = '[aria-hidden=true]'\n\nclass Dimmer extends BaseComponent {\n constructor(element) {\n super(element)\n\n this._isShown = !element.matches(SELECTOR_DATA_ARIAHIDDEN)\n this._isTransitioning = false\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._showElement()\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\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._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideElement(), this._element, isAnimated)\n }\n\n //Private\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _showElement() {\n const isAnimated = this._isAnimated()\n\n //this._element.style.display = 'flex'\n this._element.removeAttribute('aria-hidden')\n //this._element.setAttribute('aria-modal', true)\n //this._element.setAttribute('role', 'dialog')\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n this._isTransitioning = false\n }\n\n this._queueCallback(transitionComplete, this._element, isAnimated)\n }\n\n _hideElement() {\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}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n const dimmerElement = getElementFromSelector(this)\n const dimmer = Dimmer.getOrCreateInstance(dimmerElement)\n\n this.checked ? dimmer.show() : dimmer.hide()\n })\n}\n\nexport default Dimmer\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * --------------------------------------------------------------------------
3
+ * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)
4
+ * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS
5
+ * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)
6
+ * This a fork of Bootstrap: Initial license and original file name below
7
+ * Bootstrap (v5.2.3): dom/data.js
8
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
9
+ * --------------------------------------------------------------------------
10
+ */
11
+
12
+ /**
13
+ * Constants
14
+ */
15
+
16
+ const elementMap = new Map();
17
+
18
+ var Data = {
19
+ set(element, key, instance) {
20
+ if (!elementMap.has(element)) {
21
+ elementMap.set(element, new Map());
22
+ }
23
+
24
+ const instanceMap = elementMap.get(element);
25
+
26
+ // make it clear we only want one instance per element
27
+ // can be removed later when multiple key/instances are fine to be used
28
+ if (!instanceMap.has(key) && instanceMap.size !== 0) {
29
+ console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
30
+ return
31
+ }
32
+
33
+ instanceMap.set(key, instance);
34
+ },
35
+
36
+ get(element, key) {
37
+ if (elementMap.has(element)) {
38
+ return elementMap.get(element).get(key) || null
39
+ }
40
+
41
+ return null
42
+ },
43
+
44
+ remove(element, key) {
45
+ if (!elementMap.has(element)) {
46
+ return
47
+ }
48
+
49
+ const instanceMap = elementMap.get(element);
50
+
51
+ instanceMap.delete(key);
52
+
53
+ // free up element references if there are no instances left for an element
54
+ if (instanceMap.size === 0) {
55
+ elementMap.delete(element);
56
+ }
57
+ },
58
+ };
59
+
60
+ export { Data as default };
61
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sources":["../../../src/js/plugins/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap Italia (https://italia.github.io/bootstrap-italia/)\n * Authors: https://github.com/italia/bootstrap-italia/blob/main/AUTHORS\n * Licensed under BSD-3-Clause license (https://github.com/italia/bootstrap-italia/blob/main/LICENSE)\n * This a fork of Bootstrap: Initial license and original file name below\n * Bootstrap (v5.2.3): 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 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":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,UAAU,GAAG,IAAI,GAAG;;AAE1B,WAAe;AACf,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AAClC,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE;AACvC;;AAEA,IAAI,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO;;AAE9C;AACA;AACA,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;AACzD,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,4EAA4E,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvI,MAAM;AACN;;AAEA,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ;AACjC,GAAG;;AAEH,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACpB,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACjC,MAAM,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;AACjD;;AAEA,IAAI,OAAO;AACX,GAAG;;AAEH,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE;AACvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AAClC,MAAM;AACN;;AAEA,IAAI,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO;;AAE9C,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG;;AAE1B;AACA,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;AAChC,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO;AAC/B;AACA,GAAG;AACH;;;;"}