@dso-toolkit/core 62.17.0 → 62.19.0

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 (874) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/clsx-fc789adc.js +7 -0
  4. package/dist/cjs/clsx-fc789adc.js.map +1 -0
  5. package/dist/cjs/{create-identifier-5900c27b.js → create-identifier-4a76663b.js} +3 -3
  6. package/dist/cjs/{create-identifier-5900c27b.js.map → create-identifier-4a76663b.js.map} +1 -1
  7. package/dist/cjs/dso-accordion-section.cjs.entry.js +159 -158
  8. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-accordion.cjs.entry.js +34 -33
  10. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-action-list-item.cjs.entry.js +17 -16
  12. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dso-action-list.cjs.entry.js +10 -9
  14. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-advanced-select.cjs.entry.js +79 -78
  16. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-alert_7.cjs.entry.js +834 -773
  18. package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +138 -135
  20. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-attachments-counter.cjs.entry.js +10 -9
  22. package/dist/cjs/dso-attachments-counter.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-autosuggest.cjs.entry.js +258 -245
  24. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  25. package/dist/cjs/dso-banner.cjs.entry.js +15 -14
  26. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-card-container.cjs.entry.js +10 -9
  28. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-card.cjs.entry.js +61 -60
  30. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +598 -597
  32. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-date-picker.cjs.entry.js +124 -123
  34. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +215 -214
  36. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-expandable.cjs.entry.js +49 -1444
  38. package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-header.cjs.entry.js +119 -118
  40. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +80 -79
  42. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
  43. package/dist/cjs/dso-highlight-box.cjs.entry.js +17 -16
  44. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-icon.cjs.entry.js +114 -113
  46. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  47. package/dist/cjs/dso-info-button.cjs.entry.js +26 -25
  48. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  49. package/dist/cjs/dso-info_2.cjs.entry.js +88 -86
  50. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/dso-input-range.cjs.entry.js +27 -26
  52. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  53. package/dist/cjs/dso-list-button.cjs.entry.js +117 -116
  54. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dso-logo.cjs.entry.js +11 -10
  56. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  57. package/dist/cjs/dso-map-base-layers.cjs.entry.js +27 -26
  58. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  59. package/dist/cjs/dso-map-controls.cjs.entry.js +57 -56
  60. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  61. package/dist/cjs/dso-map-overlays.cjs.entry.js +28 -27
  62. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  63. package/dist/cjs/dso-mark-bar.cjs.entry.js +51 -50
  64. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/dso-modal.cjs.entry.js +41 -42
  66. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  67. package/dist/cjs/dso-pagination.cjs.entry.js +118 -117
  68. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  69. package/dist/cjs/dso-progress-bar.cjs.entry.js +14 -13
  70. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/dso-progress-indicator.cjs.entry.js +12 -11
  72. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  73. package/dist/cjs/dso-responsive-element.cjs.entry.js +46 -45
  74. package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -1
  75. package/dist/cjs/dso-scrollable.cjs.entry.js +80 -79
  76. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  77. package/dist/cjs/dso-toggletip.cjs.entry.js +42 -41
  78. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  79. package/dist/cjs/dso-toolkit.cjs.js +6 -4
  80. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  81. package/dist/cjs/dso-tooltip.cjs.entry.js +192 -191
  82. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/cjs/dso-tree-view.cjs.entry.js +184 -183
  84. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  85. package/dist/cjs/dso-viewer-grid.cjs.entry.js +219 -217
  86. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  87. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +163 -162
  88. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  89. package/dist/cjs/get-active-element-05f06ef1.js +16 -0
  90. package/dist/cjs/{get-active-element-618f7b1f.js.map → get-active-element-05f06ef1.js.map} +1 -1
  91. package/dist/cjs/{has-overflow-27e20400.js → has-overflow-2fb1d618.js} +6 -6
  92. package/dist/cjs/{has-overflow-27e20400.js.map → has-overflow-2fb1d618.js.map} +1 -1
  93. package/dist/cjs/{index-2556c4c6.js → index-a58ba49d.js} +170 -67
  94. package/dist/cjs/index-a58ba49d.js.map +1 -0
  95. package/dist/{esm/index-aaea0a65.js → cjs/index-a5d31aab.js} +10 -5
  96. package/dist/cjs/index-a5d31aab.js.map +1 -0
  97. package/dist/cjs/{is-modified-event-97f83d0f.js → is-modified-event-f643edb2.js} +2 -2
  98. package/dist/cjs/{is-modified-event-97f83d0f.js.map → is-modified-event-f643edb2.js.map} +1 -1
  99. package/dist/cjs/loader.cjs.js +5 -3
  100. package/dist/cjs/loader.cjs.js.map +1 -1
  101. package/dist/collection/collection-manifest.json +2 -2
  102. package/dist/collection/components/accordion/accordion.js +120 -120
  103. package/dist/collection/components/accordion/accordion.js.map +1 -1
  104. package/dist/collection/components/accordion/components/accordion-section.css +11 -7
  105. package/dist/collection/components/accordion/components/accordion-section.interfaces.js +5 -5
  106. package/dist/collection/components/accordion/components/accordion-section.interfaces.js.map +1 -1
  107. package/dist/collection/components/accordion/components/accordion-section.js +415 -415
  108. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  109. package/dist/collection/components/action-list/action-list.js +39 -39
  110. package/dist/collection/components/action-list/action-list.js.map +1 -1
  111. package/dist/collection/components/action-list/components/action-list-item.js +117 -117
  112. package/dist/collection/components/action-list/components/action-list-item.js.map +1 -1
  113. package/dist/collection/components/advanced-select/advanced-select.js +204 -204
  114. package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
  115. package/dist/collection/components/alert/alert.css +84 -0
  116. package/dist/collection/components/alert/alert.js +64 -64
  117. package/dist/collection/components/alert/alert.js.map +1 -1
  118. package/dist/collection/components/annotation-button/annotation-button.css +0 -11
  119. package/dist/collection/components/annotation-button/annotation-button.js +83 -83
  120. package/dist/collection/components/annotation-button/annotation-button.js.map +1 -1
  121. package/dist/collection/components/annotation-output/annotation-output.css +0 -17
  122. package/dist/collection/components/annotation-output/annotation-output.js +101 -101
  123. package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
  124. package/dist/collection/components/attachments-counter/attachments-counter.js +39 -39
  125. package/dist/collection/components/attachments-counter/attachments-counter.js.map +1 -1
  126. package/dist/collection/components/autosuggest/autosuggest.css +12 -3
  127. package/dist/collection/components/autosuggest/autosuggest.interfaces.js.map +1 -1
  128. package/dist/collection/components/autosuggest/autosuggest.js +448 -436
  129. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  130. package/dist/collection/components/badge/badge.js +39 -39
  131. package/dist/collection/components/badge/badge.js.map +1 -1
  132. package/dist/collection/components/banner/banner.js +79 -79
  133. package/dist/collection/components/banner/banner.js.map +1 -1
  134. package/dist/collection/components/card/card.js +167 -167
  135. package/dist/collection/components/card/card.js.map +1 -1
  136. package/dist/collection/components/card-container/card-container.js +45 -45
  137. package/dist/collection/components/card-container/card-container.js.map +1 -1
  138. package/dist/collection/components/date-picker/date-picker.js +389 -389
  139. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  140. package/dist/collection/components/date-picker/date-utils.js +22 -22
  141. package/dist/collection/components/date-picker/date-utils.js.map +1 -1
  142. package/dist/collection/components/date-picker-legacy/date-localization.js +26 -26
  143. package/dist/collection/components/date-picker-legacy/date-localization.js.map +1 -1
  144. package/dist/collection/components/date-picker-legacy/date-picker-day.js +15 -15
  145. package/dist/collection/components/date-picker-legacy/date-picker-day.js.map +1 -1
  146. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +810 -809
  147. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js.map +1 -1
  148. package/dist/collection/components/date-picker-legacy/date-picker-month.js +16 -16
  149. package/dist/collection/components/date-picker-legacy/date-picker-month.js.map +1 -1
  150. package/dist/collection/components/date-picker-legacy/date-utils.js +89 -89
  151. package/dist/collection/components/date-picker-legacy/date-utils.js.map +1 -1
  152. package/dist/collection/components/date-picker-legacy/utils/month-range.js +25 -25
  153. package/dist/collection/components/date-picker-legacy/utils/month-range.js.map +1 -1
  154. package/dist/collection/components/date-picker-legacy/utils/range.js +5 -5
  155. package/dist/collection/components/date-picker-legacy/utils/range.js.map +1 -1
  156. package/dist/collection/components/document-component/document-component-heading.js +24 -24
  157. package/dist/collection/components/document-component/document-component-heading.js.map +1 -1
  158. package/dist/collection/components/document-component/document-component.css +4 -4
  159. package/dist/collection/components/document-component/document-component.js +558 -558
  160. package/dist/collection/components/document-component/document-component.js.map +1 -1
  161. package/dist/collection/components/document-component-demo/document-component.demo.js +266 -266
  162. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  163. package/dist/collection/components/dropdown-menu/dropdown-menu.js +358 -358
  164. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  165. package/dist/collection/components/expandable/expandable.css +12 -13
  166. package/dist/collection/components/expandable/expandable.js +169 -246
  167. package/dist/collection/components/expandable/expandable.js.map +1 -1
  168. package/dist/collection/components/header/header.js +355 -355
  169. package/dist/collection/components/header/header.js.map +1 -1
  170. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +149 -149
  171. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +1 -1
  172. package/dist/collection/components/highlight-box/highlight-box.js +114 -114
  173. package/dist/collection/components/highlight-box/highlight-box.js.map +1 -1
  174. package/dist/collection/components/icon/icon.js +143 -143
  175. package/dist/collection/components/icon/icon.js.map +1 -1
  176. package/dist/collection/components/image-overlay/image-overlay.css +124 -1
  177. package/dist/collection/components/image-overlay/image-overlay.js +150 -110
  178. package/dist/collection/components/image-overlay/image-overlay.js.map +1 -1
  179. package/dist/collection/components/info/info.js +79 -79
  180. package/dist/collection/components/info/info.js.map +1 -1
  181. package/dist/collection/components/info-button/info-button.js +136 -136
  182. package/dist/collection/components/info-button/info-button.js.map +1 -1
  183. package/dist/collection/components/input-range/input-range.js +181 -181
  184. package/dist/collection/components/input-range/input-range.js.map +1 -1
  185. package/dist/collection/components/label/label.js +252 -252
  186. package/dist/collection/components/label/label.js.map +1 -1
  187. package/dist/collection/components/list-button/list-button.js +333 -333
  188. package/dist/collection/components/list-button/list-button.js.map +1 -1
  189. package/dist/collection/components/logo/logo.js +57 -57
  190. package/dist/collection/components/logo/logo.js.map +1 -1
  191. package/dist/collection/components/map-base-layers/map-base-layers.js +99 -99
  192. package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -1
  193. package/dist/collection/components/map-controls/map-controls.js +206 -208
  194. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  195. package/dist/collection/components/map-overlays/map-overlays.js +100 -100
  196. package/dist/collection/components/map-overlays/map-overlays.js.map +1 -1
  197. package/dist/collection/components/mark-bar/mark-bar.js +241 -240
  198. package/dist/collection/components/mark-bar/mark-bar.js.map +1 -1
  199. package/dist/collection/components/modal/modal.js +171 -173
  200. package/dist/collection/components/modal/modal.js.map +1 -1
  201. package/dist/collection/components/ozon-content/get-node-name.function.js +7 -7
  202. package/dist/collection/components/ozon-content/get-node-name.function.js.map +1 -1
  203. package/dist/collection/components/ozon-content/nodes/al.node.js +24 -23
  204. package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -1
  205. package/dist/collection/components/ozon-content/nodes/bron.node.js +6 -6
  206. package/dist/collection/components/ozon-content/nodes/bron.node.js.map +1 -1
  207. package/dist/collection/components/ozon-content/nodes/document.node.js +6 -6
  208. package/dist/collection/components/ozon-content/nodes/document.node.js.map +1 -1
  209. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +8 -8
  210. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -1
  211. package/dist/collection/components/ozon-content/nodes/fallback.node.js +7 -7
  212. package/dist/collection/components/ozon-content/nodes/fallback.node.js.map +1 -1
  213. package/dist/collection/components/ozon-content/nodes/figuur.node.js +37 -36
  214. package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
  215. package/dist/collection/components/ozon-content/nodes/inhoud.node.js +14 -6
  216. package/dist/collection/components/ozon-content/nodes/inhoud.node.js.map +1 -1
  217. package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js +7 -7
  218. package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js.map +1 -1
  219. package/dist/collection/components/ozon-content/nodes/inline.nodes.js +9 -9
  220. package/dist/collection/components/ozon-content/nodes/inline.nodes.js.map +1 -1
  221. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +23 -23
  222. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js.map +1 -1
  223. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +23 -23
  224. package/dist/collection/components/ozon-content/nodes/int-ref.node.js.map +1 -1
  225. package/dist/collection/components/ozon-content/nodes/lijst.node.js +16 -16
  226. package/dist/collection/components/ozon-content/nodes/lijst.node.js.map +1 -1
  227. package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js +6 -6
  228. package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js.map +1 -1
  229. package/dist/collection/components/ozon-content/nodes/noot.node.js +18 -18
  230. package/dist/collection/components/ozon-content/nodes/noot.node.js.map +1 -1
  231. package/dist/collection/components/ozon-content/nodes/opschrift.node.js +12 -12
  232. package/dist/collection/components/ozon-content/nodes/opschrift.node.js.map +1 -1
  233. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +35 -33
  234. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js.map +1 -1
  235. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js.map +1 -1
  236. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +40 -19
  237. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js.map +1 -1
  238. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +1 -1
  239. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js.map +1 -1
  240. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +26 -23
  241. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js.map +1 -1
  242. package/dist/collection/components/ozon-content/nodes/text.node.js +14 -14
  243. package/dist/collection/components/ozon-content/nodes/text.node.js.map +1 -1
  244. package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js +6 -6
  245. package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js.map +1 -1
  246. package/dist/collection/components/ozon-content/ozon-content-mapper.js +89 -89
  247. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  248. package/dist/collection/components/ozon-content/ozon-content.css +181 -52
  249. package/dist/collection/components/ozon-content/ozon-content.js +159 -159
  250. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  251. package/dist/collection/components/pagination/pagination.js +223 -223
  252. package/dist/collection/components/pagination/pagination.js.map +1 -1
  253. package/dist/collection/components/progress-bar/progress-bar.js +79 -79
  254. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  255. package/dist/collection/components/progress-indicator/progress-indicator.js +76 -76
  256. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  257. package/dist/collection/components/responsive-element/responsive-element.js +107 -107
  258. package/dist/collection/components/responsive-element/responsive-element.js.map +1 -1
  259. package/dist/collection/components/scrollable/scrollable.js +135 -135
  260. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  261. package/dist/collection/components/selectable/selectable.css +4 -0
  262. package/dist/collection/components/selectable/selectable.js +348 -350
  263. package/dist/collection/components/selectable/selectable.js.map +1 -1
  264. package/dist/collection/components/slide-toggle/slide-toggle.js +152 -152
  265. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  266. package/dist/collection/components/table/table.js +126 -126
  267. package/dist/collection/components/table/table.js.map +1 -1
  268. package/dist/collection/components/toggletip/toggletip.js +134 -134
  269. package/dist/collection/components/toggletip/toggletip.js.map +1 -1
  270. package/dist/collection/components/tooltip/tooltip.js +379 -379
  271. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  272. package/dist/collection/components/tree-view/tree-item.js +3 -3
  273. package/dist/collection/components/tree-view/tree-item.js.map +1 -1
  274. package/dist/collection/components/tree-view/tree-view.js +305 -304
  275. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  276. package/dist/collection/components/viewer-grid/components/document-panel.js +4 -4
  277. package/dist/collection/components/viewer-grid/components/document-panel.js.map +1 -1
  278. package/dist/collection/components/viewer-grid/components/filterpanel.js +3 -3
  279. package/dist/collection/components/viewer-grid/components/filterpanel.js.map +1 -1
  280. package/dist/collection/components/viewer-grid/components/main-panel.js +11 -10
  281. package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -1
  282. package/dist/collection/components/viewer-grid/components/overlay.js +3 -3
  283. package/dist/collection/components/viewer-grid/components/overlay.js.map +1 -1
  284. package/dist/collection/components/viewer-grid/components/sizing-buttons.js +8 -8
  285. package/dist/collection/components/viewer-grid/components/sizing-buttons.js.map +1 -1
  286. package/dist/collection/components/viewer-grid/components/viewer-grid-filterpanel-buttons.js.map +1 -1
  287. package/dist/collection/components/viewer-grid/viewer-grid.css +3 -2
  288. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js +7 -7
  289. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js.map +1 -1
  290. package/dist/collection/components/viewer-grid/viewer-grid.js +584 -584
  291. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  292. package/dist/collection/utils/create-identifier.js +2 -2
  293. package/dist/collection/utils/create-identifier.js.map +1 -1
  294. package/dist/collection/utils/get-active-element.js +8 -8
  295. package/dist/collection/utils/get-active-element.js.map +1 -1
  296. package/dist/collection/utils/has-overflow.js +5 -5
  297. package/dist/collection/utils/has-overflow.js.map +1 -1
  298. package/dist/collection/utils/is-interactive-element.js +4 -4
  299. package/dist/collection/utils/is-interactive-element.js.map +1 -1
  300. package/dist/collection/utils/is-modified-event.js +1 -1
  301. package/dist/collection/utils/is-modified-event.js.map +1 -1
  302. package/dist/components/alert.js +39 -38
  303. package/dist/components/alert.js.map +1 -1
  304. package/dist/components/annotation-button.js +35 -34
  305. package/dist/components/annotation-button.js.map +1 -1
  306. package/dist/components/annotation-output.js +47 -46
  307. package/dist/components/annotation-output.js.map +1 -1
  308. package/dist/components/attachments-counter.js +29 -28
  309. package/dist/components/attachments-counter.js.map +1 -1
  310. package/dist/components/badge.js +24 -23
  311. package/dist/components/badge.js.map +1 -1
  312. package/dist/components/clsx.js +1 -1
  313. package/dist/components/clsx.js.map +1 -1
  314. package/dist/components/create-identifier.js +2 -2
  315. package/dist/components/create-identifier.js.map +1 -1
  316. package/dist/components/document-component.js +174 -173
  317. package/dist/components/document-component.js.map +1 -1
  318. package/dist/components/dropdown-menu.js +219 -218
  319. package/dist/components/dropdown-menu.js.map +1 -1
  320. package/dist/components/dso-accordion-section.d.ts +2 -2
  321. package/dist/components/dso-accordion-section.js +198 -197
  322. package/dist/components/dso-accordion-section.js.map +1 -1
  323. package/dist/components/dso-accordion.d.ts +2 -2
  324. package/dist/components/dso-accordion.js +53 -52
  325. package/dist/components/dso-accordion.js.map +1 -1
  326. package/dist/components/dso-action-list-item.d.ts +2 -2
  327. package/dist/components/dso-action-list-item.js +40 -39
  328. package/dist/components/dso-action-list-item.js.map +1 -1
  329. package/dist/components/dso-action-list.d.ts +2 -2
  330. package/dist/components/dso-action-list.js +24 -23
  331. package/dist/components/dso-action-list.js.map +1 -1
  332. package/dist/components/dso-advanced-select.d.ts +2 -2
  333. package/dist/components/dso-advanced-select.js +104 -103
  334. package/dist/components/dso-advanced-select.js.map +1 -1
  335. package/dist/components/dso-alert.d.ts +2 -2
  336. package/dist/components/dso-annotation-button.d.ts +2 -2
  337. package/dist/components/dso-annotation-output.d.ts +2 -2
  338. package/dist/components/dso-attachments-counter.d.ts +2 -2
  339. package/dist/components/dso-autosuggest.d.ts +2 -2
  340. package/dist/components/dso-autosuggest.js +292 -279
  341. package/dist/components/dso-autosuggest.js.map +1 -1
  342. package/dist/components/dso-badge.d.ts +2 -2
  343. package/dist/components/dso-banner.d.ts +2 -2
  344. package/dist/components/dso-banner.js +30 -29
  345. package/dist/components/dso-banner.js.map +1 -1
  346. package/dist/components/dso-card-container.d.ts +2 -2
  347. package/dist/components/dso-card-container.js +24 -23
  348. package/dist/components/dso-card-container.js.map +1 -1
  349. package/dist/components/dso-card.d.ts +2 -2
  350. package/dist/components/dso-card.js +82 -81
  351. package/dist/components/dso-card.js.map +1 -1
  352. package/dist/components/dso-date-picker-legacy.d.ts +2 -2
  353. package/dist/components/dso-date-picker-legacy.js +633 -632
  354. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  355. package/dist/components/dso-date-picker.d.ts +2 -2
  356. package/dist/components/dso-date-picker.js +146 -145
  357. package/dist/components/dso-date-picker.js.map +1 -1
  358. package/dist/components/dso-document-component.d.ts +2 -2
  359. package/dist/components/dso-dropdown-menu.d.ts +2 -2
  360. package/dist/components/dso-expandable.d.ts +2 -2
  361. package/dist/components/dso-header.d.ts +2 -2
  362. package/dist/components/dso-header.js +155 -154
  363. package/dist/components/dso-header.js.map +1 -1
  364. package/dist/components/dso-helpcenter-panel.d.ts +2 -2
  365. package/dist/components/dso-helpcenter-panel.js +107 -106
  366. package/dist/components/dso-helpcenter-panel.js.map +1 -1
  367. package/dist/components/dso-highlight-box.d.ts +2 -2
  368. package/dist/components/dso-highlight-box.js +35 -34
  369. package/dist/components/dso-highlight-box.js.map +1 -1
  370. package/dist/components/dso-icon.d.ts +2 -2
  371. package/dist/components/dso-image-overlay.d.ts +2 -2
  372. package/dist/components/dso-info-button.d.ts +2 -2
  373. package/dist/components/dso-info.d.ts +2 -2
  374. package/dist/components/dso-input-range.d.ts +2 -2
  375. package/dist/components/dso-input-range.js +47 -46
  376. package/dist/components/dso-input-range.js.map +1 -1
  377. package/dist/components/dso-label.d.ts +2 -2
  378. package/dist/components/dso-list-button.d.ts +2 -2
  379. package/dist/components/dso-list-button.js +147 -146
  380. package/dist/components/dso-list-button.js.map +1 -1
  381. package/dist/components/dso-logo.d.ts +2 -2
  382. package/dist/components/dso-logo.js +26 -25
  383. package/dist/components/dso-logo.js.map +1 -1
  384. package/dist/components/dso-map-base-layers.d.ts +2 -2
  385. package/dist/components/dso-map-base-layers.js +62 -61
  386. package/dist/components/dso-map-base-layers.js.map +1 -1
  387. package/dist/components/dso-map-controls.d.ts +2 -2
  388. package/dist/components/dso-map-controls.js +86 -85
  389. package/dist/components/dso-map-controls.js.map +1 -1
  390. package/dist/components/dso-map-overlays.d.ts +2 -2
  391. package/dist/components/dso-map-overlays.js +63 -62
  392. package/dist/components/dso-map-overlays.js.map +1 -1
  393. package/dist/components/dso-mark-bar.d.ts +2 -2
  394. package/dist/components/dso-mark-bar.js +74 -73
  395. package/dist/components/dso-mark-bar.js.map +1 -1
  396. package/dist/components/dso-modal.d.ts +2 -2
  397. package/dist/components/dso-modal.js +69 -70
  398. package/dist/components/dso-modal.js.map +1 -1
  399. package/dist/components/dso-ozon-content.d.ts +2 -2
  400. package/dist/components/dso-pagination.d.ts +2 -2
  401. package/dist/components/dso-pagination.js +144 -143
  402. package/dist/components/dso-pagination.js.map +1 -1
  403. package/dist/components/dso-progress-bar.d.ts +2 -2
  404. package/dist/components/dso-progress-bar.js +30 -29
  405. package/dist/components/dso-progress-bar.js.map +1 -1
  406. package/dist/components/dso-progress-indicator.d.ts +2 -2
  407. package/dist/components/dso-responsive-element.d.ts +2 -2
  408. package/dist/components/dso-scrollable.d.ts +2 -2
  409. package/dist/components/dso-selectable.d.ts +2 -2
  410. package/dist/components/dso-slide-toggle.d.ts +2 -2
  411. package/dist/components/dso-table.d.ts +2 -2
  412. package/dist/components/dso-toggletip.d.ts +2 -2
  413. package/dist/components/dso-toggletip.js +75 -74
  414. package/dist/components/dso-toggletip.js.map +1 -1
  415. package/dist/components/dso-tooltip.d.ts +2 -2
  416. package/dist/components/dso-tree-view.d.ts +2 -2
  417. package/dist/components/dso-tree-view.js +208 -207
  418. package/dist/components/dso-tree-view.js.map +1 -1
  419. package/dist/components/dso-viewer-grid.d.ts +2 -2
  420. package/dist/components/dso-viewer-grid.js +246 -244
  421. package/dist/components/dso-viewer-grid.js.map +1 -1
  422. package/dist/components/dsot-document-component-demo.d.ts +2 -2
  423. package/dist/components/dsot-document-component-demo.js +258 -257
  424. package/dist/components/dsot-document-component-demo.js.map +1 -1
  425. package/dist/components/expandable.js +62 -1459
  426. package/dist/components/expandable.js.map +1 -1
  427. package/dist/components/focus-trap.esm.js +1 -1
  428. package/dist/components/get-active-element.js +8 -8
  429. package/dist/components/get-active-element.js.map +1 -1
  430. package/dist/components/has-overflow.js +5 -5
  431. package/dist/components/has-overflow.js.map +1 -1
  432. package/dist/components/icon.js +128 -127
  433. package/dist/components/icon.js.map +1 -1
  434. package/dist/components/image-overlay.js +128 -107
  435. package/dist/components/image-overlay.js.map +1 -1
  436. package/dist/components/index.esm.js +1 -1
  437. package/dist/components/index2.js +7 -4
  438. package/dist/components/index2.js.map +1 -1
  439. package/dist/components/info-button.js +48 -47
  440. package/dist/components/info-button.js.map +1 -1
  441. package/dist/components/info.js +32 -31
  442. package/dist/components/info.js.map +1 -1
  443. package/dist/components/is-modified-event.js +1 -1
  444. package/dist/components/is-modified-event.js.map +1 -1
  445. package/dist/components/label.js +143 -142
  446. package/dist/components/label.js.map +1 -1
  447. package/dist/components/ozon-content.js +542 -506
  448. package/dist/components/ozon-content.js.map +1 -1
  449. package/dist/components/progress-indicator.js +33 -32
  450. package/dist/components/progress-indicator.js.map +1 -1
  451. package/dist/components/responsive-element.js +62 -61
  452. package/dist/components/responsive-element.js.map +1 -1
  453. package/dist/components/scrollable.js +94 -93
  454. package/dist/components/scrollable.js.map +1 -1
  455. package/dist/components/selectable.js +119 -118
  456. package/dist/components/selectable.js.map +1 -1
  457. package/dist/components/slide-toggle.js +44 -43
  458. package/dist/components/slide-toggle.js.map +1 -1
  459. package/dist/components/table.js +95 -94
  460. package/dist/components/table.js.map +1 -1
  461. package/dist/components/tooltip.js +217 -216
  462. package/dist/components/tooltip.js.map +1 -1
  463. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  464. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  465. package/dist/dso-toolkit/p-00f36d82.entry.js +2 -0
  466. package/dist/dso-toolkit/p-00f36d82.entry.js.map +1 -0
  467. package/dist/dso-toolkit/p-05115f40.entry.js +2 -0
  468. package/dist/dso-toolkit/p-05115f40.entry.js.map +1 -0
  469. package/dist/dso-toolkit/p-0df15acb.entry.js +2 -0
  470. package/dist/dso-toolkit/p-0df15acb.entry.js.map +1 -0
  471. package/dist/dso-toolkit/p-0edf4492.entry.js +2 -0
  472. package/dist/dso-toolkit/p-0edf4492.entry.js.map +1 -0
  473. package/dist/dso-toolkit/p-0f1c1ad3.entry.js +2 -0
  474. package/dist/dso-toolkit/p-0f1c1ad3.entry.js.map +1 -0
  475. package/dist/dso-toolkit/p-130c00f5.entry.js +2 -0
  476. package/dist/dso-toolkit/p-130c00f5.entry.js.map +1 -0
  477. package/dist/dso-toolkit/{p-e1cb1603.entry.js → p-1543b25f.entry.js} +2 -2
  478. package/dist/dso-toolkit/p-1543b25f.entry.js.map +1 -0
  479. package/dist/dso-toolkit/p-171df922.entry.js +2 -0
  480. package/dist/dso-toolkit/p-171df922.entry.js.map +1 -0
  481. package/dist/dso-toolkit/{p-86133aa5.js → p-1dbcaeef.js} +2 -2
  482. package/dist/dso-toolkit/{p-fd7891ef.js → p-202d2cdf.js} +1 -1
  483. package/dist/dso-toolkit/p-23b5692c.js +2 -0
  484. package/dist/dso-toolkit/p-23b5692c.js.map +1 -0
  485. package/dist/dso-toolkit/{p-17e4b846.js → p-2d694112.js} +1 -1
  486. package/dist/dso-toolkit/p-30f09a47.entry.js +2 -0
  487. package/dist/dso-toolkit/p-30f09a47.entry.js.map +1 -0
  488. package/dist/dso-toolkit/{p-1b8d34a6.entry.js → p-32e3c872.entry.js} +2 -2
  489. package/dist/dso-toolkit/p-32e3c872.entry.js.map +1 -0
  490. package/dist/dso-toolkit/p-3603f65a.entry.js +2 -0
  491. package/dist/dso-toolkit/p-3603f65a.entry.js.map +1 -0
  492. package/dist/dso-toolkit/p-3b8f44b1.entry.js +2 -0
  493. package/dist/dso-toolkit/p-3b8f44b1.entry.js.map +1 -0
  494. package/dist/dso-toolkit/{p-c9fbf040.entry.js → p-3e0495a4.entry.js} +2 -2
  495. package/dist/dso-toolkit/p-3e0495a4.entry.js.map +1 -0
  496. package/dist/dso-toolkit/p-487a5da9.entry.js +2 -0
  497. package/dist/dso-toolkit/p-487a5da9.entry.js.map +1 -0
  498. package/dist/dso-toolkit/p-535f755f.entry.js +2 -0
  499. package/dist/dso-toolkit/p-535f755f.entry.js.map +1 -0
  500. package/dist/dso-toolkit/p-590c98cb.entry.js +2 -0
  501. package/dist/dso-toolkit/p-590c98cb.entry.js.map +1 -0
  502. package/dist/dso-toolkit/p-64ed1e16.entry.js +2 -0
  503. package/dist/dso-toolkit/p-64ed1e16.entry.js.map +1 -0
  504. package/dist/dso-toolkit/p-69e2f1a3.entry.js +2 -0
  505. package/dist/dso-toolkit/p-69e2f1a3.entry.js.map +1 -0
  506. package/dist/dso-toolkit/p-701648d3.js +3 -0
  507. package/dist/dso-toolkit/p-701648d3.js.map +1 -0
  508. package/dist/dso-toolkit/{p-fbb226aa.js → p-808a98bc.js} +3 -3
  509. package/dist/dso-toolkit/p-889aa72f.entry.js +2 -0
  510. package/dist/dso-toolkit/p-889aa72f.entry.js.map +1 -0
  511. package/dist/dso-toolkit/p-8a1a6e56.js +2 -0
  512. package/dist/dso-toolkit/p-8a1a6e56.js.map +1 -0
  513. package/dist/dso-toolkit/p-8a41761d.entry.js +2 -0
  514. package/dist/dso-toolkit/p-8a41761d.entry.js.map +1 -0
  515. package/dist/dso-toolkit/{p-ea6ca8b2.entry.js → p-9579c352.entry.js} +2 -2
  516. package/dist/dso-toolkit/p-9579c352.entry.js.map +1 -0
  517. package/dist/dso-toolkit/{p-c19cfe3f.js → p-97f788d4.js} +1 -1
  518. package/dist/dso-toolkit/p-9bf86dbf.entry.js +2 -0
  519. package/dist/dso-toolkit/p-9bf86dbf.entry.js.map +1 -0
  520. package/dist/dso-toolkit/p-9f465136.entry.js +2 -0
  521. package/dist/dso-toolkit/p-9f465136.entry.js.map +1 -0
  522. package/dist/dso-toolkit/p-9f9ed7fc.entry.js +2 -0
  523. package/dist/dso-toolkit/p-9f9ed7fc.entry.js.map +1 -0
  524. package/dist/dso-toolkit/p-a7ec3cce.entry.js +2 -0
  525. package/dist/dso-toolkit/p-a7ec3cce.entry.js.map +1 -0
  526. package/dist/dso-toolkit/p-ae783ec3.entry.js +2 -0
  527. package/dist/dso-toolkit/p-ae783ec3.entry.js.map +1 -0
  528. package/dist/dso-toolkit/p-b73a27bc.entry.js +2 -0
  529. package/dist/dso-toolkit/p-b73a27bc.entry.js.map +1 -0
  530. package/dist/dso-toolkit/{p-46955cda.entry.js → p-b8be68cd.entry.js} +2 -2
  531. package/dist/dso-toolkit/p-b8be68cd.entry.js.map +1 -0
  532. package/dist/dso-toolkit/{p-69231fe7.entry.js → p-ba1757f9.entry.js} +2 -2
  533. package/dist/dso-toolkit/p-ba1757f9.entry.js.map +1 -0
  534. package/dist/dso-toolkit/{p-dd21df39.entry.js → p-bb65ba35.entry.js} +2 -2
  535. package/dist/dso-toolkit/p-bb65ba35.entry.js.map +1 -0
  536. package/dist/dso-toolkit/p-bf2ef44a.entry.js +2 -0
  537. package/dist/dso-toolkit/p-bf2ef44a.entry.js.map +1 -0
  538. package/dist/dso-toolkit/{p-eb7275e9.entry.js → p-c3af1efc.entry.js} +2 -2
  539. package/dist/dso-toolkit/p-c3af1efc.entry.js.map +1 -0
  540. package/dist/dso-toolkit/p-c435f94d.entry.js +2 -0
  541. package/dist/dso-toolkit/p-c435f94d.entry.js.map +1 -0
  542. package/dist/dso-toolkit/{p-6e9b961b.js → p-c8f6f8d9.js} +1 -1
  543. package/dist/dso-toolkit/{p-67461818.entry.js → p-d6fa20f7.entry.js} +2 -2
  544. package/dist/dso-toolkit/p-d6fa20f7.entry.js.map +1 -0
  545. package/dist/dso-toolkit/p-d75e278f.entry.js +2 -0
  546. package/dist/dso-toolkit/p-d75e278f.entry.js.map +1 -0
  547. package/dist/dso-toolkit/p-db0796f2.entry.js +2 -0
  548. package/dist/dso-toolkit/p-db0796f2.entry.js.map +1 -0
  549. package/dist/dso-toolkit/p-e1255160.js +2 -0
  550. package/dist/dso-toolkit/p-e1255160.js.map +1 -0
  551. package/dist/dso-toolkit/p-e1f82103.entry.js +2 -0
  552. package/dist/dso-toolkit/p-e1f82103.entry.js.map +1 -0
  553. package/dist/dso-toolkit/p-e968c726.entry.js +2 -0
  554. package/dist/dso-toolkit/p-e968c726.entry.js.map +1 -0
  555. package/dist/dso-toolkit/p-f3f23018.entry.js +2 -0
  556. package/dist/dso-toolkit/p-f3f23018.entry.js.map +1 -0
  557. package/dist/dso-toolkit/p-ffdcb2e4.entry.js +2 -0
  558. package/dist/dso-toolkit/p-ffdcb2e4.entry.js.map +1 -0
  559. package/dist/esm/app-globals-0f993ce5.js +5 -0
  560. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  561. package/dist/esm/clsx-297c1ffe.js +5 -0
  562. package/dist/esm/clsx-297c1ffe.js.map +1 -0
  563. package/dist/esm/create-identifier-d61d46af.js +17 -0
  564. package/dist/esm/{create-identifier-479a4699.js.map → create-identifier-d61d46af.js.map} +1 -1
  565. package/dist/esm/dso-accordion-section.entry.js +159 -158
  566. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  567. package/dist/esm/dso-accordion.entry.js +34 -33
  568. package/dist/esm/dso-accordion.entry.js.map +1 -1
  569. package/dist/esm/dso-action-list-item.entry.js +17 -16
  570. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  571. package/dist/esm/dso-action-list.entry.js +10 -9
  572. package/dist/esm/dso-action-list.entry.js.map +1 -1
  573. package/dist/esm/dso-advanced-select.entry.js +81 -80
  574. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  575. package/dist/esm/dso-alert_7.entry.js +836 -775
  576. package/dist/esm/dso-alert_7.entry.js.map +1 -1
  577. package/dist/esm/dso-annotation-output_3.entry.js +138 -135
  578. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
  579. package/dist/esm/dso-attachments-counter.entry.js +10 -9
  580. package/dist/esm/dso-attachments-counter.entry.js.map +1 -1
  581. package/dist/esm/dso-autosuggest.entry.js +258 -245
  582. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  583. package/dist/esm/dso-banner.entry.js +15 -14
  584. package/dist/esm/dso-banner.entry.js.map +1 -1
  585. package/dist/esm/dso-card-container.entry.js +10 -9
  586. package/dist/esm/dso-card-container.entry.js.map +1 -1
  587. package/dist/esm/dso-card.entry.js +61 -60
  588. package/dist/esm/dso-card.entry.js.map +1 -1
  589. package/dist/esm/dso-date-picker-legacy.entry.js +598 -597
  590. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  591. package/dist/esm/dso-date-picker.entry.js +124 -123
  592. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  593. package/dist/esm/dso-dropdown-menu.entry.js +216 -215
  594. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  595. package/dist/esm/dso-expandable.entry.js +49 -1444
  596. package/dist/esm/dso-expandable.entry.js.map +1 -1
  597. package/dist/esm/dso-header.entry.js +119 -118
  598. package/dist/esm/dso-header.entry.js.map +1 -1
  599. package/dist/esm/dso-helpcenter-panel.entry.js +82 -81
  600. package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
  601. package/dist/esm/dso-highlight-box.entry.js +17 -16
  602. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  603. package/dist/esm/dso-icon.entry.js +114 -113
  604. package/dist/esm/dso-icon.entry.js.map +1 -1
  605. package/dist/esm/dso-info-button.entry.js +26 -25
  606. package/dist/esm/dso-info-button.entry.js.map +1 -1
  607. package/dist/esm/dso-info_2.entry.js +88 -86
  608. package/dist/esm/dso-info_2.entry.js.map +1 -1
  609. package/dist/esm/dso-input-range.entry.js +27 -26
  610. package/dist/esm/dso-input-range.entry.js.map +1 -1
  611. package/dist/esm/dso-list-button.entry.js +119 -118
  612. package/dist/esm/dso-list-button.entry.js.map +1 -1
  613. package/dist/esm/dso-logo.entry.js +11 -10
  614. package/dist/esm/dso-logo.entry.js.map +1 -1
  615. package/dist/esm/dso-map-base-layers.entry.js +27 -26
  616. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  617. package/dist/esm/dso-map-controls.entry.js +57 -56
  618. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  619. package/dist/esm/dso-map-overlays.entry.js +28 -27
  620. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  621. package/dist/esm/dso-mark-bar.entry.js +51 -50
  622. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  623. package/dist/esm/dso-modal.entry.js +41 -42
  624. package/dist/esm/dso-modal.entry.js.map +1 -1
  625. package/dist/esm/dso-pagination.entry.js +118 -117
  626. package/dist/esm/dso-pagination.entry.js.map +1 -1
  627. package/dist/esm/dso-progress-bar.entry.js +14 -13
  628. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  629. package/dist/esm/dso-progress-indicator.entry.js +12 -11
  630. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  631. package/dist/esm/dso-responsive-element.entry.js +46 -45
  632. package/dist/esm/dso-responsive-element.entry.js.map +1 -1
  633. package/dist/esm/dso-scrollable.entry.js +80 -79
  634. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  635. package/dist/esm/dso-toggletip.entry.js +42 -41
  636. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  637. package/dist/esm/dso-toolkit.js +7 -5
  638. package/dist/esm/dso-toolkit.js.map +1 -1
  639. package/dist/esm/dso-tooltip.entry.js +192 -191
  640. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  641. package/dist/esm/dso-tree-view.entry.js +184 -183
  642. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  643. package/dist/esm/dso-viewer-grid.entry.js +219 -217
  644. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  645. package/dist/esm/dsot-document-component-demo.entry.js +163 -162
  646. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  647. package/dist/esm/{focus-trap.esm-d8deb1f0.js → focus-trap.esm-f16e876b.js} +2 -2
  648. package/dist/esm/{focus-trap.esm-d8deb1f0.js.map → focus-trap.esm-f16e876b.js.map} +1 -1
  649. package/dist/esm/get-active-element-37680994.js +14 -0
  650. package/dist/esm/{get-active-element-0e7dc01b.js.map → get-active-element-37680994.js.map} +1 -1
  651. package/dist/esm/{has-overflow-9f720f83.js → has-overflow-6d7f3a71.js} +6 -6
  652. package/dist/esm/{has-overflow-9f720f83.js.map → has-overflow-6d7f3a71.js.map} +1 -1
  653. package/dist/esm/{index-528d5213.js → index-2e1b7388.js} +170 -67
  654. package/dist/esm/index-2e1b7388.js.map +1 -0
  655. package/dist/{cjs/index-1b083a00.js → esm/index-baba34a8.js} +7 -6
  656. package/dist/esm/index-baba34a8.js.map +1 -0
  657. package/dist/esm/{index.esm-7e16e884.js → index.esm-7a561c35.js} +2 -2
  658. package/dist/esm/{index.esm-7e16e884.js.map → index.esm-7a561c35.js.map} +1 -1
  659. package/dist/esm/{is-modified-event-4fc531e3.js → is-modified-event-70db5fa8.js} +2 -2
  660. package/dist/esm/{is-modified-event-4fc531e3.js.map → is-modified-event-70db5fa8.js.map} +1 -1
  661. package/dist/esm/loader.js +6 -4
  662. package/dist/esm/loader.js.map +1 -1
  663. package/dist/scripts/readme.js +66 -66
  664. package/dist/scripts/readme.js.map +1 -1
  665. package/dist/types/components/accordion/accordion.d.ts +21 -21
  666. package/dist/types/components/accordion/accordion.interfaces.d.ts +2 -2
  667. package/dist/types/components/accordion/components/accordion-section.d.ts +67 -67
  668. package/dist/types/components/accordion/components/accordion-section.interfaces.d.ts +26 -26
  669. package/dist/types/components/action-list/action-list.d.ts +5 -5
  670. package/dist/types/components/action-list/components/action-list-item.d.ts +21 -21
  671. package/dist/types/components/advanced-select/advanced-select.d.ts +36 -36
  672. package/dist/types/components/advanced-select/advanced-select.models.d.ts +17 -17
  673. package/dist/types/components/alert/alert.d.ts +10 -10
  674. package/dist/types/components/annotation-button/annotation-button.d.ts +16 -16
  675. package/dist/types/components/annotation-output/annotation-output.d.ts +19 -19
  676. package/dist/types/components/attachments-counter/attachments-counter.d.ts +5 -5
  677. package/dist/types/components/autosuggest/autosuggest.d.ts +77 -76
  678. package/dist/types/components/autosuggest/autosuggest.interfaces.d.ts +16 -12
  679. package/dist/types/components/badge/badge.d.ts +5 -5
  680. package/dist/types/components/banner/banner.d.ts +15 -15
  681. package/dist/types/components/card/card.d.ts +36 -36
  682. package/dist/types/components/card/card.interfaces.d.ts +3 -3
  683. package/dist/types/components/card-container/card-container.d.ts +5 -5
  684. package/dist/types/components/date-picker/date-picker.d.ts +78 -78
  685. package/dist/types/components/date-picker/date-picker.interfaces.d.ts +37 -37
  686. package/dist/types/components/date-picker-legacy/date-localization.d.ts +13 -13
  687. package/dist/types/components/date-picker-legacy/date-picker-day.d.ts +7 -7
  688. package/dist/types/components/date-picker-legacy/date-picker-legacy.d.ts +168 -168
  689. package/dist/types/components/date-picker-legacy/date-picker-legacy.interfaces.d.ts +7 -7
  690. package/dist/types/components/date-picker-legacy/date-picker-month.d.ts +12 -12
  691. package/dist/types/components/date-picker-legacy/date-utils.d.ts +7 -7
  692. package/dist/types/components/document-component/document-component-heading.d.ts +1 -1
  693. package/dist/types/components/document-component/document-component.d.ts +102 -102
  694. package/dist/types/components/document-component/document-component.models.d.ts +11 -11
  695. package/dist/types/components/document-component-demo/document-component.demo.d.ts +63 -63
  696. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +50 -50
  697. package/dist/types/components/expandable/expandable.d.ts +37 -39
  698. package/dist/types/components/header/header.d.ts +73 -73
  699. package/dist/types/components/header/header.interfaces.d.ts +10 -10
  700. package/dist/types/components/helpcenter-panel/helpcenter-panel.d.ts +26 -26
  701. package/dist/types/components/highlight-box/highlight-box.d.ts +22 -22
  702. package/dist/types/components/icon/icon.d.ts +5 -5
  703. package/dist/types/components/image-overlay/image-overlay.d.ts +23 -18
  704. package/dist/types/components/info/info.d.ts +13 -13
  705. package/dist/types/components/info-button/info-button.d.ts +24 -24
  706. package/dist/types/components/info-button/info-button.interfaces.d.ts +2 -2
  707. package/dist/types/components/input-range/input-range.d.ts +34 -34
  708. package/dist/types/components/input-range/input-range.interfaces.d.ts +5 -5
  709. package/dist/types/components/label/label.d.ts +45 -45
  710. package/dist/types/components/list-button/list-button.d.ts +67 -67
  711. package/dist/types/components/list-button/list-button.interfaces.d.ts +6 -6
  712. package/dist/types/components/logo/logo.d.ts +12 -12
  713. package/dist/types/components/map-base-layers/map-base-layers.d.ts +17 -17
  714. package/dist/types/components/map-base-layers/map-base-layers.interfaces.d.ts +6 -6
  715. package/dist/types/components/map-controls/map-controls.d.ts +39 -39
  716. package/dist/types/components/map-controls/map-controls.interfaces.d.ts +2 -2
  717. package/dist/types/components/map-overlays/map-overlays.d.ts +17 -17
  718. package/dist/types/components/map-overlays/map-overlays.interfaces.d.ts +7 -7
  719. package/dist/types/components/mark-bar/mark-bar.d.ts +43 -43
  720. package/dist/types/components/mark-bar/mark-bar.interfaces.d.ts +8 -8
  721. package/dist/types/components/modal/modal.d.ts +38 -38
  722. package/dist/types/components/modal/modal.interfaces.d.ts +1 -1
  723. package/dist/types/components/ozon-content/nodes/al.node.d.ts +2 -2
  724. package/dist/types/components/ozon-content/nodes/bron.node.d.ts +2 -2
  725. package/dist/types/components/ozon-content/nodes/document.node.d.ts +2 -2
  726. package/dist/types/components/ozon-content/nodes/ext-ref.node.d.ts +2 -2
  727. package/dist/types/components/ozon-content/nodes/fallback.node.d.ts +2 -2
  728. package/dist/types/components/ozon-content/nodes/figuur.node.d.ts +4 -4
  729. package/dist/types/components/ozon-content/nodes/inhoud.node.d.ts +2 -2
  730. package/dist/types/components/ozon-content/nodes/inline-tekst-afbeelding.node.d.ts +2 -2
  731. package/dist/types/components/ozon-content/nodes/inline.nodes.d.ts +2 -2
  732. package/dist/types/components/ozon-content/nodes/int-io-ref.node.d.ts +2 -2
  733. package/dist/types/components/ozon-content/nodes/int-ref.node.d.ts +2 -2
  734. package/dist/types/components/ozon-content/nodes/lijst.node.d.ts +2 -2
  735. package/dist/types/components/ozon-content/nodes/nieuwe-tekst.node.d.ts +2 -2
  736. package/dist/types/components/ozon-content/nodes/noot.node.d.ts +4 -4
  737. package/dist/types/components/ozon-content/nodes/opschrift.node.d.ts +2 -2
  738. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec.interface.d.ts +8 -6
  739. package/dist/types/components/ozon-content/nodes/table.node/table-cell.d.ts +3 -3
  740. package/dist/types/components/ozon-content/nodes/table.node/table-colgroup.d.ts +1 -1
  741. package/dist/types/components/ozon-content/nodes/table.node/table-rows.d.ts +3 -3
  742. package/dist/types/components/ozon-content/nodes/table.node/table.node.d.ts +4 -4
  743. package/dist/types/components/ozon-content/nodes/text.node.d.ts +2 -2
  744. package/dist/types/components/ozon-content/nodes/verwijderde-tekst.node.d.ts +2 -2
  745. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +6 -6
  746. package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +8 -8
  747. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +8 -8
  748. package/dist/types/components/ozon-content/ozon-content-node-state.interface.d.ts +1 -1
  749. package/dist/types/components/ozon-content/ozon-content-node.interface.d.ts +4 -4
  750. package/dist/types/components/ozon-content/ozon-content.d.ts +24 -24
  751. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +9 -9
  752. package/dist/types/components/pagination/pagination.d.ts +32 -32
  753. package/dist/types/components/pagination/pagination.interfaces.d.ts +6 -6
  754. package/dist/types/components/progress-bar/progress-bar.d.ts +13 -13
  755. package/dist/types/components/progress-indicator/progress-indicator.d.ts +15 -15
  756. package/dist/types/components/responsive-element/responsive-element.d.ts +15 -15
  757. package/dist/types/components/responsive-element/responsive-element.interfaces.d.ts +2 -2
  758. package/dist/types/components/scrollable/scrollable.d.ts +18 -18
  759. package/dist/types/components/scrollable/scrollable.interfaces.d.ts +1 -1
  760. package/dist/types/components/selectable/selectable.d.ts +77 -77
  761. package/dist/types/components/selectable/selectable.interfaces.d.ts +2 -2
  762. package/dist/types/components/slide-toggle/slide-toggle.d.ts +29 -29
  763. package/dist/types/components/slide-toggle/slide-toggle.interfaces.d.ts +3 -3
  764. package/dist/types/components/table/table.d.ts +26 -26
  765. package/dist/types/components/toggletip/toggletip.d.ts +25 -25
  766. package/dist/types/components/tooltip/tooltip.d.ts +57 -57
  767. package/dist/types/components/tree-view/tree-item.d.ts +6 -6
  768. package/dist/types/components/tree-view/tree-view.d.ts +43 -43
  769. package/dist/types/components/tree-view/tree-view.interfaces.d.ts +28 -28
  770. package/dist/types/components/viewer-grid/components/document-panel.d.ts +5 -5
  771. package/dist/types/components/viewer-grid/components/filterpanel.d.ts +3 -3
  772. package/dist/types/components/viewer-grid/components/main-panel.d.ts +10 -10
  773. package/dist/types/components/viewer-grid/components/overlay.d.ts +2 -2
  774. package/dist/types/components/viewer-grid/components/sizing-buttons.d.ts +5 -5
  775. package/dist/types/components/viewer-grid/components/viewer-grid-filterpanel-buttons.d.ts +2 -2
  776. package/dist/types/components/viewer-grid/viewer-grid.d.ts +110 -110
  777. package/dist/types/components/viewer-grid/viewer-grid.interfaces.d.ts +11 -11
  778. package/dist/types/components.d.ts +8 -0
  779. package/dist/types/stencil-public-runtime.d.ts +8 -0
  780. package/package.json +9 -11
  781. package/dist/cjs/clsx-fd0bee58.js +0 -7
  782. package/dist/cjs/clsx-fd0bee58.js.map +0 -1
  783. package/dist/cjs/get-active-element-618f7b1f.js +0 -16
  784. package/dist/cjs/index-1b083a00.js.map +0 -1
  785. package/dist/cjs/index-2556c4c6.js.map +0 -1
  786. package/dist/dso-toolkit/p-09552584.entry.js +0 -2
  787. package/dist/dso-toolkit/p-09552584.entry.js.map +0 -1
  788. package/dist/dso-toolkit/p-11eb95a2.entry.js +0 -2
  789. package/dist/dso-toolkit/p-11eb95a2.entry.js.map +0 -1
  790. package/dist/dso-toolkit/p-159c0a88.entry.js +0 -2
  791. package/dist/dso-toolkit/p-159c0a88.entry.js.map +0 -1
  792. package/dist/dso-toolkit/p-15c3da8e.entry.js +0 -2
  793. package/dist/dso-toolkit/p-15c3da8e.entry.js.map +0 -1
  794. package/dist/dso-toolkit/p-1981592d.entry.js +0 -2
  795. package/dist/dso-toolkit/p-1981592d.entry.js.map +0 -1
  796. package/dist/dso-toolkit/p-1a85e2f8.entry.js +0 -2
  797. package/dist/dso-toolkit/p-1a85e2f8.entry.js.map +0 -1
  798. package/dist/dso-toolkit/p-1b8d34a6.entry.js.map +0 -1
  799. package/dist/dso-toolkit/p-21de21d6.entry.js +0 -2
  800. package/dist/dso-toolkit/p-21de21d6.entry.js.map +0 -1
  801. package/dist/dso-toolkit/p-302764ae.entry.js +0 -2
  802. package/dist/dso-toolkit/p-302764ae.entry.js.map +0 -1
  803. package/dist/dso-toolkit/p-31825ec2.entry.js +0 -2
  804. package/dist/dso-toolkit/p-31825ec2.entry.js.map +0 -1
  805. package/dist/dso-toolkit/p-36ddddf4.entry.js +0 -2
  806. package/dist/dso-toolkit/p-36ddddf4.entry.js.map +0 -1
  807. package/dist/dso-toolkit/p-4592810d.js +0 -3
  808. package/dist/dso-toolkit/p-4592810d.js.map +0 -1
  809. package/dist/dso-toolkit/p-46955cda.entry.js.map +0 -1
  810. package/dist/dso-toolkit/p-4e5a6107.entry.js +0 -2
  811. package/dist/dso-toolkit/p-4e5a6107.entry.js.map +0 -1
  812. package/dist/dso-toolkit/p-51f9702b.entry.js +0 -2
  813. package/dist/dso-toolkit/p-51f9702b.entry.js.map +0 -1
  814. package/dist/dso-toolkit/p-5def1d28.entry.js +0 -2
  815. package/dist/dso-toolkit/p-5def1d28.entry.js.map +0 -1
  816. package/dist/dso-toolkit/p-67461818.entry.js.map +0 -1
  817. package/dist/dso-toolkit/p-69231fe7.entry.js.map +0 -1
  818. package/dist/dso-toolkit/p-7a71cd3f.entry.js +0 -2
  819. package/dist/dso-toolkit/p-7a71cd3f.entry.js.map +0 -1
  820. package/dist/dso-toolkit/p-7bcce109.entry.js +0 -2
  821. package/dist/dso-toolkit/p-7bcce109.entry.js.map +0 -1
  822. package/dist/dso-toolkit/p-7cac2dd2.entry.js +0 -2
  823. package/dist/dso-toolkit/p-7cac2dd2.entry.js.map +0 -1
  824. package/dist/dso-toolkit/p-84be819d.entry.js +0 -2
  825. package/dist/dso-toolkit/p-84be819d.entry.js.map +0 -1
  826. package/dist/dso-toolkit/p-94f26620.js +0 -2
  827. package/dist/dso-toolkit/p-94f26620.js.map +0 -1
  828. package/dist/dso-toolkit/p-9bf33855.entry.js +0 -2
  829. package/dist/dso-toolkit/p-9bf33855.entry.js.map +0 -1
  830. package/dist/dso-toolkit/p-a435b9fd.entry.js +0 -2
  831. package/dist/dso-toolkit/p-a435b9fd.entry.js.map +0 -1
  832. package/dist/dso-toolkit/p-aa6d1e42.entry.js +0 -2
  833. package/dist/dso-toolkit/p-aa6d1e42.entry.js.map +0 -1
  834. package/dist/dso-toolkit/p-b6af439e.entry.js +0 -2
  835. package/dist/dso-toolkit/p-b6af439e.entry.js.map +0 -1
  836. package/dist/dso-toolkit/p-c1bab0f1.entry.js +0 -2
  837. package/dist/dso-toolkit/p-c1bab0f1.entry.js.map +0 -1
  838. package/dist/dso-toolkit/p-c87b4d11.js +0 -2
  839. package/dist/dso-toolkit/p-c87b4d11.js.map +0 -1
  840. package/dist/dso-toolkit/p-c9fbf040.entry.js.map +0 -1
  841. package/dist/dso-toolkit/p-cc771810.entry.js +0 -2
  842. package/dist/dso-toolkit/p-cc771810.entry.js.map +0 -1
  843. package/dist/dso-toolkit/p-d24073fe.entry.js +0 -2
  844. package/dist/dso-toolkit/p-d24073fe.entry.js.map +0 -1
  845. package/dist/dso-toolkit/p-d714aea4.entry.js +0 -2
  846. package/dist/dso-toolkit/p-d714aea4.entry.js.map +0 -1
  847. package/dist/dso-toolkit/p-dd21df39.entry.js.map +0 -1
  848. package/dist/dso-toolkit/p-df63a085.entry.js +0 -2
  849. package/dist/dso-toolkit/p-df63a085.entry.js.map +0 -1
  850. package/dist/dso-toolkit/p-e0f9a16f.entry.js +0 -2
  851. package/dist/dso-toolkit/p-e0f9a16f.entry.js.map +0 -1
  852. package/dist/dso-toolkit/p-e1cb1603.entry.js.map +0 -1
  853. package/dist/dso-toolkit/p-ea6ca8b2.entry.js.map +0 -1
  854. package/dist/dso-toolkit/p-eb7275e9.entry.js.map +0 -1
  855. package/dist/dso-toolkit/p-f15b9304.entry.js +0 -2
  856. package/dist/dso-toolkit/p-f15b9304.entry.js.map +0 -1
  857. package/dist/dso-toolkit/p-f3facab4.entry.js +0 -2
  858. package/dist/dso-toolkit/p-f3facab4.entry.js.map +0 -1
  859. package/dist/dso-toolkit/p-f6d1d215.entry.js +0 -2
  860. package/dist/dso-toolkit/p-f6d1d215.entry.js.map +0 -1
  861. package/dist/dso-toolkit/p-fd4b0b0b.entry.js +0 -2
  862. package/dist/dso-toolkit/p-fd4b0b0b.entry.js.map +0 -1
  863. package/dist/esm/clsx-93f1b68e.js +0 -5
  864. package/dist/esm/clsx-93f1b68e.js.map +0 -1
  865. package/dist/esm/create-identifier-479a4699.js +0 -17
  866. package/dist/esm/get-active-element-0e7dc01b.js +0 -14
  867. package/dist/esm/index-528d5213.js.map +0 -1
  868. package/dist/esm/index-aaea0a65.js.map +0 -1
  869. /package/dist/dso-toolkit/{p-86133aa5.js.map → p-1dbcaeef.js.map} +0 -0
  870. /package/dist/dso-toolkit/{p-fd7891ef.js.map → p-202d2cdf.js.map} +0 -0
  871. /package/dist/dso-toolkit/{p-17e4b846.js.map → p-2d694112.js.map} +0 -0
  872. /package/dist/dso-toolkit/{p-fbb226aa.js.map → p-808a98bc.js.map} +0 -0
  873. /package/dist/dso-toolkit/{p-c19cfe3f.js.map → p-97f788d4.js.map} +0 -0
  874. /package/dist/dso-toolkit/{p-6e9b961b.js.map → p-c8f6f8d9.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../../src/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createPopper, Placement, Instance as PopperInstance } from \"@popperjs/core\";\r\nimport { h, Component, Element, Host, Prop, Watch, Listen } from \"@stencil/core\";\r\nimport { FocusableElement, tabbable } from \"tabbable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\n\r\n@Component({\r\n tag: \"dso-dropdown-menu\",\r\n styleUrl: \"dropdown-menu.scss\",\r\n shadow: true,\r\n})\r\nexport class DropdownMenu {\r\n /**\r\n * Whether the menu is open or closed.\r\n * This attribute is reflected and mutable.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * Alignment of the dropdown\r\n */\r\n @Prop()\r\n dropdownAlign: \"left\" | \"right\" = \"left\";\r\n\r\n /**\r\n * Space between button and dropdown options\r\n */\r\n @Prop()\r\n dropdownOptionsOffset = 2;\r\n\r\n /**\r\n * Whether the menu is checkable.\r\n */\r\n @Prop()\r\n checkable = false;\r\n\r\n /**\r\n * Selector for the element the dropdown options should not be overflowing.\r\n */\r\n @Prop()\r\n boundary?: string;\r\n\r\n /**\r\n * Force placement of dropdown.\r\n *\r\n * This property overrides `dropdownAlign`.\r\n */\r\n @Prop()\r\n placement?: Placement;\r\n\r\n /**\r\n * Set position strategy of dropdown options\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n @Watch(\"placement\")\r\n @Watch(\"dropdownAlign\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n });\r\n }\r\n\r\n @Watch(\"dropdownOptionsOffset\")\r\n watchOptionsOffset() {\r\n this.popper?.setOptions({\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.host;\r\n\r\n const boundary = this.boundary || document;\r\n\r\n while (element && element.parentNode !== boundary) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Element()\r\n host!: HTMLDsoDropdownMenuElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n get button(): HTMLButtonElement {\r\n const button = this.host.querySelector('button[slot=\"toggle\"]');\r\n\r\n if (!(button instanceof HTMLButtonElement)) {\r\n throw new ReferenceError(\"Mandatory toggle button not found\");\r\n }\r\n\r\n return button;\r\n }\r\n\r\n private tabbables(withButton: boolean): FocusableElement[] {\r\n const tabbables = tabbable(this.host);\r\n\r\n return withButton ? tabbables : tabbables.filter((element) => element !== this.button);\r\n }\r\n\r\n componentDidLoad() {\r\n this.button.setAttribute(\"aria-haspopup\", \"menu\");\r\n this.button.setAttribute(\"aria-expanded\", \"false\");\r\n if (!this.button.id) {\r\n this.button.id = uuidv4();\r\n }\r\n\r\n const options = this.host.querySelector(\".dso-dropdown-options\");\r\n if (!options) {\r\n throw new ReferenceError(\"Dropdown options not found\");\r\n }\r\n\r\n options.setAttribute(\"role\", \"menu\");\r\n options.setAttribute(\"aria-labelledby\", this.button.id);\r\n\r\n for (const ul of Array.from(this.host.getElementsByTagName(\"ul\"))) {\r\n ul.setAttribute(\"role\", \"group\");\r\n for (const li of Array.from(ul.getElementsByTagName(\"li\"))) {\r\n li.setAttribute(\"role\", \"none\");\r\n }\r\n }\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const dropdownOptionsElement = this.host.querySelector(\".dso-dropdown-options\");\r\n\r\n if (!(dropdownOptionsElement instanceof HTMLElement)) {\r\n throw new Error(\"dropdown options element is not instanceof HTMLElement\");\r\n }\r\n\r\n this.popper = createPopper(this.button, dropdownOptionsElement, {\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n {\r\n name: \"preventOverflow\",\r\n options: {\r\n boundary: this.boundary ? document.querySelector(this.boundary) : null,\r\n },\r\n enabled: this.boundary !== undefined,\r\n },\r\n ],\r\n });\r\n }\r\n\r\n componentDidRender() {\r\n this.setStrategy();\r\n if (this.open) {\r\n this.popper?.update();\r\n }\r\n\r\n for (const li of Array.from(this.host.getElementsByTagName(\"li\"))) {\r\n for (const tab of tabbable(li)) {\r\n tab.setAttribute(\"role\", this.checkable ? \"menuitemradio\" : \"menuitem\");\r\n\r\n if (this.checkable) {\r\n tab.setAttribute(\"aria-checked\", li.classList.contains(\"dso-checked\").toString());\r\n }\r\n }\r\n }\r\n\r\n this.button.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\r\n }\r\n\r\n @Listen(\"click\", { target: \"window\" })\r\n onClick(event: MouseEvent) {\r\n const composedPath = event.composedPath();\r\n\r\n if (this.isToggleButtonEvent(composedPath)) {\r\n this.open = !this.open;\r\n } else if (this.open && this.isMenuItemEvent(composedPath)) {\r\n this.open = false;\r\n }\r\n }\r\n\r\n private isToggleButtonEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.button);\r\n }\r\n\r\n private isMenuItemEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.host) && !this.isToggleButtonEvent(composedPath);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.popper?.destroy();\r\n }\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (\r\n this.open &&\r\n (!(event.relatedTarget instanceof HTMLElement) || !this.tabbables(true).includes(event.relatedTarget))\r\n ) {\r\n this.open = false;\r\n }\r\n };\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.defaultPrevented || !this.open) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"Tab\":\r\n if (event.shiftKey) {\r\n this.tabInPopup(this.tabbables(true), -1);\r\n } else {\r\n this.tabInPopup(this.tabbables(true), 1);\r\n }\r\n\r\n break;\r\n case \"ArrowDown\":\r\n this.tabInPopup(this.tabbables(false), 1);\r\n break;\r\n\r\n case \"ArrowUp\":\r\n this.tabInPopup(this.tabbables(false), -1);\r\n break;\r\n\r\n case \"Escape\":\r\n this.escape();\r\n break;\r\n\r\n case \" \":\r\n if (event.target instanceof HTMLElement) {\r\n event.target.click();\r\n }\r\n\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n private tabInPopup(tabbables: FocusableElement[], direction: number) {\r\n const currentIndex = tabbables.findIndex((e) => e === getActiveElement());\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= tabbables.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = tabbables.length - 1;\r\n }\r\n\r\n tabbables[nextIndex]?.focus();\r\n }\r\n\r\n private escape = () => {\r\n this.button.focus();\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <Host onFocusout={this.focusOutListener}>\r\n <slot name=\"toggle\" />\r\n <div hidden={!this.open}>\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../../src/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createPopper, Placement, Instance as PopperInstance } from \"@popperjs/core\";\r\nimport { h, Component, Element, Host, Prop, Watch, Listen } from \"@stencil/core\";\r\nimport { FocusableElement, tabbable } from \"tabbable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport { getActiveElement } from \"../../utils/get-active-element\";\r\n\r\n@Component({\r\n tag: \"dso-dropdown-menu\",\r\n styleUrl: \"dropdown-menu.scss\",\r\n shadow: true,\r\n})\r\nexport class DropdownMenu {\r\n /**\r\n * Whether the menu is open or closed.\r\n * This attribute is reflected and mutable.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * Alignment of the dropdown\r\n */\r\n @Prop()\r\n dropdownAlign: \"left\" | \"right\" = \"left\";\r\n\r\n /**\r\n * Space between button and dropdown options\r\n */\r\n @Prop()\r\n dropdownOptionsOffset = 2;\r\n\r\n /**\r\n * Whether the menu is checkable.\r\n */\r\n @Prop()\r\n checkable = false;\r\n\r\n /**\r\n * Selector for the element the dropdown options should not be overflowing.\r\n */\r\n @Prop()\r\n boundary?: string;\r\n\r\n /**\r\n * Force placement of dropdown.\r\n *\r\n * This property overrides `dropdownAlign`.\r\n */\r\n @Prop()\r\n placement?: Placement;\r\n\r\n /**\r\n * Set position strategy of dropdown options\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n @Watch(\"placement\")\r\n @Watch(\"dropdownAlign\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n });\r\n }\r\n\r\n @Watch(\"dropdownOptionsOffset\")\r\n watchOptionsOffset() {\r\n this.popper?.setOptions({\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.host;\r\n\r\n const boundary = this.boundary || document;\r\n\r\n while (element && element.parentNode !== boundary) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Element()\r\n host!: HTMLDsoDropdownMenuElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n get button(): HTMLButtonElement {\r\n const button = this.host.querySelector('button[slot=\"toggle\"]');\r\n\r\n if (!(button instanceof HTMLButtonElement)) {\r\n throw new ReferenceError(\"Mandatory toggle button not found\");\r\n }\r\n\r\n return button;\r\n }\r\n\r\n private tabbables(withButton: boolean): FocusableElement[] {\r\n const tabbables = tabbable(this.host);\r\n\r\n return withButton ? tabbables : tabbables.filter((element) => element !== this.button);\r\n }\r\n\r\n componentDidLoad() {\r\n this.button.setAttribute(\"aria-haspopup\", \"menu\");\r\n this.button.setAttribute(\"aria-expanded\", \"false\");\r\n if (!this.button.id) {\r\n this.button.id = uuidv4();\r\n }\r\n\r\n const options = this.host.querySelector(\".dso-dropdown-options\");\r\n if (!options) {\r\n throw new ReferenceError(\"Dropdown options not found\");\r\n }\r\n\r\n options.setAttribute(\"role\", \"menu\");\r\n options.setAttribute(\"aria-labelledby\", this.button.id);\r\n\r\n for (const ul of Array.from(this.host.getElementsByTagName(\"ul\"))) {\r\n ul.setAttribute(\"role\", \"group\");\r\n for (const li of Array.from(ul.getElementsByTagName(\"li\"))) {\r\n li.setAttribute(\"role\", \"none\");\r\n }\r\n }\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const dropdownOptionsElement = this.host.querySelector(\".dso-dropdown-options\");\r\n\r\n if (!(dropdownOptionsElement instanceof HTMLElement)) {\r\n throw new Error(\"dropdown options element is not instanceof HTMLElement\");\r\n }\r\n\r\n this.popper = createPopper(this.button, dropdownOptionsElement, {\r\n placement: this.placement || (this.dropdownAlign === \"right\" ? \"bottom-end\" : \"bottom-start\"),\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, this.dropdownOptionsOffset],\r\n },\r\n },\r\n {\r\n name: \"preventOverflow\",\r\n options: {\r\n boundary: this.boundary ? document.querySelector(this.boundary) : null,\r\n },\r\n enabled: this.boundary !== undefined,\r\n },\r\n ],\r\n });\r\n }\r\n\r\n componentDidRender() {\r\n this.setStrategy();\r\n if (this.open) {\r\n this.popper?.update();\r\n }\r\n\r\n for (const li of Array.from(this.host.getElementsByTagName(\"li\"))) {\r\n for (const tab of tabbable(li)) {\r\n tab.setAttribute(\"role\", this.checkable ? \"menuitemradio\" : \"menuitem\");\r\n\r\n if (this.checkable) {\r\n tab.setAttribute(\"aria-checked\", li.classList.contains(\"dso-checked\").toString());\r\n }\r\n }\r\n }\r\n\r\n this.button.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\r\n }\r\n\r\n @Listen(\"click\", { target: \"window\" })\r\n onClick(event: MouseEvent) {\r\n const composedPath = event.composedPath();\r\n\r\n if (this.isToggleButtonEvent(composedPath)) {\r\n this.open = !this.open;\r\n } else if (this.open && this.isMenuItemEvent(composedPath)) {\r\n this.open = false;\r\n }\r\n }\r\n\r\n private isToggleButtonEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.button);\r\n }\r\n\r\n private isMenuItemEvent(composedPath: EventTarget[]) {\r\n return composedPath.includes(this.host) && !this.isToggleButtonEvent(composedPath);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.popper?.destroy();\r\n }\r\n\r\n private focusOutListener = (event: FocusEvent) => {\r\n if (\r\n this.open &&\r\n (!(event.relatedTarget instanceof HTMLElement) || !this.tabbables(true).includes(event.relatedTarget))\r\n ) {\r\n this.open = false;\r\n }\r\n };\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.defaultPrevented || !this.open) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"Tab\":\r\n if (event.shiftKey) {\r\n this.tabInPopup(this.tabbables(true), -1);\r\n } else {\r\n this.tabInPopup(this.tabbables(true), 1);\r\n }\r\n\r\n break;\r\n case \"ArrowDown\":\r\n this.tabInPopup(this.tabbables(false), 1);\r\n break;\r\n\r\n case \"ArrowUp\":\r\n this.tabInPopup(this.tabbables(false), -1);\r\n break;\r\n\r\n case \"Escape\":\r\n this.escape();\r\n break;\r\n\r\n case \" \":\r\n if (event.target instanceof HTMLElement) {\r\n event.target.click();\r\n }\r\n\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n private tabInPopup(tabbables: FocusableElement[], direction: number) {\r\n const currentIndex = tabbables.findIndex((e) => e === getActiveElement());\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= tabbables.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = tabbables.length - 1;\r\n }\r\n\r\n tabbables[nextIndex]?.focus();\r\n }\r\n\r\n private escape = () => {\r\n this.button.focus();\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <Host onFocusout={this.focusOutListener}>\r\n <slot name=\"toggle\" />\r\n <div hidden={!this.open}>\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -1,23 +1,22 @@
1
- :host {
2
- display: block;
1
+ :host([enable-animation]) {
2
+ display: grid;
3
+ grid-template-rows: 0fr;
4
+ transition: grid-template-rows 260ms cubic-bezier(0.4, 0, 0.2, 1);
3
5
  }
4
-
5
- :host(.dso-hide) {
6
- display: none;
6
+ :host([enable-animation]) .slot-container {
7
+ overflow: hidden;
7
8
  }
8
9
 
9
- :host(:not(.dso-animate-ready)) {
10
- position: absolute;
11
- visibility: hidden;
10
+ :host(:not([enable-animation])) {
11
+ display: none;
12
12
  }
13
13
 
14
- :host([open]) {
15
- position: inherit;
16
- visibility: inherit;
14
+ :host([open][enable-animation]) {
15
+ grid-template-rows: 1fr;
17
16
  }
18
17
 
19
- :host(:not([is-open])) {
20
- overflow-y: hidden;
18
+ :host([open]:not([enable-animation])) {
19
+ display: block;
21
20
  }
22
21
 
23
22
  *,
@@ -1,259 +1,182 @@
1
1
  import { h, Host, } from "@stencil/core";
2
- import anime from "animejs";
3
2
  import clsx from "clsx";
4
- import debounce from "debounce";
5
3
  export class Expandable {
6
- constructor() {
7
- this.open = undefined;
8
- this.enableAnimation = false;
9
- this.minimumHeight = undefined;
10
- this.animationReady = false;
11
- this.isOpen = this.open;
12
- }
13
- toggleOpen() {
14
- if (this.enableAnimation) {
15
- this.activateAnimation();
4
+ constructor() {
5
+ this.open = undefined;
6
+ this.enableAnimation = false;
7
+ this.minimumHeight = undefined;
8
+ this.isClosed = true;
16
9
  }
17
- }
18
- toggleEnableAnimation(enableAnimation) {
19
- var _a;
20
- if (enableAnimation) {
21
- this.prepareAnimationResizeObserver();
22
- this.activateObserver();
23
- }
24
- else {
25
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
26
- delete this.animeInstance;
27
- this.host.removeAttribute("style");
28
- }
29
- }
30
- componentDidLoad() {
31
- if (this.enableAnimation) {
32
- this.prepareAnimationResizeObserver();
33
- }
34
- this.activateObserver();
35
- }
36
- activateObserver() {
37
- var _a;
38
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.host);
39
- }
40
- disconnectedCallback() {
41
- var _a;
42
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
43
- }
44
- render() {
45
- return (h(Host, { "aria-hidden": this.open ? "false" : "true", class: clsx({
46
- "dso-animate-ready": this.enableAnimation && this.animationReady,
47
- "dso-hide": !this.enableAnimation && !this.open,
48
- }), "is-open": this.isOpen }, h("slot", null)));
49
- }
50
- prepareAnimationResizeObserver() {
51
- this.resizeObserver = new ResizeObserver(debounce(([entry]) => {
52
- if (!entry) {
53
- throw new Error("No entry found");
54
- }
55
- // entry.contentRect does not include padding, so we use getBoundingClientRect.
56
- const height = entry.target.getBoundingClientRect().height;
57
- if (this.bodyHeight !== height) {
58
- this.bodyHeight = height;
59
- }
60
- this.instantiateAnimation();
61
- }, 150));
62
- }
63
- instantiateAnimation() {
64
- var _a;
65
- this.animeInstance = anime({
66
- targets: this.host,
67
- height: (_a = this.minimumHeight) !== null && _a !== void 0 ? _a : 0,
68
- easing: "cubicBezier(0.4, 0, 0.2, 1)",
69
- duration: 260,
70
- autoplay: false,
71
- direction: "normal",
72
- changeBegin: () => {
73
- this.dsoExpandableAnimationStart.emit({
74
- currentOpen: !!this.open,
75
- nextOpen: !this.open,
76
- });
77
- },
78
- begin: () => {
79
- if (this.open) {
80
- this.host.style.visibility = "";
81
- this.host.style.position = "";
82
- this.host.style.bottom = "";
10
+ toggleOpen() {
11
+ if (!this.enableAnimation) {
12
+ this.isClosed = !this.open;
83
13
  }
84
- else {
85
- this.isOpen = false;
86
- }
87
- },
88
- complete: () => {
89
- this.host.style.height = "";
90
- if (!this.open) {
91
- this.host.style.visibility = "hidden";
92
- this.host.style.position = "absolute";
93
- this.host.style.bottom = "100%";
14
+ }
15
+ /**
16
+ * Listens to the transitionstart event
17
+ */
18
+ transitionstartHandler(e) {
19
+ if (e.propertyName === "grid-template-rows") {
20
+ this.dsoExpandableAnimationStart.emit({
21
+ currentOpen: !!this.open,
22
+ nextOpen: !this.open,
23
+ });
94
24
  }
95
- else {
96
- this.isOpen = true;
25
+ }
26
+ /**
27
+ * Listens to the transitionend event
28
+ */
29
+ transitionendHandler(e) {
30
+ if (e.propertyName === "grid-template-rows") {
31
+ this.isClosed = !this.open;
32
+ this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight, open: !!this.open });
97
33
  }
98
- },
99
- changeComplete: () => {
100
- this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight, open: !!this.open });
101
- },
102
- });
103
- if (!this.open) {
104
- this.animeInstance.reverse();
105
- this.animeInstance.play();
106
34
  }
107
- if (this.host) {
108
- this.host.style.height = "";
35
+ render() {
36
+ return (h(Host, { key: 'd8348c0356bc5ea3d8dffa0cc4d94e359dd05e5d', "aria-hidden": this.open ? "false" : "true", class: clsx({
37
+ "dso-animate-ready": this.enableAnimation,
38
+ "dso-hide": this.isClosed,
39
+ }) }, h("div", { key: '68682bdc2e77eb547f58d80d25011b9787b1870e', class: "slot-container" }, h("slot", { key: '2d1de148f3ea707ee757a85df8ac5931d7b6c44d' }))));
109
40
  }
110
- this.animationReady = !!this.animeInstance;
111
- }
112
- activateAnimation() {
113
- if (this.animeInstance) {
114
- if (this.animeInstance.progress > 0 && this.animeInstance.progress < 100) {
115
- this.animeInstance.reverse();
116
- }
117
- else {
118
- if (this.open) {
119
- this.animeInstance.direction = "reverse";
120
- this.animeInstance.play();
121
- }
122
- else {
123
- this.animeInstance.direction = "normal";
124
- this.animeInstance.play();
125
- }
126
- }
41
+ static get is() { return "dso-expandable"; }
42
+ static get encapsulation() { return "shadow"; }
43
+ static get originalStyleUrls() {
44
+ return {
45
+ "$": ["expandable.scss"]
46
+ };
127
47
  }
128
- }
129
- static get is() { return "dso-expandable"; }
130
- static get encapsulation() { return "shadow"; }
131
- static get originalStyleUrls() {
132
- return {
133
- "$": ["expandable.scss"]
134
- };
135
- }
136
- static get styleUrls() {
137
- return {
138
- "$": ["expandable.css"]
139
- };
140
- }
141
- static get properties() {
142
- return {
143
- "open": {
144
- "type": "boolean",
145
- "mutable": false,
146
- "complexType": {
147
- "original": "boolean",
148
- "resolved": "boolean | undefined",
149
- "references": {}
150
- },
151
- "required": false,
152
- "optional": true,
153
- "docs": {
154
- "tags": [],
155
- "text": "Set to `true` to expand the content."
156
- },
157
- "attribute": "open",
158
- "reflect": true
159
- },
160
- "enableAnimation": {
161
- "type": "boolean",
162
- "mutable": false,
163
- "complexType": {
164
- "original": "boolean",
165
- "resolved": "boolean",
166
- "references": {}
167
- },
168
- "required": false,
169
- "optional": false,
170
- "docs": {
171
- "tags": [],
172
- "text": "Set to `true` to show the content animated."
173
- },
174
- "attribute": "enable-animation",
175
- "reflect": true,
176
- "defaultValue": "false"
177
- },
178
- "minimumHeight": {
179
- "type": "number",
180
- "mutable": false,
181
- "complexType": {
182
- "original": "number",
183
- "resolved": "number | undefined",
184
- "references": {}
185
- },
186
- "required": false,
187
- "optional": true,
188
- "docs": {
189
- "tags": [],
190
- "text": "When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to"
191
- },
192
- "attribute": "minimum-height",
193
- "reflect": false
194
- }
195
- };
196
- }
197
- static get states() {
198
- return {
199
- "animationReady": {},
200
- "isOpen": {}
201
- };
202
- }
203
- static get events() {
204
- return [{
205
- "method": "dsoExpandableAnimationStart",
206
- "name": "dsoExpandableAnimationStart",
207
- "bubbles": false,
208
- "cancelable": true,
209
- "composed": true,
210
- "docs": {
211
- "tags": [],
212
- "text": "Fired before expanding."
213
- },
214
- "complexType": {
215
- "original": "ExpandableAnimationStartEvent",
216
- "resolved": "ExpandableAnimationStartEvent",
217
- "references": {
218
- "ExpandableAnimationStartEvent": {
219
- "location": "local",
220
- "path": "/usr/src/app/packages/core/src/components/expandable/expandable.tsx",
221
- "id": "src/components/expandable/expandable.tsx::ExpandableAnimationStartEvent"
222
- }
223
- }
224
- }
225
- }, {
226
- "method": "dsoExpandableAnimationEnd",
227
- "name": "dsoExpandableAnimationEnd",
228
- "bubbles": false,
229
- "cancelable": true,
230
- "composed": true,
231
- "docs": {
232
- "tags": [],
233
- "text": "Fired after expanding."
234
- },
235
- "complexType": {
236
- "original": "ExpandableAnimationEndEvent",
237
- "resolved": "ExpandableAnimationEndEvent",
238
- "references": {
239
- "ExpandableAnimationEndEvent": {
240
- "location": "local",
241
- "path": "/usr/src/app/packages/core/src/components/expandable/expandable.tsx",
242
- "id": "src/components/expandable/expandable.tsx::ExpandableAnimationEndEvent"
48
+ static get styleUrls() {
49
+ return {
50
+ "$": ["expandable.css"]
51
+ };
52
+ }
53
+ static get properties() {
54
+ return {
55
+ "open": {
56
+ "type": "boolean",
57
+ "mutable": false,
58
+ "complexType": {
59
+ "original": "boolean",
60
+ "resolved": "boolean | undefined",
61
+ "references": {}
62
+ },
63
+ "required": false,
64
+ "optional": true,
65
+ "docs": {
66
+ "tags": [],
67
+ "text": "Set to `true` to expand the content."
68
+ },
69
+ "attribute": "open",
70
+ "reflect": true
71
+ },
72
+ "enableAnimation": {
73
+ "type": "boolean",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "boolean",
77
+ "resolved": "boolean",
78
+ "references": {}
79
+ },
80
+ "required": false,
81
+ "optional": false,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": "Set to `true` to show the content animated."
85
+ },
86
+ "attribute": "enable-animation",
87
+ "reflect": true,
88
+ "defaultValue": "false"
89
+ },
90
+ "minimumHeight": {
91
+ "type": "number",
92
+ "mutable": false,
93
+ "complexType": {
94
+ "original": "number",
95
+ "resolved": "number | undefined",
96
+ "references": {}
97
+ },
98
+ "required": false,
99
+ "optional": true,
100
+ "docs": {
101
+ "tags": [],
102
+ "text": "When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to"
103
+ },
104
+ "attribute": "minimum-height",
105
+ "reflect": false
243
106
  }
244
- }
245
- }
246
- }];
247
- }
248
- static get elementRef() { return "host"; }
249
- static get watchers() {
250
- return [{
251
- "propName": "open",
252
- "methodName": "toggleOpen"
253
- }, {
254
- "propName": "enableAnimation",
255
- "methodName": "toggleEnableAnimation"
256
- }];
257
- }
107
+ };
108
+ }
109
+ static get states() {
110
+ return {
111
+ "isClosed": {}
112
+ };
113
+ }
114
+ static get events() {
115
+ return [{
116
+ "method": "dsoExpandableAnimationStart",
117
+ "name": "dsoExpandableAnimationStart",
118
+ "bubbles": false,
119
+ "cancelable": true,
120
+ "composed": true,
121
+ "docs": {
122
+ "tags": [],
123
+ "text": "Fired before expanding."
124
+ },
125
+ "complexType": {
126
+ "original": "ExpandableAnimationStartEvent",
127
+ "resolved": "ExpandableAnimationStartEvent",
128
+ "references": {
129
+ "ExpandableAnimationStartEvent": {
130
+ "location": "local",
131
+ "path": "/usr/src/app/packages/core/src/components/expandable/expandable.tsx",
132
+ "id": "src/components/expandable/expandable.tsx::ExpandableAnimationStartEvent"
133
+ }
134
+ }
135
+ }
136
+ }, {
137
+ "method": "dsoExpandableAnimationEnd",
138
+ "name": "dsoExpandableAnimationEnd",
139
+ "bubbles": false,
140
+ "cancelable": true,
141
+ "composed": true,
142
+ "docs": {
143
+ "tags": [],
144
+ "text": "Fired after expanding."
145
+ },
146
+ "complexType": {
147
+ "original": "ExpandableAnimationEndEvent",
148
+ "resolved": "ExpandableAnimationEndEvent",
149
+ "references": {
150
+ "ExpandableAnimationEndEvent": {
151
+ "location": "local",
152
+ "path": "/usr/src/app/packages/core/src/components/expandable/expandable.tsx",
153
+ "id": "src/components/expandable/expandable.tsx::ExpandableAnimationEndEvent"
154
+ }
155
+ }
156
+ }
157
+ }];
158
+ }
159
+ static get elementRef() { return "host"; }
160
+ static get watchers() {
161
+ return [{
162
+ "propName": "open",
163
+ "methodName": "toggleOpen"
164
+ }];
165
+ }
166
+ static get listeners() {
167
+ return [{
168
+ "name": "transitionstart",
169
+ "method": "transitionstartHandler",
170
+ "target": undefined,
171
+ "capture": false,
172
+ "passive": false
173
+ }, {
174
+ "name": "transitionend",
175
+ "method": "transitionendHandler",
176
+ "target": undefined,
177
+ "capture": false,
178
+ "passive": false
179
+ }];
180
+ }
258
181
  }
259
182
  //# sourceMappingURL=expandable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandable.js","sourceRoot":"","sources":["../../../../src/components/expandable/expandable.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Host,\r\n Prop,\r\n State,\r\n Watch,\r\n} from \"@stencil/core\";\r\nimport anime, { AnimeInstance } from \"animejs\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nexport interface ExpandableAnimationStartEvent {\r\n currentOpen: boolean;\r\n nextOpen: boolean;\r\n}\r\n\r\nexport interface ExpandableAnimationEndEvent {\r\n bodyHeight: number | undefined;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-expandable\",\r\n styleUrl: \"expandable.scss\",\r\n shadow: true,\r\n})\r\nexport class Expandable implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private bodyHeight?: number;\r\n\r\n private animeInstance?: AnimeInstance;\r\n\r\n @Element()\r\n host!: HTMLDsoExpandableElement;\r\n\r\n /**\r\n * Set to `true` to expand the content.\r\n */\r\n @Prop({ reflect: true })\r\n open?: boolean;\r\n\r\n /**\r\n * Set to `true` to show the content animated.\r\n */\r\n @Prop({ reflect: true })\r\n enableAnimation = false;\r\n\r\n /**\r\n * When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to\r\n */\r\n @Prop()\r\n minimumHeight?: number;\r\n\r\n @State()\r\n animationReady = false;\r\n\r\n @State()\r\n isOpen = this.open;\r\n\r\n @Watch(\"open\")\r\n toggleOpen() {\r\n if (this.enableAnimation) {\r\n this.activateAnimation();\r\n }\r\n }\r\n\r\n @Watch(\"enableAnimation\")\r\n toggleEnableAnimation(enableAnimation: boolean) {\r\n if (enableAnimation) {\r\n this.prepareAnimationResizeObserver();\r\n this.activateObserver();\r\n } else {\r\n this.resizeObserver?.disconnect();\r\n delete this.animeInstance;\r\n this.host.removeAttribute(\"style\");\r\n }\r\n }\r\n\r\n /**\r\n * Fired before expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationStart!: EventEmitter<ExpandableAnimationStartEvent>;\r\n\r\n /**\r\n * Fired after expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationEnd!: EventEmitter<ExpandableAnimationEndEvent>;\r\n\r\n componentDidLoad(): void {\r\n if (this.enableAnimation) {\r\n this.prepareAnimationResizeObserver();\r\n }\r\n\r\n this.activateObserver();\r\n }\r\n\r\n private activateObserver() {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n class={clsx({\r\n \"dso-animate-ready\": this.enableAnimation && this.animationReady,\r\n \"dso-hide\": !this.enableAnimation && !this.open,\r\n })}\r\n is-open={this.isOpen}\r\n >\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n\r\n private prepareAnimationResizeObserver(): void {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n // entry.contentRect does not include padding, so we use getBoundingClientRect.\r\n const height = entry.target.getBoundingClientRect().height;\r\n\r\n if (this.bodyHeight !== height) {\r\n this.bodyHeight = height;\r\n }\r\n\r\n this.instantiateAnimation();\r\n }, 150),\r\n );\r\n }\r\n\r\n private instantiateAnimation(): void {\r\n this.animeInstance = anime({\r\n targets: this.host,\r\n height: this.minimumHeight ?? 0,\r\n easing: \"cubicBezier(0.4, 0, 0.2, 1)\",\r\n duration: 260,\r\n autoplay: false,\r\n direction: \"normal\",\r\n changeBegin: () => {\r\n this.dsoExpandableAnimationStart.emit({\r\n currentOpen: !!this.open,\r\n nextOpen: !this.open,\r\n });\r\n },\r\n begin: () => {\r\n if (this.open) {\r\n this.host.style.visibility = \"\";\r\n this.host.style.position = \"\";\r\n this.host.style.bottom = \"\";\r\n } else {\r\n this.isOpen = false;\r\n }\r\n },\r\n complete: () => {\r\n this.host.style.height = \"\";\r\n\r\n if (!this.open) {\r\n this.host.style.visibility = \"hidden\";\r\n this.host.style.position = \"absolute\";\r\n this.host.style.bottom = \"100%\";\r\n } else {\r\n this.isOpen = true;\r\n }\r\n },\r\n changeComplete: () => {\r\n this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight, open: !!this.open });\r\n },\r\n });\r\n\r\n if (!this.open) {\r\n this.animeInstance.reverse();\r\n this.animeInstance.play();\r\n }\r\n\r\n if (this.host) {\r\n this.host.style.height = \"\";\r\n }\r\n\r\n this.animationReady = !!this.animeInstance;\r\n }\r\n\r\n private activateAnimation(): void {\r\n if (this.animeInstance) {\r\n if (this.animeInstance.progress > 0 && this.animeInstance.progress < 100) {\r\n this.animeInstance.reverse();\r\n } else {\r\n if (this.open) {\r\n this.animeInstance.direction = \"reverse\";\r\n this.animeInstance.play();\r\n } else {\r\n this.animeInstance.direction = \"normal\";\r\n this.animeInstance.play();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"expandable.js","sourceRoot":"","sources":["../../../../src/components/expandable/expandable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AAiBxB,MAAM,OAAO,UAAU;;;+BAgBH,KAAK;;wBAgBZ,IAAI;;IAPf,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAiBD;;OAEG;IAEH,sBAAsB,CAAC,CAAkB;QACvC,IAAI,CAAC,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;YAC5C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;gBACpC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;gBACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,oBAAoB,CAAC,CAAkB;QACrC,IAAI,CAAC,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,oEACU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EACzC,KAAK,EAAE,IAAI,CAAC;gBACV,mBAAmB,EAAE,IAAI,CAAC,eAAe;gBACzC,UAAU,EAAE,IAAI,CAAC,QAAQ;aAC1B,CAAC;YAEF,4DAAK,KAAK,EAAC,gBAAgB;gBACzB,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n Watch,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nexport interface ExpandableAnimationStartEvent {\r\n currentOpen: boolean;\r\n nextOpen: boolean;\r\n}\r\n\r\nexport interface ExpandableAnimationEndEvent {\r\n bodyHeight: number | undefined;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-expandable\",\r\n styleUrl: \"expandable.scss\",\r\n shadow: true,\r\n})\r\nexport class Expandable implements ComponentInterface {\r\n private bodyHeight?: number;\r\n\r\n @Element()\r\n host!: HTMLDsoExpandableElement;\r\n\r\n /**\r\n * Set to `true` to expand the content.\r\n */\r\n @Prop({ reflect: true })\r\n open?: boolean;\r\n\r\n /**\r\n * Set to `true` to show the content animated.\r\n */\r\n @Prop({ reflect: true })\r\n enableAnimation = false;\r\n\r\n /**\r\n * When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to\r\n */\r\n @Prop()\r\n minimumHeight?: number;\r\n\r\n @Watch(\"open\")\r\n toggleOpen() {\r\n if (!this.enableAnimation) {\r\n this.isClosed = !this.open;\r\n }\r\n }\r\n\r\n @State()\r\n isClosed = true;\r\n\r\n /**\r\n * Fired before expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationStart!: EventEmitter<ExpandableAnimationStartEvent>;\r\n\r\n /**\r\n * Fired after expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationEnd!: EventEmitter<ExpandableAnimationEndEvent>;\r\n\r\n /**\r\n * Listens to the transitionstart event\r\n */\r\n @Listen(\"transitionstart\")\r\n transitionstartHandler(e: TransitionEvent) {\r\n if (e.propertyName === \"grid-template-rows\") {\r\n this.dsoExpandableAnimationStart.emit({\r\n currentOpen: !!this.open,\r\n nextOpen: !this.open,\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Listens to the transitionend event\r\n */\r\n @Listen(\"transitionend\")\r\n transitionendHandler(e: TransitionEvent) {\r\n if (e.propertyName === \"grid-template-rows\") {\r\n this.isClosed = !this.open;\r\n this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight, open: !!this.open });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n class={clsx({\r\n \"dso-animate-ready\": this.enableAnimation,\r\n \"dso-hide\": this.isClosed,\r\n })}\r\n >\r\n <div class=\"slot-container\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}