@six-group/ui-library 3.0.0-beta.1.7 → 3.0.0-beta.1.8

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 (367) hide show
  1. package/dist/cjs/{event-listeners-4a8d66d5.js → event-listeners-74715e62.js} +38 -38
  2. package/dist/cjs/{execution-control-3bc9c7c4.js → execution-control-46f388e0.js} +35 -35
  3. package/dist/cjs/{focus-visible-b08d956f.js → focus-visible-0b352c74.js} +40 -40
  4. package/dist/cjs/{form-control-9e4dffd1.js → form-control-866bbece.js} +25 -25
  5. package/dist/cjs/{modal-a9679ddf.js → modal-48d42228.js} +41 -41
  6. package/dist/cjs/{popover-e3781f5a.js → popover-1d2a037c.js} +95 -95
  7. package/dist/cjs/{scroll-5b8676ba.js → scroll-76e6f5d7.js} +57 -57
  8. package/dist/cjs/set-attributes_2.cjs.entry.js +57 -57
  9. package/dist/cjs/six-alert.cjs.entry.js +131 -131
  10. package/dist/cjs/six-avatar.cjs.entry.js +28 -28
  11. package/dist/cjs/six-badge.cjs.entry.js +26 -26
  12. package/dist/cjs/six-button.cjs.entry.js +97 -97
  13. package/dist/cjs/six-card.cjs.entry.js +8 -8
  14. package/dist/cjs/six-checkbox.cjs.entry.js +152 -152
  15. package/dist/cjs/six-datepicker.cjs.entry.js +1189 -1189
  16. package/dist/cjs/six-details.cjs.entry.js +139 -139
  17. package/dist/cjs/six-dialog.cjs.entry.js +152 -152
  18. package/dist/cjs/six-drawer.cjs.entry.js +174 -174
  19. package/dist/cjs/six-dropdown_3.cjs.entry.js +728 -728
  20. package/dist/cjs/six-error-page.cjs.entry.js +94 -94
  21. package/dist/cjs/six-file-list-item.cjs.entry.js +38 -38
  22. package/dist/cjs/six-file-list.cjs.entry.js +8 -8
  23. package/dist/cjs/six-file-upload.cjs.entry.js +96 -96
  24. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  25. package/dist/cjs/six-form.cjs.entry.js +219 -219
  26. package/dist/cjs/six-group-label.cjs.entry.js +46 -46
  27. package/dist/cjs/six-header.cjs.entry.js +149 -149
  28. package/dist/cjs/six-icon-button.cjs.entry.js +33 -33
  29. package/dist/cjs/six-icon.cjs.entry.js +24 -24
  30. package/dist/cjs/six-input.cjs.entry.js +230 -230
  31. package/dist/cjs/six-item-picker.cjs.entry.js +361 -361
  32. package/dist/cjs/six-language-switcher.cjs.entry.js +52 -52
  33. package/dist/cjs/six-layout-grid.cjs.entry.js +19 -19
  34. package/dist/cjs/six-main-container.cjs.entry.js +11 -11
  35. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  36. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  37. package/dist/cjs/six-picto.cjs.entry.js +15 -15
  38. package/dist/cjs/six-progress-bar.cjs.entry.js +17 -17
  39. package/dist/cjs/six-progress-ring.cjs.entry.js +31 -31
  40. package/dist/cjs/six-radio.cjs.entry.js +121 -121
  41. package/dist/cjs/six-range.cjs.entry.js +198 -198
  42. package/dist/cjs/six-root.cjs.entry.js +34 -34
  43. package/dist/cjs/six-search-field.cjs.entry.js +43 -43
  44. package/dist/cjs/six-select.cjs.entry.js +447 -447
  45. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +42 -42
  46. package/dist/cjs/six-sidebar-item.cjs.entry.js +18 -18
  47. package/dist/cjs/six-sidebar.cjs.entry.js +171 -171
  48. package/dist/cjs/six-spinner.cjs.entry.js +16 -16
  49. package/dist/cjs/six-switch.cjs.entry.js +100 -100
  50. package/dist/cjs/six-tab-group.cjs.entry.js +226 -226
  51. package/dist/cjs/six-tab-panel.cjs.entry.js +17 -17
  52. package/dist/cjs/six-tab.cjs.entry.js +42 -42
  53. package/dist/cjs/six-table-cell_4.cjs.entry.js +70 -70
  54. package/dist/cjs/six-table.cjs.entry.js +145 -145
  55. package/dist/cjs/six-tag.cjs.entry.js +40 -40
  56. package/dist/cjs/six-textarea.cjs.entry.js +211 -211
  57. package/dist/cjs/six-tile.cjs.entry.js +89 -89
  58. package/dist/cjs/six-timepicker.cjs.entry.js +489 -489
  59. package/dist/cjs/{six-timepicker.types-c58cc88b.js → six-timepicker.types-c19ebff3.js} +43 -43
  60. package/dist/cjs/six-tooltip.cjs.entry.js +172 -172
  61. package/dist/cjs/{slot-8abe833c.js → slot-ad537f24.js} +42 -42
  62. package/dist/cjs/{types-65e5c95b.js → types-581e8ff0.js} +12 -12
  63. package/dist/cjs/{types-0c28e484.js → types-64878648.js} +12 -12
  64. package/dist/collection/components/six-alert/six-alert.js +366 -366
  65. package/dist/collection/components/six-avatar/six-avatar.js +131 -131
  66. package/dist/collection/components/six-badge/six-badge.js +101 -101
  67. package/dist/collection/components/six-button/six-button.js +466 -466
  68. package/dist/collection/components/six-card/six-card.js +21 -21
  69. package/dist/collection/components/six-checkbox/six-checkbox.js +550 -550
  70. package/dist/collection/components/six-datepicker/components/day-selection.js +13 -13
  71. package/dist/collection/components/six-datepicker/components/month-selection.js +12 -12
  72. package/dist/collection/components/six-datepicker/components/year-selection.js +10 -10
  73. package/dist/collection/components/six-datepicker/six-date-formats.js +23 -23
  74. package/dist/collection/components/six-datepicker/six-datepicker.js +1343 -1343
  75. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +16 -16
  76. package/dist/collection/components/six-details/six-details.js +432 -432
  77. package/dist/collection/components/six-dialog/six-dialog.js +401 -401
  78. package/dist/collection/components/six-drawer/six-drawer.js +458 -458
  79. package/dist/collection/components/six-dropdown/six-dropdown.js +939 -939
  80. package/dist/collection/components/six-error-page/six-error-page.js +199 -199
  81. package/dist/collection/components/six-file-list/six-file-list.js +20 -20
  82. package/dist/collection/components/six-file-list-item/six-file-list-item.js +203 -203
  83. package/dist/collection/components/six-file-upload/six-file-upload.js +272 -272
  84. package/dist/collection/components/six-footer/six-footer.js +21 -21
  85. package/dist/collection/components/six-form/six-form.js +408 -408
  86. package/dist/collection/components/six-group-label/six-group-label.js +166 -166
  87. package/dist/collection/components/six-header/six-header.js +420 -420
  88. package/dist/collection/components/six-icon/six-icon.js +77 -77
  89. package/dist/collection/components/six-icon-button/six-icon-button.js +142 -142
  90. package/dist/collection/components/six-input/six-input.js +1141 -1141
  91. package/dist/collection/components/six-item-picker/six-item-picker.js +688 -688
  92. package/dist/collection/components/six-item-picker/types.js +13 -13
  93. package/dist/collection/components/six-language-switcher/six-language-switcher.js +128 -128
  94. package/dist/collection/components/six-layout-grid/six-layout-grid.js +52 -52
  95. package/dist/collection/components/six-main-container/six-main-container.js +53 -53
  96. package/dist/collection/components/six-menu/six-menu.js +406 -406
  97. package/dist/collection/components/six-menu-divider/six-menu-divider.js +22 -22
  98. package/dist/collection/components/six-menu-item/six-menu-item.js +177 -177
  99. package/dist/collection/components/six-menu-label/six-menu-label.js +25 -25
  100. package/dist/collection/components/six-picto/six-picto.js +50 -50
  101. package/dist/collection/components/six-progress-bar/six-progress-bar.js +77 -77
  102. package/dist/collection/components/six-progress-ring/six-progress-ring.js +111 -111
  103. package/dist/collection/components/six-radio/six-radio.js +410 -410
  104. package/dist/collection/components/six-range/six-range.js +620 -620
  105. package/dist/collection/components/six-root/six-root.js +167 -167
  106. package/dist/collection/components/six-search-field/six-search-field.js +171 -171
  107. package/dist/collection/components/six-select/six-select.js +1105 -1105
  108. package/dist/collection/components/six-sidebar/six-sidebar.js +455 -455
  109. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +89 -89
  110. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +158 -158
  111. package/dist/collection/components/six-spinner/six-spinner.js +55 -55
  112. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -46
  113. package/dist/collection/components/six-switch/six-switch.js +393 -393
  114. package/dist/collection/components/six-tab/six-tab.js +198 -198
  115. package/dist/collection/components/six-tab-group/six-tab-group.js +362 -362
  116. package/dist/collection/components/six-tab-panel/six-tab-panel.js +75 -75
  117. package/dist/collection/components/six-table/six-table.js +209 -209
  118. package/dist/collection/components/six-table/test/helpers.js +13 -13
  119. package/dist/collection/components/six-table/types.js +8 -8
  120. package/dist/collection/components/six-table/util/filter-by.js +34 -34
  121. package/dist/collection/components/six-table/util/from-data.js +33 -33
  122. package/dist/collection/components/six-table/util/is.js +3 -3
  123. package/dist/collection/components/six-table/util/quick-filter-by.js +13 -13
  124. package/dist/collection/components/six-table/util/sort-by.js +25 -25
  125. package/dist/collection/components/six-table-cell/six-table-cell.js +21 -21
  126. package/dist/collection/components/six-table-header/six-table-header.js +21 -21
  127. package/dist/collection/components/six-table-header-cell/get-next-state.js +7 -7
  128. package/dist/collection/components/six-table-header-cell/icons.js +12 -12
  129. package/dist/collection/components/six-table-header-cell/six-table-header-cell.js +174 -174
  130. package/dist/collection/components/six-table-header-cell/types.js +13 -13
  131. package/dist/collection/components/six-table-header-cell/util/create-model.js +6 -6
  132. package/dist/collection/components/six-table-header-cell/util/get-next-state.js +7 -7
  133. package/dist/collection/components/six-table-row/six-table-row.js +21 -21
  134. package/dist/collection/components/six-tag/six-tag.js +157 -157
  135. package/dist/collection/components/six-textarea/six-textarea.js +912 -912
  136. package/dist/collection/components/six-tile/six-tile.js +315 -315
  137. package/dist/collection/components/six-timepicker/six-time-format.js +14 -14
  138. package/dist/collection/components/six-timepicker/six-timepicker.js +980 -980
  139. package/dist/collection/components/six-timepicker/six-timepicker.types.js +40 -40
  140. package/dist/collection/components/six-tooltip/six-tooltip.js +435 -435
  141. package/dist/collection/functional-components/form-control/form-control.js +28 -28
  142. package/dist/collection/index.js +1 -1
  143. package/dist/collection/testUtil/delay.js +3 -3
  144. package/dist/collection/utils/as-array.js +1 -1
  145. package/dist/collection/utils/date-util.js +712 -712
  146. package/dist/collection/utils/event-listeners.js +39 -39
  147. package/dist/collection/utils/execution-control.js +38 -38
  148. package/dist/collection/utils/focus-visible.js +41 -41
  149. package/dist/collection/utils/matchers.js +2 -2
  150. package/dist/collection/utils/modal.js +28 -28
  151. package/dist/collection/utils/offset.js +13 -13
  152. package/dist/collection/utils/popover.js +113 -113
  153. package/dist/collection/utils/scroll.js +47 -47
  154. package/dist/collection/utils/slot.js +59 -59
  155. package/dist/collection/utils/support.js +15 -15
  156. package/dist/collection/utils/tabbable.js +22 -22
  157. package/dist/collection/utils/testing.js +38 -38
  158. package/dist/collection/utils/time.util.js +74 -74
  159. package/dist/collection/utils/type-check.js +5 -5
  160. package/dist/collection/utils/types.js +1 -1
  161. package/dist/collection/wrappers/set-attributes/set-attributes.js +68 -68
  162. package/dist/components.json +1 -1
  163. package/dist/custom-elements/index.js +7595 -7595
  164. package/dist/esm/{event-listeners-1bef934e.js → event-listeners-570a24ea.js} +38 -38
  165. package/dist/esm/{execution-control-235f5126.js → execution-control-1a60d709.js} +35 -35
  166. package/dist/esm/{focus-visible-4b7946aa.js → focus-visible-97933ea9.js} +40 -40
  167. package/dist/esm/{form-control-17478ad2.js → form-control-24f446af.js} +25 -25
  168. package/dist/esm/{modal-e5709f6b.js → modal-5ebdc320.js} +41 -41
  169. package/dist/esm/polyfills/core-js.js +0 -0
  170. package/dist/esm/polyfills/dom.js +0 -0
  171. package/dist/esm/polyfills/es5-html-element.js +0 -0
  172. package/dist/esm/polyfills/index.js +0 -0
  173. package/dist/esm/polyfills/system.js +0 -0
  174. package/dist/esm/{popover-5a51f84d.js → popover-1c7a1139.js} +95 -95
  175. package/dist/esm/{scroll-99b214c2.js → scroll-180b53fd.js} +57 -57
  176. package/dist/esm/set-attributes_2.entry.js +57 -57
  177. package/dist/esm/six-alert.entry.js +131 -131
  178. package/dist/esm/six-avatar.entry.js +28 -28
  179. package/dist/esm/six-badge.entry.js +26 -26
  180. package/dist/esm/six-button.entry.js +97 -97
  181. package/dist/esm/six-card.entry.js +8 -8
  182. package/dist/esm/six-checkbox.entry.js +152 -152
  183. package/dist/esm/six-datepicker.entry.js +1189 -1189
  184. package/dist/esm/six-details.entry.js +139 -139
  185. package/dist/esm/six-dialog.entry.js +152 -152
  186. package/dist/esm/six-drawer.entry.js +174 -174
  187. package/dist/esm/six-dropdown_3.entry.js +728 -728
  188. package/dist/esm/six-error-page.entry.js +94 -94
  189. package/dist/esm/six-file-list-item.entry.js +38 -38
  190. package/dist/esm/six-file-list.entry.js +8 -8
  191. package/dist/esm/six-file-upload.entry.js +96 -96
  192. package/dist/esm/six-footer.entry.js +8 -8
  193. package/dist/esm/six-form.entry.js +219 -219
  194. package/dist/esm/six-group-label.entry.js +46 -46
  195. package/dist/esm/six-header.entry.js +149 -149
  196. package/dist/esm/six-icon-button.entry.js +33 -33
  197. package/dist/esm/six-icon.entry.js +24 -24
  198. package/dist/esm/six-input.entry.js +230 -230
  199. package/dist/esm/six-item-picker.entry.js +361 -361
  200. package/dist/esm/six-language-switcher.entry.js +52 -52
  201. package/dist/esm/six-layout-grid.entry.js +19 -19
  202. package/dist/esm/six-main-container.entry.js +11 -11
  203. package/dist/esm/six-menu-divider.entry.js +8 -8
  204. package/dist/esm/six-menu-label.entry.js +8 -8
  205. package/dist/esm/six-picto.entry.js +15 -15
  206. package/dist/esm/six-progress-bar.entry.js +17 -17
  207. package/dist/esm/six-progress-ring.entry.js +31 -31
  208. package/dist/esm/six-radio.entry.js +121 -121
  209. package/dist/esm/six-range.entry.js +198 -198
  210. package/dist/esm/six-root.entry.js +34 -34
  211. package/dist/esm/six-search-field.entry.js +43 -43
  212. package/dist/esm/six-select.entry.js +447 -447
  213. package/dist/esm/six-sidebar-item-group.entry.js +42 -42
  214. package/dist/esm/six-sidebar-item.entry.js +18 -18
  215. package/dist/esm/six-sidebar.entry.js +171 -171
  216. package/dist/esm/six-spinner.entry.js +16 -16
  217. package/dist/esm/six-switch.entry.js +100 -100
  218. package/dist/esm/six-tab-group.entry.js +226 -226
  219. package/dist/esm/six-tab-panel.entry.js +17 -17
  220. package/dist/esm/six-tab.entry.js +42 -42
  221. package/dist/esm/six-table-cell_4.entry.js +70 -70
  222. package/dist/esm/six-table.entry.js +145 -145
  223. package/dist/esm/six-tag.entry.js +40 -40
  224. package/dist/esm/six-textarea.entry.js +211 -211
  225. package/dist/esm/six-tile.entry.js +89 -89
  226. package/dist/esm/six-timepicker.entry.js +489 -489
  227. package/dist/esm/{six-timepicker.types-cd6bac03.js → six-timepicker.types-e161a447.js} +43 -43
  228. package/dist/esm/six-tooltip.entry.js +172 -172
  229. package/dist/esm/{slot-5253e199.js → slot-6f3984c7.js} +42 -42
  230. package/dist/esm/{types-a37c1695.js → types-4b10b413.js} +12 -12
  231. package/dist/esm/{types-33d15673.js → types-ed860f7c.js} +12 -12
  232. package/dist/types/components/six-alert/six-alert.d.ts +60 -60
  233. package/dist/types/components/six-avatar/six-avatar.d.ts +27 -27
  234. package/dist/types/components/six-badge/six-badge.d.ts +20 -20
  235. package/dist/types/components/six-button/six-button.d.ts +69 -69
  236. package/dist/types/components/six-card/six-card.d.ts +9 -9
  237. package/dist/types/components/six-checkbox/six-checkbox.d.ts +86 -86
  238. package/dist/types/components/six-datepicker/components/day-selection.d.ts +5 -5
  239. package/dist/types/components/six-datepicker/components/month-selection.d.ts +5 -5
  240. package/dist/types/components/six-datepicker/components/year-selection.d.ts +5 -5
  241. package/dist/types/components/six-datepicker/six-date-formats.d.ts +22 -22
  242. package/dist/types/components/six-datepicker/six-datepicker.d.ts +214 -214
  243. package/dist/types/components/six-datepicker/test/six-datepicker.test-helpers.d.ts +1 -1
  244. package/dist/types/components/six-details/six-details.d.ts +61 -61
  245. package/dist/types/components/six-dialog/six-dialog.d.ts +75 -75
  246. package/dist/types/components/six-drawer/six-drawer.d.ts +82 -82
  247. package/dist/types/components/six-dropdown/six-dropdown.d.ts +140 -140
  248. package/dist/types/components/six-error-page/six-error-page.d.ts +27 -27
  249. package/dist/types/components/six-file-list/six-file-list.d.ts +8 -8
  250. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +35 -35
  251. package/dist/types/components/six-file-upload/six-file-upload.d.ts +42 -42
  252. package/dist/types/components/six-footer/six-footer.d.ts +9 -9
  253. package/dist/types/components/six-form/six-form.d.ts +69 -69
  254. package/dist/types/components/six-group-label/six-group-label.d.ts +37 -37
  255. package/dist/types/components/six-header/six-header.d.ts +90 -90
  256. package/dist/types/components/six-icon/six-icon.d.ts +13 -13
  257. package/dist/types/components/six-icon-button/six-icon-button.d.ts +28 -28
  258. package/dist/types/components/six-input/six-input.d.ts +165 -165
  259. package/dist/types/components/six-item-picker/six-item-picker.d.ts +106 -106
  260. package/dist/types/components/six-item-picker/types.d.ts +11 -11
  261. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +25 -25
  262. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +14 -14
  263. package/dist/types/components/six-main-container/six-main-container.d.ts +16 -16
  264. package/dist/types/components/six-menu/six-menu.d.ts +81 -81
  265. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +11 -11
  266. package/dist/types/components/six-menu-item/six-menu-item.d.ts +36 -36
  267. package/dist/types/components/six-menu-label/six-menu-label.d.ts +13 -13
  268. package/dist/types/components/six-picto/six-picto.d.ts +14 -14
  269. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +19 -19
  270. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +24 -24
  271. package/dist/types/components/six-radio/six-radio.d.ts +66 -66
  272. package/dist/types/components/six-range/six-range.d.ts +101 -101
  273. package/dist/types/components/six-root/six-root.d.ts +34 -34
  274. package/dist/types/components/six-search-field/six-search-field.d.ts +32 -32
  275. package/dist/types/components/six-select/six-select.d.ts +163 -163
  276. package/dist/types/components/six-sidebar/six-sidebar.d.ts +55 -55
  277. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +15 -15
  278. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +26 -26
  279. package/dist/types/components/six-spinner/six-spinner.d.ts +15 -15
  280. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +6 -6
  281. package/dist/types/components/six-switch/six-switch.d.ts +62 -62
  282. package/dist/types/components/six-tab/six-tab.d.ts +35 -35
  283. package/dist/types/components/six-tab-group/six-tab-group.d.ts +62 -62
  284. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +19 -19
  285. package/dist/types/components/six-table/six-table.d.ts +30 -30
  286. package/dist/types/components/six-table/test/helpers.d.ts +2 -2
  287. package/dist/types/components/six-table/types.d.ts +33 -33
  288. package/dist/types/components/six-table/util/filter-by.d.ts +2 -2
  289. package/dist/types/components/six-table/util/from-data.d.ts +8 -8
  290. package/dist/types/components/six-table/util/is.d.ts +3 -3
  291. package/dist/types/components/six-table/util/quick-filter-by.d.ts +2 -2
  292. package/dist/types/components/six-table/util/sort-by.d.ts +2 -2
  293. package/dist/types/components/six-table-cell/six-table-cell.d.ts +9 -9
  294. package/dist/types/components/six-table-header/six-table-header.d.ts +9 -9
  295. package/dist/types/components/six-table-header-cell/get-next-state.d.ts +2 -2
  296. package/dist/types/components/six-table-header-cell/icons.d.ts +3 -3
  297. package/dist/types/components/six-table-header-cell/six-table-header-cell.d.ts +32 -32
  298. package/dist/types/components/six-table-header-cell/types.d.ts +11 -11
  299. package/dist/types/components/six-table-header-cell/util/create-model.d.ts +4 -4
  300. package/dist/types/components/six-table-header-cell/util/get-next-state.d.ts +3 -3
  301. package/dist/types/components/six-table-row/six-table-row.d.ts +9 -9
  302. package/dist/types/components/six-tag/six-tag.d.ts +30 -30
  303. package/dist/types/components/six-textarea/six-textarea.d.ts +134 -134
  304. package/dist/types/components/six-tile/six-tile.d.ts +40 -40
  305. package/dist/types/components/six-timepicker/six-time-format.d.ts +13 -13
  306. package/dist/types/components/six-timepicker/six-timepicker.d.ts +184 -184
  307. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +36 -36
  308. package/dist/types/components/six-tooltip/six-tooltip.d.ts +72 -72
  309. package/dist/types/functional-components/form-control/form-control.d.ts +34 -34
  310. package/dist/types/index.d.ts +1 -1
  311. package/dist/types/testUtil/delay.d.ts +1 -1
  312. package/dist/types/utils/as-array.d.ts +1 -1
  313. package/dist/types/utils/date-util.d.ts +194 -194
  314. package/dist/types/utils/event-listeners.d.ts +15 -15
  315. package/dist/types/utils/execution-control.d.ts +26 -26
  316. package/dist/types/utils/focus-visible.d.ts +6 -6
  317. package/dist/types/utils/matchers.d.ts +2 -2
  318. package/dist/types/utils/modal.d.ts +13 -13
  319. package/dist/types/utils/offset.d.ts +4 -4
  320. package/dist/types/utils/popover.d.ts +27 -27
  321. package/dist/types/utils/scroll.d.ts +3 -3
  322. package/dist/types/utils/slot.d.ts +9 -9
  323. package/dist/types/utils/support.d.ts +1 -1
  324. package/dist/types/utils/tabbable.d.ts +2 -2
  325. package/dist/types/utils/testing.d.ts +2 -2
  326. package/dist/types/utils/time.util.d.ts +10 -10
  327. package/dist/types/utils/type-check.d.ts +4 -4
  328. package/dist/types/utils/types.d.ts +4 -4
  329. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +9 -9
  330. package/dist/ui-library/{p-a8c225f2.entry.js → p-007bc8e8.entry.js} +1 -1
  331. package/dist/ui-library/{p-f9c0cfb7.entry.js → p-044b784e.entry.js} +1 -1
  332. package/dist/ui-library/{p-c733dead.js → p-0786fa7c.js} +0 -0
  333. package/dist/ui-library/{p-12cc24c3.js → p-07d1e830.js} +0 -0
  334. package/dist/ui-library/{p-48ea4419.entry.js → p-09cb13fa.entry.js} +1 -1
  335. package/dist/ui-library/{p-e96dcf96.entry.js → p-0c596054.entry.js} +1 -1
  336. package/dist/ui-library/{p-a77a6442.entry.js → p-1b8dc7b7.entry.js} +1 -1
  337. package/dist/ui-library/{p-68d31736.js → p-25a3bf57.js} +0 -0
  338. package/dist/ui-library/{p-ebaea182.entry.js → p-281e8c2d.entry.js} +1 -1
  339. package/dist/ui-library/{p-9f2dc381.entry.js → p-2924f82f.entry.js} +1 -1
  340. package/dist/ui-library/{p-ea1fcff2.entry.js → p-2d7ed407.entry.js} +1 -1
  341. package/dist/ui-library/{p-89f68e76.entry.js → p-4162dcdd.entry.js} +1 -1
  342. package/dist/ui-library/{p-6f67f986.entry.js → p-4d3a4e93.entry.js} +1 -1
  343. package/dist/ui-library/{p-8bd0873f.entry.js → p-4ed023b8.entry.js} +1 -1
  344. package/dist/ui-library/{p-af3d757c.js → p-4f8394d7.js} +0 -0
  345. package/dist/ui-library/{p-1b92cc7a.entry.js → p-530ea6ec.entry.js} +1 -1
  346. package/dist/ui-library/{p-19543c96.entry.js → p-531ab886.entry.js} +1 -1
  347. package/dist/ui-library/{p-fdb455d7.entry.js → p-54c48654.entry.js} +1 -1
  348. package/dist/ui-library/{p-c948d3db.entry.js → p-55c64cbc.entry.js} +1 -1
  349. package/dist/ui-library/{p-1c9f0dc6.js → p-5f1c6a5f.js} +0 -0
  350. package/dist/ui-library/{p-60491176.entry.js → p-675a8243.entry.js} +1 -1
  351. package/dist/ui-library/{p-b9fb8455.entry.js → p-6d622ed0.entry.js} +1 -1
  352. package/dist/ui-library/{p-572e3690.js → p-75297ad7.js} +0 -0
  353. package/dist/ui-library/{p-2ff97cdf.entry.js → p-90b26447.entry.js} +1 -1
  354. package/dist/ui-library/{p-fcd2356c.entry.js → p-93945629.entry.js} +1 -1
  355. package/dist/ui-library/{p-7735d99f.js → p-9a860acc.js} +0 -0
  356. package/dist/ui-library/{p-4cc01afc.entry.js → p-aa37e45a.entry.js} +1 -1
  357. package/dist/ui-library/{p-191f958b.js → p-b1e66136.js} +0 -0
  358. package/dist/ui-library/{p-c09dc3a9.js → p-b4dfb7cf.js} +0 -0
  359. package/dist/ui-library/{p-968c5169.entry.js → p-c24292b3.entry.js} +1 -1
  360. package/dist/ui-library/{p-ed21cc57.entry.js → p-cd79de73.entry.js} +1 -1
  361. package/dist/ui-library/{p-34e6d8e8.js → p-d12c6092.js} +0 -0
  362. package/dist/ui-library/{p-f0e91e17.entry.js → p-d28ac80a.entry.js} +1 -1
  363. package/dist/ui-library/{p-5ead7b2f.entry.js → p-d837e5a8.entry.js} +1 -1
  364. package/dist/ui-library/{p-ec1ecc2a.entry.js → p-dd3cae68.entry.js} +1 -1
  365. package/dist/ui-library/{p-044c6bf9.js → p-eb8f05a9.js} +0 -0
  366. package/dist/ui-library/ui-library.esm.js +1 -1
  367. package/package.json +1 -1
@@ -1,43 +1,43 @@
1
1
  'use strict';
2
2
 
3
- const equals = (a) => (b) => Object.keys(a).every((key) => a[key] === b[key]);
4
- class EventListeners {
5
- constructor() {
6
- this.eventListeners = [];
7
- this.add = (el, name, listener, identifier = null) => {
8
- this.eventListeners.push({ el, name, listener, identifier });
9
- el.addEventListener(name, listener);
10
- };
11
- this.remove = (el, name, listener) => {
12
- const sameItem = equals({ el, name, listener });
13
- this.eventListeners = this.getFilteredEventListeners(sameItem);
14
- };
15
- this.removeByIdentifier = (identifier) => {
16
- const sameItem = (el) => el.identifier === identifier;
17
- const foundListener = this.eventListeners.find(sameItem) !== undefined;
18
- if (!foundListener) {
19
- return;
20
- }
21
- this.eventListeners = this.getFilteredEventListeners(sameItem);
22
- };
23
- this.removeAll = () => {
24
- while (this.eventListeners.length) {
25
- const { el, name, listener } = this.eventListeners.pop();
26
- el.removeEventListener(name, listener);
27
- }
28
- };
29
- }
30
- getFilteredEventListeners(sameItem) {
31
- return this.eventListeners.filter((item) => {
32
- if (sameItem(item)) {
33
- item.el.removeEventListener(item.name, item.listener);
34
- return false;
35
- }
36
- else {
37
- return true;
38
- }
39
- });
40
- }
3
+ const equals = (a) => (b) => Object.keys(a).every((key) => a[key] === b[key]);
4
+ class EventListeners {
5
+ constructor() {
6
+ this.eventListeners = [];
7
+ this.add = (el, name, listener, identifier = null) => {
8
+ this.eventListeners.push({ el, name, listener, identifier });
9
+ el.addEventListener(name, listener);
10
+ };
11
+ this.remove = (el, name, listener) => {
12
+ const sameItem = equals({ el, name, listener });
13
+ this.eventListeners = this.getFilteredEventListeners(sameItem);
14
+ };
15
+ this.removeByIdentifier = (identifier) => {
16
+ const sameItem = (el) => el.identifier === identifier;
17
+ const foundListener = this.eventListeners.find(sameItem) !== undefined;
18
+ if (!foundListener) {
19
+ return;
20
+ }
21
+ this.eventListeners = this.getFilteredEventListeners(sameItem);
22
+ };
23
+ this.removeAll = () => {
24
+ while (this.eventListeners.length) {
25
+ const { el, name, listener } = this.eventListeners.pop();
26
+ el.removeEventListener(name, listener);
27
+ }
28
+ };
29
+ }
30
+ getFilteredEventListeners(sameItem) {
31
+ return this.eventListeners.filter((item) => {
32
+ if (sameItem(item)) {
33
+ item.el.removeEventListener(item.name, item.listener);
34
+ return false;
35
+ }
36
+ else {
37
+ return true;
38
+ }
39
+ });
40
+ }
41
41
  }
42
42
 
43
43
  exports.EventListeners = EventListeners;
@@ -1,40 +1,40 @@
1
1
  'use strict';
2
2
 
3
- const DEFAULT_DEBOUNCE_INSANELY_FAST = 35;
4
- const DEFAULT_DEBOUNCE_FAST = 300;
5
- /**
6
- * Debounce function to implement a timeframe to wait for no new changes before executing a callback
7
-
8
- * example usages:
9
- * debounce(() => saveInput());
10
- * debounce(() => saveInput(), 750);
11
- * this.searchInput.addEventListener('six-input-input', debounce((event) => this.searchInputChange(event)));
12
- *
13
- * regarding default timeout check https://lawsofux.com/doherty-threshold/
14
- *
15
- * @param callback
16
- * @param timeout
17
- */
18
- const debounce = (callback, timeout = DEFAULT_DEBOUNCE_FAST) => {
19
- let timer;
20
- return (...args) => {
21
- clearTimeout(timer);
22
- timer = setTimeout(() => callback.apply(undefined, args), timeout);
23
- };
24
- };
25
- /**
26
- * Debounce an event
27
- *
28
- * @param event
29
- * @param timeout
30
- */
31
- const debounceEvent = (event, timeout) => {
32
- const original = event._original || event;
33
- const emit = debounce(original.emit.bind(original), timeout);
34
- return {
35
- _original: event,
36
- emit: emit,
37
- };
3
+ const DEFAULT_DEBOUNCE_INSANELY_FAST = 35;
4
+ const DEFAULT_DEBOUNCE_FAST = 300;
5
+ /**
6
+ * Debounce function to implement a timeframe to wait for no new changes before executing a callback
7
+
8
+ * example usages:
9
+ * debounce(() => saveInput());
10
+ * debounce(() => saveInput(), 750);
11
+ * this.searchInput.addEventListener('six-input-input', debounce((event) => this.searchInputChange(event)));
12
+ *
13
+ * regarding default timeout check https://lawsofux.com/doherty-threshold/
14
+ *
15
+ * @param callback
16
+ * @param timeout
17
+ */
18
+ const debounce = (callback, timeout = DEFAULT_DEBOUNCE_FAST) => {
19
+ let timer;
20
+ return (...args) => {
21
+ clearTimeout(timer);
22
+ timer = setTimeout(() => callback.apply(undefined, args), timeout);
23
+ };
24
+ };
25
+ /**
26
+ * Debounce an event
27
+ *
28
+ * @param event
29
+ * @param timeout
30
+ */
31
+ const debounceEvent = (event, timeout) => {
32
+ const original = event._original || event;
33
+ const emit = debounce(original.emit.bind(original), timeout);
34
+ return {
35
+ _original: event,
36
+ emit: emit,
37
+ };
38
38
  };
39
39
 
40
40
  exports.DEFAULT_DEBOUNCE_FAST = DEFAULT_DEBOUNCE_FAST;
@@ -1,45 +1,45 @@
1
1
  'use strict';
2
2
 
3
- //
4
- // Simulates :focus-visible behavior on an element by watching for certain keyboard and mouse heuristics and toggling a
5
- // `focus-visible` class. Works at the component level so no global polyfill is necessary.
6
- //
7
- // This will eventually be removed pending better :focus-visible support: https://caniuse.com/#search=focus-visible
8
- //
9
- const listeners = new WeakMap();
10
- function observe(el) {
11
- if (!el)
12
- return;
13
- const keys = ['Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageDown', 'PageUp'];
14
- const is = (event) => {
15
- if (keys.includes(event.key)) {
16
- el.classList.add('focus-visible');
17
- }
18
- };
19
- const isNot = () => el.classList.remove('focus-visible');
20
- listeners.set(el, { is, isNot });
21
- el.addEventListener('keydown', is);
22
- el.addEventListener('keyup', is);
23
- el.addEventListener('mousedown', isNot);
24
- el.addEventListener('mousedown', isNot);
25
- }
26
- function unobserve(el) {
27
- if (!el)
28
- return;
29
- const listener = listeners.get(el);
30
- if (!listener) {
31
- return;
32
- }
33
- const { is, isNot } = listener;
34
- el.classList.remove('focus-visible');
35
- el.removeEventListener('keydown', is);
36
- el.removeEventListener('keyup', is);
37
- el.removeEventListener('mousedown', isNot);
38
- el.removeEventListener('mousedown', isNot);
39
- }
40
- const focusVisible = {
41
- observe,
42
- unobserve,
3
+ //
4
+ // Simulates :focus-visible behavior on an element by watching for certain keyboard and mouse heuristics and toggling a
5
+ // `focus-visible` class. Works at the component level so no global polyfill is necessary.
6
+ //
7
+ // This will eventually be removed pending better :focus-visible support: https://caniuse.com/#search=focus-visible
8
+ //
9
+ const listeners = new WeakMap();
10
+ function observe(el) {
11
+ if (!el)
12
+ return;
13
+ const keys = ['Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageDown', 'PageUp'];
14
+ const is = (event) => {
15
+ if (keys.includes(event.key)) {
16
+ el.classList.add('focus-visible');
17
+ }
18
+ };
19
+ const isNot = () => el.classList.remove('focus-visible');
20
+ listeners.set(el, { is, isNot });
21
+ el.addEventListener('keydown', is);
22
+ el.addEventListener('keyup', is);
23
+ el.addEventListener('mousedown', isNot);
24
+ el.addEventListener('mousedown', isNot);
25
+ }
26
+ function unobserve(el) {
27
+ if (!el)
28
+ return;
29
+ const listener = listeners.get(el);
30
+ if (!listener) {
31
+ return;
32
+ }
33
+ const { is, isNot } = listener;
34
+ el.classList.remove('focus-visible');
35
+ el.removeEventListener('keydown', is);
36
+ el.removeEventListener('keyup', is);
37
+ el.removeEventListener('mousedown', isNot);
38
+ el.removeEventListener('mousedown', isNot);
39
+ }
40
+ const focusVisible = {
41
+ observe,
42
+ unobserve,
43
43
  };
44
44
 
45
45
  exports.focusVisible = focusVisible;
@@ -2,31 +2,31 @@
2
2
 
3
3
  const index = require('./index-341df120.js');
4
4
 
5
- const FormControl = (props, children) => {
6
- const hasLabel = props.label ? true : props.hasLabelSlot;
7
- const hasHelpText = props.helpText ? true : props.hasHelpTextSlot;
8
- /** ErrorTextAttribute has precedence if non empty value is provided or if slot is not set */
9
- const useErrorTextAttribute = (props.errorText && props.errorText !== '') || !props.hasErrorTextSlot;
10
- return (index.h("div", { part: "form-control", class: {
11
- 'form-control': true,
12
- 'form-control--small': props.size === 'small',
13
- 'form-control--medium': props.size === 'medium',
14
- 'form-control--large': props.size === 'large',
15
- 'form-control--has-label': hasLabel,
16
- 'form-control--has-help-text': hasHelpText,
17
- 'form-control--has-error-text': props.displayError,
18
- 'form-control--disabled': props.disabled,
19
- 'form-control--invalid': props.displayError && !props.disabled,
20
- } },
21
- index.h("label", { part: "label", id: props.labelId, class: {
22
- 'form-control__label': true,
23
- 'form-control__label__required': props.required,
24
- }, htmlFor: props.inputId, "aria-hidden": hasLabel ? 'false' : 'true', onClick: props.onLabelClick },
25
- index.h("slot", { name: "label" }, props.label)),
26
- index.h("div", { class: "form-control__input" }, children),
27
- index.h("div", { part: "error-text", id: props.errorTextId, class: "form-control__error-text", "aria-hidden": props.displayError ? 'false' : 'true' }, useErrorTextAttribute ? props.errorText : index.h("slot", { name: "error-text" })),
28
- index.h("div", { part: "help-text", id: props.helpTextId, class: "form-control__help-text", "aria-hidden": hasHelpText ? 'false' : 'true' },
29
- index.h("slot", { name: "help-text" }, props.helpText))));
5
+ const FormControl = (props, children) => {
6
+ const hasLabel = props.label ? true : props.hasLabelSlot;
7
+ const hasHelpText = props.helpText ? true : props.hasHelpTextSlot;
8
+ /** ErrorTextAttribute has precedence if non empty value is provided or if slot is not set */
9
+ const useErrorTextAttribute = (props.errorText && props.errorText !== '') || !props.hasErrorTextSlot;
10
+ return (index.h("div", { part: "form-control", class: {
11
+ 'form-control': true,
12
+ 'form-control--small': props.size === 'small',
13
+ 'form-control--medium': props.size === 'medium',
14
+ 'form-control--large': props.size === 'large',
15
+ 'form-control--has-label': hasLabel,
16
+ 'form-control--has-help-text': hasHelpText,
17
+ 'form-control--has-error-text': props.displayError,
18
+ 'form-control--disabled': props.disabled,
19
+ 'form-control--invalid': props.displayError && !props.disabled,
20
+ } },
21
+ index.h("label", { part: "label", id: props.labelId, class: {
22
+ 'form-control__label': true,
23
+ 'form-control__label__required': props.required,
24
+ }, htmlFor: props.inputId, "aria-hidden": hasLabel ? 'false' : 'true', onClick: props.onLabelClick },
25
+ index.h("slot", { name: "label" }, props.label)),
26
+ index.h("div", { class: "form-control__input" }, children),
27
+ index.h("div", { part: "error-text", id: props.errorTextId, class: "form-control__error-text", "aria-hidden": props.displayError ? 'false' : 'true' }, useErrorTextAttribute ? props.errorText : index.h("slot", { name: "error-text" })),
28
+ index.h("div", { part: "help-text", id: props.helpTextId, class: "form-control__help-text", "aria-hidden": hasHelpText ? 'false' : 'true' },
29
+ index.h("slot", { name: "help-text" }, props.helpText))));
30
30
  };
31
31
 
32
32
  exports.FormControl = FormControl;
@@ -1,48 +1,48 @@
1
1
  'use strict';
2
2
 
3
- //
4
- // Determines if the browser supports focus({ preventScroll })
5
- //
6
- const isPreventScrollSupported = () => {
7
- let supported = false;
8
- const element = document.createElement('div');
9
- element.focus &&
10
- element.focus({
11
- get preventScroll() {
12
- supported = true;
13
- return false;
14
- },
15
- });
16
- return supported;
3
+ //
4
+ // Determines if the browser supports focus({ preventScroll })
5
+ //
6
+ const isPreventScrollSupported = () => {
7
+ let supported = false;
8
+ const element = document.createElement('div');
9
+ element.focus &&
10
+ element.focus({
11
+ get preventScroll() {
12
+ supported = true;
13
+ return false;
14
+ },
15
+ });
16
+ return supported;
17
17
  };
18
18
 
19
- let activeModals = [];
20
- class Modal {
21
- constructor(element, options) {
22
- this.element = element;
23
- this.options = options;
24
- this.handleFocusIn = this.handleFocusIn.bind(this);
25
- }
26
- activate() {
27
- activeModals.push(this.element);
28
- document.addEventListener('focusin', this.handleFocusIn);
29
- }
30
- deactivate() {
31
- activeModals = activeModals.filter((modal) => modal !== this.element);
32
- document.removeEventListener('focusin', this.handleFocusIn);
33
- }
34
- isActive() {
35
- // The "active" modal is always the most recent one shown
36
- return activeModals[activeModals.length - 1] === this.element;
37
- }
38
- handleFocusIn(event) {
39
- const target = event.target;
40
- const tagName = this.element.tagName.toLowerCase();
41
- // If focus is lost while the modal is active, run the onFocusOut callback
42
- if (this.isActive() && target.closest(tagName) !== this.element && typeof this.options.onFocusOut === 'function') {
43
- this.options.onFocusOut(event);
44
- }
45
- }
19
+ let activeModals = [];
20
+ class Modal {
21
+ constructor(element, options) {
22
+ this.element = element;
23
+ this.options = options;
24
+ this.handleFocusIn = this.handleFocusIn.bind(this);
25
+ }
26
+ activate() {
27
+ activeModals.push(this.element);
28
+ document.addEventListener('focusin', this.handleFocusIn);
29
+ }
30
+ deactivate() {
31
+ activeModals = activeModals.filter((modal) => modal !== this.element);
32
+ document.removeEventListener('focusin', this.handleFocusIn);
33
+ }
34
+ isActive() {
35
+ // The "active" modal is always the most recent one shown
36
+ return activeModals[activeModals.length - 1] === this.element;
37
+ }
38
+ handleFocusIn(event) {
39
+ const target = event.target;
40
+ const tagName = this.element.tagName.toLowerCase();
41
+ // If focus is lost while the modal is active, run the onFocusOut callback
42
+ if (this.isActive() && target.closest(tagName) !== this.element && typeof this.options.onFocusOut === 'function') {
43
+ this.options.onFocusOut(event);
44
+ }
45
+ }
46
46
  }
47
47
 
48
48
  exports.Modal = Modal;
@@ -1798,101 +1798,101 @@ var createPopper = /*#__PURE__*/popperGenerator({
1798
1798
  defaultModifiers: defaultModifiers
1799
1799
  }); // eslint-disable-next-line import/no-unused-modules
1800
1800
 
1801
- //
1802
- class Popover {
1803
- constructor(anchor, popover, options) {
1804
- this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
1805
- this.anchor = anchor;
1806
- this.popover = popover;
1807
- this.options = Object.assign({
1808
- skidding: 0,
1809
- distance: 0,
1810
- placement: 'bottom-start',
1811
- strategy: 'absolute',
1812
- transitionElement: this.popover,
1813
- visibleClass: 'popover-visible',
1814
- onAfterShow: () => { },
1815
- onAfterHide: () => { },
1816
- onTransitionEnd: () => { },
1817
- }, options);
1818
- this.isVisible = false;
1819
- this.popover.hidden = true;
1820
- this.popover.classList.remove(this.options.visibleClass);
1821
- this.popover.addEventListener('transitionend', this.handleTransitionEnd);
1822
- }
1823
- handleTransitionEnd(event) {
1824
- const target = event.target;
1825
- // Make sure the transition event originates from from the correct element, and not one that has bubbled up
1826
- if (target === this.options.transitionElement) {
1827
- // This is called before the element is hidden so users can do things like reset scroll. It will fire once for
1828
- // every transition property. Use `event.propertyName` to determine which property has finished transitioning.
1829
- this.options.onTransitionEnd.call(this, event);
1830
- // Make sure we only do this once, since transitionend will fire for every transition
1831
- if (!this.isVisible && !this.popover.hidden) {
1832
- this.popover.hidden = true;
1833
- this.popover.classList.remove(this.options.visibleClass);
1834
- this.options.onAfterHide.call(this);
1835
- }
1836
- }
1837
- }
1838
- destroy() {
1839
- this.popover.removeEventListener('transitionend', this.handleTransitionEnd);
1840
- if (this.popper) {
1841
- this.popper.destroy();
1842
- this.popper = null;
1843
- }
1844
- }
1845
- show() {
1846
- this.isVisible = true;
1847
- this.popover.hidden = false;
1848
- requestAnimationFrame(() => this.popover.classList.add(this.options.visibleClass));
1849
- if (this.popper) {
1850
- this.popper.destroy();
1851
- }
1852
- this.popper = createPopper(this.anchor, this.popover, {
1853
- placement: this.options.placement,
1854
- strategy: this.options.strategy,
1855
- modifiers: [
1856
- {
1857
- name: 'flip',
1858
- options: {
1859
- boundary: 'viewport',
1860
- },
1861
- },
1862
- {
1863
- name: 'offset',
1864
- options: {
1865
- offset: [this.options.skidding, this.options.distance],
1866
- },
1867
- },
1868
- ],
1869
- });
1870
- this.popover.addEventListener('transitionend', () => this.options.onAfterShow.call(this), { once: true });
1871
- // Reposition the menu after it appears in case a modifier kicked in
1872
- requestAnimationFrame(() => { var _a; return (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update(); });
1873
- }
1874
- reposition() {
1875
- this.popper.update();
1876
- }
1877
- hide() {
1878
- // Apply the hidden styles and wait for the transition before hiding completely
1879
- this.isVisible = false;
1880
- this.popover.classList.remove(this.options.visibleClass);
1881
- }
1882
- setOptions(options) {
1883
- this.options = Object.assign(this.options, options);
1884
- this.isVisible
1885
- ? this.popover.classList.add(this.options.visibleClass)
1886
- : this.popover.classList.remove(this.options.visibleClass);
1887
- // Update popper options
1888
- if (this.popper) {
1889
- this.popper.setOptions({
1890
- placement: this.options.placement,
1891
- strategy: this.options.strategy,
1892
- });
1893
- requestAnimationFrame(() => this.popper.update());
1894
- }
1895
- }
1801
+ //
1802
+ class Popover {
1803
+ constructor(anchor, popover, options) {
1804
+ this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
1805
+ this.anchor = anchor;
1806
+ this.popover = popover;
1807
+ this.options = Object.assign({
1808
+ skidding: 0,
1809
+ distance: 0,
1810
+ placement: 'bottom-start',
1811
+ strategy: 'absolute',
1812
+ transitionElement: this.popover,
1813
+ visibleClass: 'popover-visible',
1814
+ onAfterShow: () => { },
1815
+ onAfterHide: () => { },
1816
+ onTransitionEnd: () => { },
1817
+ }, options);
1818
+ this.isVisible = false;
1819
+ this.popover.hidden = true;
1820
+ this.popover.classList.remove(this.options.visibleClass);
1821
+ this.popover.addEventListener('transitionend', this.handleTransitionEnd);
1822
+ }
1823
+ handleTransitionEnd(event) {
1824
+ const target = event.target;
1825
+ // Make sure the transition event originates from from the correct element, and not one that has bubbled up
1826
+ if (target === this.options.transitionElement) {
1827
+ // This is called before the element is hidden so users can do things like reset scroll. It will fire once for
1828
+ // every transition property. Use `event.propertyName` to determine which property has finished transitioning.
1829
+ this.options.onTransitionEnd.call(this, event);
1830
+ // Make sure we only do this once, since transitionend will fire for every transition
1831
+ if (!this.isVisible && !this.popover.hidden) {
1832
+ this.popover.hidden = true;
1833
+ this.popover.classList.remove(this.options.visibleClass);
1834
+ this.options.onAfterHide.call(this);
1835
+ }
1836
+ }
1837
+ }
1838
+ destroy() {
1839
+ this.popover.removeEventListener('transitionend', this.handleTransitionEnd);
1840
+ if (this.popper) {
1841
+ this.popper.destroy();
1842
+ this.popper = null;
1843
+ }
1844
+ }
1845
+ show() {
1846
+ this.isVisible = true;
1847
+ this.popover.hidden = false;
1848
+ requestAnimationFrame(() => this.popover.classList.add(this.options.visibleClass));
1849
+ if (this.popper) {
1850
+ this.popper.destroy();
1851
+ }
1852
+ this.popper = createPopper(this.anchor, this.popover, {
1853
+ placement: this.options.placement,
1854
+ strategy: this.options.strategy,
1855
+ modifiers: [
1856
+ {
1857
+ name: 'flip',
1858
+ options: {
1859
+ boundary: 'viewport',
1860
+ },
1861
+ },
1862
+ {
1863
+ name: 'offset',
1864
+ options: {
1865
+ offset: [this.options.skidding, this.options.distance],
1866
+ },
1867
+ },
1868
+ ],
1869
+ });
1870
+ this.popover.addEventListener('transitionend', () => this.options.onAfterShow.call(this), { once: true });
1871
+ // Reposition the menu after it appears in case a modifier kicked in
1872
+ requestAnimationFrame(() => { var _a; return (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update(); });
1873
+ }
1874
+ reposition() {
1875
+ this.popper.update();
1876
+ }
1877
+ hide() {
1878
+ // Apply the hidden styles and wait for the transition before hiding completely
1879
+ this.isVisible = false;
1880
+ this.popover.classList.remove(this.options.visibleClass);
1881
+ }
1882
+ setOptions(options) {
1883
+ this.options = Object.assign(this.options, options);
1884
+ this.isVisible
1885
+ ? this.popover.classList.add(this.options.visibleClass)
1886
+ : this.popover.classList.remove(this.options.visibleClass);
1887
+ // Update popper options
1888
+ if (this.popper) {
1889
+ this.popper.setOptions({
1890
+ placement: this.options.placement,
1891
+ strategy: this.options.strategy,
1892
+ });
1893
+ requestAnimationFrame(() => this.popper.update());
1894
+ }
1895
+ }
1896
1896
  }
1897
1897
 
1898
1898
  exports.Popover = Popover;