@dialpad/dialtone-vue 3.220.0-next.4 → 3.220.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 (1010) hide show
  1. package/dist/attachment_carousel-BHxR7A76.cjs +2 -0
  2. package/dist/attachment_carousel-BHxR7A76.cjs.map +1 -0
  3. package/dist/{attachment_carousel-1qxTI-NN.js → attachment_carousel-CouFqFMw.js} +5 -5
  4. package/dist/attachment_carousel-CouFqFMw.js.map +1 -0
  5. package/dist/{combobox-BQBKrDTW.js → combobox-DgClbLOg.js} +35 -36
  6. package/dist/combobox-DgClbLOg.js.map +1 -0
  7. package/dist/combobox-DhjZxfUw.cjs +3 -0
  8. package/dist/combobox-DhjZxfUw.cjs.map +1 -0
  9. package/dist/common/constants/index.cjs +1 -1
  10. package/dist/common/constants/index.cjs.map +1 -1
  11. package/dist/common/constants/index.d.ts +21 -27
  12. package/dist/common/constants/index.d.ts.map +1 -1
  13. package/dist/common/constants/index.js +14 -25
  14. package/dist/common/constants/index.js.map +1 -1
  15. package/dist/common/mixins/index.cjs +1 -1
  16. package/dist/common/mixins/index.d.ts +0 -1
  17. package/dist/common/mixins/index.js +1 -2
  18. package/dist/common/mixins/input-group.cjs +1 -1
  19. package/dist/common/mixins/input-group.cjs.map +1 -1
  20. package/dist/common/mixins/input-group.js +2 -2
  21. package/dist/common/mixins/input-group.js.map +1 -1
  22. package/dist/common/mixins/input.cjs +1 -1
  23. package/dist/common/mixins/input.cjs.map +1 -1
  24. package/dist/common/mixins/input.d.ts +33 -27
  25. package/dist/common/mixins/input.d.ts.map +1 -1
  26. package/dist/common/mixins/input.js +8 -0
  27. package/dist/common/mixins/input.js.map +1 -1
  28. package/dist/common/sr_only_close_button.vue.d.ts +7 -98
  29. package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
  30. package/dist/common/utils/index.cjs +1 -1
  31. package/dist/common/utils/index.cjs.map +1 -1
  32. package/dist/common/utils/index.d.ts +8 -2
  33. package/dist/common/utils/index.d.ts.map +1 -1
  34. package/dist/common/utils/index.js +88 -79
  35. package/dist/common/utils/index.js.map +1 -1
  36. package/dist/component-documentation.json +1 -1
  37. package/dist/components/avatar/avatar.vue.d.ts +27 -85
  38. package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
  39. package/dist/components/avatar/avatar_constants.d.ts +29 -86
  40. package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
  41. package/dist/components/avatar/index.d.ts +1 -1
  42. package/dist/components/badge/badge.vue.d.ts +1 -19
  43. package/dist/components/badge/badge.vue.d.ts.map +1 -1
  44. package/dist/components/badge/badge_constants.d.ts +1 -1
  45. package/dist/components/banner/banner.vue.d.ts +50 -447
  46. package/dist/components/banner/banner.vue.d.ts.map +1 -1
  47. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +17 -27
  48. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  49. package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +16 -35
  50. package/dist/components/button/button.vue.d.ts +7 -98
  51. package/dist/components/button/button.vue.d.ts.map +1 -1
  52. package/dist/components/button/button_constants.d.ts +20 -29
  53. package/dist/components/button/button_constants.d.ts.map +1 -1
  54. package/dist/components/card/card.vue.d.ts +11 -2
  55. package/dist/components/card/card.vue.d.ts.map +1 -1
  56. package/dist/components/checkbox/checkbox.vue.d.ts +11 -183
  57. package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
  58. package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
  59. package/dist/components/checkbox_group/checkbox_group.vue.d.ts +15 -145
  60. package/dist/components/chip/chip.vue.d.ts +16 -125
  61. package/dist/components/chip/chip.vue.d.ts.map +1 -1
  62. package/dist/components/chip/chip_constants.d.ts +21 -24
  63. package/dist/components/chip/chip_constants.d.ts.map +1 -1
  64. package/dist/components/codeblock/codeblock.vue.d.ts +2 -25
  65. package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
  66. package/dist/components/collapsible/collapsible.vue.d.ts +11 -102
  67. package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
  68. package/dist/components/combobox/combobox.vue.d.ts +85 -160
  69. package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
  70. package/dist/components/combobox/combobox_empty-list.vue.d.ts +28 -61
  71. package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  72. package/dist/components/combobox/combobox_loading-list.vue.d.ts +48 -90
  73. package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  74. package/dist/components/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  75. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +13 -16
  76. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
  77. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +196 -610
  78. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  79. package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  80. package/dist/components/dropdown/dropdown.vue.d.ts +28 -292
  81. package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
  82. package/dist/components/emoji/emoji.vue.d.ts +20 -29
  83. package/dist/components/emoji_picker/emoji_picker.vue.d.ts +25 -225
  84. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +25 -225
  85. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  86. package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  87. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +20 -29
  88. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  89. package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
  90. package/dist/components/empty_state/empty_state_constants.d.ts +31 -52
  91. package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
  92. package/dist/components/hovercard/hovercard.vue.d.ts +57 -596
  93. package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
  94. package/dist/components/image_viewer/image_viewer.vue.d.ts +17 -224
  95. package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  96. package/dist/components/input/input.vue.d.ts +21 -214
  97. package/dist/components/input/input.vue.d.ts.map +1 -1
  98. package/dist/components/input/input_constants.d.ts +48 -46
  99. package/dist/components/input/input_constants.d.ts.map +1 -1
  100. package/dist/components/input_group/input_group.vue.d.ts +0 -142
  101. package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
  102. package/dist/components/item_layout/item_layout.vue.d.ts +27 -58
  103. package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
  104. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +0 -142
  105. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  106. package/dist/components/link/index.d.ts +1 -1
  107. package/dist/components/link/link.vue.d.ts +6 -26
  108. package/dist/components/link/link_constants.d.ts +4 -6
  109. package/dist/components/link/link_constants.d.ts.map +1 -1
  110. package/dist/components/list_item/list_item.vue.d.ts +28 -61
  111. package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
  112. package/dist/components/modal/modal.vue.d.ts +108 -411
  113. package/dist/components/modal/modal.vue.d.ts.map +1 -1
  114. package/dist/components/modal/modal_constants.d.ts +6 -7
  115. package/dist/components/motion_text/motion_text_constants.d.ts +23 -27
  116. package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
  117. package/dist/components/notice/notice.vue.d.ts +50 -447
  118. package/dist/components/notice/notice.vue.d.ts.map +1 -1
  119. package/dist/components/notice/notice_action.vue.d.ts +20 -211
  120. package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
  121. package/dist/components/notice/notice_constants.d.ts.map +1 -1
  122. package/dist/components/notice/notice_content.vue.d.ts +9 -170
  123. package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
  124. package/dist/components/notice/notice_icon.vue.d.ts +2 -11
  125. package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
  126. package/dist/components/pagination/pagination.vue.d.ts +10 -101
  127. package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
  128. package/dist/components/popover/popover.vue.d.ts +23 -267
  129. package/dist/components/popover/popover.vue.d.ts.map +1 -1
  130. package/dist/components/popover/popover_header_footer.vue.d.ts +7 -107
  131. package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  132. package/dist/components/radio/radio.vue.d.ts +8 -179
  133. package/dist/components/radio/radio.vue.d.ts.map +1 -1
  134. package/dist/components/radio/radio_constants.d.ts +2 -2
  135. package/dist/components/radio_group/radio_group.vue.d.ts +2 -143
  136. package/dist/components/resizable/resizable_constants.d.ts.map +1 -1
  137. package/dist/components/resizable/resizable_panel.vue.d.ts +0 -2
  138. package/dist/components/resizable/resizable_panel.vue.d.ts.map +1 -1
  139. package/dist/components/resizable/resizable_utils.d.ts.map +1 -1
  140. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +6 -26
  141. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  142. package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  143. package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +20 -29
  144. package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +20 -29
  145. package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +6 -26
  146. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +27 -227
  147. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  148. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +1 -144
  149. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  150. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +28 -61
  151. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  152. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +51 -597
  153. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  154. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +15 -105
  155. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  156. package/dist/components/root_layout/root_layout.vue.d.ts +2 -2
  157. package/dist/components/root_layout/root_layout_constants.d.ts +0 -2
  158. package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
  159. package/dist/components/scroller/modules/core_scroller.vue.d.ts +4 -4
  160. package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +24 -24
  161. package/dist/components/scroller/scroller.vue.d.ts +34 -34
  162. package/dist/components/select_menu/select_menu.vue.d.ts +34 -190
  163. package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
  164. package/dist/components/select_menu/select_menu_constants.d.ts +9 -14
  165. package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
  166. package/dist/components/skeleton/skeleton-list-item.vue.d.ts +12 -15
  167. package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +2 -5
  168. package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  169. package/dist/components/skeleton/skeleton-text.vue.d.ts +1 -4
  170. package/dist/components/skeleton/skeleton.vue.d.ts +20 -29
  171. package/dist/components/skeleton/skeleton_constants.d.ts +13 -18
  172. package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
  173. package/dist/components/split_button/{split_button-start.vue.d.ts → split_button-alpha.vue.d.ts} +11 -170
  174. package/dist/components/split_button/split_button-alpha.vue.d.ts.map +1 -0
  175. package/dist/components/split_button/{split_button-end.vue.d.ts → split_button-omega.vue.d.ts} +13 -109
  176. package/dist/components/split_button/split_button-omega.vue.d.ts.map +1 -0
  177. package/dist/components/split_button/split_button.vue.d.ts +87 -809
  178. package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
  179. package/dist/components/split_button/split_button_constants.d.ts +7 -12
  180. package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
  181. package/dist/components/stack/stack_constants.d.ts.map +1 -1
  182. package/dist/components/tab/index.d.ts +1 -1
  183. package/dist/components/tab/tab.vue.d.ts +11 -131
  184. package/dist/components/tab/tab.vue.d.ts.map +1 -1
  185. package/dist/components/tab/tab_group.vue.d.ts +13 -139
  186. package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
  187. package/dist/components/tab/tabs_constants.d.ts +5 -23
  188. package/dist/components/tab/tabs_constants.d.ts.map +1 -1
  189. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +45 -442
  190. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  191. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -11
  192. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  193. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +48 -445
  194. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  195. package/dist/components/toast/toast.vue.d.ts +212 -1836
  196. package/dist/components/toast/toast.vue.d.ts.map +1 -1
  197. package/dist/components/toggle/toggle.vue.d.ts +21 -20
  198. package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
  199. package/dist/components/toggle/toggle_constants.d.ts +4 -6
  200. package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
  201. package/dist/components/tooltip/tooltip.vue.d.ts +8 -43
  202. package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
  203. package/dist/datepicker-DprRX9AH.cjs +2 -0
  204. package/dist/datepicker-DprRX9AH.cjs.map +1 -0
  205. package/dist/{datepicker-B2nhxiCg.js → datepicker-LVDRC6Lf.js} +24 -20
  206. package/dist/datepicker-LVDRC6Lf.js.map +1 -0
  207. package/dist/dialtone-vue.cjs +1 -1
  208. package/dist/dialtone-vue.css +1 -1
  209. package/dist/dialtone-vue.js +151 -174
  210. package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
  211. package/dist/emoji_picker-Cl-T4BXK.cjs +2 -0
  212. package/dist/emoji_picker-Cl-T4BXK.cjs.map +1 -0
  213. package/dist/{emoji_picker-BjgAohQy.js → emoji_picker-tVHfpHDk.js} +8 -9
  214. package/dist/emoji_picker-tVHfpHDk.js.map +1 -0
  215. package/dist/index.d.ts +0 -9
  216. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  217. package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
  218. package/dist/lib/attachment-carousel/index.cjs +1 -1
  219. package/dist/lib/attachment-carousel/index.js +1 -1
  220. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  221. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  222. package/dist/lib/avatar/avatar-constants.js +24 -111
  223. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  224. package/dist/lib/avatar/avatar.cjs +1 -1
  225. package/dist/lib/avatar/avatar.cjs.map +1 -1
  226. package/dist/lib/avatar/avatar.js +84 -145
  227. package/dist/lib/avatar/avatar.js.map +1 -1
  228. package/dist/lib/avatar/index.cjs +1 -1
  229. package/dist/lib/avatar/index.js +3 -3
  230. package/dist/lib/badge/badge-constants.cjs +1 -1
  231. package/dist/lib/badge/badge-constants.cjs.map +1 -1
  232. package/dist/lib/badge/badge-constants.js +1 -1
  233. package/dist/lib/badge/badge-constants.js.map +1 -1
  234. package/dist/lib/badge/badge.cjs +1 -1
  235. package/dist/lib/badge/badge.cjs.map +1 -1
  236. package/dist/lib/badge/badge.js +23 -51
  237. package/dist/lib/badge/badge.js.map +1 -1
  238. package/dist/lib/banner/banner.cjs +2 -2
  239. package/dist/lib/banner/banner.cjs.map +1 -1
  240. package/dist/lib/banner/banner.js +24 -71
  241. package/dist/lib/banner/banner.js.map +1 -1
  242. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  243. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  244. package/dist/lib/breadcrumbs/breadcrumb-item.js +38 -29
  245. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  246. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  247. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  248. package/dist/lib/breadcrumbs/breadcrumbs.js +2 -10
  249. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  250. package/dist/lib/button/button-constants.cjs +1 -1
  251. package/dist/lib/button/button-constants.cjs.map +1 -1
  252. package/dist/lib/button/button-constants.js +3 -17
  253. package/dist/lib/button/button-constants.js.map +1 -1
  254. package/dist/lib/button/button.cjs +1 -1
  255. package/dist/lib/button/button.cjs.map +1 -1
  256. package/dist/lib/button/button.js +19 -162
  257. package/dist/lib/button/button.js.map +1 -1
  258. package/dist/lib/button-group/button-group.cjs.map +1 -1
  259. package/dist/lib/button-group/button-group.js.map +1 -1
  260. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  261. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  262. package/dist/lib/callbar-button/callbar-button.js +27 -26
  263. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  264. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  265. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  266. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +36 -45
  267. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  268. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  269. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  270. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -47
  271. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  272. package/dist/lib/callbox/callbox.cjs +1 -1
  273. package/dist/lib/callbox/callbox.cjs.map +1 -1
  274. package/dist/lib/callbox/callbox.js +8 -8
  275. package/dist/lib/callbox/callbox.js.map +1 -1
  276. package/dist/lib/card/card.cjs +1 -1
  277. package/dist/lib/card/card.cjs.map +1 -1
  278. package/dist/lib/card/card.js +18 -10
  279. package/dist/lib/card/card.js.map +1 -1
  280. package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
  281. package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
  282. package/dist/lib/checkbox/checkbox-constants.js +2 -2
  283. package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
  284. package/dist/lib/checkbox/checkbox.cjs +1 -1
  285. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  286. package/dist/lib/checkbox/checkbox.js +30 -80
  287. package/dist/lib/checkbox/checkbox.js.map +1 -1
  288. package/dist/lib/checkbox-group/checkbox-group.cjs +1 -1
  289. package/dist/lib/checkbox-group/checkbox-group.cjs.map +1 -1
  290. package/dist/lib/checkbox-group/checkbox-group.js +12 -6
  291. package/dist/lib/checkbox-group/checkbox-group.js.map +1 -1
  292. package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
  293. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  294. package/dist/lib/checkbox-group/checkboxes-decorator.js +1 -0
  295. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  296. package/dist/lib/chip/chip-constants.cjs +1 -1
  297. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  298. package/dist/lib/chip/chip-constants.js +0 -9
  299. package/dist/lib/chip/chip-constants.js.map +1 -1
  300. package/dist/lib/chip/chip.cjs +1 -1
  301. package/dist/lib/chip/chip.cjs.map +1 -1
  302. package/dist/lib/chip/chip.js +26 -43
  303. package/dist/lib/chip/chip.js.map +1 -1
  304. package/dist/lib/codeblock/codeblock.cjs +2 -1
  305. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  306. package/dist/lib/codeblock/codeblock.js +14 -25
  307. package/dist/lib/codeblock/codeblock.js.map +1 -1
  308. package/dist/lib/collapsible/collapsible.cjs +1 -1
  309. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  310. package/dist/lib/collapsible/collapsible.js +2 -2
  311. package/dist/lib/collapsible/collapsible.js.map +1 -1
  312. package/dist/lib/combobox/combobox.cjs +1 -1
  313. package/dist/lib/combobox/combobox.js +1 -1
  314. package/dist/lib/combobox/index.cjs +1 -1
  315. package/dist/lib/combobox/index.js +1 -1
  316. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
  317. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  318. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +0 -6
  319. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  320. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  321. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  322. package/dist/lib/combobox-multi-select/combobox-multi-select.js +48 -69
  323. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  324. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  325. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  326. package/dist/lib/combobox-with-popover/combobox-with-popover.js +47 -64
  327. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  328. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  329. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  330. package/dist/lib/contact-centers-row/contact-centers-row.js +45 -51
  331. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  332. package/dist/lib/contact-info/contact-info.cjs +1 -1
  333. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  334. package/dist/lib/contact-info/contact-info.js +8 -8
  335. package/dist/lib/contact-info/contact-info.js.map +1 -1
  336. package/dist/lib/contact-row/contact-row.cjs +1 -1
  337. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  338. package/dist/lib/contact-row/contact-row.js +3 -3
  339. package/dist/lib/contact-row/contact-row.js.map +1 -1
  340. package/dist/lib/datepicker/datepicker.cjs +1 -1
  341. package/dist/lib/datepicker/datepicker.js +1 -1
  342. package/dist/lib/datepicker/index.cjs +1 -1
  343. package/dist/lib/datepicker/index.js +1 -1
  344. package/dist/lib/description-list/description-list.cjs +1 -1
  345. package/dist/lib/description-list/description-list.cjs.map +1 -1
  346. package/dist/lib/description-list/description-list.js +1 -1
  347. package/dist/lib/description-list/description-list.js.map +1 -1
  348. package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
  349. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  350. package/dist/lib/dropdown/dropdown-constants.js +2 -2
  351. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  352. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  353. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  354. package/dist/lib/dropdown/dropdown-list.js +16 -28
  355. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  356. package/dist/lib/dropdown/dropdown.cjs +1 -1
  357. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  358. package/dist/lib/dropdown/dropdown.js +29 -43
  359. package/dist/lib/dropdown/dropdown.js.map +1 -1
  360. package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
  361. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  362. package/dist/lib/editor/EditorToolbarButton.js +1 -1
  363. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  364. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
  365. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  366. package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
  367. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  368. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
  369. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  370. package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
  371. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  372. package/dist/lib/editor/editor.cjs +1 -1
  373. package/dist/lib/editor/editor.cjs.map +1 -1
  374. package/dist/lib/editor/editor.js +143 -142
  375. package/dist/lib/editor/editor.js.map +1 -1
  376. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  377. package/dist/lib/emoji-picker/emoji-picker.js +1 -1
  378. package/dist/lib/emoji-picker/index.cjs +1 -1
  379. package/dist/lib/emoji-picker/index.js +1 -1
  380. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  381. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  382. package/dist/lib/emoji-row/emoji-row.js +1 -1
  383. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  384. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  385. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  386. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  387. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  388. package/dist/lib/empty-state/empty-state-constants.js +9 -37
  389. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  390. package/dist/lib/empty-state/empty-state.cjs +1 -1
  391. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  392. package/dist/lib/empty-state/empty-state.js +30 -77
  393. package/dist/lib/empty-state/empty-state.js.map +1 -1
  394. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  395. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  396. package/dist/lib/feed-item-pill/feed-item-pill.js +42 -40
  397. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  398. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  399. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  400. package/dist/lib/feed-item-row/feed-item-row.js +3 -3
  401. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  402. package/dist/lib/general-row/general-row.cjs +1 -1
  403. package/dist/lib/general-row/general-row.cjs.map +1 -1
  404. package/dist/lib/general-row/general-row.js +61 -105
  405. package/dist/lib/general-row/general-row.js.map +1 -1
  406. package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  407. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  408. package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
  409. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  410. package/dist/lib/group-row/group-row.cjs +1 -1
  411. package/dist/lib/group-row/group-row.cjs.map +1 -1
  412. package/dist/lib/group-row/group-row.js +2 -2
  413. package/dist/lib/group-row/group-row.js.map +1 -1
  414. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  415. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  416. package/dist/lib/grouped-chip/grouped-chip.js +9 -9
  417. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  418. package/dist/lib/hovercard/hovercard.cjs +1 -1
  419. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  420. package/dist/lib/hovercard/hovercard.js +24 -38
  421. package/dist/lib/hovercard/hovercard.js.map +1 -1
  422. package/dist/lib/icon/icon.cjs +1 -1
  423. package/dist/lib/icon/icon.cjs.map +1 -1
  424. package/dist/lib/icon/icon.js +1 -1
  425. package/dist/lib/icon/icon.js.map +1 -1
  426. package/dist/lib/illustration/illustration.cjs +1 -1
  427. package/dist/lib/illustration/illustration.cjs.map +1 -1
  428. package/dist/lib/illustration/illustration.js +1 -1
  429. package/dist/lib/illustration/illustration.js.map +1 -1
  430. package/dist/lib/image-viewer/image-viewer.cjs +1 -1
  431. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  432. package/dist/lib/image-viewer/image-viewer.js +32 -33
  433. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  434. package/dist/lib/input/input-constants.cjs +1 -1
  435. package/dist/lib/input/input-constants.cjs.map +1 -1
  436. package/dist/lib/input/input-constants.js +11 -25
  437. package/dist/lib/input/input-constants.js.map +1 -1
  438. package/dist/lib/input/input.cjs +1 -1
  439. package/dist/lib/input/input.cjs.map +1 -1
  440. package/dist/lib/input/input.js +85 -190
  441. package/dist/lib/input/input.js.map +1 -1
  442. package/dist/lib/input-group/input-group.cjs +1 -1
  443. package/dist/lib/input-group/input-group.cjs.map +1 -1
  444. package/dist/lib/input-group/input-group.js +15 -25
  445. package/dist/lib/input-group/input-group.js.map +1 -1
  446. package/dist/lib/item-layout/item-layout.cjs +3 -3
  447. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  448. package/dist/lib/item-layout/item-layout.js +19 -82
  449. package/dist/lib/item-layout/item-layout.js.map +1 -1
  450. package/dist/lib/ivr-node/ivr-node.cjs +1 -1
  451. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  452. package/dist/lib/ivr-node/ivr-node.js +1 -1
  453. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  454. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  455. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  456. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +38 -48
  457. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  458. package/dist/lib/link/index.cjs +1 -1
  459. package/dist/lib/link/index.js +2 -2
  460. package/dist/lib/link/link-constants.cjs +1 -1
  461. package/dist/lib/link/link-constants.cjs.map +1 -1
  462. package/dist/lib/link/link-constants.js +14 -17
  463. package/dist/lib/link/link-constants.js.map +1 -1
  464. package/dist/lib/link/link.cjs +1 -1
  465. package/dist/lib/link/link.cjs.map +1 -1
  466. package/dist/lib/link/link.js +2 -17
  467. package/dist/lib/link/link.js.map +1 -1
  468. package/dist/lib/list-item/list-item.cjs +1 -1
  469. package/dist/lib/list-item/list-item.cjs.map +1 -1
  470. package/dist/lib/list-item/list-item.js +5 -9
  471. package/dist/lib/list-item/list-item.js.map +1 -1
  472. package/dist/lib/list-item-group/list-item-group.cjs +1 -1
  473. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  474. package/dist/lib/list-item-group/list-item-group.js +1 -1
  475. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  476. package/dist/lib/message-input/index.cjs +1 -1
  477. package/dist/lib/message-input/index.js +1 -1
  478. package/dist/lib/message-input/message-input-button.cjs +1 -1
  479. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  480. package/dist/lib/message-input/message-input-button.js +1 -1
  481. package/dist/lib/message-input/message-input-button.js.map +1 -1
  482. package/dist/lib/message-input/message-input-link.cjs +1 -1
  483. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  484. package/dist/lib/message-input/message-input-link.js +9 -9
  485. package/dist/lib/message-input/message-input-link.js.map +1 -1
  486. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  487. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  488. package/dist/lib/message-input/message-input-topbar.js +2 -2
  489. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  490. package/dist/lib/message-input/message-input.cjs +1 -1
  491. package/dist/lib/message-input/message-input.js +1 -1
  492. package/dist/lib/modal/modal-constants.cjs +1 -1
  493. package/dist/lib/modal/modal-constants.cjs.map +1 -1
  494. package/dist/lib/modal/modal-constants.js +3 -3
  495. package/dist/lib/modal/modal-constants.js.map +1 -1
  496. package/dist/lib/modal/modal.cjs +1 -1
  497. package/dist/lib/modal/modal.cjs.map +1 -1
  498. package/dist/lib/modal/modal.js +164 -181
  499. package/dist/lib/modal/modal.js.map +1 -1
  500. package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
  501. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  502. package/dist/lib/motion-text/motion-text-constants.js +6 -18
  503. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  504. package/dist/lib/motion-text/motion-text.cjs +1 -1
  505. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  506. package/dist/lib/motion-text/motion-text.js +7 -5
  507. package/dist/lib/motion-text/motion-text.js.map +1 -1
  508. package/dist/lib/notice/notice-action.cjs +1 -1
  509. package/dist/lib/notice/notice-action.cjs.map +1 -1
  510. package/dist/lib/notice/notice-action.js +26 -34
  511. package/dist/lib/notice/notice-action.js.map +1 -1
  512. package/dist/lib/notice/notice-constants.cjs +1 -1
  513. package/dist/lib/notice/notice-constants.cjs.map +1 -1
  514. package/dist/lib/notice/notice-constants.js +2 -2
  515. package/dist/lib/notice/notice-constants.js.map +1 -1
  516. package/dist/lib/notice/notice-content.cjs +1 -1
  517. package/dist/lib/notice/notice-content.cjs.map +1 -1
  518. package/dist/lib/notice/notice-content.js +18 -51
  519. package/dist/lib/notice/notice-content.js.map +1 -1
  520. package/dist/lib/notice/notice-icon.cjs +1 -1
  521. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  522. package/dist/lib/notice/notice-icon.js +28 -38
  523. package/dist/lib/notice/notice-icon.js.map +1 -1
  524. package/dist/lib/notice/notice.cjs +1 -1
  525. package/dist/lib/notice/notice.cjs.map +1 -1
  526. package/dist/lib/notice/notice.js +23 -70
  527. package/dist/lib/notice/notice.js.map +1 -1
  528. package/dist/lib/pagination/pagination.cjs +1 -1
  529. package/dist/lib/pagination/pagination.cjs.map +1 -1
  530. package/dist/lib/pagination/pagination.js +12 -13
  531. package/dist/lib/pagination/pagination.js.map +1 -1
  532. package/dist/lib/popover/popover-constants.cjs +1 -1
  533. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  534. package/dist/lib/popover/popover-constants.js +6 -6
  535. package/dist/lib/popover/popover-constants.js.map +1 -1
  536. package/dist/lib/popover/popover-header-footer.cjs +1 -1
  537. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  538. package/dist/lib/popover/popover-header-footer.js +3 -11
  539. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  540. package/dist/lib/popover/popover.cjs +1 -1
  541. package/dist/lib/popover/popover.cjs.map +1 -1
  542. package/dist/lib/popover/popover.js +59 -88
  543. package/dist/lib/popover/popover.js.map +1 -1
  544. package/dist/lib/radio/radio-constants.cjs +1 -1
  545. package/dist/lib/radio/radio-constants.cjs.map +1 -1
  546. package/dist/lib/radio/radio-constants.js +2 -2
  547. package/dist/lib/radio/radio-constants.js.map +1 -1
  548. package/dist/lib/radio/radio.cjs +1 -1
  549. package/dist/lib/radio/radio.cjs.map +1 -1
  550. package/dist/lib/radio/radio.js +33 -95
  551. package/dist/lib/radio/radio.js.map +1 -1
  552. package/dist/lib/radio-group/radio-group.cjs +1 -1
  553. package/dist/lib/radio-group/radio-group.cjs.map +1 -1
  554. package/dist/lib/radio-group/radio-group.js +2 -2
  555. package/dist/lib/radio-group/radio-group.js.map +1 -1
  556. package/dist/lib/resizable/index.cjs +1 -1
  557. package/dist/lib/resizable/index.js +3 -3
  558. package/dist/lib/resizable/resizable-handle.cjs +1 -1
  559. package/dist/lib/resizable/resizable-handle.js +1 -1
  560. package/dist/lib/resizable/resizable-panel.cjs +1 -1
  561. package/dist/lib/resizable/resizable-panel.cjs.map +1 -1
  562. package/dist/lib/resizable/resizable-panel.js +3 -11
  563. package/dist/lib/resizable/resizable-panel.js.map +1 -1
  564. package/dist/lib/resizable/resizable.cjs +1 -1
  565. package/dist/lib/resizable/resizable.js +1 -1
  566. package/dist/lib/rich-text-editor/index.cjs +1 -1
  567. package/dist/lib/rich-text-editor/index.js +1 -1
  568. package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
  569. package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
  570. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  571. package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
  572. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  573. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  574. package/dist/lib/root-layout/root-layout-constants.js +0 -2
  575. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  576. package/dist/lib/root-layout/root-layout.cjs +1 -1
  577. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  578. package/dist/lib/root-layout/root-layout.js +2 -2
  579. package/dist/lib/root-layout/root-layout.js.map +1 -1
  580. package/dist/lib/scroller/index.cjs +1 -1
  581. package/dist/lib/scroller/index.js +1 -1
  582. package/dist/lib/scroller/scroller.cjs +1 -1
  583. package/dist/lib/scroller/scroller.js +1 -1
  584. package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
  585. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  586. package/dist/lib/select-menu/select-menu-constants.js +2 -7
  587. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  588. package/dist/lib/select-menu/select-menu.cjs +1 -1
  589. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  590. package/dist/lib/select-menu/select-menu.js +64 -119
  591. package/dist/lib/select-menu/select-menu.js.map +1 -1
  592. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  593. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  594. package/dist/lib/settings-menu-button/settings-menu-button.js +5 -5
  595. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  596. package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
  597. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  598. package/dist/lib/skeleton/skeleton-constants.js +4 -12
  599. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  600. package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
  601. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  602. package/dist/lib/skeleton/skeleton-list-item.js +2 -2
  603. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  604. package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
  605. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  606. package/dist/lib/skeleton/skeleton-shape.js +3 -3
  607. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  608. package/dist/lib/split-button/split-button-alpha.cjs +2 -0
  609. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -0
  610. package/dist/lib/split-button/split-button-alpha.js +107 -0
  611. package/dist/lib/split-button/split-button-alpha.js.map +1 -0
  612. package/dist/lib/split-button/split-button-constants.cjs +1 -1
  613. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  614. package/dist/lib/split-button/split-button-constants.js +0 -5
  615. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  616. package/dist/lib/split-button/split-button-omega.cjs +2 -0
  617. package/dist/lib/split-button/split-button-omega.cjs.map +1 -0
  618. package/dist/lib/split-button/{split-button-end.js → split-button-omega.js} +9 -9
  619. package/dist/lib/split-button/split-button-omega.js.map +1 -0
  620. package/dist/lib/split-button/split-button.cjs +1 -1
  621. package/dist/lib/split-button/split-button.cjs.map +1 -1
  622. package/dist/lib/split-button/split-button.js +71 -246
  623. package/dist/lib/split-button/split-button.js.map +1 -1
  624. package/dist/lib/stack/stack-constants.cjs +1 -1
  625. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  626. package/dist/lib/stack/stack-constants.js +2 -10
  627. package/dist/lib/stack/stack-constants.js.map +1 -1
  628. package/dist/lib/stack/stack.cjs.map +1 -1
  629. package/dist/lib/stack/stack.js.map +1 -1
  630. package/dist/lib/tab/index.cjs +1 -1
  631. package/dist/lib/tab/index.js +5 -5
  632. package/dist/lib/tab/tab-group.cjs +1 -1
  633. package/dist/lib/tab/tab-group.cjs.map +1 -1
  634. package/dist/lib/tab/tab-group.js +52 -186
  635. package/dist/lib/tab/tab-group.js.map +1 -1
  636. package/dist/lib/tab/tab.cjs +1 -1
  637. package/dist/lib/tab/tab.cjs.map +1 -1
  638. package/dist/lib/tab/tab.js +23 -108
  639. package/dist/lib/tab/tab.js.map +1 -1
  640. package/dist/lib/tab/tabs-constants.cjs +1 -1
  641. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  642. package/dist/lib/tab/tabs-constants.js +2 -33
  643. package/dist/lib/tab/tabs-constants.js.map +1 -1
  644. package/dist/lib/toast/index.cjs +1 -1
  645. package/dist/lib/toast/index.js +1 -1
  646. package/dist/lib/toast/toast.cjs +1 -1
  647. package/dist/lib/toast/toast.js +1 -1
  648. package/dist/lib/toggle/toggle-constants.cjs +1 -1
  649. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  650. package/dist/lib/toggle/toggle-constants.js +0 -2
  651. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  652. package/dist/lib/toggle/toggle.cjs +1 -1
  653. package/dist/lib/toggle/toggle.cjs.map +1 -1
  654. package/dist/lib/toggle/toggle.js +31 -26
  655. package/dist/lib/toggle/toggle.js.map +1 -1
  656. package/dist/lib/tooltip/tooltip.cjs +4 -1
  657. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  658. package/dist/lib/tooltip/tooltip.js +32 -46
  659. package/dist/lib/tooltip/tooltip.js.map +1 -1
  660. package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
  661. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  662. package/dist/lib/tooltip-directive/tooltip.js +35 -36
  663. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  664. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  665. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  666. package/dist/lib/top-banner-info/top-banner-info.js +4 -4
  667. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  668. package/dist/lib/unread-pill/unread-pill.cjs +1 -1
  669. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  670. package/dist/lib/unread-pill/unread-pill.js +1 -1
  671. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  672. package/dist/lib/validation-messages/validation-messages.cjs +1 -1
  673. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  674. package/dist/lib/validation-messages/validation-messages.js +2 -2
  675. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  676. package/dist/localization/en-US.cjs +0 -5
  677. package/dist/localization/en-US.cjs.map +1 -1
  678. package/dist/localization/en-US.js +1 -1
  679. package/dist/localization/en-US.js.map +1 -1
  680. package/dist/{markdownRenderer-Dsq-CiH9.cjs → markdownRenderer-DCgGQseq.cjs} +1 -1
  681. package/dist/{markdownRenderer-Dsq-CiH9.cjs.map → markdownRenderer-DCgGQseq.cjs.map} +1 -1
  682. package/dist/{markdownRenderer-k7_rQkox.js → markdownRenderer-D_P94RyM.js} +1 -1
  683. package/dist/{markdownRenderer-k7_rQkox.js.map → markdownRenderer-D_P94RyM.js.map} +1 -1
  684. package/dist/message_input-BiCHkV9g.cjs +2 -0
  685. package/dist/message_input-BiCHkV9g.cjs.map +1 -0
  686. package/dist/{message_input-rXsWKem_.js → message_input-DO6pV_GG.js} +132 -131
  687. package/dist/message_input-DO6pV_GG.js.map +1 -0
  688. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +17 -142
  689. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  690. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +53 -532
  691. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  692. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +49 -508
  693. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  694. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +46 -392
  695. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  696. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +16 -125
  697. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  698. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +31 -420
  699. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  700. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +24 -322
  701. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  702. package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +7 -98
  703. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +35 -390
  704. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  705. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +30 -365
  706. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  707. package/dist/recipes/conversation_view/editor/editor.vue.d.ts +284 -1824
  708. package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  709. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +55 -199
  710. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  711. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +48 -161
  712. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  713. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +56 -165
  714. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  715. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +34 -156
  716. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  717. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +188 -2104
  718. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  719. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +15 -283
  720. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  721. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +85 -881
  722. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  723. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +15 -283
  724. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  725. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +7 -98
  726. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  727. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +54 -143
  728. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  729. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +34 -110
  730. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  731. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +33 -150
  732. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  733. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +85 -673
  734. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  735. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +39 -560
  736. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  737. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  738. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +38 -559
  739. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  740. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  741. package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  742. package/dist/{resizable-CcxS3dH7.js → resizable-D4-peBOl.js} +3 -3
  743. package/dist/{resizable-CcxS3dH7.js.map → resizable-D4-peBOl.js.map} +1 -1
  744. package/dist/{resizable-DdPrpKvD.cjs → resizable-aOVGO_Os.cjs} +2 -2
  745. package/dist/{resizable-DdPrpKvD.cjs.map → resizable-aOVGO_Os.cjs.map} +1 -1
  746. package/dist/{resizable_handle-vqI5i9u6.js → resizable_handle-BlKBiWnx.js} +3 -3
  747. package/dist/{resizable_handle-vqI5i9u6.js.map → resizable_handle-BlKBiWnx.js.map} +1 -1
  748. package/dist/{resizable_handle-g45rLu_2.cjs → resizable_handle-RIKS8frB.cjs} +2 -2
  749. package/dist/{resizable_handle-g45rLu_2.cjs.map → resizable_handle-RIKS8frB.cjs.map} +1 -1
  750. package/dist/{resizable_utils-CQscchW4.js → resizable_utils-BComtrMV.js} +47 -29
  751. package/dist/resizable_utils-BComtrMV.js.map +1 -0
  752. package/dist/resizable_utils-DhuzXRdP.cjs +2 -0
  753. package/dist/resizable_utils-DhuzXRdP.cjs.map +1 -0
  754. package/dist/{rich_text_editor-DRwU4mUa.js → rich_text_editor-DYu2R0kw.js} +602 -640
  755. package/dist/{rich_text_editor-DRwU4mUa.js.map → rich_text_editor-DYu2R0kw.js.map} +1 -1
  756. package/dist/rich_text_editor-FduHYl-G.cjs +12 -0
  757. package/dist/{rich_text_editor-TolFmwK_.cjs.map → rich_text_editor-FduHYl-G.cjs.map} +1 -1
  758. package/dist/{scroller-DPqcc_Wl.js → scroller-BGVDh3sq.js} +6 -6
  759. package/dist/scroller-BGVDh3sq.js.map +1 -0
  760. package/dist/scroller-CjAsgjl9.cjs +2 -0
  761. package/dist/scroller-CjAsgjl9.cjs.map +1 -0
  762. package/dist/shared/sr_only_close_button.cjs +1 -1
  763. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  764. package/dist/shared/sr_only_close_button.js +1 -1
  765. package/dist/shared/sr_only_close_button.js.map +1 -1
  766. package/dist/{toast-DqbTiHVx.js → toast-DvPN-bCi.js} +89 -222
  767. package/dist/toast-DvPN-bCi.js.map +1 -0
  768. package/dist/toast-d8_zmgkL.cjs +2 -0
  769. package/dist/toast-d8_zmgkL.cjs.map +1 -0
  770. package/dist/{useResizableCalculations-CoVtK_0B.cjs → useResizableCalculations-BDITle3Q.cjs} +2 -2
  771. package/dist/{useResizableCalculations-CoVtK_0B.cjs.map → useResizableCalculations-BDITle3Q.cjs.map} +1 -1
  772. package/dist/{useResizableCalculations-YI08W37g.js → useResizableCalculations-DAajatT4.js} +2 -2
  773. package/dist/{useResizableCalculations-YI08W37g.js.map → useResizableCalculations-DAajatT4.js.map} +1 -1
  774. package/package.json +5 -7
  775. package/dist/attachment_carousel-1qxTI-NN.js.map +0 -1
  776. package/dist/attachment_carousel-wnZS3vEt.cjs +0 -2
  777. package/dist/attachment_carousel-wnZS3vEt.cjs.map +0 -1
  778. package/dist/combobox-BQBKrDTW.js.map +0 -1
  779. package/dist/combobox-Da7wBh3G.cjs +0 -3
  780. package/dist/combobox-Da7wBh3G.cjs.map +0 -1
  781. package/dist/common/composables/useIndicatorAnimation.cjs +0 -2
  782. package/dist/common/composables/useIndicatorAnimation.cjs.map +0 -1
  783. package/dist/common/composables/useIndicatorAnimation.d.ts +0 -18
  784. package/dist/common/composables/useIndicatorAnimation.d.ts.map +0 -1
  785. package/dist/common/composables/useIndicatorAnimation.js +0 -78
  786. package/dist/common/composables/useIndicatorAnimation.js.map +0 -1
  787. package/dist/common/constants/sizes.cjs +0 -2
  788. package/dist/common/constants/sizes.cjs.map +0 -1
  789. package/dist/common/constants/sizes.d.ts +0 -22
  790. package/dist/common/constants/sizes.d.ts.map +0 -1
  791. package/dist/common/constants/sizes.js +0 -19
  792. package/dist/common/constants/sizes.js.map +0 -1
  793. package/dist/common/mixins/mode.cjs +0 -2
  794. package/dist/common/mixins/mode.cjs.map +0 -1
  795. package/dist/common/mixins/mode.d.ts +0 -25
  796. package/dist/common/mixins/mode.d.ts.map +0 -1
  797. package/dist/common/mixins/mode.js +0 -62
  798. package/dist/common/mixins/mode.js.map +0 -1
  799. package/dist/common/mode_constants.d.ts +0 -37
  800. package/dist/common/mode_constants.d.ts.map +0 -1
  801. package/dist/components/box/box.vue.d.ts +0 -75
  802. package/dist/components/box/box.vue.d.ts.map +0 -1
  803. package/dist/components/box/box_constants.d.ts +0 -11
  804. package/dist/components/box/box_constants.d.ts.map +0 -1
  805. package/dist/components/box/index.d.ts +0 -3
  806. package/dist/components/box/index.d.ts.map +0 -1
  807. package/dist/components/box/validators.d.ts +0 -11
  808. package/dist/components/box/validators.d.ts.map +0 -1
  809. package/dist/components/codeblock/codeblock_constants.d.ts +0 -9
  810. package/dist/components/codeblock/codeblock_constants.d.ts.map +0 -1
  811. package/dist/components/filter_pill/filter_pill.vue.d.ts +0 -4739
  812. package/dist/components/filter_pill/filter_pill.vue.d.ts.map +0 -1
  813. package/dist/components/filter_pill/index.d.ts +0 -2
  814. package/dist/components/filter_pill/index.d.ts.map +0 -1
  815. package/dist/components/mode_island/index.d.ts +0 -3
  816. package/dist/components/mode_island/index.d.ts.map +0 -1
  817. package/dist/components/mode_island/mode_island.vue.d.ts +0 -3
  818. package/dist/components/mode_island/mode_island.vue.d.ts.map +0 -1
  819. package/dist/components/mode_island/mode_island_constants.d.ts +0 -10
  820. package/dist/components/mode_island/mode_island_constants.d.ts.map +0 -1
  821. package/dist/components/mode_island/utils.d.ts +0 -12
  822. package/dist/components/mode_island/utils.d.ts.map +0 -1
  823. package/dist/components/mode_island/validators.d.ts +0 -6
  824. package/dist/components/mode_island/validators.d.ts.map +0 -1
  825. package/dist/components/prose/index.d.ts +0 -3
  826. package/dist/components/prose/index.d.ts.map +0 -1
  827. package/dist/components/prose/prose.vue.d.ts +0 -26
  828. package/dist/components/prose/prose.vue.d.ts.map +0 -1
  829. package/dist/components/prose/prose_constants.d.ts +0 -34
  830. package/dist/components/prose/prose_constants.d.ts.map +0 -1
  831. package/dist/components/segmented_control/index.d.ts +0 -4
  832. package/dist/components/segmented_control/index.d.ts.map +0 -1
  833. package/dist/components/segmented_control/segmented_control.vue.d.ts +0 -226
  834. package/dist/components/segmented_control/segmented_control.vue.d.ts.map +0 -1
  835. package/dist/components/segmented_control/segmented_control_constants.d.ts +0 -41
  836. package/dist/components/segmented_control/segmented_control_constants.d.ts.map +0 -1
  837. package/dist/components/segmented_control/segmented_control_item.vue.d.ts +0 -35
  838. package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +0 -1
  839. package/dist/components/split_button/split_button-end.vue.d.ts.map +0 -1
  840. package/dist/components/split_button/split_button-start.vue.d.ts.map +0 -1
  841. package/dist/components/text/index.d.ts +0 -3
  842. package/dist/components/text/index.d.ts.map +0 -1
  843. package/dist/components/text/text.vue.d.ts +0 -145
  844. package/dist/components/text/text.vue.d.ts.map +0 -1
  845. package/dist/components/text/text_constants.d.ts +0 -95
  846. package/dist/components/text/text_constants.d.ts.map +0 -1
  847. package/dist/datepicker-B2nhxiCg.js.map +0 -1
  848. package/dist/datepicker-CZrNL0Yn.cjs +0 -2
  849. package/dist/datepicker-CZrNL0Yn.cjs.map +0 -1
  850. package/dist/directives/focusgroup_directive/focusgroup.d.ts +0 -6
  851. package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +0 -1
  852. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +0 -74
  853. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +0 -1
  854. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +0 -15
  855. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +0 -1
  856. package/dist/directives/focusgroup_directive/index.d.ts +0 -2
  857. package/dist/directives/focusgroup_directive/index.d.ts.map +0 -1
  858. package/dist/directives/focustrap_directive/focustrap.d.ts +0 -6
  859. package/dist/directives/focustrap_directive/focustrap.d.ts.map +0 -1
  860. package/dist/directives/focustrap_directive/focustrap_constants.d.ts +0 -7
  861. package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +0 -1
  862. package/dist/directives/focustrap_directive/focustrap_utils.d.ts +0 -5
  863. package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +0 -1
  864. package/dist/directives/focustrap_directive/index.d.ts +0 -2
  865. package/dist/directives/focustrap_directive/index.d.ts.map +0 -1
  866. package/dist/directives/mode_directive/index.d.ts +0 -2
  867. package/dist/directives/mode_directive/index.d.ts.map +0 -1
  868. package/dist/directives/mode_directive/mode.d.ts +0 -6
  869. package/dist/directives/mode_directive/mode.d.ts.map +0 -1
  870. package/dist/emoji_picker-BQW4qRFg.cjs +0 -2
  871. package/dist/emoji_picker-BQW4qRFg.cjs.map +0 -1
  872. package/dist/emoji_picker-BjgAohQy.js.map +0 -1
  873. package/dist/lib/box/box-constants.cjs +0 -2
  874. package/dist/lib/box/box-constants.cjs.map +0 -1
  875. package/dist/lib/box/box-constants.js +0 -107
  876. package/dist/lib/box/box-constants.js.map +0 -1
  877. package/dist/lib/box/box.cjs +0 -2
  878. package/dist/lib/box/box.cjs.map +0 -1
  879. package/dist/lib/box/box.js +0 -237
  880. package/dist/lib/box/box.js.map +0 -1
  881. package/dist/lib/box/index.cjs +0 -1
  882. package/dist/lib/box/index.js +0 -3
  883. package/dist/lib/box/validators.cjs +0 -2
  884. package/dist/lib/box/validators.cjs.map +0 -1
  885. package/dist/lib/box/validators.js +0 -17
  886. package/dist/lib/box/validators.js.map +0 -1
  887. package/dist/lib/codeblock/codeblock-constants.cjs +0 -2
  888. package/dist/lib/codeblock/codeblock-constants.cjs.map +0 -1
  889. package/dist/lib/codeblock/codeblock-constants.js +0 -20
  890. package/dist/lib/codeblock/codeblock-constants.js.map +0 -1
  891. package/dist/lib/filter-pill/filter-pill.cjs +0 -2
  892. package/dist/lib/filter-pill/filter-pill.cjs.map +0 -1
  893. package/dist/lib/filter-pill/filter-pill.js +0 -441
  894. package/dist/lib/filter-pill/filter-pill.js.map +0 -1
  895. package/dist/lib/filter-pill/index.cjs +0 -1
  896. package/dist/lib/filter-pill/index.js +0 -2
  897. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +0 -2
  898. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +0 -1
  899. package/dist/lib/focusgroup-directive/focusgroup-constants.js +0 -77
  900. package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +0 -1
  901. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +0 -2
  902. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +0 -1
  903. package/dist/lib/focusgroup-directive/focusgroup-utils.js +0 -33
  904. package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +0 -1
  905. package/dist/lib/focusgroup-directive/focusgroup.cjs +0 -2
  906. package/dist/lib/focusgroup-directive/focusgroup.cjs.map +0 -1
  907. package/dist/lib/focusgroup-directive/focusgroup.js +0 -143
  908. package/dist/lib/focusgroup-directive/focusgroup.js.map +0 -1
  909. package/dist/lib/focusgroup-directive/index.cjs +0 -1
  910. package/dist/lib/focusgroup-directive/index.js +0 -2
  911. package/dist/lib/focustrap-directive/focustrap-constants.cjs +0 -2
  912. package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +0 -1
  913. package/dist/lib/focustrap-directive/focustrap-constants.js +0 -10
  914. package/dist/lib/focustrap-directive/focustrap-constants.js.map +0 -1
  915. package/dist/lib/focustrap-directive/focustrap-utils.cjs +0 -2
  916. package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +0 -1
  917. package/dist/lib/focustrap-directive/focustrap-utils.js +0 -19
  918. package/dist/lib/focustrap-directive/focustrap-utils.js.map +0 -1
  919. package/dist/lib/focustrap-directive/focustrap.cjs +0 -2
  920. package/dist/lib/focustrap-directive/focustrap.cjs.map +0 -1
  921. package/dist/lib/focustrap-directive/focustrap.js +0 -96
  922. package/dist/lib/focustrap-directive/focustrap.js.map +0 -1
  923. package/dist/lib/focustrap-directive/index.cjs +0 -1
  924. package/dist/lib/focustrap-directive/index.js +0 -2
  925. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +0 -2
  926. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +0 -1
  927. package/dist/lib/kitchen-sink/kitchen-sink-view.js +0 -205
  928. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +0 -1
  929. package/dist/lib/mode-directive/index.cjs +0 -1
  930. package/dist/lib/mode-directive/index.js +0 -2
  931. package/dist/lib/mode-directive/mode.cjs +0 -2
  932. package/dist/lib/mode-directive/mode.cjs.map +0 -1
  933. package/dist/lib/mode-directive/mode.js +0 -67
  934. package/dist/lib/mode-directive/mode.js.map +0 -1
  935. package/dist/lib/mode-island/index.cjs +0 -1
  936. package/dist/lib/mode-island/index.js +0 -3
  937. package/dist/lib/mode-island/mode-island-constants.cjs +0 -2
  938. package/dist/lib/mode-island/mode-island-constants.cjs.map +0 -1
  939. package/dist/lib/mode-island/mode-island-constants.js +0 -10
  940. package/dist/lib/mode-island/mode-island-constants.js.map +0 -1
  941. package/dist/lib/mode-island/mode-island.cjs +0 -2
  942. package/dist/lib/mode-island/mode-island.cjs.map +0 -1
  943. package/dist/lib/mode-island/mode-island.js +0 -102
  944. package/dist/lib/mode-island/mode-island.js.map +0 -1
  945. package/dist/lib/mode-island/utils.cjs +0 -2
  946. package/dist/lib/mode-island/utils.cjs.map +0 -1
  947. package/dist/lib/mode-island/utils.js +0 -28
  948. package/dist/lib/mode-island/utils.js.map +0 -1
  949. package/dist/lib/mode-island/validators.cjs +0 -2
  950. package/dist/lib/mode-island/validators.cjs.map +0 -1
  951. package/dist/lib/mode-island/validators.js +0 -10
  952. package/dist/lib/mode-island/validators.js.map +0 -1
  953. package/dist/lib/prose/index.cjs +0 -1
  954. package/dist/lib/prose/index.js +0 -3
  955. package/dist/lib/prose/prose-constants.cjs +0 -2
  956. package/dist/lib/prose/prose-constants.cjs.map +0 -1
  957. package/dist/lib/prose/prose-constants.js +0 -89
  958. package/dist/lib/prose/prose-constants.js.map +0 -1
  959. package/dist/lib/prose/prose.cjs +0 -2
  960. package/dist/lib/prose/prose.cjs.map +0 -1
  961. package/dist/lib/prose/prose.js +0 -68
  962. package/dist/lib/prose/prose.js.map +0 -1
  963. package/dist/lib/segmented-control/index.cjs +0 -1
  964. package/dist/lib/segmented-control/index.js +0 -4
  965. package/dist/lib/segmented-control/segmented-control-constants.cjs +0 -2
  966. package/dist/lib/segmented-control/segmented-control-constants.cjs.map +0 -1
  967. package/dist/lib/segmented-control/segmented-control-constants.js +0 -41
  968. package/dist/lib/segmented-control/segmented-control-constants.js.map +0 -1
  969. package/dist/lib/segmented-control/segmented-control-item.cjs +0 -2
  970. package/dist/lib/segmented-control/segmented-control-item.cjs.map +0 -1
  971. package/dist/lib/segmented-control/segmented-control-item.js +0 -104
  972. package/dist/lib/segmented-control/segmented-control-item.js.map +0 -1
  973. package/dist/lib/segmented-control/segmented-control.cjs +0 -2
  974. package/dist/lib/segmented-control/segmented-control.cjs.map +0 -1
  975. package/dist/lib/segmented-control/segmented-control.js +0 -204
  976. package/dist/lib/segmented-control/segmented-control.js.map +0 -1
  977. package/dist/lib/split-button/split-button-end.cjs +0 -2
  978. package/dist/lib/split-button/split-button-end.cjs.map +0 -1
  979. package/dist/lib/split-button/split-button-end.js.map +0 -1
  980. package/dist/lib/split-button/split-button-start.cjs +0 -2
  981. package/dist/lib/split-button/split-button-start.cjs.map +0 -1
  982. package/dist/lib/split-button/split-button-start.js +0 -182
  983. package/dist/lib/split-button/split-button-start.js.map +0 -1
  984. package/dist/lib/text/index.cjs +0 -1
  985. package/dist/lib/text/index.js +0 -3
  986. package/dist/lib/text/text-constants.cjs +0 -2
  987. package/dist/lib/text/text-constants.cjs.map +0 -1
  988. package/dist/lib/text/text-constants.js +0 -128
  989. package/dist/lib/text/text-constants.js.map +0 -1
  990. package/dist/lib/text/text.cjs +0 -2
  991. package/dist/lib/text/text.cjs.map +0 -1
  992. package/dist/lib/text/text.js +0 -150
  993. package/dist/lib/text/text.js.map +0 -1
  994. package/dist/message_input-DktL-f28.cjs +0 -2
  995. package/dist/message_input-DktL-f28.cjs.map +0 -1
  996. package/dist/message_input-rXsWKem_.js.map +0 -1
  997. package/dist/mode_constants-CzYJW9ua.cjs +0 -2
  998. package/dist/mode_constants-CzYJW9ua.cjs.map +0 -1
  999. package/dist/mode_constants-tb7TL85q.js +0 -14
  1000. package/dist/mode_constants-tb7TL85q.js.map +0 -1
  1001. package/dist/resizable_utils-CQscchW4.js.map +0 -1
  1002. package/dist/resizable_utils-DabS08OL.cjs +0 -2
  1003. package/dist/resizable_utils-DabS08OL.cjs.map +0 -1
  1004. package/dist/rich_text_editor-TolFmwK_.cjs +0 -12
  1005. package/dist/scroller-C15VLKNK.cjs +0 -2
  1006. package/dist/scroller-C15VLKNK.cjs.map +0 -1
  1007. package/dist/scroller-DPqcc_Wl.js.map +0 -1
  1008. package/dist/toast-BuNWsrhy.cjs +0 -2
  1009. package/dist/toast-BuNWsrhy.cjs.map +0 -1
  1010. package/dist/toast-DqbTiHVx.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast-d8_zmgkL.cjs","names":[],"sources":["../components/toast/layouts/toast_layout_default.vue","../components/toast/layouts/toast_layout_alternate_icon.vue","../components/toast/layouts/toast_layout_alternate.vue","../components/toast/toast.vue"],"sourcesContent":["<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n $attrs.class,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n v-bind=\"toastListeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport { TOAST_ROLES } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutDefault',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['close'],\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <div\n aria-hidden=\"true\"\n class=\"d-toast-layout-alternate__icon\"\n >\n <slot>\n <component\n :is=\"defaultIcon\"\n v-if=\"defaultIcon\"\n :size=\"size\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n} from '@dialpad/dialtone-icons/vue3';\nimport { TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconInfo],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconInfo],\n ['base', DtIconBell],\n ['gradient', DtIconSparkle],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToastLayoutAlternateIcon',\n\n components: {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n },\n\n props: {\n /**\n * Kind of icon\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n size: {\n type: String,\n default: '400',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast-alternate',\n $attrs.class,\n kindClass,\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast-alternate__dialog\">\n <div class=\"d-toast-alternate__header\">\n <dt-toast-layout-alternate-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n size=\"200\"\n v-bind=\"toastListeners\"\n >\n <slot name=\"icon\" />\n </dt-toast-layout-alternate-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <slot name=\"titleOverride\" />\n </template>\n </dt-notice-content>\n\n <!-- Close Button -->\n <dt-notice-action\n :hide-action=\"true\"\n :hide-close=\"hideClose\"\n button-size=\"xs\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n />\n </div>\n <!-- Content Section -->\n <div class=\"d-toast-alternate__content\">\n <slot>\n {{ message }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport DtToastLayoutAlternateIcon from './toast_layout_alternate_icon.vue';\nimport { DtNoticeAction, DtNoticeContent } from '@/components/notice';\nimport { TOAST_ROLES, TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutAlternate',\n\n components: {\n DtNoticeAction,\n DtNoticeContent,\n DtToastLayoutAlternateIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast-alternate--error',\n info: 'd-toast-alternate--info',\n success: 'd-toast-alternate--success',\n warning: 'd-toast-alternate--warning',\n gradient: 'd-toast-alternate--gradient',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <component\n :is=\"selectedLayout\"\n :is-shown=\"isShown\"\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :message=\"message\"\n :role=\"role\"\n :kind=\"kind\"\n :important=\"important\"\n :hide-close=\"hideClose\"\n :hide-icon=\"hideIcon\"\n :hide-action=\"hideAction\"\n v-bind=\"$attrs\"\n @close=\"handleClose\"\n >\n <!-- @slot Slot for custom icon -->\n <template #icon>\n <slot name=\"icon\" />\n </template>\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <template #action>\n <slot name=\"action\" />\n </template>\n </component>\n</template>\n\n<script>\nimport { TOAST_MIN_DURATION, TOAST_LAYOUTS } from './toast_constants.js';\nimport ToastLayoutDefault from './layouts/toast_layout_default.vue';\nimport ToastLayoutAlternate from './layouts/toast_layout_alternate.vue';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToast',\n\n components: {\n ToastLayoutDefault,\n ToastLayoutAlternate,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: undefined,\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: undefined,\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n },\n\n /**\n * Severity level of the toast, could be different depending on which toast layout is used.\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: undefined,\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `v-model` with this prop to update\n * the data in your component.\n * Supports v-model\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n\n /**\n * The layout / styling you wish to use for the toast.\n * @values default, alternate\n */\n layout: {\n type: String,\n default: 'default',\n validator: (layout) => {\n return TOAST_LAYOUTS.includes(layout);\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n\n selectedLayout () {\n return this.layout === 'alternate' ? ToastLayoutAlternate : ToastLayoutDefault;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n unmounted () {\n clearTimeout(this.displayTimer);\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n\n handleClose () {\n this.isShown = false;\n this.$emit('close');\n this.$emit('update:show', false);\n },\n },\n};\n</script>\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require(`./resizable_utils-DabS08OL.cjs`);function t(e,t,n){let r=e;return t!==void 0&&(r=Math.max(r,t)),n!==void 0&&(r=Math.min(r,n)),r}function n(e,n,r=`system`){return t(e,r===`user`?n.userMinSizePixels:n.systemMinSizePixels??n.userMinSizePixels,r===`user`?n.userMaxSizePixels:n.systemMaxSizePixels??n.userMaxSizePixels)}function r(t,n){return{userMinSizePixels:t.userMinSize?e.o(t.userMinSize,n):void 0,userMaxSizePixels:t.userMaxSize?e.o(t.userMaxSize,n):void 0}}function i(e,t){return e===void 0||t===void 0?e:Math.max(e,t)}function a(e,t){return e===void 0||t===void 0?e:Math.min(e,t)}function o(t,n,r,o){let s=t.systemMinSize?e.o(t.systemMinSize,n):r,c=t.systemMaxSize?e.o(t.systemMaxSize,n):o;return{systemMinSizePixels:i(s,r),systemMaxSizePixels:a(c,o)}}function s(t,n){let{userMinSizePixels:i,userMaxSizePixels:a}=r(t,n),{systemMinSizePixels:s,systemMaxSizePixels:c}=o(t,n,i,a);return{userMinSizePixels:i,userMaxSizePixels:a,systemMinSizePixels:s,systemMaxSizePixels:c,collapseSizePixels:t.collapseSize?e.o(t.collapseSize,n,{clampToContainer:!1}):void 0}}function c(e){function n(e,t,n){return t.resizable===!1||n.resizable===!1?{constrainedCursorPosition:e,beforePanelSize:t.pixelSize||0,afterPanelSize:n.pixelSize||0,isValidResize:!1}:null}function r(e,n){return t(e,n.userMinSizePixels,n.userMaxSizePixels)}function i(e,t,n){let r=e.userMinSizePixels;if(r===void 0||!n)return t;let i=n.findIndex(t=>t.id===e.id),a=n.slice(i+1).reduce((e,t)=>e+(t.pixelSize||0),0);return t-r-a}function a(e,t,n,r){if(!r)return t-e;let i=r.findIndex(e=>e.id===n.id),a=r.slice(i+1).reduce((e,t)=>e+(t.pixelSize||0),0);return t-e-a}function o(e,t,o,s,c,l,u){let d=n(e,t,o);if(d)return d;let f=u||0,p=e-f,m=s-e,h=r(p,t),g=r(m,o),_=i(o,s,l),v=f+h,y=Math.min(v,_),b;return y<v?(b=y,h=b-f,g=a(b,s,o,l)):(b=v,g=a(b,s,o,l)),{constrainedCursorPosition:b,beforePanelSize:h,afterPanelSize:g,isValidResize:h>=10&&g>=10}}return{processResizeMove:o}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
2
- //# sourceMappingURL=useResizableCalculations-CoVtK_0B.cjs.map
1
+ const e=require(`./resizable_utils-DhuzXRdP.cjs`);function t(e,t,n){let r=e;return t!==void 0&&(r=Math.max(r,t)),n!==void 0&&(r=Math.min(r,n)),r}function n(e,n,r=`system`){return t(e,r===`user`?n.userMinSizePixels:n.systemMinSizePixels??n.userMinSizePixels,r===`user`?n.userMaxSizePixels:n.systemMaxSizePixels??n.userMaxSizePixels)}function r(t,n){return{userMinSizePixels:t.userMinSize?e.o(t.userMinSize,n):void 0,userMaxSizePixels:t.userMaxSize?e.o(t.userMaxSize,n):void 0}}function i(e,t){return e===void 0||t===void 0?e:Math.max(e,t)}function a(e,t){return e===void 0||t===void 0?e:Math.min(e,t)}function o(t,n,r,o){let s=t.systemMinSize?e.o(t.systemMinSize,n):r,c=t.systemMaxSize?e.o(t.systemMaxSize,n):o;return{systemMinSizePixels:i(s,r),systemMaxSizePixels:a(c,o)}}function s(t,n){let{userMinSizePixels:i,userMaxSizePixels:a}=r(t,n),{systemMinSizePixels:s,systemMaxSizePixels:c}=o(t,n,i,a);return{userMinSizePixels:i,userMaxSizePixels:a,systemMinSizePixels:s,systemMaxSizePixels:c,collapseSizePixels:t.collapseSize?e.o(t.collapseSize,n,{clampToContainer:!1}):void 0}}function c(e){function n(e,t,n){return t.resizable===!1||n.resizable===!1?{constrainedCursorPosition:e,beforePanelSize:t.pixelSize||0,afterPanelSize:n.pixelSize||0,isValidResize:!1}:null}function r(e,n){return t(e,n.userMinSizePixels,n.userMaxSizePixels)}function i(e,t,n){let r=e.userMinSizePixels;if(r===void 0||!n)return t;let i=n.findIndex(t=>t.id===e.id),a=n.slice(i+1).reduce((e,t)=>e+(t.pixelSize||0),0);return t-r-a}function a(e,t,n,r){if(!r)return t-e;let i=r.findIndex(e=>e.id===n.id),a=r.slice(i+1).reduce((e,t)=>e+(t.pixelSize||0),0);return t-e-a}function o(e,t,o,s,c,l,u){let d=n(e,t,o);if(d)return d;let f=u||0,p=e-f,m=s-e,h=r(p,t),g=r(m,o),_=i(o,s,l),v=f+h,y=Math.min(v,_),b;return y<v?(b=y,h=b-f,g=a(b,s,o,l)):(b=v,g=a(b,s,o,l)),{constrainedCursorPosition:b,beforePanelSize:h,afterPanelSize:g,isValidResize:h>=10&&g>=10}}return{processResizeMove:o}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
2
+ //# sourceMappingURL=useResizableCalculations-BDITle3Q.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResizableCalculations-CoVtK_0B.cjs","names":[],"sources":["../components/resizable/composables/constraintResolver.ts","../components/resizable/composables/useResizableCalculations.ts"],"sourcesContent":["/**\n * Constraint Resolver\n *\n * Pure functions for resolving the constraint hierarchy for resizable panels.\n * No DOM access, no Vue reactivity, no side effects.\n *\n * @see computeLayout.ts\n * @see ../resizable_constants.ts\n */\n\nimport type { ResizablePanelConfig } from '../resizable_constants';\nimport { parseSizeToPixels } from '../resizable_utils';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\n/**\n * Result of constraint hierarchy calculation.\n * User limits are absolute boundaries; system limits are the operating range within user limits.\n */\nexport interface ConstraintHierarchy {\n // User drag limits (absolute boundaries)\n userMinSizePixels?: number;\n userMaxSizePixels?: number;\n // System scaling limits (operating range within user limits)\n systemMinSizePixels?: number;\n systemMaxSizePixels?: number;\n // Auto-collapse threshold (container width, not panel width)\n collapseSizePixels?: number;\n}\n\n// ============================================================================\n// CLAMPING PRIMITIVE\n// ============================================================================\n\n/**\n * Clamp a value to optional min/max bounds.\n * Single source of truth for all constraint clamping in the resizable system.\n */\nexport function clampSize(value: number, min?: number, max?: number): number {\n let result = value;\n if (min !== undefined) result = Math.max(result, min);\n if (max !== undefined) result = Math.min(result, max);\n return result;\n}\n\n/**\n * Resolve effective min/max for a given constraint tier, then clamp.\n * - 'user' tier: uses userMin/userMax only\n * - 'system' tier: uses systemMin/systemMax, falling back to userMin/userMax\n */\nexport function clampToTier(\n value: number,\n constraints: ConstraintHierarchy,\n tier: 'user' | 'system' = 'system'\n): number {\n const min = tier === 'user'\n ? constraints.userMinSizePixels\n : (constraints.systemMinSizePixels ?? constraints.userMinSizePixels);\n const max = tier === 'user'\n ? constraints.userMaxSizePixels\n : (constraints.systemMaxSizePixels ?? constraints.userMaxSizePixels);\n return clampSize(value, min, max);\n}\n\n// ============================================================================\n// INTERNAL HELPERS\n// ============================================================================\n\n/**\n * Resolve user constraints (drag limits) from panel config.\n */\nexport function resolveUserConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): { userMinSizePixels?: number; userMaxSizePixels?: number } {\n return {\n userMinSizePixels: panelConfig.userMinSize ? parseSizeToPixels(panelConfig.userMinSize, containerSize) : undefined,\n userMaxSizePixels: panelConfig.userMaxSize ? parseSizeToPixels(panelConfig.userMaxSize, containerSize) : undefined,\n };\n}\n\n/**\n * Clamp system min to be at least user min.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMin(systemMin: number | undefined, userMin: number | undefined): number | undefined {\n if (systemMin === undefined || userMin === undefined) return systemMin;\n return Math.max(systemMin, userMin);\n}\n\n/**\n * Clamp system max to be at most user max.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMax(systemMax: number | undefined, userMax: number | undefined): number | undefined {\n if (systemMax === undefined || userMax === undefined) return systemMax;\n return Math.min(systemMax, userMax);\n}\n\n/**\n * Resolve system constraints with fallback to user constraints.\n * System limits are silently clamped to stay within user limits.\n */\nexport function resolveSystemConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number,\n userMinSizePixels?: number,\n userMaxSizePixels?: number\n): { systemMinSizePixels?: number; systemMaxSizePixels?: number } {\n // Calculate system limits from props, or fall back to user limits\n const rawSystemMin = panelConfig.systemMinSize\n ? parseSizeToPixels(panelConfig.systemMinSize, containerSize)\n : userMinSizePixels;\n const rawSystemMax = panelConfig.systemMaxSize\n ? parseSizeToPixels(panelConfig.systemMaxSize, containerSize)\n : userMaxSizePixels;\n\n // Validate and clamp system limits within user limits\n const systemMinSizePixels = clampSystemMin(rawSystemMin, userMinSizePixels);\n const systemMaxSizePixels = clampSystemMax(rawSystemMax, userMaxSizePixels);\n\n return { systemMinSizePixels, systemMaxSizePixels };\n}\n\n// ============================================================================\n// PUBLIC API\n// ============================================================================\n\n/**\n * Calculate the complete constraint hierarchy for a panel.\n *\n * This separates user drag limits from system scaling limits:\n * - User limits (userMinSize/userMaxSize) are absolute boundaries for user dragging\n * - System limits (systemMinSize/systemMaxSize) are the operating range for viewport resize\n * - System limits must be within user limits (clamped silently if not)\n *\n * @param panelConfig - Panel configuration\n * @param containerSize - Current container size in pixels\n * @returns Complete constraint hierarchy with all pixel values\n */\nexport function calculateConstraintHierarchy(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): ConstraintHierarchy {\n // Resolve user constraints (drag limits)\n const { userMinSizePixels, userMaxSizePixels } = resolveUserConstraints(panelConfig, containerSize);\n\n // Resolve system constraints (viewport resize limits) with fallback to user limits\n const { systemMinSizePixels, systemMaxSizePixels } = resolveSystemConstraints(\n panelConfig,\n containerSize,\n userMinSizePixels,\n userMaxSizePixels\n );\n\n // Calculate collapse threshold (container width trigger, NOT a panel size)\n // Don't clamp to container - this threshold is compared AGAINST the container width\n const collapseSizePixels = panelConfig.collapseSize\n ? parseSizeToPixels(panelConfig.collapseSize, containerSize, { clampToContainer: false })\n : undefined;\n\n return {\n userMinSizePixels,\n userMaxSizePixels,\n systemMinSizePixels,\n systemMaxSizePixels,\n collapseSizePixels,\n };\n}\n","import { MIN_PANEL_SIZE_PX } from '../resizable_constants';\nimport type { ResizablePanelState } from '../resizable_constants';\nimport { clampSize } from './constraintResolver';\n\n// ============================================================================\n// RESIZE HANDLING\n// ============================================================================\n\nexport interface ResizeHandler {\n processResizeMove: (\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ) => ResizeMoveResult;\n}\n\nexport interface ResizeMoveResult {\n constrainedCursorPosition: number;\n beforePanelSize: number;\n afterPanelSize: number;\n isValidResize: boolean;\n}\n\nexport function useResizeHandling(containerSize?: () => number) {\n function checkPanelsResizable(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState\n ): ResizeMoveResult | null {\n if (beforePanel.resizable === false || afterPanel.resizable === false) {\n return {\n constrainedCursorPosition: rawCursorPosition,\n beforePanelSize: beforePanel.pixelSize || 0,\n afterPanelSize: afterPanel.pixelSize || 0,\n isValidResize: false,\n };\n }\n return null;\n }\n\n function applyPanelConstraints(proposedSize: number, panel: ResizablePanelState): number {\n return clampSize(proposedSize, panel.userMinSizePixels, panel.userMaxSizePixels);\n }\n\n function calculateMaxCursorForAfterPanel(\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n allPanels?: ResizablePanelState[]\n ): number {\n const minPixels = afterPanel.userMinSizePixels;\n\n if (minPixels === undefined || !allPanels) {\n return containerSizeValue;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - minPixels - totalFixedSpaceAfter;\n }\n\n function calculateAfterPanelSize(\n cursorPosition: number,\n containerSizeValue: number,\n afterPanel: ResizablePanelState,\n allPanels?: ResizablePanelState[]\n ): number {\n if (!allPanels) {\n return containerSizeValue - cursorPosition;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - cursorPosition - totalFixedSpaceAfter;\n }\n\n function processResizeMove(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ): ResizeMoveResult {\n const nonResizableResult = checkPanelsResizable(rawCursorPosition, beforePanel, afterPanel);\n if (nonResizableResult) return nonResizableResult;\n\n const beforeLeft = beforePanelLeft || 0;\n const proposedBeforeSize = rawCursorPosition - beforeLeft;\n const proposedAfterSize = containerSizeValue - rawCursorPosition;\n\n let constrainedBeforeSize = applyPanelConstraints(proposedBeforeSize, beforePanel);\n let constrainedAfterSize = applyPanelConstraints(proposedAfterSize, afterPanel);\n\n const maxCursorForAfterPanel = calculateMaxCursorForAfterPanel(afterPanel, containerSizeValue, allPanels);\n const beforePanelCursor = beforeLeft + constrainedBeforeSize;\n const effectiveCursor = Math.min(beforePanelCursor, maxCursorForAfterPanel);\n\n let constrainedCursorPosition;\n\n if (effectiveCursor < beforePanelCursor) {\n constrainedCursorPosition = effectiveCursor;\n constrainedBeforeSize = constrainedCursorPosition - beforeLeft;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n } else {\n constrainedCursorPosition = beforePanelCursor;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n }\n\n return {\n constrainedCursorPosition,\n beforePanelSize: constrainedBeforeSize,\n afterPanelSize: constrainedAfterSize,\n isValidResize: constrainedBeforeSize >= MIN_PANEL_SIZE_PX && constrainedAfterSize >= MIN_PANEL_SIZE_PX,\n };\n }\n\n return {\n processResizeMove,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useResizableCalculations-BDITle3Q.cjs","names":[],"sources":["../components/resizable/composables/constraintResolver.ts","../components/resizable/composables/useResizableCalculations.ts"],"sourcesContent":["/**\n * Constraint Resolver\n *\n * Pure functions for resolving the constraint hierarchy for resizable panels.\n * No DOM access, no Vue reactivity, no side effects.\n *\n * @see computeLayout.ts\n * @see ../resizable_constants.ts\n */\n\nimport type { ResizablePanelConfig } from '../resizable_constants';\nimport { parseSizeToPixels } from '../resizable_utils';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\n/**\n * Result of constraint hierarchy calculation.\n * User limits are absolute boundaries; system limits are the operating range within user limits.\n */\nexport interface ConstraintHierarchy {\n // User drag limits (absolute boundaries)\n userMinSizePixels?: number;\n userMaxSizePixels?: number;\n // System scaling limits (operating range within user limits)\n systemMinSizePixels?: number;\n systemMaxSizePixels?: number;\n // Auto-collapse threshold (container width, not panel width)\n collapseSizePixels?: number;\n}\n\n// ============================================================================\n// CLAMPING PRIMITIVE\n// ============================================================================\n\n/**\n * Clamp a value to optional min/max bounds.\n * Single source of truth for all constraint clamping in the resizable system.\n */\nexport function clampSize(value: number, min?: number, max?: number): number {\n let result = value;\n if (min !== undefined) result = Math.max(result, min);\n if (max !== undefined) result = Math.min(result, max);\n return result;\n}\n\n/**\n * Resolve effective min/max for a given constraint tier, then clamp.\n * - 'user' tier: uses userMin/userMax only\n * - 'system' tier: uses systemMin/systemMax, falling back to userMin/userMax\n */\nexport function clampToTier(\n value: number,\n constraints: ConstraintHierarchy,\n tier: 'user' | 'system' = 'system'\n): number {\n const min = tier === 'user'\n ? constraints.userMinSizePixels\n : (constraints.systemMinSizePixels ?? constraints.userMinSizePixels);\n const max = tier === 'user'\n ? constraints.userMaxSizePixels\n : (constraints.systemMaxSizePixels ?? constraints.userMaxSizePixels);\n return clampSize(value, min, max);\n}\n\n// ============================================================================\n// INTERNAL HELPERS\n// ============================================================================\n\n/**\n * Resolve user constraints (drag limits) from panel config.\n */\nexport function resolveUserConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): { userMinSizePixels?: number; userMaxSizePixels?: number } {\n return {\n userMinSizePixels: panelConfig.userMinSize ? parseSizeToPixels(panelConfig.userMinSize, containerSize) : undefined,\n userMaxSizePixels: panelConfig.userMaxSize ? parseSizeToPixels(panelConfig.userMaxSize, containerSize) : undefined,\n };\n}\n\n/**\n * Clamp system min to be at least user min.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMin(systemMin: number | undefined, userMin: number | undefined): number | undefined {\n if (systemMin === undefined || userMin === undefined) return systemMin;\n return Math.max(systemMin, userMin);\n}\n\n/**\n * Clamp system max to be at most user max.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMax(systemMax: number | undefined, userMax: number | undefined): number | undefined {\n if (systemMax === undefined || userMax === undefined) return systemMax;\n return Math.min(systemMax, userMax);\n}\n\n/**\n * Resolve system constraints with fallback to user constraints.\n * System limits are silently clamped to stay within user limits.\n */\nexport function resolveSystemConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number,\n userMinSizePixels?: number,\n userMaxSizePixels?: number\n): { systemMinSizePixels?: number; systemMaxSizePixels?: number } {\n // Calculate system limits from props, or fall back to user limits\n const rawSystemMin = panelConfig.systemMinSize\n ? parseSizeToPixels(panelConfig.systemMinSize, containerSize)\n : userMinSizePixels;\n const rawSystemMax = panelConfig.systemMaxSize\n ? parseSizeToPixels(panelConfig.systemMaxSize, containerSize)\n : userMaxSizePixels;\n\n // Validate and clamp system limits within user limits\n const systemMinSizePixels = clampSystemMin(rawSystemMin, userMinSizePixels);\n const systemMaxSizePixels = clampSystemMax(rawSystemMax, userMaxSizePixels);\n\n return { systemMinSizePixels, systemMaxSizePixels };\n}\n\n// ============================================================================\n// PUBLIC API\n// ============================================================================\n\n/**\n * Calculate the complete constraint hierarchy for a panel.\n *\n * This separates user drag limits from system scaling limits:\n * - User limits (userMinSize/userMaxSize) are absolute boundaries for user dragging\n * - System limits (systemMinSize/systemMaxSize) are the operating range for viewport resize\n * - System limits must be within user limits (clamped silently if not)\n *\n * @param panelConfig - Panel configuration\n * @param containerSize - Current container size in pixels\n * @returns Complete constraint hierarchy with all pixel values\n */\nexport function calculateConstraintHierarchy(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): ConstraintHierarchy {\n // Resolve user constraints (drag limits)\n const { userMinSizePixels, userMaxSizePixels } = resolveUserConstraints(panelConfig, containerSize);\n\n // Resolve system constraints (viewport resize limits) with fallback to user limits\n const { systemMinSizePixels, systemMaxSizePixels } = resolveSystemConstraints(\n panelConfig,\n containerSize,\n userMinSizePixels,\n userMaxSizePixels\n );\n\n // Calculate collapse threshold (container width trigger, NOT a panel size)\n // Don't clamp to container - this threshold is compared AGAINST the container width\n const collapseSizePixels = panelConfig.collapseSize\n ? parseSizeToPixels(panelConfig.collapseSize, containerSize, { clampToContainer: false })\n : undefined;\n\n return {\n userMinSizePixels,\n userMaxSizePixels,\n systemMinSizePixels,\n systemMaxSizePixels,\n collapseSizePixels,\n };\n}\n","import { MIN_PANEL_SIZE_PX } from '../resizable_constants';\nimport type { ResizablePanelState } from '../resizable_constants';\nimport { clampSize } from './constraintResolver';\n\n// ============================================================================\n// RESIZE HANDLING\n// ============================================================================\n\nexport interface ResizeHandler {\n processResizeMove: (\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ) => ResizeMoveResult;\n}\n\nexport interface ResizeMoveResult {\n constrainedCursorPosition: number;\n beforePanelSize: number;\n afterPanelSize: number;\n isValidResize: boolean;\n}\n\nexport function useResizeHandling(containerSize?: () => number) {\n function checkPanelsResizable(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState\n ): ResizeMoveResult | null {\n if (beforePanel.resizable === false || afterPanel.resizable === false) {\n return {\n constrainedCursorPosition: rawCursorPosition,\n beforePanelSize: beforePanel.pixelSize || 0,\n afterPanelSize: afterPanel.pixelSize || 0,\n isValidResize: false,\n };\n }\n return null;\n }\n\n function applyPanelConstraints(proposedSize: number, panel: ResizablePanelState): number {\n return clampSize(proposedSize, panel.userMinSizePixels, panel.userMaxSizePixels);\n }\n\n function calculateMaxCursorForAfterPanel(\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n allPanels?: ResizablePanelState[]\n ): number {\n const minPixels = afterPanel.userMinSizePixels;\n\n if (minPixels === undefined || !allPanels) {\n return containerSizeValue;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - minPixels - totalFixedSpaceAfter;\n }\n\n function calculateAfterPanelSize(\n cursorPosition: number,\n containerSizeValue: number,\n afterPanel: ResizablePanelState,\n allPanels?: ResizablePanelState[]\n ): number {\n if (!allPanels) {\n return containerSizeValue - cursorPosition;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - cursorPosition - totalFixedSpaceAfter;\n }\n\n function processResizeMove(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ): ResizeMoveResult {\n const nonResizableResult = checkPanelsResizable(rawCursorPosition, beforePanel, afterPanel);\n if (nonResizableResult) return nonResizableResult;\n\n const beforeLeft = beforePanelLeft || 0;\n const proposedBeforeSize = rawCursorPosition - beforeLeft;\n const proposedAfterSize = containerSizeValue - rawCursorPosition;\n\n let constrainedBeforeSize = applyPanelConstraints(proposedBeforeSize, beforePanel);\n let constrainedAfterSize = applyPanelConstraints(proposedAfterSize, afterPanel);\n\n const maxCursorForAfterPanel = calculateMaxCursorForAfterPanel(afterPanel, containerSizeValue, allPanels);\n const beforePanelCursor = beforeLeft + constrainedBeforeSize;\n const effectiveCursor = Math.min(beforePanelCursor, maxCursorForAfterPanel);\n\n let constrainedCursorPosition;\n\n if (effectiveCursor < beforePanelCursor) {\n constrainedCursorPosition = effectiveCursor;\n constrainedBeforeSize = constrainedCursorPosition - beforeLeft;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n } else {\n constrainedCursorPosition = beforePanelCursor;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n }\n\n return {\n constrainedCursorPosition,\n beforePanelSize: constrainedBeforeSize,\n afterPanelSize: constrainedAfterSize,\n isValidResize: constrainedBeforeSize >= MIN_PANEL_SIZE_PX && constrainedAfterSize >= MIN_PANEL_SIZE_PX,\n };\n }\n\n return {\n processResizeMove,\n };\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { o as e } from "./resizable_utils-CQscchW4.js";
1
+ import { o as e } from "./resizable_utils-BComtrMV.js";
2
2
  //#region components/resizable/composables/constraintResolver.ts
3
3
  function t(e, t, n) {
4
4
  let r = e;
@@ -77,4 +77,4 @@ function c(e) {
77
77
  //#endregion
78
78
  export { s as n, n as r, c as t };
79
79
 
80
- //# sourceMappingURL=useResizableCalculations-YI08W37g.js.map
80
+ //# sourceMappingURL=useResizableCalculations-DAajatT4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResizableCalculations-YI08W37g.js","names":[],"sources":["../components/resizable/composables/constraintResolver.ts","../components/resizable/composables/useResizableCalculations.ts"],"sourcesContent":["/**\n * Constraint Resolver\n *\n * Pure functions for resolving the constraint hierarchy for resizable panels.\n * No DOM access, no Vue reactivity, no side effects.\n *\n * @see computeLayout.ts\n * @see ../resizable_constants.ts\n */\n\nimport type { ResizablePanelConfig } from '../resizable_constants';\nimport { parseSizeToPixels } from '../resizable_utils';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\n/**\n * Result of constraint hierarchy calculation.\n * User limits are absolute boundaries; system limits are the operating range within user limits.\n */\nexport interface ConstraintHierarchy {\n // User drag limits (absolute boundaries)\n userMinSizePixels?: number;\n userMaxSizePixels?: number;\n // System scaling limits (operating range within user limits)\n systemMinSizePixels?: number;\n systemMaxSizePixels?: number;\n // Auto-collapse threshold (container width, not panel width)\n collapseSizePixels?: number;\n}\n\n// ============================================================================\n// CLAMPING PRIMITIVE\n// ============================================================================\n\n/**\n * Clamp a value to optional min/max bounds.\n * Single source of truth for all constraint clamping in the resizable system.\n */\nexport function clampSize(value: number, min?: number, max?: number): number {\n let result = value;\n if (min !== undefined) result = Math.max(result, min);\n if (max !== undefined) result = Math.min(result, max);\n return result;\n}\n\n/**\n * Resolve effective min/max for a given constraint tier, then clamp.\n * - 'user' tier: uses userMin/userMax only\n * - 'system' tier: uses systemMin/systemMax, falling back to userMin/userMax\n */\nexport function clampToTier(\n value: number,\n constraints: ConstraintHierarchy,\n tier: 'user' | 'system' = 'system'\n): number {\n const min = tier === 'user'\n ? constraints.userMinSizePixels\n : (constraints.systemMinSizePixels ?? constraints.userMinSizePixels);\n const max = tier === 'user'\n ? constraints.userMaxSizePixels\n : (constraints.systemMaxSizePixels ?? constraints.userMaxSizePixels);\n return clampSize(value, min, max);\n}\n\n// ============================================================================\n// INTERNAL HELPERS\n// ============================================================================\n\n/**\n * Resolve user constraints (drag limits) from panel config.\n */\nexport function resolveUserConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): { userMinSizePixels?: number; userMaxSizePixels?: number } {\n return {\n userMinSizePixels: panelConfig.userMinSize ? parseSizeToPixels(panelConfig.userMinSize, containerSize) : undefined,\n userMaxSizePixels: panelConfig.userMaxSize ? parseSizeToPixels(panelConfig.userMaxSize, containerSize) : undefined,\n };\n}\n\n/**\n * Clamp system min to be at least user min.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMin(systemMin: number | undefined, userMin: number | undefined): number | undefined {\n if (systemMin === undefined || userMin === undefined) return systemMin;\n return Math.max(systemMin, userMin);\n}\n\n/**\n * Clamp system max to be at most user max.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMax(systemMax: number | undefined, userMax: number | undefined): number | undefined {\n if (systemMax === undefined || userMax === undefined) return systemMax;\n return Math.min(systemMax, userMax);\n}\n\n/**\n * Resolve system constraints with fallback to user constraints.\n * System limits are silently clamped to stay within user limits.\n */\nexport function resolveSystemConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number,\n userMinSizePixels?: number,\n userMaxSizePixels?: number\n): { systemMinSizePixels?: number; systemMaxSizePixels?: number } {\n // Calculate system limits from props, or fall back to user limits\n const rawSystemMin = panelConfig.systemMinSize\n ? parseSizeToPixels(panelConfig.systemMinSize, containerSize)\n : userMinSizePixels;\n const rawSystemMax = panelConfig.systemMaxSize\n ? parseSizeToPixels(panelConfig.systemMaxSize, containerSize)\n : userMaxSizePixels;\n\n // Validate and clamp system limits within user limits\n const systemMinSizePixels = clampSystemMin(rawSystemMin, userMinSizePixels);\n const systemMaxSizePixels = clampSystemMax(rawSystemMax, userMaxSizePixels);\n\n return { systemMinSizePixels, systemMaxSizePixels };\n}\n\n// ============================================================================\n// PUBLIC API\n// ============================================================================\n\n/**\n * Calculate the complete constraint hierarchy for a panel.\n *\n * This separates user drag limits from system scaling limits:\n * - User limits (userMinSize/userMaxSize) are absolute boundaries for user dragging\n * - System limits (systemMinSize/systemMaxSize) are the operating range for viewport resize\n * - System limits must be within user limits (clamped silently if not)\n *\n * @param panelConfig - Panel configuration\n * @param containerSize - Current container size in pixels\n * @returns Complete constraint hierarchy with all pixel values\n */\nexport function calculateConstraintHierarchy(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): ConstraintHierarchy {\n // Resolve user constraints (drag limits)\n const { userMinSizePixels, userMaxSizePixels } = resolveUserConstraints(panelConfig, containerSize);\n\n // Resolve system constraints (viewport resize limits) with fallback to user limits\n const { systemMinSizePixels, systemMaxSizePixels } = resolveSystemConstraints(\n panelConfig,\n containerSize,\n userMinSizePixels,\n userMaxSizePixels\n );\n\n // Calculate collapse threshold (container width trigger, NOT a panel size)\n // Don't clamp to container - this threshold is compared AGAINST the container width\n const collapseSizePixels = panelConfig.collapseSize\n ? parseSizeToPixels(panelConfig.collapseSize, containerSize, { clampToContainer: false })\n : undefined;\n\n return {\n userMinSizePixels,\n userMaxSizePixels,\n systemMinSizePixels,\n systemMaxSizePixels,\n collapseSizePixels,\n };\n}\n","import { MIN_PANEL_SIZE_PX } from '../resizable_constants';\nimport type { ResizablePanelState } from '../resizable_constants';\nimport { clampSize } from './constraintResolver';\n\n// ============================================================================\n// RESIZE HANDLING\n// ============================================================================\n\nexport interface ResizeHandler {\n processResizeMove: (\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ) => ResizeMoveResult;\n}\n\nexport interface ResizeMoveResult {\n constrainedCursorPosition: number;\n beforePanelSize: number;\n afterPanelSize: number;\n isValidResize: boolean;\n}\n\nexport function useResizeHandling(containerSize?: () => number) {\n function checkPanelsResizable(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState\n ): ResizeMoveResult | null {\n if (beforePanel.resizable === false || afterPanel.resizable === false) {\n return {\n constrainedCursorPosition: rawCursorPosition,\n beforePanelSize: beforePanel.pixelSize || 0,\n afterPanelSize: afterPanel.pixelSize || 0,\n isValidResize: false,\n };\n }\n return null;\n }\n\n function applyPanelConstraints(proposedSize: number, panel: ResizablePanelState): number {\n return clampSize(proposedSize, panel.userMinSizePixels, panel.userMaxSizePixels);\n }\n\n function calculateMaxCursorForAfterPanel(\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n allPanels?: ResizablePanelState[]\n ): number {\n const minPixels = afterPanel.userMinSizePixels;\n\n if (minPixels === undefined || !allPanels) {\n return containerSizeValue;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - minPixels - totalFixedSpaceAfter;\n }\n\n function calculateAfterPanelSize(\n cursorPosition: number,\n containerSizeValue: number,\n afterPanel: ResizablePanelState,\n allPanels?: ResizablePanelState[]\n ): number {\n if (!allPanels) {\n return containerSizeValue - cursorPosition;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - cursorPosition - totalFixedSpaceAfter;\n }\n\n function processResizeMove(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ): ResizeMoveResult {\n const nonResizableResult = checkPanelsResizable(rawCursorPosition, beforePanel, afterPanel);\n if (nonResizableResult) return nonResizableResult;\n\n const beforeLeft = beforePanelLeft || 0;\n const proposedBeforeSize = rawCursorPosition - beforeLeft;\n const proposedAfterSize = containerSizeValue - rawCursorPosition;\n\n let constrainedBeforeSize = applyPanelConstraints(proposedBeforeSize, beforePanel);\n let constrainedAfterSize = applyPanelConstraints(proposedAfterSize, afterPanel);\n\n const maxCursorForAfterPanel = calculateMaxCursorForAfterPanel(afterPanel, containerSizeValue, allPanels);\n const beforePanelCursor = beforeLeft + constrainedBeforeSize;\n const effectiveCursor = Math.min(beforePanelCursor, maxCursorForAfterPanel);\n\n let constrainedCursorPosition;\n\n if (effectiveCursor < beforePanelCursor) {\n constrainedCursorPosition = effectiveCursor;\n constrainedBeforeSize = constrainedCursorPosition - beforeLeft;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n } else {\n constrainedCursorPosition = beforePanelCursor;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n }\n\n return {\n constrainedCursorPosition,\n beforePanelSize: constrainedBeforeSize,\n afterPanelSize: constrainedAfterSize,\n isValidResize: constrainedBeforeSize >= MIN_PANEL_SIZE_PX && constrainedAfterSize >= MIN_PANEL_SIZE_PX,\n };\n }\n\n return {\n processResizeMove,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useResizableCalculations-DAajatT4.js","names":[],"sources":["../components/resizable/composables/constraintResolver.ts","../components/resizable/composables/useResizableCalculations.ts"],"sourcesContent":["/**\n * Constraint Resolver\n *\n * Pure functions for resolving the constraint hierarchy for resizable panels.\n * No DOM access, no Vue reactivity, no side effects.\n *\n * @see computeLayout.ts\n * @see ../resizable_constants.ts\n */\n\nimport type { ResizablePanelConfig } from '../resizable_constants';\nimport { parseSizeToPixels } from '../resizable_utils';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\n/**\n * Result of constraint hierarchy calculation.\n * User limits are absolute boundaries; system limits are the operating range within user limits.\n */\nexport interface ConstraintHierarchy {\n // User drag limits (absolute boundaries)\n userMinSizePixels?: number;\n userMaxSizePixels?: number;\n // System scaling limits (operating range within user limits)\n systemMinSizePixels?: number;\n systemMaxSizePixels?: number;\n // Auto-collapse threshold (container width, not panel width)\n collapseSizePixels?: number;\n}\n\n// ============================================================================\n// CLAMPING PRIMITIVE\n// ============================================================================\n\n/**\n * Clamp a value to optional min/max bounds.\n * Single source of truth for all constraint clamping in the resizable system.\n */\nexport function clampSize(value: number, min?: number, max?: number): number {\n let result = value;\n if (min !== undefined) result = Math.max(result, min);\n if (max !== undefined) result = Math.min(result, max);\n return result;\n}\n\n/**\n * Resolve effective min/max for a given constraint tier, then clamp.\n * - 'user' tier: uses userMin/userMax only\n * - 'system' tier: uses systemMin/systemMax, falling back to userMin/userMax\n */\nexport function clampToTier(\n value: number,\n constraints: ConstraintHierarchy,\n tier: 'user' | 'system' = 'system'\n): number {\n const min = tier === 'user'\n ? constraints.userMinSizePixels\n : (constraints.systemMinSizePixels ?? constraints.userMinSizePixels);\n const max = tier === 'user'\n ? constraints.userMaxSizePixels\n : (constraints.systemMaxSizePixels ?? constraints.userMaxSizePixels);\n return clampSize(value, min, max);\n}\n\n// ============================================================================\n// INTERNAL HELPERS\n// ============================================================================\n\n/**\n * Resolve user constraints (drag limits) from panel config.\n */\nexport function resolveUserConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): { userMinSizePixels?: number; userMaxSizePixels?: number } {\n return {\n userMinSizePixels: panelConfig.userMinSize ? parseSizeToPixels(panelConfig.userMinSize, containerSize) : undefined,\n userMaxSizePixels: panelConfig.userMaxSize ? parseSizeToPixels(panelConfig.userMaxSize, containerSize) : undefined,\n };\n}\n\n/**\n * Clamp system min to be at least user min.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMin(systemMin: number | undefined, userMin: number | undefined): number | undefined {\n if (systemMin === undefined || userMin === undefined) return systemMin;\n return Math.max(systemMin, userMin);\n}\n\n/**\n * Clamp system max to be at most user max.\n * System constraints that exceed user boundaries are silently clamped\n * since this is expected behavior during constraint resolution.\n */\nexport function clampSystemMax(systemMax: number | undefined, userMax: number | undefined): number | undefined {\n if (systemMax === undefined || userMax === undefined) return systemMax;\n return Math.min(systemMax, userMax);\n}\n\n/**\n * Resolve system constraints with fallback to user constraints.\n * System limits are silently clamped to stay within user limits.\n */\nexport function resolveSystemConstraints(\n panelConfig: ResizablePanelConfig,\n containerSize: number,\n userMinSizePixels?: number,\n userMaxSizePixels?: number\n): { systemMinSizePixels?: number; systemMaxSizePixels?: number } {\n // Calculate system limits from props, or fall back to user limits\n const rawSystemMin = panelConfig.systemMinSize\n ? parseSizeToPixels(panelConfig.systemMinSize, containerSize)\n : userMinSizePixels;\n const rawSystemMax = panelConfig.systemMaxSize\n ? parseSizeToPixels(panelConfig.systemMaxSize, containerSize)\n : userMaxSizePixels;\n\n // Validate and clamp system limits within user limits\n const systemMinSizePixels = clampSystemMin(rawSystemMin, userMinSizePixels);\n const systemMaxSizePixels = clampSystemMax(rawSystemMax, userMaxSizePixels);\n\n return { systemMinSizePixels, systemMaxSizePixels };\n}\n\n// ============================================================================\n// PUBLIC API\n// ============================================================================\n\n/**\n * Calculate the complete constraint hierarchy for a panel.\n *\n * This separates user drag limits from system scaling limits:\n * - User limits (userMinSize/userMaxSize) are absolute boundaries for user dragging\n * - System limits (systemMinSize/systemMaxSize) are the operating range for viewport resize\n * - System limits must be within user limits (clamped silently if not)\n *\n * @param panelConfig - Panel configuration\n * @param containerSize - Current container size in pixels\n * @returns Complete constraint hierarchy with all pixel values\n */\nexport function calculateConstraintHierarchy(\n panelConfig: ResizablePanelConfig,\n containerSize: number\n): ConstraintHierarchy {\n // Resolve user constraints (drag limits)\n const { userMinSizePixels, userMaxSizePixels } = resolveUserConstraints(panelConfig, containerSize);\n\n // Resolve system constraints (viewport resize limits) with fallback to user limits\n const { systemMinSizePixels, systemMaxSizePixels } = resolveSystemConstraints(\n panelConfig,\n containerSize,\n userMinSizePixels,\n userMaxSizePixels\n );\n\n // Calculate collapse threshold (container width trigger, NOT a panel size)\n // Don't clamp to container - this threshold is compared AGAINST the container width\n const collapseSizePixels = panelConfig.collapseSize\n ? parseSizeToPixels(panelConfig.collapseSize, containerSize, { clampToContainer: false })\n : undefined;\n\n return {\n userMinSizePixels,\n userMaxSizePixels,\n systemMinSizePixels,\n systemMaxSizePixels,\n collapseSizePixels,\n };\n}\n","import { MIN_PANEL_SIZE_PX } from '../resizable_constants';\nimport type { ResizablePanelState } from '../resizable_constants';\nimport { clampSize } from './constraintResolver';\n\n// ============================================================================\n// RESIZE HANDLING\n// ============================================================================\n\nexport interface ResizeHandler {\n processResizeMove: (\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ) => ResizeMoveResult;\n}\n\nexport interface ResizeMoveResult {\n constrainedCursorPosition: number;\n beforePanelSize: number;\n afterPanelSize: number;\n isValidResize: boolean;\n}\n\nexport function useResizeHandling(containerSize?: () => number) {\n function checkPanelsResizable(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState\n ): ResizeMoveResult | null {\n if (beforePanel.resizable === false || afterPanel.resizable === false) {\n return {\n constrainedCursorPosition: rawCursorPosition,\n beforePanelSize: beforePanel.pixelSize || 0,\n afterPanelSize: afterPanel.pixelSize || 0,\n isValidResize: false,\n };\n }\n return null;\n }\n\n function applyPanelConstraints(proposedSize: number, panel: ResizablePanelState): number {\n return clampSize(proposedSize, panel.userMinSizePixels, panel.userMaxSizePixels);\n }\n\n function calculateMaxCursorForAfterPanel(\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n allPanels?: ResizablePanelState[]\n ): number {\n const minPixels = afterPanel.userMinSizePixels;\n\n if (minPixels === undefined || !allPanels) {\n return containerSizeValue;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - minPixels - totalFixedSpaceAfter;\n }\n\n function calculateAfterPanelSize(\n cursorPosition: number,\n containerSizeValue: number,\n afterPanel: ResizablePanelState,\n allPanels?: ResizablePanelState[]\n ): number {\n if (!allPanels) {\n return containerSizeValue - cursorPosition;\n }\n\n const afterPanelIndex = allPanels.findIndex(p => p.id === afterPanel.id);\n const panelsAfterThis = allPanels.slice(afterPanelIndex + 1);\n const totalFixedSpaceAfter = panelsAfterThis.reduce((sum, panel) => sum + (panel.pixelSize || 0), 0);\n\n return containerSizeValue - cursorPosition - totalFixedSpaceAfter;\n }\n\n function processResizeMove(\n rawCursorPosition: number,\n beforePanel: ResizablePanelState,\n afterPanel: ResizablePanelState,\n containerSizeValue: number,\n handleId?: string,\n allPanels?: ResizablePanelState[],\n beforePanelLeft?: number\n ): ResizeMoveResult {\n const nonResizableResult = checkPanelsResizable(rawCursorPosition, beforePanel, afterPanel);\n if (nonResizableResult) return nonResizableResult;\n\n const beforeLeft = beforePanelLeft || 0;\n const proposedBeforeSize = rawCursorPosition - beforeLeft;\n const proposedAfterSize = containerSizeValue - rawCursorPosition;\n\n let constrainedBeforeSize = applyPanelConstraints(proposedBeforeSize, beforePanel);\n let constrainedAfterSize = applyPanelConstraints(proposedAfterSize, afterPanel);\n\n const maxCursorForAfterPanel = calculateMaxCursorForAfterPanel(afterPanel, containerSizeValue, allPanels);\n const beforePanelCursor = beforeLeft + constrainedBeforeSize;\n const effectiveCursor = Math.min(beforePanelCursor, maxCursorForAfterPanel);\n\n let constrainedCursorPosition;\n\n if (effectiveCursor < beforePanelCursor) {\n constrainedCursorPosition = effectiveCursor;\n constrainedBeforeSize = constrainedCursorPosition - beforeLeft;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n } else {\n constrainedCursorPosition = beforePanelCursor;\n constrainedAfterSize = calculateAfterPanelSize(\n constrainedCursorPosition,\n containerSizeValue,\n afterPanel,\n allPanels\n );\n }\n\n return {\n constrainedCursorPosition,\n beforePanelSize: constrainedBeforeSize,\n afterPanelSize: constrainedAfterSize,\n isValidResize: constrainedBeforeSize >= MIN_PANEL_SIZE_PX && constrainedAfterSize >= MIN_PANEL_SIZE_PX,\n };\n }\n\n return {\n processResizeMove,\n };\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialpad/dialtone-vue",
3
- "version": "3.220.0-next.4",
3
+ "version": "3.220.0",
4
4
  "description": "Vue component library for Dialpad's design system Dialtone",
5
5
  "files": [
6
6
  "dist"
@@ -46,8 +46,8 @@
46
46
  "overlayscrollbars": "2.10.0",
47
47
  "regex-combined-emojis": "1.6.0",
48
48
  "tippy.js": "6.3.7",
49
- "@dialpad/dialtone-emojis": "1.2.6-next.1",
50
- "@dialpad/dialtone-icons": "4.51.2-next.1"
49
+ "@dialpad/dialtone-icons": "4.51.1",
50
+ "@dialpad/dialtone-emojis": "1.2.5"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@storybook/addon-a11y": "10.3.0",
@@ -55,19 +55,17 @@
55
55
  "@storybook/addon-links": "10.3.0",
56
56
  "@storybook/test-runner": "^0.24.2",
57
57
  "@storybook/vue3-vite": "10.3.0",
58
- "@vitejs/plugin-react": "6.0.1",
59
58
  "@vue/test-utils": "^2.4.0",
60
59
  "@vueless/storybook-dark-mode": "^10.0.7",
61
60
  "react": "19.2.4",
62
- "react-dom": "19.2.4",
63
61
  "storybook": "10.3.0",
64
62
  "vue": "^3.3.4",
65
- "@dialpad/dialtone-css": "8.80.0-next.4",
63
+ "@dialpad/dialtone-css": "8.79.2",
66
64
  "@dialpad/generator-dialtone": "0.1.0"
67
65
  },
68
66
  "peerDependencies": {
69
67
  "vue": ">=3.2",
70
- "@dialpad/dialtone-css": "^8.80.0-next.4"
68
+ "@dialpad/dialtone-css": "^8.79.2"
71
69
  },
72
70
  "bugs": {
73
71
  "email": "dialtone@dialpad.com"
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachment_carousel-1qxTI-NN.js","names":[],"sources":["../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<template>\n <li\n class=\"d-recipe-attachment-carousel__image\"\n >\n <dt-image-viewer\n image-button-class=\"d-recipe-attachment-carousel__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL')\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"d-recipe-attachment-carousel__image-top-right\"\n >\n <span\n class=\"d-recipe-attachment-carousel__image-progress-bar\"\n >\n <dt-progress-circle\n v-if=\"mediaItem.isUploading\"\n kind=\"brand\"\n size=\"400\"\n :progress=\"mediaItem.progress\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL')\"\n />\n </span>\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"d-recipe-attachment-carousel__image-close-button\"\n circle\n :size=\"100\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue';\nimport { DialtoneLocalization } from '@/localization';\n\nimport { DtProgressCircle } from '@/components/progress_circle';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIconClose,\n DtProgressCircle,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-recipe-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"d-recipe-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left\"\n circle\n :size=\"100\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon-arrow-left\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right\"\n circle\n :size=\"100\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon-arrow-right\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIconArrowRight, DtIconArrowLeft } from '@dialpad/dialtone-icons/vue';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIconArrowRight,\n DtIconArrowLeft,\n DtImageCarousel,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n"],"mappings":";;;;;;;;AAuDA,IAAK,IAAU;CACb,cAAc,EAAE,MAAM,GAAG;CACzB,MAAM;CAEN,YAAY;EACV,eAAA;EACA,UAAA;EACA;EACA,kBAAA;EACD;CAED,OAAO;EACL,WAAW;GACT,MAAM;GACN,UAAU;GACX;EAED,OAAO;GACL,MAAM;GACN,UAAU;GACX;EACF;CAED,OAAO,CAOL,eACD;CAED,OAAQ;AACN,SAAO,EACL,MAAM,IAAI,GAAsB,EACjC;;CAGH,UAAU,EACR,mBAAoB;AAClB,SAAO,KAAK,KAAK,GAAG,wBAAwB;IAE/C;CAED,SAAS,EACP,gBAAiB,GAAO;AACtB,OAAK,MAAM,gBAAgB,EAAM;IAEpC;CACF,QAvGG,OAAM,uCAAqC,QAWzC,OAAM,iDAA+C,QAGnD,OAAM,oDAAkD;;;aAf9D,EA2CK,MA3CL,GA2CK,CAxCH,EAKE,GAAA;EAJA,sBAAmB;EAClB,aAAW,EAAA,UAAU;EACrB,aAAW,EAAA,UAAU;EACrB,cAAY,EAAA,KAAK,GAAE,mDAAA;;;;;KAItB,EA+BM,OA/BN,GA+BM,CA5BJ,EAUO,QAVP,GAUO,CANG,EAAA,UAAU,eAAA,GAAA,EADlB,EAME,GAAA;;EAJA,MAAK;EACL,MAAK;EACJ,UAAU,EAAA,UAAU;EACpB,cAAY,EAAA,KAAK,GAAE,kDAAA;yDAGxB,EAgBY,GAAA;EAfT,IAAE,eAAiB,EAAA;EACpB,UAAS;EACT,OAAM;EACN,QAAA;EACC,MAAM;EACP,YAAW;EACV,cAAY,EAAA;EACZ,OAAO,EAAA;EACP,SAAK,EAAA,OAAA,EAAA,MAAA,MAAE,EAAA,gBAAgB,EAAA,MAAK;;EAElB,MAAI,QAGX,CAFF,EAEE,GAAA,EADA,MAAK,OAAK,CAAA,CAAA,CAAA;;;;;;;;+CC2BhB,IAAmB,IAEpB,IAAU;CACb,cAAc,EAAE,MAAM,GAAG;CACzB,MAAM;CAEN,YAAY;EACV,UAAA;EACA;EACA;EACA,iBAAA;EACD;CAQD,OAAO,EAUL,WAAW;EACT,MAAM;EACN,eAAe,EAAE;EAClB,EACF;CAED,OAAO,CAOL,eACD;CAED,OAAQ;AACN,SAAO;GACL,iBAAiB,EAAE;GACnB,gBAAgB;GAChB,eAAe;GACf,WAAW;GACX,MAAM,IAAI,GAAsB;GACjC;;CAGH,UAAU,EACR,oBAAqB;AACnB,SAAO,KAAK,UAAU,QAAQ,MAAc,EAAU,SAAS,WAAW,EAAU,SAAS,QAAQ;IAExG;CAED,SAAS,WAAY;AAEnB,EADA,KAAK,gBAAgB,KAAK,MAAM,SAAS,aAAa,GACtD,KAAK,iBAAiB,KAAK,MAAM,SAAS,cAAc,KAAK,MAAM,SAAS;;CAG9E,SAAS;EACP,YAAa,GAAG;AACd,KAAE,cAAc,eAAe,EAAE,UAAU,UAAU,CAAC;;EAGxD,eAAgB,GAAM;AACpB,WAAQ,GAAR;IACE,KAAK,QACH,QAAO;IACT,QAEE,QAAO;;;EAIb,gBAAiB,GAAO;AAGtB,GADA,KAAK,iBAAiB,KAAK,MAAM,SAAS,cAAe,KAAK,MAAM,SAAS,cAAc,GAC3F,KAAK,MAAM,gBAAgB,EAAM;;EAGnC,YAAa,GAAK,GAAO;AACvB,QAAK,gBAAgB,KAAS;;EAGhC,eAAgB;GACd,IAAM,IAAW,KAAK,MAAM;AAE5B,GADA,KAAK,gBAAgB,EAAS,aAAa,GAC3C,KAAK,iBAAoB,EAAS,aAAa,EAAS,gBAAiB,EAAS;;EAGpF,aAAc;AACZ,QAAK,MAAM,SAAS,SAAS;IAC3B,MAAM,KAAK,MAAM,SAAS,aAAa;IACvC,UAAU;IACX,CAAC;;EAGJ,cAAe;AACb,QAAK,MAAM,SAAS,SAAS;IAC3B,MAAM,KAAK,MAAM,SAAS,aAAa;IACvC,UAAU;IACX,CAAC;;EAEL;CACF;CA/KG,OAAM;CACN,MAAK;;;;aAFP,EAuDM,OAvDN,GAuDM;EAlDI,EAAA,UAAU,SAAM,KAAA,GAAA,EADxB,EAgBK,MAAA;;GAdH,KAAI;GACJ,OAAM;GACL,UAAM,EAAA,OAAA,EAAA,MAAA,GAAA,MAAE,EAAA,gBAAA,EAAA,aAAA,GAAA,EAAY;cAGrB,EAQE,GAAA,MAAA,EAN6B,EAAA,oBAArB,GAAW,YAFrB,EAQE,EAPK,EAAA,eAAe,EAAU,KAAI,CAAA,EAAA;GAEjC,KAAG,SAAW;GACP;GACP,cAAY;GACZ,gBAAY,MAAE,EAAA,gBAAgB,EAAK;GACnC,WAAS,EAAA;;;;;;;IAKd,EAeY,GAAA;GAbV,UAAS;GACR,cAAY,EAAA,KAAK,GAAE,qDAAA;GACpB,OAAM;GACN,QAAA;GACC,MAAM;GACP,YAAW;GACV,SAAO,EAAA;;GAEG,MAAI,QAGX,CAFF,EAEE,GAAA,EADA,MAAK,OAAK,CAAA,CAAA,CAAA;;yCAXN,EAAA,cAAa,CAAA,CAAA;IAevB,EAeY,GAAA;GAbV,UAAS;GACR,cAAY,EAAA,KAAK,GAAE,sDAAA;GACpB,OAAM;GACN,QAAA;GACC,MAAM;GACP,YAAW;GACV,SAAO,EAAA;;GAEG,MAAI,QAGX,CAFF,EAEE,GAAA,EADA,MAAK,OAAK,CAAA,CAAA,CAAA;;yCAXN,EAAA,eAAc,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`./localization/index.cjs`),n=require(`./lib/button/button.cjs`),r=require(`./lib/image-viewer/image-viewer.cjs`),i=require(`./lib/progress-circle/progress-circle.cjs`);let a=require(`vue`),o=require(`@dialpad/dialtone-icons/vue`);var s={compatConfig:{MODE:3},name:`DtImageCarousel`,components:{DtImageViewer:r.default,DtButton:n.default,DtIconClose:o.DtIconClose,DtProgressCircle:i.default},props:{mediaItem:{type:Object,required:!0},index:{type:Number,required:!0}},emits:[`remove-media`],data(){return{i18n:new t.DialtoneLocalization}},computed:{closeButtonTitle(){return this.i18n.$t(`DIALTONE_CLOSE_BUTTON`)}},methods:{removeMediaItem(e){this.$emit(`remove-media`,e)}}},c={class:`d-recipe-attachment-carousel__image`},l={class:`d-recipe-attachment-carousel__image-top-right`},u={class:`d-recipe-attachment-carousel__image-progress-bar`};function d(e,t,n,r,i,o){let s=(0,a.resolveComponent)(`dt-image-viewer`),d=(0,a.resolveComponent)(`dt-progress-circle`),f=(0,a.resolveComponent)(`dt-icon-close`),p=(0,a.resolveComponent)(`dt-button`);return(0,a.openBlock)(),(0,a.createElementBlock)(`li`,c,[(0,a.createVNode)(s,{"image-button-class":`d-recipe-attachment-carousel__image-viewer`,"image-src":n.mediaItem.path,"image-alt":n.mediaItem.altText,"aria-label":i.i18n.$t(`DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL`)},null,8,[`image-src`,`image-alt`,`aria-label`]),(0,a.createElementVNode)(`div`,l,[(0,a.createElementVNode)(`span`,u,[n.mediaItem.isUploading?((0,a.openBlock)(),(0,a.createBlock)(d,{key:0,kind:`brand`,size:`400`,progress:n.mediaItem.progress,"aria-label":i.i18n.$t(`DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL`)},null,8,[`progress`,`aria-label`])):(0,a.createCommentVNode)(``,!0)]),(0,a.createVNode)(p,{id:`closeButton-${n.index}`,tabindex:`0`,class:`d-recipe-attachment-carousel__image-close-button`,circle:``,size:100,importance:`clear`,"aria-label":o.closeButtonTitle,title:o.closeButtonTitle,onClick:t[0]||(t[0]=e=>o.removeMediaItem(n.index))},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)(f,{size:`200`})]),_:1},8,[`id`,`aria-label`,`title`])])])}var f=e.t(s,[[`render`,d]]),p=64,m={compatConfig:{MODE:3},name:`DtRecipeAttachmentCarousel`,components:{DtButton:n.default,DtIconArrowRight:o.DtIconArrowRight,DtIconArrowLeft:o.DtIconArrowLeft,DtImageCarousel:f},props:{mediaList:{type:Array,default:()=>[]}},emits:[`remove-media`],data(){return{showCloseButton:{},showRightArrow:!0,showLeftArrow:!1,isMounted:!1,i18n:new t.DialtoneLocalization}},computed:{filteredMediaList(){return this.mediaList.filter(e=>e.type===`image`||e.type===`video`)}},mounted:function(){this.showLeftArrow=this.$refs.carousel.scrollLeft>0,this.showRightArrow=this.$refs.carousel.scrollWidth>this.$refs.carousel.clientWidth},methods:{onItemFocus(e){e.currentTarget.scrollIntoView({behavior:`smooth`})},mediaComponent(e){switch(e){case`image`:return`dt-image-carousel`;default:return null}},removeMediaItem(e){this.showRightArrow=this.$refs.carousel.scrollWidth>this.$refs.carousel.clientWidth+p,this.$emit(`remove-media`,e)},closeButton(e,t){this.showCloseButton[t]=e},handleScroll(){let e=this.$refs.carousel;this.showLeftArrow=e.scrollLeft>0,this.showRightArrow=e.scrollLeft+e.clientWidth!==e.scrollWidth},leftScroll(){this.$refs.carousel.scrollTo({left:this.$refs.carousel.scrollLeft-100,behavior:`smooth`})},rightScroll(){this.$refs.carousel.scrollTo({left:this.$refs.carousel.scrollLeft+100,behavior:`smooth`})}}},h={class:`d-recipe-attachment-carousel`,role:`presentation`};function g(e,t,n,r,i,o){let s=(0,a.resolveComponent)(`dt-icon-arrow-left`),c=(0,a.resolveComponent)(`dt-button`),l=(0,a.resolveComponent)(`dt-icon-arrow-right`);return(0,a.openBlock)(),(0,a.createElementBlock)(`div`,h,[n.mediaList.length>0?((0,a.openBlock)(),(0,a.createElementBlock)(`ul`,{key:0,ref:`carousel`,class:`d-recipe-attachment-carousel__media-list`,onScroll:t[0]||(t[0]=(...e)=>o.handleScroll&&o.handleScroll(...e))},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.filteredMediaList,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(o.mediaComponent(e.type)),{key:`media-${t}`,index:t,"media-item":e,onRemoveMedia:e=>o.removeMediaItem(t),onFocusin:o.onItemFocus},null,40,[`index`,`media-item`,`onRemoveMedia`,`onFocusin`]))),128))],544)):(0,a.createCommentVNode)(``,!0),(0,a.withDirectives)((0,a.createVNode)(c,{tabindex:`-1`,"aria-label":i.i18n.$t(`DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL`),class:`d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left`,circle:``,size:100,importance:`clear`,onClick:o.leftScroll},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)(s,{size:`100`})]),_:1},8,[`aria-label`,`onClick`]),[[a.vShow,i.showLeftArrow]]),(0,a.withDirectives)((0,a.createVNode)(c,{tabindex:`-1`,"aria-label":i.i18n.$t(`DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL`),class:`d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right`,circle:``,size:100,importance:`clear`,onClick:o.rightScroll},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)(l,{size:`100`})]),_:1},8,[`aria-label`,`onClick`]),[[a.vShow,i.showRightArrow]])])}var _=e.t(m,[[`render`,g]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return _}});
2
- //# sourceMappingURL=attachment_carousel-wnZS3vEt.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachment_carousel-wnZS3vEt.cjs","names":[],"sources":["../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<template>\n <li\n class=\"d-recipe-attachment-carousel__image\"\n >\n <dt-image-viewer\n image-button-class=\"d-recipe-attachment-carousel__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL')\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"d-recipe-attachment-carousel__image-top-right\"\n >\n <span\n class=\"d-recipe-attachment-carousel__image-progress-bar\"\n >\n <dt-progress-circle\n v-if=\"mediaItem.isUploading\"\n kind=\"brand\"\n size=\"400\"\n :progress=\"mediaItem.progress\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL')\"\n />\n </span>\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"d-recipe-attachment-carousel__image-close-button\"\n circle\n :size=\"100\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue';\nimport { DialtoneLocalization } from '@/localization';\n\nimport { DtProgressCircle } from '@/components/progress_circle';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIconClose,\n DtProgressCircle,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-recipe-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"d-recipe-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left\"\n circle\n :size=\"100\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon-arrow-left\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right\"\n circle\n :size=\"100\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon-arrow-right\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIconArrowRight, DtIconArrowLeft } from '@dialpad/dialtone-icons/vue';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIconArrowRight,\n DtIconArrowLeft,\n DtImageCarousel,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"combobox-BQBKrDTW.js","names":[],"sources":["../components/combobox/combobox.vue"],"sourcesContent":["<!-- eslint-disable vuejs-accessibility/no-static-element-interactions -->\n<template>\n <div\n @keydown.esc.stop=\"onKeyValidation($event, 'onEscapeKey')\"\n @keydown.enter.exact=\"onKeyValidation($event, 'onEnterKey')\"\n @keydown.up.stop.prevent=\"onKeyValidation($event, 'onUpKey')\"\n @keydown.down.stop.prevent=\"onKeyValidation($event, 'onDownKey')\"\n @keydown.home.stop.prevent=\"onKeyValidation($event, 'onHomeKey')\"\n @keydown.end.stop.prevent=\"onKeyValidation($event, 'onEndKey')\"\n >\n <div data-qa=\"dt-combobox-input-wrapper\">\n <!-- @slot Slot for the combobox input element -->\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n />\n </div>\n\n <div\n v-if=\"showList\"\n ref=\"listWrapper\"\n data-qa=\"dt-combobox-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <combobox-loading-list\n v-if=\"loading && !listRenderedOutside\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && (emptyStateMessage || hasSlotContent($slots.emptyListItem)) && !listRenderedOutside\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n :item-class=\"emptyStateClass\"\n >\n <slot name=\"emptyListItem\" />\n </combobox-empty-list>\n <!-- @slot Slot for the combobox list element -->\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n :opened=\"onOpen\"\n :clear-highlight-index=\"clearHighlightIndex\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport ComboboxLoadingList from './combobox_loading-list.vue';\nimport ComboboxEmptyList from './combobox_empty-list.vue';\nimport { DtKeyboardListNavigationMixin } from '@/common/mixins';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { COMPONENT_SIZES } from '@/common/constants';\n\n/**\n * A combobox is a semantic component that displays an input element combined with a listbox,\n * which enables the user to select items from the list.\n * @see https://dialtone.dialpad.com/components/combobox.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtCombobox',\n\n components: {\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n mixins: [\n DtKeyboardListNavigationMixin({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n }),\n ],\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: null,\n validator: (t) => t === null\n || Object.values(COMBOBOX_LABEL_SIZES).includes(t)\n || Object.keys(COMPONENT_SIZES).includes(String(t)),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * @values true, false\n */\n showList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If the list is rendered outside the component, like when using popover as the list wrapper.\n * @values true, false\n */\n listRenderedOutside: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n * @values true, false\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the empty list element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n emptyStateClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Programmatically click on the active list item element when a selection\n * comes from keyboard navigation, i.e. pressing the \"Enter\" key.\n * @values true, false\n */\n clickOnSelect: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when pressing escape\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired when list is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n ],\n\n data () {\n return {\n // If the list is rendered at the root, rather than as a child\n // of this component, this is the ref to that dom element. Set\n // by the onOpen method.\n outsideRenderedListRef: null,\n hasSlotContent,\n };\n },\n\n computed: {\n inputProps () {\n return {\n label: this.label,\n showLabel: this.showLabel,\n size: this.size,\n description: this.description,\n role: 'combobox',\n 'aria-label': this.label,\n 'aria-expanded': this.showList.toString(),\n 'aria-owns': this.listId,\n 'aria-haspopup': 'listbox',\n 'aria-activedescendant': this.activeItemId,\n 'aria-controls': this.listId,\n };\n },\n\n listProps () {\n return {\n role: 'listbox',\n id: this.listId,\n // The list has to be positioned relatively so that the auto-scroll can\n // calculate the correct offset for the list items.\n class: 'd-ps-relative',\n 'aria-label': this.label,\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemId () {\n if (!this.showList || this.highlightIndex < 0 || this.loading) {\n return;\n }\n return this.highlightId;\n },\n\n activeItemEl () {\n if (!this.highlightId) return '';\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n },\n\n watch: {\n showList (showList) {\n // When the list's visibility changes reset the highlight index.\n\n if (!this.listRenderedOutside) {\n this.setInitialHighlightIndex();\n this.$emit('opened', showList);\n }\n\n if (!showList && this.outsideRenderedListRef) {\n this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);\n this.outsideRenderedListRef = null;\n }\n },\n\n loading () {\n this.$nextTick(() => {\n this.setInitialHighlightIndex();\n });\n },\n\n $props: {\n deep: true,\n immediate: true,\n handler () {\n this.validateEmptyListProps();\n },\n },\n },\n\n created () {\n this.validateEmptyListProps();\n },\n\n methods: {\n onMouseHighlight (e) {\n if (this.loading) return;\n\n const liElement = e.target.closest('li');\n\n if (liElement && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n }\n },\n\n getListElement () {\n return this.outsideRenderedListRef ?? this.$refs.listWrapper?.querySelector(`#${this.listId}`);\n },\n\n clearHighlightIndex () {\n if (this.showList) {\n this.setHighlightIndex(-1);\n }\n },\n\n afterHighlight () {\n if (this.loading) return;\n this.$emit('highlight', this.highlightIndex);\n },\n\n onEnterKey () {\n if (this.loading || this.emptyList) return;\n\n if (this.highlightIndex >= 0) {\n this.$emit('select', this.highlightIndex);\n\n if (this.clickOnSelect) {\n this.activeItemEl?.click();\n }\n }\n },\n\n onEscapeKey () {\n this.$emit('escape');\n },\n\n onOpen (open, contentRef) {\n this.outsideRenderedListRef = contentRef;\n this.outsideRenderedListRef?.addEventListener('mousemove', this.onMouseHighlight);\n this.$emit('opened', open);\n\n if (open) {\n this.setInitialHighlightIndex();\n }\n },\n\n onKeyValidation (e, eventHandler) {\n if (!this.showList || !this.getListElement()) return;\n\n this[eventHandler](e);\n },\n\n setInitialHighlightIndex () {\n if (!this.showList) return;\n this.$nextTick(() => {\n // When the list's is shown, reset the highlight index.\n // If the list is loading, set to -1\n this.setHighlightIndex(this.loading ? -1 : 0);\n });\n },\n\n validateEmptyListProps () {\n if (this.$slots.emptyListItem) { return; }\n\n if (this.emptyList && !this.emptyStateMessage) {\n console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the\n empty message.`);\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./common/constants/sizes.cjs`),t=require(`./common/utils/index.cjs`),n=require(`./_plugin-vue_export-helper-D8jCH6HB.cjs`),r=require(`./common/mixins/keyboard-list-navigation.cjs`),i=require(`./lib/combobox/combobox-loading-list.cjs`),a=require(`./lib/combobox/combobox-empty-list.cjs`),o=require(`./lib/combobox/combobox-constants.cjs`);let s=require(`vue`);var c={compatConfig:{MODE:3},name:`DtCombobox`,components:{ComboboxLoadingList:i.default,ComboboxEmptyList:a.default},mixins:[r.default({indexKey:`highlightIndex`,idKey:`highlightId`,listElementKey:`getListElement`,afterHighlightMethod:`afterHighlight`,beginningOfListMethod:`beginningOfListMethod`,endOfListMethod:`endOfListMethod`,activeItemKey:`activeItemEl`})],props:{label:{type:String,required:!0},showLabel:{type:Boolean,default:!0},size:{type:[String,Number],default:null,validator:t=>t===null||Object.values(o.COMBOBOX_LABEL_SIZES).includes(t)||Object.keys(e.COMPONENT_SIZES).includes(String(t))},description:{type:String,default:``},listId:{type:String,default(){return t.getUniqueString()}},onBeginningOfList:{type:Function,default:null},onEndOfList:{type:Function,default:null},showList:{type:Boolean,default:!1},listRenderedOutside:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyList:{type:Boolean,default:!1},emptyStateMessage:{type:String,default:``},emptyStateClass:{type:[String,Object,Array],default:``},clickOnSelect:{type:Boolean,default:!1}},emits:[`select`,`escape`,`highlight`,`opened`],data(){return{outsideRenderedListRef:null,hasSlotContent:t.hasSlotContent}},computed:{inputProps(){return{label:this.label,showLabel:this.showLabel,size:this.size,description:this.description,role:`combobox`,"aria-label":this.label,"aria-expanded":this.showList.toString(),"aria-owns":this.listId,"aria-haspopup":`listbox`,"aria-activedescendant":this.activeItemId,"aria-controls":this.listId}},listProps(){return{role:`listbox`,id:this.listId,class:`d-ps-relative`,"aria-label":this.label}},beginningOfListMethod(){return this.onBeginningOfList||this.jumpToEnd},endOfListMethod(){return this.onEndOfList||this.jumpToBeginning},activeItemId(){if(!(!this.showList||this.highlightIndex<0||this.loading))return this.highlightId},activeItemEl(){return this.highlightId?this.getListElement().querySelector(`#`+this.highlightId):``}},watch:{showList(e){this.listRenderedOutside||(this.setInitialHighlightIndex(),this.$emit(`opened`,e)),!e&&this.outsideRenderedListRef&&(this.outsideRenderedListRef.removeEventListener(`mousemove`,this.onMouseHighlight),this.outsideRenderedListRef=null)},loading(){this.$nextTick(()=>{this.setInitialHighlightIndex()})},$props:{deep:!0,immediate:!0,handler(){this.validateEmptyListProps()}}},created(){this.validateEmptyListProps()},methods:{onMouseHighlight(e){if(this.loading)return;let t=e.target.closest(`li`);t&&this.highlightId!==t.id&&this.setHighlightId(t.id)},getListElement(){return this.outsideRenderedListRef??this.$refs.listWrapper?.querySelector(`#${this.listId}`)},clearHighlightIndex(){this.showList&&this.setHighlightIndex(-1)},afterHighlight(){this.loading||this.$emit(`highlight`,this.highlightIndex)},onEnterKey(){this.loading||this.emptyList||this.highlightIndex>=0&&(this.$emit(`select`,this.highlightIndex),this.clickOnSelect&&this.activeItemEl?.click())},onEscapeKey(){this.$emit(`escape`)},onOpen(e,t){this.outsideRenderedListRef=t,this.outsideRenderedListRef?.addEventListener(`mousemove`,this.onMouseHighlight),this.$emit(`opened`,e),e&&this.setInitialHighlightIndex()},onKeyValidation(e,t){!this.showList||!this.getListElement()||this[t](e)},setInitialHighlightIndex(){this.showList&&this.$nextTick(()=>{this.setHighlightIndex(this.loading?-1:0)})},validateEmptyListProps(){this.$slots.emptyListItem||this.emptyList&&!this.emptyStateMessage&&console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the
2
- empty message.`)}}},l={"data-qa":`dt-combobox-input-wrapper`};function u(e,t,n,r,i,a){let o=(0,s.resolveComponent)(`combobox-loading-list`),c=(0,s.resolveComponent)(`combobox-empty-list`);return(0,s.openBlock)(),(0,s.createElementBlock)(`div`,{onKeydown:[t[3]||(t[3]=(0,s.withKeys)((0,s.withModifiers)(e=>a.onKeyValidation(e,`onEscapeKey`),[`stop`]),[`esc`])),t[4]||(t[4]=(0,s.withKeys)((0,s.withModifiers)(e=>a.onKeyValidation(e,`onEnterKey`),[`exact`]),[`enter`])),t[5]||(t[5]=(0,s.withKeys)((0,s.withModifiers)(e=>a.onKeyValidation(e,`onUpKey`),[`stop`,`prevent`]),[`up`])),t[6]||(t[6]=(0,s.withKeys)((0,s.withModifiers)(e=>a.onKeyValidation(e,`onDownKey`),[`stop`,`prevent`]),[`down`])),t[7]||(t[7]=(0,s.withKeys)((0,s.withModifiers)(e=>a.onKeyValidation(e,`onHomeKey`),[`stop`,`prevent`]),[`home`])),t[8]||(t[8]=(0,s.withKeys)((0,s.withModifiers)(e=>a.onKeyValidation(e,`onEndKey`),[`stop`,`prevent`]),[`end`]))]},[(0,s.createElementVNode)(`div`,l,[(0,s.renderSlot)(e.$slots,`input`,{inputProps:a.inputProps})]),n.showList?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,ref:`listWrapper`,"data-qa":`dt-combobox-list-wrapper`,onMouseleave:t[0]||(t[0]=(...e)=>a.clearHighlightIndex&&a.clearHighlightIndex(...e)),onFocusout:t[1]||(t[1]=(...e)=>a.clearHighlightIndex&&a.clearHighlightIndex(...e)),onMousemoveCapture:t[2]||(t[2]=(...e)=>a.onMouseHighlight&&a.onMouseHighlight(...e))},[n.loading&&!n.listRenderedOutside?((0,s.openBlock)(),(0,s.createBlock)(o,(0,s.normalizeProps)((0,s.mergeProps)({key:0},a.listProps)),null,16)):n.emptyList&&(n.emptyStateMessage||i.hasSlotContent(e.$slots.emptyListItem))&&!n.listRenderedOutside?((0,s.openBlock)(),(0,s.createBlock)(c,(0,s.mergeProps)({key:1},a.listProps,{message:n.emptyStateMessage,"item-class":n.emptyStateClass}),{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`emptyListItem`)]),_:3},16,[`message`,`item-class`])):(0,s.renderSlot)(e.$slots,`list`,{key:2,listProps:a.listProps,opened:a.onOpen,clearHighlightIndex:a.clearHighlightIndex})],544)):(0,s.createCommentVNode)(``,!0)],32)}var d=n.t(c,[[`render`,u]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
3
- //# sourceMappingURL=combobox-Da7wBh3G.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combobox-Da7wBh3G.cjs","names":[],"sources":["../components/combobox/combobox.vue"],"sourcesContent":["<!-- eslint-disable vuejs-accessibility/no-static-element-interactions -->\n<template>\n <div\n @keydown.esc.stop=\"onKeyValidation($event, 'onEscapeKey')\"\n @keydown.enter.exact=\"onKeyValidation($event, 'onEnterKey')\"\n @keydown.up.stop.prevent=\"onKeyValidation($event, 'onUpKey')\"\n @keydown.down.stop.prevent=\"onKeyValidation($event, 'onDownKey')\"\n @keydown.home.stop.prevent=\"onKeyValidation($event, 'onHomeKey')\"\n @keydown.end.stop.prevent=\"onKeyValidation($event, 'onEndKey')\"\n >\n <div data-qa=\"dt-combobox-input-wrapper\">\n <!-- @slot Slot for the combobox input element -->\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n />\n </div>\n\n <div\n v-if=\"showList\"\n ref=\"listWrapper\"\n data-qa=\"dt-combobox-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <combobox-loading-list\n v-if=\"loading && !listRenderedOutside\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && (emptyStateMessage || hasSlotContent($slots.emptyListItem)) && !listRenderedOutside\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n :item-class=\"emptyStateClass\"\n >\n <slot name=\"emptyListItem\" />\n </combobox-empty-list>\n <!-- @slot Slot for the combobox list element -->\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n :opened=\"onOpen\"\n :clear-highlight-index=\"clearHighlightIndex\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport ComboboxLoadingList from './combobox_loading-list.vue';\nimport ComboboxEmptyList from './combobox_empty-list.vue';\nimport { DtKeyboardListNavigationMixin } from '@/common/mixins';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { COMPONENT_SIZES } from '@/common/constants';\n\n/**\n * A combobox is a semantic component that displays an input element combined with a listbox,\n * which enables the user to select items from the list.\n * @see https://dialtone.dialpad.com/components/combobox.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtCombobox',\n\n components: {\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n mixins: [\n DtKeyboardListNavigationMixin({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n }),\n ],\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: null,\n validator: (t) => t === null\n || Object.values(COMBOBOX_LABEL_SIZES).includes(t)\n || Object.keys(COMPONENT_SIZES).includes(String(t)),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * @values true, false\n */\n showList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If the list is rendered outside the component, like when using popover as the list wrapper.\n * @values true, false\n */\n listRenderedOutside: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n * @values true, false\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the empty list element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n emptyStateClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Programmatically click on the active list item element when a selection\n * comes from keyboard navigation, i.e. pressing the \"Enter\" key.\n * @values true, false\n */\n clickOnSelect: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when pressing escape\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired when list is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n ],\n\n data () {\n return {\n // If the list is rendered at the root, rather than as a child\n // of this component, this is the ref to that dom element. Set\n // by the onOpen method.\n outsideRenderedListRef: null,\n hasSlotContent,\n };\n },\n\n computed: {\n inputProps () {\n return {\n label: this.label,\n showLabel: this.showLabel,\n size: this.size,\n description: this.description,\n role: 'combobox',\n 'aria-label': this.label,\n 'aria-expanded': this.showList.toString(),\n 'aria-owns': this.listId,\n 'aria-haspopup': 'listbox',\n 'aria-activedescendant': this.activeItemId,\n 'aria-controls': this.listId,\n };\n },\n\n listProps () {\n return {\n role: 'listbox',\n id: this.listId,\n // The list has to be positioned relatively so that the auto-scroll can\n // calculate the correct offset for the list items.\n class: 'd-ps-relative',\n 'aria-label': this.label,\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemId () {\n if (!this.showList || this.highlightIndex < 0 || this.loading) {\n return;\n }\n return this.highlightId;\n },\n\n activeItemEl () {\n if (!this.highlightId) return '';\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n },\n\n watch: {\n showList (showList) {\n // When the list's visibility changes reset the highlight index.\n\n if (!this.listRenderedOutside) {\n this.setInitialHighlightIndex();\n this.$emit('opened', showList);\n }\n\n if (!showList && this.outsideRenderedListRef) {\n this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);\n this.outsideRenderedListRef = null;\n }\n },\n\n loading () {\n this.$nextTick(() => {\n this.setInitialHighlightIndex();\n });\n },\n\n $props: {\n deep: true,\n immediate: true,\n handler () {\n this.validateEmptyListProps();\n },\n },\n },\n\n created () {\n this.validateEmptyListProps();\n },\n\n methods: {\n onMouseHighlight (e) {\n if (this.loading) return;\n\n const liElement = e.target.closest('li');\n\n if (liElement && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n }\n },\n\n getListElement () {\n return this.outsideRenderedListRef ?? this.$refs.listWrapper?.querySelector(`#${this.listId}`);\n },\n\n clearHighlightIndex () {\n if (this.showList) {\n this.setHighlightIndex(-1);\n }\n },\n\n afterHighlight () {\n if (this.loading) return;\n this.$emit('highlight', this.highlightIndex);\n },\n\n onEnterKey () {\n if (this.loading || this.emptyList) return;\n\n if (this.highlightIndex >= 0) {\n this.$emit('select', this.highlightIndex);\n\n if (this.clickOnSelect) {\n this.activeItemEl?.click();\n }\n }\n },\n\n onEscapeKey () {\n this.$emit('escape');\n },\n\n onOpen (open, contentRef) {\n this.outsideRenderedListRef = contentRef;\n this.outsideRenderedListRef?.addEventListener('mousemove', this.onMouseHighlight);\n this.$emit('opened', open);\n\n if (open) {\n this.setInitialHighlightIndex();\n }\n },\n\n onKeyValidation (e, eventHandler) {\n if (!this.showList || !this.getListElement()) return;\n\n this[eventHandler](e);\n },\n\n setInitialHighlightIndex () {\n if (!this.showList) return;\n this.$nextTick(() => {\n // When the list's is shown, reset the highlight index.\n // If the list is loading, set to -1\n this.setHighlightIndex(this.loading ? -1 : 0);\n });\n },\n\n validateEmptyListProps () {\n if (this.$slots.emptyListItem) { return; }\n\n if (this.emptyList && !this.emptyStateMessage) {\n console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the\n empty message.`);\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../chunk-Bmb41Sf3.cjs`);let e=require(`vue`);function t(t,n,r){let i={indicator:null,hideNative:null},a=200,o=`ease`,s=!1;(0,e.onMounted)(()=>{let i=typeof t==`function`?t():(0,e.unref)(t),c=i?.$el||i;if(!c)return;let l=getComputedStyle(c);a=parseInt(l.getPropertyValue(n),10)||200,o=l.getPropertyValue(r).trim()||`ease`;let u=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;s=typeof c.animate==`function`&&!u}),(0,e.onBeforeUnmount)(()=>{u()});function c(n){if(!s)return null;let r=typeof t==`function`?t():(0,e.unref)(t),i=(r?.$el||r)?.querySelector(n);if(!i)return null;let a=getComputedStyle(i);return{rect:i.getBoundingClientRect(),style:{borderColor:a.borderColor,borderWidth:a.borderWidth,backgroundColor:a.backgroundColor},el:i}}function l({oldRect:e,newEl:t,orientation:n,hideProps:r,indicatorExtra:c={},pseudoElement:l}){if(!s)return;u();let d=t.getBoundingClientRect(),f=n===`vertical`,p=f?d.width:d.height;if(Math.abs(f?e.left-d.left:e.top-d.top)>p/2)return;let m=f?e.top+e.height/2-(d.top+d.height/2):e.left+e.width/2-(d.left+d.width/2);if(m===0)return;let h=f?`0 ${m}px`:`${m}px 0`,g=f?`1 ${e.height/d.height}`:`${e.width/d.width} 1`,_={duration:a,easing:o};i.hideNative=t.animate([r,r],{..._,fill:`forwards`}),i.indicator=t.animate([{translate:h,scale:g,...c},{translate:`0 0`,scale:`1 1`,...c}],{..._,pseudoElement:l}),i.indicator.onfinish=()=>{i.hideNative?.cancel()}}function u(){i.indicator&&(i.indicator.onfinish=null,i.indicator.cancel()),i.hideNative&&(i.hideNative.onfinish=null,i.hideNative.cancel())}function d(){return s}return{animate:l,cancel:u,canAnimate:d,snapshot:c}}exports.useIndicatorAnimation=t;
2
- //# sourceMappingURL=useIndicatorAnimation.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIndicatorAnimation.cjs","names":[],"sources":["../../../common/composables/useIndicatorAnimation.js"],"sourcesContent":["import { onMounted, onBeforeUnmount, unref } from 'vue';\n\n/**\n * Composable for \"traveling indicator\" animations.\n * Uses FLIP technique + Web Animations API to slide a selection indicator\n * (pseudo-element) from the old selected element to the new one.\n *\n * @param {import('vue').Ref|Function} containerRef - template ref or getter for the container element\n * @param {string} durationVar - CSS variable name for duration (e.g. '--tab-indicator-duration')\n * @param {string} easingVar - CSS variable name for easing (e.g. '--tab-indicator-easing')\n */\nexport function useIndicatorAnimation (containerRef, durationVar, easingVar) {\n const state = { indicator: null, hideNative: null };\n let duration = 200;\n let easing = 'ease';\n let supported = false;\n\n onMounted(() => {\n const el = typeof containerRef === 'function' ? containerRef() : unref(containerRef);\n const resolvedEl = el?.$el || el;\n if (!resolvedEl) return;\n\n // Cache config from CSS custom properties\n const style = getComputedStyle(resolvedEl);\n duration = parseInt(style.getPropertyValue(durationVar), 10) || 200;\n easing = style.getPropertyValue(easingVar).trim() || 'ease';\n\n // Feature detection: WAAPI + prefers-reduced-motion\n const prefersReducedMotion = typeof window.matchMedia === 'function' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n supported = typeof resolvedEl.animate === 'function' && !prefersReducedMotion;\n });\n\n onBeforeUnmount(() => { cancel(); });\n\n /**\n * Capture a snapshot of an element's position and computed style.\n * @param {string} selector - CSS selector to find the element within the container\n * @returns {{ rect: DOMRect, style: CSSStyleDeclaration, el: HTMLElement }|null}\n */\n function snapshot (selector) {\n if (!supported) return null;\n const container = typeof containerRef === 'function' ? containerRef() : unref(containerRef);\n const containerEl = container?.$el || container;\n const el = containerEl?.querySelector(selector);\n if (!el) return null;\n const cs = getComputedStyle(el);\n return {\n rect: el.getBoundingClientRect(),\n style: { borderColor: cs.borderColor, borderWidth: cs.borderWidth, backgroundColor: cs.backgroundColor },\n el,\n };\n }\n\n /**\n * Animate an indicator from oldRect to newEl's current position.\n * @param {object} options\n * @param {DOMRect} options.oldRect - bounding rect of the previously selected element\n * @param {HTMLElement} options.newEl - the newly selected element\n * @param {string} options.orientation - 'horizontal' or 'vertical'\n * @param {object} options.hideProps - properties to suppress on newEl during animation\n * @param {object} [options.indicatorExtra] - additional CSS properties for the indicator pseudo\n * @param {string} options.pseudoElement - '::before' or '::after'\n */\n function animate ({ oldRect, newEl, orientation, hideProps, indicatorExtra = {}, pseudoElement }) {\n if (!supported) return;\n cancel();\n\n const newRect = newEl.getBoundingClientRect();\n const isVertical = orientation === 'vertical';\n\n // Skip if elements are on different rows/columns (e.g. wrapped tabs).\n // Use half the element's cross-axis size as threshold — items on the same\n // row/column may differ slightly due to sub-pixel rounding or varying widths.\n const crossAxisSize = isVertical ? newRect.width : newRect.height;\n const crossAxisDelta = isVertical\n ? Math.abs(oldRect.left - newRect.left)\n : Math.abs(oldRect.top - newRect.top);\n if (crossAxisDelta > crossAxisSize / 2) return;\n\n // Center-to-center delta so scale from center aligns both edges\n const delta = isVertical\n ? (oldRect.top + oldRect.height / 2) - (newRect.top + newRect.height / 2)\n : (oldRect.left + oldRect.width / 2) - (newRect.left + newRect.width / 2);\n if (delta === 0) return;\n\n const from = isVertical ? `0 ${delta}px` : `${delta}px 0`;\n const scale = isVertical\n ? `1 ${oldRect.height / newRect.height}`\n : `${oldRect.width / newRect.width} 1`;\n\n const opts = { duration, easing };\n state.hideNative = newEl.animate(\n [hideProps, hideProps], { ...opts, fill: 'forwards' },\n );\n state.indicator = newEl.animate(\n [{ translate: from, scale, ...indicatorExtra },\n { translate: '0 0', scale: '1 1', ...indicatorExtra }],\n { ...opts, pseudoElement },\n );\n state.indicator.onfinish = () => { state.hideNative?.cancel(); };\n }\n\n function cancel () {\n if (state.indicator) {\n state.indicator.onfinish = null;\n state.indicator.cancel();\n }\n if (state.hideNative) {\n state.hideNative.onfinish = null;\n state.hideNative.cancel();\n }\n }\n\n function canAnimate () {\n return supported;\n }\n\n return { animate, cancel, canAnimate, snapshot };\n}\n"],"mappings":"4HAWA,SAAgB,EAAuB,EAAc,EAAa,EAAW,CAC3E,IAAM,EAAQ,CAAE,UAAW,KAAM,WAAY,KAAM,CAC/C,EAAW,IACX,EAAS,OACT,EAAY,IAEhB,EAAA,EAAA,eAAgB,CACd,IAAM,EAAK,OAAO,GAAiB,WAAa,GAAc,EAAA,EAAA,EAAA,OAAS,EAAa,CAC9E,EAAa,GAAI,KAAO,EAC9B,GAAI,CAAC,EAAY,OAGjB,IAAM,EAAQ,iBAAiB,EAAW,CAC1C,EAAW,SAAS,EAAM,iBAAiB,EAAY,CAAE,GAAG,EAAI,IAChE,EAAS,EAAM,iBAAiB,EAAU,CAAC,MAAM,EAAI,OAGrD,IAAM,EAAuB,OAAO,OAAO,YAAe,YACxD,OAAO,WAAW,mCAAmC,CAAC,QACxD,EAAY,OAAO,EAAW,SAAY,YAAc,CAAC,GACzD,EAEF,EAAA,EAAA,qBAAsB,CAAE,GAAQ,EAAI,CAOpC,SAAS,EAAU,EAAU,CAC3B,GAAI,CAAC,EAAW,OAAO,KACvB,IAAM,EAAY,OAAO,GAAiB,WAAa,GAAc,EAAA,EAAA,EAAA,OAAS,EAAa,CAErF,GADc,GAAW,KAAO,IACd,cAAc,EAAS,CAC/C,GAAI,CAAC,EAAI,OAAO,KAChB,IAAM,EAAK,iBAAiB,EAAG,CAC/B,MAAO,CACL,KAAM,EAAG,uBAAuB,CAChC,MAAO,CAAE,YAAa,EAAG,YAAa,YAAa,EAAG,YAAa,gBAAiB,EAAG,gBAAiB,CACxG,KACD,CAaH,SAAS,EAAS,CAAE,UAAS,QAAO,cAAa,YAAW,iBAAiB,EAAE,CAAE,iBAAiB,CAChG,GAAI,CAAC,EAAW,OAChB,GAAQ,CAER,IAAM,EAAU,EAAM,uBAAuB,CACvC,EAAa,IAAgB,WAK7B,EAAgB,EAAa,EAAQ,MAAQ,EAAQ,OAI3D,GAFI,KAAK,IADc,EACV,EAAQ,KAAO,EAAQ,KACvB,EAAQ,IAAM,EAAQ,IAAI,CAClB,EAAgB,EAAG,OAGxC,IAAM,EAAQ,EACT,EAAQ,IAAM,EAAQ,OAAS,GAAM,EAAQ,IAAM,EAAQ,OAAS,GACpE,EAAQ,KAAO,EAAQ,MAAQ,GAAM,EAAQ,KAAO,EAAQ,MAAQ,GACzE,GAAI,IAAU,EAAG,OAEjB,IAAM,EAAO,EAAa,KAAK,EAAM,IAAM,GAAG,EAAM,MAC9C,EAAQ,EACV,KAAK,EAAQ,OAAS,EAAQ,SAC9B,GAAG,EAAQ,MAAQ,EAAQ,MAAM,IAE/B,EAAO,CAAE,WAAU,SAAQ,CACjC,EAAM,WAAa,EAAM,QACvB,CAAC,EAAW,EAAU,CAAE,CAAE,GAAG,EAAM,KAAM,WAAY,CACtD,CACD,EAAM,UAAY,EAAM,QACtB,CAAC,CAAE,UAAW,EAAM,QAAO,GAAG,EAAgB,CAC5C,CAAE,UAAW,MAAO,MAAO,MAAO,GAAG,EAAgB,CAAC,CACxD,CAAE,GAAG,EAAM,gBAAe,CAC3B,CACD,EAAM,UAAU,aAAiB,CAAE,EAAM,YAAY,QAAQ,EAG/D,SAAS,GAAU,CACb,EAAM,YACR,EAAM,UAAU,SAAW,KAC3B,EAAM,UAAU,QAAQ,EAEtB,EAAM,aACR,EAAM,WAAW,SAAW,KAC5B,EAAM,WAAW,QAAQ,EAI7B,SAAS,GAAc,CACrB,OAAO,EAGT,MAAO,CAAE,UAAS,SAAQ,aAAY,WAAU"}
@@ -1,18 +0,0 @@
1
- export function useIndicatorAnimation(containerRef: import('vue').Ref | Function, durationVar: string, easingVar: string): {
2
- animate: ({ oldRect, newEl, orientation, hideProps, indicatorExtra, pseudoElement }: {
3
- oldRect: DOMRect;
4
- newEl: HTMLElement;
5
- orientation: string;
6
- hideProps: object;
7
- indicatorExtra?: object | undefined;
8
- pseudoElement: string;
9
- }) => void;
10
- cancel: () => void;
11
- canAnimate: () => boolean;
12
- snapshot: (selector: string) => {
13
- rect: DOMRect;
14
- style: CSSStyleDeclaration;
15
- el: HTMLElement;
16
- } | null;
17
- };
18
- //# sourceMappingURL=useIndicatorAnimation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIndicatorAnimation.d.ts","sourceRoot":"","sources":["../../../common/composables/useIndicatorAnimation.js"],"names":[],"mappings":"AAWA,oDAJW,OAAO,KAAK,EAAE,GAAG,WAAS,eAC1B,MAAM,aACN,MAAM;yFAgDZ;QAAyB,OAAO,EAAxB,OAAO;QACc,KAAK,EAA1B,WAAW;QACK,WAAW,EAA3B,MAAM;QACU,SAAS,EAAzB,MAAM;QACW,cAAc;QACf,aAAa,EAA7B,MAAM;KAChB;;;yBA1BU,MAAM,KACJ;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,mBAAmB,CAAC;QAAC,EAAE,EAAE,WAAW,CAAA;KAAE,GAAC,IAAI;EAiFjF"}
@@ -1,78 +0,0 @@
1
- import { onBeforeUnmount as e, onMounted as t, unref as n } from "vue";
2
- //#region common/composables/useIndicatorAnimation.js
3
- function r(r, i, a) {
4
- let o = {
5
- indicator: null,
6
- hideNative: null
7
- }, s = 200, c = "ease", l = !1;
8
- t(() => {
9
- let e = typeof r == "function" ? r() : n(r), t = e?.$el || e;
10
- if (!t) return;
11
- let o = getComputedStyle(t);
12
- s = parseInt(o.getPropertyValue(i), 10) || 200, c = o.getPropertyValue(a).trim() || "ease";
13
- let u = typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
14
- l = typeof t.animate == "function" && !u;
15
- }), e(() => {
16
- f();
17
- });
18
- function u(e) {
19
- if (!l) return null;
20
- let t = typeof r == "function" ? r() : n(r), i = (t?.$el || t)?.querySelector(e);
21
- if (!i) return null;
22
- let a = getComputedStyle(i);
23
- return {
24
- rect: i.getBoundingClientRect(),
25
- style: {
26
- borderColor: a.borderColor,
27
- borderWidth: a.borderWidth,
28
- backgroundColor: a.backgroundColor
29
- },
30
- el: i
31
- };
32
- }
33
- function d({ oldRect: e, newEl: t, orientation: n, hideProps: r, indicatorExtra: i = {}, pseudoElement: a }) {
34
- if (!l) return;
35
- f();
36
- let u = t.getBoundingClientRect(), d = n === "vertical", p = d ? u.width : u.height;
37
- if (Math.abs(d ? e.left - u.left : e.top - u.top) > p / 2) return;
38
- let m = d ? e.top + e.height / 2 - (u.top + u.height / 2) : e.left + e.width / 2 - (u.left + u.width / 2);
39
- if (m === 0) return;
40
- let h = d ? `0 ${m}px` : `${m}px 0`, g = d ? `1 ${e.height / u.height}` : `${e.width / u.width} 1`, _ = {
41
- duration: s,
42
- easing: c
43
- };
44
- o.hideNative = t.animate([r, r], {
45
- ..._,
46
- fill: "forwards"
47
- }), o.indicator = t.animate([{
48
- translate: h,
49
- scale: g,
50
- ...i
51
- }, {
52
- translate: "0 0",
53
- scale: "1 1",
54
- ...i
55
- }], {
56
- ..._,
57
- pseudoElement: a
58
- }), o.indicator.onfinish = () => {
59
- o.hideNative?.cancel();
60
- };
61
- }
62
- function f() {
63
- o.indicator && (o.indicator.onfinish = null, o.indicator.cancel()), o.hideNative && (o.hideNative.onfinish = null, o.hideNative.cancel());
64
- }
65
- function p() {
66
- return l;
67
- }
68
- return {
69
- animate: d,
70
- cancel: f,
71
- canAnimate: p,
72
- snapshot: u
73
- };
74
- }
75
- //#endregion
76
- export { r as useIndicatorAnimation };
77
-
78
- //# sourceMappingURL=useIndicatorAnimation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIndicatorAnimation.js","names":[],"sources":["../../../common/composables/useIndicatorAnimation.js"],"sourcesContent":["import { onMounted, onBeforeUnmount, unref } from 'vue';\n\n/**\n * Composable for \"traveling indicator\" animations.\n * Uses FLIP technique + Web Animations API to slide a selection indicator\n * (pseudo-element) from the old selected element to the new one.\n *\n * @param {import('vue').Ref|Function} containerRef - template ref or getter for the container element\n * @param {string} durationVar - CSS variable name for duration (e.g. '--tab-indicator-duration')\n * @param {string} easingVar - CSS variable name for easing (e.g. '--tab-indicator-easing')\n */\nexport function useIndicatorAnimation (containerRef, durationVar, easingVar) {\n const state = { indicator: null, hideNative: null };\n let duration = 200;\n let easing = 'ease';\n let supported = false;\n\n onMounted(() => {\n const el = typeof containerRef === 'function' ? containerRef() : unref(containerRef);\n const resolvedEl = el?.$el || el;\n if (!resolvedEl) return;\n\n // Cache config from CSS custom properties\n const style = getComputedStyle(resolvedEl);\n duration = parseInt(style.getPropertyValue(durationVar), 10) || 200;\n easing = style.getPropertyValue(easingVar).trim() || 'ease';\n\n // Feature detection: WAAPI + prefers-reduced-motion\n const prefersReducedMotion = typeof window.matchMedia === 'function' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n supported = typeof resolvedEl.animate === 'function' && !prefersReducedMotion;\n });\n\n onBeforeUnmount(() => { cancel(); });\n\n /**\n * Capture a snapshot of an element's position and computed style.\n * @param {string} selector - CSS selector to find the element within the container\n * @returns {{ rect: DOMRect, style: CSSStyleDeclaration, el: HTMLElement }|null}\n */\n function snapshot (selector) {\n if (!supported) return null;\n const container = typeof containerRef === 'function' ? containerRef() : unref(containerRef);\n const containerEl = container?.$el || container;\n const el = containerEl?.querySelector(selector);\n if (!el) return null;\n const cs = getComputedStyle(el);\n return {\n rect: el.getBoundingClientRect(),\n style: { borderColor: cs.borderColor, borderWidth: cs.borderWidth, backgroundColor: cs.backgroundColor },\n el,\n };\n }\n\n /**\n * Animate an indicator from oldRect to newEl's current position.\n * @param {object} options\n * @param {DOMRect} options.oldRect - bounding rect of the previously selected element\n * @param {HTMLElement} options.newEl - the newly selected element\n * @param {string} options.orientation - 'horizontal' or 'vertical'\n * @param {object} options.hideProps - properties to suppress on newEl during animation\n * @param {object} [options.indicatorExtra] - additional CSS properties for the indicator pseudo\n * @param {string} options.pseudoElement - '::before' or '::after'\n */\n function animate ({ oldRect, newEl, orientation, hideProps, indicatorExtra = {}, pseudoElement }) {\n if (!supported) return;\n cancel();\n\n const newRect = newEl.getBoundingClientRect();\n const isVertical = orientation === 'vertical';\n\n // Skip if elements are on different rows/columns (e.g. wrapped tabs).\n // Use half the element's cross-axis size as threshold — items on the same\n // row/column may differ slightly due to sub-pixel rounding or varying widths.\n const crossAxisSize = isVertical ? newRect.width : newRect.height;\n const crossAxisDelta = isVertical\n ? Math.abs(oldRect.left - newRect.left)\n : Math.abs(oldRect.top - newRect.top);\n if (crossAxisDelta > crossAxisSize / 2) return;\n\n // Center-to-center delta so scale from center aligns both edges\n const delta = isVertical\n ? (oldRect.top + oldRect.height / 2) - (newRect.top + newRect.height / 2)\n : (oldRect.left + oldRect.width / 2) - (newRect.left + newRect.width / 2);\n if (delta === 0) return;\n\n const from = isVertical ? `0 ${delta}px` : `${delta}px 0`;\n const scale = isVertical\n ? `1 ${oldRect.height / newRect.height}`\n : `${oldRect.width / newRect.width} 1`;\n\n const opts = { duration, easing };\n state.hideNative = newEl.animate(\n [hideProps, hideProps], { ...opts, fill: 'forwards' },\n );\n state.indicator = newEl.animate(\n [{ translate: from, scale, ...indicatorExtra },\n { translate: '0 0', scale: '1 1', ...indicatorExtra }],\n { ...opts, pseudoElement },\n );\n state.indicator.onfinish = () => { state.hideNative?.cancel(); };\n }\n\n function cancel () {\n if (state.indicator) {\n state.indicator.onfinish = null;\n state.indicator.cancel();\n }\n if (state.hideNative) {\n state.hideNative.onfinish = null;\n state.hideNative.cancel();\n }\n }\n\n function canAnimate () {\n return supported;\n }\n\n return { animate, cancel, canAnimate, snapshot };\n}\n"],"mappings":";;AAWA,SAAgB,EAAuB,GAAc,GAAa,GAAW;CAC3E,IAAM,IAAQ;EAAE,WAAW;EAAM,YAAY;EAAM,EAC/C,IAAW,KACX,IAAS,QACT,IAAY;AAkBhB,CAhBA,QAAgB;EACd,IAAM,IAAK,OAAO,KAAiB,aAAa,GAAc,GAAG,EAAM,EAAa,EAC9E,IAAa,GAAI,OAAO;AAC9B,MAAI,CAAC,EAAY;EAGjB,IAAM,IAAQ,iBAAiB,EAAW;AAE1C,EADA,IAAW,SAAS,EAAM,iBAAiB,EAAY,EAAE,GAAG,IAAI,KAChE,IAAS,EAAM,iBAAiB,EAAU,CAAC,MAAM,IAAI;EAGrD,IAAM,IAAuB,OAAO,OAAO,cAAe,cACxD,OAAO,WAAW,mCAAmC,CAAC;AACxD,MAAY,OAAO,EAAW,WAAY,cAAc,CAAC;GACzD,EAEF,QAAsB;AAAE,KAAQ;GAAI;CAOpC,SAAS,EAAU,GAAU;AAC3B,MAAI,CAAC,EAAW,QAAO;EACvB,IAAM,IAAY,OAAO,KAAiB,aAAa,GAAc,GAAG,EAAM,EAAa,EAErF,KADc,GAAW,OAAO,IACd,cAAc,EAAS;AAC/C,MAAI,CAAC,EAAI,QAAO;EAChB,IAAM,IAAK,iBAAiB,EAAG;AAC/B,SAAO;GACL,MAAM,EAAG,uBAAuB;GAChC,OAAO;IAAE,aAAa,EAAG;IAAa,aAAa,EAAG;IAAa,iBAAiB,EAAG;IAAiB;GACxG;GACD;;CAaH,SAAS,EAAS,EAAE,YAAS,UAAO,gBAAa,cAAW,oBAAiB,EAAE,EAAE,oBAAiB;AAChG,MAAI,CAAC,EAAW;AAChB,KAAQ;EAER,IAAM,IAAU,EAAM,uBAAuB,EACvC,IAAa,MAAgB,YAK7B,IAAgB,IAAa,EAAQ,QAAQ,EAAQ;AAI3D,MAFI,KAAK,IADc,IACV,EAAQ,OAAO,EAAQ,OACvB,EAAQ,MAAM,EAAQ,IAAI,GAClB,IAAgB,EAAG;EAGxC,IAAM,IAAQ,IACT,EAAQ,MAAM,EAAQ,SAAS,KAAM,EAAQ,MAAM,EAAQ,SAAS,KACpE,EAAQ,OAAO,EAAQ,QAAQ,KAAM,EAAQ,OAAO,EAAQ,QAAQ;AACzE,MAAI,MAAU,EAAG;EAEjB,IAAM,IAAO,IAAa,KAAK,EAAM,MAAM,GAAG,EAAM,OAC9C,IAAQ,IACV,KAAK,EAAQ,SAAS,EAAQ,WAC9B,GAAG,EAAQ,QAAQ,EAAQ,MAAM,KAE/B,IAAO;GAAE;GAAU;GAAQ;AASjC,EARA,EAAM,aAAa,EAAM,QACvB,CAAC,GAAW,EAAU,EAAE;GAAE,GAAG;GAAM,MAAM;GAAY,CACtD,EACD,EAAM,YAAY,EAAM,QACtB,CAAC;GAAE,WAAW;GAAM;GAAO,GAAG;GAAgB,EAC5C;GAAE,WAAW;GAAO,OAAO;GAAO,GAAG;GAAgB,CAAC,EACxD;GAAE,GAAG;GAAM;GAAe,CAC3B,EACD,EAAM,UAAU,iBAAiB;AAAE,KAAM,YAAY,QAAQ;;;CAG/D,SAAS,IAAU;AAKjB,EAJI,EAAM,cACR,EAAM,UAAU,WAAW,MAC3B,EAAM,UAAU,QAAQ,GAEtB,EAAM,eACR,EAAM,WAAW,WAAW,MAC5B,EAAM,WAAW,QAAQ;;CAI7B,SAAS,IAAc;AACrB,SAAO;;AAGT,QAAO;EAAE;EAAS;EAAQ;EAAY;EAAU"}
@@ -1,2 +0,0 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e={100:`xs`,200:`sm`,300:`md`,400:`lg`,500:`xl`},t={...e,600:`2xl`,700:`3xl`},n={COMPONENT_SIZES:e,TEXT_HEADLINE_SIZES:t};exports.COMPONENT_SIZES=e,exports.TEXT_HEADLINE_SIZES=t,exports.default=n;
2
- //# sourceMappingURL=sizes.cjs.map