@dialpad/dialtone-vue 3.218.3 → 3.219.0-next.2

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 (763) hide show
  1. package/dist/common/constants/index.cjs +1 -1
  2. package/dist/common/constants/index.cjs.map +1 -1
  3. package/dist/common/constants/index.js +37 -20
  4. package/dist/common/constants/index.js.map +1 -1
  5. package/dist/common/constants/sizes.cjs +2 -0
  6. package/dist/common/constants/sizes.cjs.map +1 -0
  7. package/dist/common/constants/sizes.js +20 -0
  8. package/dist/common/constants/sizes.js.map +1 -0
  9. package/dist/common/mixins/index.cjs +1 -1
  10. package/dist/common/mixins/index.js +9 -7
  11. package/dist/common/mixins/index.js.map +1 -1
  12. package/dist/common/mixins/mode.cjs +2 -0
  13. package/dist/common/mixins/mode.cjs.map +1 -0
  14. package/dist/common/mixins/mode.js +82 -0
  15. package/dist/common/mixins/mode.js.map +1 -0
  16. package/dist/component-documentation.json +1 -1
  17. package/dist/dialtone-vue.cjs +1 -1
  18. package/dist/dialtone-vue.js +464 -408
  19. package/dist/dialtone-vue.js.map +1 -1
  20. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  21. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  22. package/dist/lib/attachment-carousel/attachment-carousel.js +8 -8
  23. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  24. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  25. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  26. package/dist/lib/avatar/avatar-constants.js +169 -43
  27. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  28. package/dist/lib/avatar/avatar.cjs +1 -1
  29. package/dist/lib/avatar/avatar.cjs.map +1 -1
  30. package/dist/lib/avatar/avatar.js +186 -100
  31. package/dist/lib/avatar/avatar.js.map +1 -1
  32. package/dist/lib/avatar/index.cjs +1 -1
  33. package/dist/lib/avatar/index.js +16 -10
  34. package/dist/lib/badge/badge.cjs +1 -1
  35. package/dist/lib/badge/badge.cjs.map +1 -1
  36. package/dist/lib/badge/badge.js +47 -35
  37. package/dist/lib/badge/badge.js.map +1 -1
  38. package/dist/lib/banner/banner.cjs +1 -1
  39. package/dist/lib/banner/banner.cjs.map +1 -1
  40. package/dist/lib/banner/banner.js +19 -18
  41. package/dist/lib/banner/banner.js.map +1 -1
  42. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  43. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  44. package/dist/lib/breadcrumbs/breadcrumb-item.js +4 -1
  45. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  46. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  47. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  48. package/dist/lib/breadcrumbs/breadcrumbs.js +22 -18
  49. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  50. package/dist/lib/button/button-constants.cjs +1 -1
  51. package/dist/lib/button/button-constants.cjs.map +1 -1
  52. package/dist/lib/button/button-constants.js +33 -15
  53. package/dist/lib/button/button-constants.js.map +1 -1
  54. package/dist/lib/button/button.cjs +1 -1
  55. package/dist/lib/button/button.cjs.map +1 -1
  56. package/dist/lib/button/button.js +195 -78
  57. package/dist/lib/button/button.js.map +1 -1
  58. package/dist/lib/button-group/button-group.cjs.map +1 -1
  59. package/dist/lib/button-group/button-group.js +1 -0
  60. package/dist/lib/button-group/button-group.js.map +1 -1
  61. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  62. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  63. package/dist/lib/callbar-button/callbar-button.js +14 -15
  64. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  65. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  66. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  67. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +44 -32
  68. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  69. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  70. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  71. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +40 -28
  72. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  73. package/dist/lib/callbox/callbox.cjs +1 -1
  74. package/dist/lib/callbox/callbox.cjs.map +1 -1
  75. package/dist/lib/callbox/callbox.js +48 -48
  76. package/dist/lib/callbox/callbox.js.map +1 -1
  77. package/dist/lib/checkbox/checkbox.cjs +1 -1
  78. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  79. package/dist/lib/checkbox/checkbox.js +97 -43
  80. package/dist/lib/checkbox/checkbox.js.map +1 -1
  81. package/dist/lib/chip/chip-constants.cjs +1 -1
  82. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  83. package/dist/lib/chip/chip-constants.js +17 -2
  84. package/dist/lib/chip/chip-constants.js.map +1 -1
  85. package/dist/lib/chip/chip.cjs +1 -1
  86. package/dist/lib/chip/chip.cjs.map +1 -1
  87. package/dist/lib/chip/chip.js +17 -17
  88. package/dist/lib/chip/chip.js.map +1 -1
  89. package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
  90. package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
  91. package/dist/lib/codeblock/codeblock-constants.js +12 -0
  92. package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
  93. package/dist/lib/codeblock/codeblock.cjs +1 -2
  94. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  95. package/dist/lib/codeblock/codeblock.js +38 -12
  96. package/dist/lib/codeblock/codeblock.js.map +1 -1
  97. package/dist/lib/collapsible/collapsible.cjs +1 -1
  98. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  99. package/dist/lib/collapsible/collapsible.js +1 -1
  100. package/dist/lib/collapsible/collapsible.js.map +1 -1
  101. package/dist/lib/combobox/combobox.cjs +2 -2
  102. package/dist/lib/combobox/combobox.cjs.map +1 -1
  103. package/dist/lib/combobox/combobox.js +22 -21
  104. package/dist/lib/combobox/combobox.js.map +1 -1
  105. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
  106. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  107. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +16 -6
  108. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  109. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  110. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  111. package/dist/lib/combobox-multi-select/combobox-multi-select.js +48 -46
  112. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  113. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  114. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  115. package/dist/lib/combobox-with-popover/combobox-with-popover.js +37 -29
  116. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  117. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  118. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  119. package/dist/lib/contact-centers-row/contact-centers-row.js +36 -36
  120. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  121. package/dist/lib/contact-info/contact-info.cjs +1 -1
  122. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  123. package/dist/lib/contact-info/contact-info.js +56 -56
  124. package/dist/lib/contact-info/contact-info.js.map +1 -1
  125. package/dist/lib/contact-row/contact-row.cjs +1 -1
  126. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  127. package/dist/lib/contact-row/contact-row.js +3 -3
  128. package/dist/lib/contact-row/contact-row.js.map +1 -1
  129. package/dist/lib/datepicker/datepicker.cjs +1 -1
  130. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  131. package/dist/lib/datepicker/datepicker.js +93 -95
  132. package/dist/lib/datepicker/datepicker.js.map +1 -1
  133. package/dist/lib/description-list/description-list.cjs +1 -1
  134. package/dist/lib/description-list/description-list.cjs.map +1 -1
  135. package/dist/lib/description-list/description-list.js +2 -2
  136. package/dist/lib/description-list/description-list.js.map +1 -1
  137. package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
  138. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  139. package/dist/lib/dropdown/dropdown-constants.js +2 -2
  140. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  141. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  142. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  143. package/dist/lib/dropdown/dropdown-list.js +29 -18
  144. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  145. package/dist/lib/dropdown/dropdown.cjs +1 -1
  146. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  147. package/dist/lib/dropdown/dropdown.js +27 -19
  148. package/dist/lib/dropdown/dropdown.js.map +1 -1
  149. package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
  150. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  151. package/dist/lib/editor/EditorToolbarButton.js +6 -6
  152. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  153. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
  154. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  155. package/dist/lib/editor/EditorToolbarDropdownButton.js +3 -3
  156. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  157. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
  158. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  159. package/dist/lib/editor/EditorToolbarPopoverButton.js +3 -3
  160. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  161. package/dist/lib/editor/editor.cjs +1 -1
  162. package/dist/lib/editor/editor.cjs.map +1 -1
  163. package/dist/lib/editor/editor.js +48 -48
  164. package/dist/lib/editor/editor.js.map +1 -1
  165. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  166. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  167. package/dist/lib/emoji-picker/emoji-picker.js +62 -59
  168. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  169. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  170. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  171. package/dist/lib/emoji-row/emoji-row.js +10 -10
  172. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  173. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  174. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js +2 -1
  175. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  176. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  177. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  178. package/dist/lib/empty-state/empty-state-constants.js +54 -12
  179. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  180. package/dist/lib/empty-state/empty-state.cjs +1 -1
  181. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  182. package/dist/lib/empty-state/empty-state.js +60 -36
  183. package/dist/lib/empty-state/empty-state.js.map +1 -1
  184. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  185. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  186. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  187. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  188. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  189. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  190. package/dist/lib/feed-item-row/feed-item-row.js +12 -12
  191. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  192. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  193. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  194. package/dist/lib/filter-pill/filter-pill.js +569 -0
  195. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  196. package/dist/lib/filter-pill/index.cjs +2 -0
  197. package/dist/lib/filter-pill/index.cjs.map +1 -0
  198. package/dist/lib/filter-pill/index.js +5 -0
  199. package/dist/lib/filter-pill/index.js.map +1 -0
  200. package/dist/lib/general-row/general-row.cjs +1 -1
  201. package/dist/lib/general-row/general-row.cjs.map +1 -1
  202. package/dist/lib/general-row/general-row.js +154 -100
  203. package/dist/lib/general-row/general-row.js.map +1 -1
  204. package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  205. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  206. package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
  207. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  208. package/dist/lib/group-row/group-row.cjs +1 -1
  209. package/dist/lib/group-row/group-row.cjs.map +1 -1
  210. package/dist/lib/group-row/group-row.js +2 -2
  211. package/dist/lib/group-row/group-row.js.map +1 -1
  212. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  213. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  214. package/dist/lib/grouped-chip/grouped-chip.js +33 -33
  215. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  216. package/dist/lib/hovercard/hovercard.cjs +1 -1
  217. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  218. package/dist/lib/hovercard/hovercard.js +37 -28
  219. package/dist/lib/hovercard/hovercard.js.map +1 -1
  220. package/dist/lib/icon/icon.cjs +1 -1
  221. package/dist/lib/icon/icon.cjs.map +1 -1
  222. package/dist/lib/icon/icon.js +1 -1
  223. package/dist/lib/icon/icon.js.map +1 -1
  224. package/dist/lib/illustration/illustration.cjs +1 -1
  225. package/dist/lib/illustration/illustration.cjs.map +1 -1
  226. package/dist/lib/illustration/illustration.js +1 -1
  227. package/dist/lib/illustration/illustration.js.map +1 -1
  228. package/dist/lib/image-viewer/image-viewer.cjs +1 -1
  229. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  230. package/dist/lib/image-viewer/image-viewer.js +28 -27
  231. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  232. package/dist/lib/input/input-constants.cjs +1 -1
  233. package/dist/lib/input/input-constants.cjs.map +1 -1
  234. package/dist/lib/input/input-constants.js +43 -22
  235. package/dist/lib/input/input-constants.js.map +1 -1
  236. package/dist/lib/input/input.cjs +1 -1
  237. package/dist/lib/input/input.cjs.map +1 -1
  238. package/dist/lib/input/input.js +165 -79
  239. package/dist/lib/input/input.js.map +1 -1
  240. package/dist/lib/input-group/input-group.cjs +1 -1
  241. package/dist/lib/input-group/input-group.cjs.map +1 -1
  242. package/dist/lib/input-group/input-group.js +35 -28
  243. package/dist/lib/input-group/input-group.js.map +1 -1
  244. package/dist/lib/item-layout/item-layout.cjs +3 -3
  245. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout/item-layout.js +74 -39
  247. package/dist/lib/item-layout/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node/ivr-node.cjs +1 -1
  249. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node/ivr-node.js +1 -1
  251. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  253. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +57 -43
  255. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  257. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  258. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  259. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  260. package/dist/lib/link/link.cjs +1 -1
  261. package/dist/lib/link/link.cjs.map +1 -1
  262. package/dist/lib/link/link.js +22 -12
  263. package/dist/lib/link/link.js.map +1 -1
  264. package/dist/lib/list-item/list-item.cjs +1 -1
  265. package/dist/lib/list-item/list-item.cjs.map +1 -1
  266. package/dist/lib/list-item/list-item.js +27 -16
  267. package/dist/lib/list-item/list-item.js.map +1 -1
  268. package/dist/lib/message-input/message-input-button.cjs +1 -1
  269. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  270. package/dist/lib/message-input/message-input-button.js +4 -4
  271. package/dist/lib/message-input/message-input-button.js.map +1 -1
  272. package/dist/lib/message-input/message-input-link.cjs +1 -1
  273. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  274. package/dist/lib/message-input/message-input-link.js +12 -12
  275. package/dist/lib/message-input/message-input-link.js.map +1 -1
  276. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  277. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  278. package/dist/lib/message-input/message-input-topbar.js +2 -2
  279. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  280. package/dist/lib/message-input/message-input.cjs +1 -1
  281. package/dist/lib/message-input/message-input.cjs.map +1 -1
  282. package/dist/lib/message-input/message-input.js +52 -52
  283. package/dist/lib/message-input/message-input.js.map +1 -1
  284. package/dist/lib/modal/modal.cjs +1 -1
  285. package/dist/lib/modal/modal.cjs.map +1 -1
  286. package/dist/lib/modal/modal.js +120 -106
  287. package/dist/lib/modal/modal.js.map +1 -1
  288. package/dist/lib/mode-directive/index.cjs +2 -0
  289. package/dist/lib/mode-directive/index.cjs.map +1 -0
  290. package/dist/lib/mode-directive/index.js +5 -0
  291. package/dist/lib/mode-directive/index.js.map +1 -0
  292. package/dist/lib/mode-directive/mode.cjs +2 -0
  293. package/dist/lib/mode-directive/mode.cjs.map +1 -0
  294. package/dist/lib/mode-directive/mode.js +75 -0
  295. package/dist/lib/mode-directive/mode.js.map +1 -0
  296. package/dist/lib/mode-island/index.cjs +2 -0
  297. package/dist/lib/mode-island/index.cjs.map +1 -0
  298. package/dist/lib/mode-island/index.js +7 -0
  299. package/dist/lib/mode-island/index.js.map +1 -0
  300. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  301. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  302. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  303. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  304. package/dist/lib/mode-island/mode-island.cjs +2 -0
  305. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  306. package/dist/lib/mode-island/mode-island.js +130 -0
  307. package/dist/lib/mode-island/mode-island.js.map +1 -0
  308. package/dist/lib/mode-island/utils.cjs +2 -0
  309. package/dist/lib/mode-island/utils.cjs.map +1 -0
  310. package/dist/lib/mode-island/utils.js +32 -0
  311. package/dist/lib/mode-island/utils.js.map +1 -0
  312. package/dist/lib/mode-island/validators.cjs +2 -0
  313. package/dist/lib/mode-island/validators.cjs.map +1 -0
  314. package/dist/lib/mode-island/validators.js +12 -0
  315. package/dist/lib/mode-island/validators.js.map +1 -0
  316. package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
  317. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  318. package/dist/lib/motion-text/motion-text-constants.js +18 -8
  319. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  320. package/dist/lib/motion-text/motion-text.cjs +1 -1
  321. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  322. package/dist/lib/motion-text/motion-text.js +17 -17
  323. package/dist/lib/motion-text/motion-text.js.map +1 -1
  324. package/dist/lib/notice/notice-action.cjs +1 -1
  325. package/dist/lib/notice/notice-action.cjs.map +1 -1
  326. package/dist/lib/notice/notice-action.js +9 -9
  327. package/dist/lib/notice/notice-action.js.map +1 -1
  328. package/dist/lib/notice/notice-content.cjs +1 -1
  329. package/dist/lib/notice/notice-content.cjs.map +1 -1
  330. package/dist/lib/notice/notice-content.js +38 -21
  331. package/dist/lib/notice/notice-content.js.map +1 -1
  332. package/dist/lib/notice/notice-icon.cjs +1 -1
  333. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  334. package/dist/lib/notice/notice-icon.js +1 -1
  335. package/dist/lib/notice/notice-icon.js.map +1 -1
  336. package/dist/lib/notice/notice.cjs +1 -1
  337. package/dist/lib/notice/notice.cjs.map +1 -1
  338. package/dist/lib/notice/notice.js +20 -19
  339. package/dist/lib/notice/notice.js.map +1 -1
  340. package/dist/lib/pagination/pagination.cjs +1 -1
  341. package/dist/lib/pagination/pagination.cjs.map +1 -1
  342. package/dist/lib/pagination/pagination.js +16 -15
  343. package/dist/lib/pagination/pagination.js.map +1 -1
  344. package/dist/lib/popover/popover-constants.cjs +1 -1
  345. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  346. package/dist/lib/popover/popover-constants.js +16 -16
  347. package/dist/lib/popover/popover-constants.js.map +1 -1
  348. package/dist/lib/popover/popover-header-footer.cjs +1 -1
  349. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  350. package/dist/lib/popover/popover-header-footer.js +19 -12
  351. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  352. package/dist/lib/popover/popover.cjs +1 -1
  353. package/dist/lib/popover/popover.cjs.map +1 -1
  354. package/dist/lib/popover/popover.js +80 -62
  355. package/dist/lib/popover/popover.js.map +1 -1
  356. package/dist/lib/radio/radio.cjs +1 -1
  357. package/dist/lib/radio/radio.cjs.map +1 -1
  358. package/dist/lib/radio/radio.js +103 -41
  359. package/dist/lib/radio/radio.js.map +1 -1
  360. package/dist/lib/rich-text-editor/rich-text-editor.cjs +3 -3
  361. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  362. package/dist/lib/rich-text-editor/rich-text-editor.js +637 -590
  363. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  364. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  365. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  366. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  367. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  368. package/dist/lib/root-layout/root-layout.cjs +1 -1
  369. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  370. package/dist/lib/root-layout/root-layout.js +15 -13
  371. package/dist/lib/root-layout/root-layout.js.map +1 -1
  372. package/dist/lib/segmented-control/index.cjs +2 -0
  373. package/dist/lib/segmented-control/index.cjs.map +1 -0
  374. package/dist/lib/segmented-control/index.js +20 -0
  375. package/dist/lib/segmented-control/index.js.map +1 -0
  376. package/dist/lib/segmented-control/segmented-control-constants.cjs +2 -0
  377. package/dist/lib/segmented-control/segmented-control-constants.cjs.map +1 -0
  378. package/dist/lib/segmented-control/segmented-control-constants.js +45 -0
  379. package/dist/lib/segmented-control/segmented-control-constants.js.map +1 -0
  380. package/dist/lib/segmented-control/segmented-control-item.cjs +2 -0
  381. package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -0
  382. package/dist/lib/segmented-control/segmented-control-item.js +124 -0
  383. package/dist/lib/segmented-control/segmented-control-item.js.map +1 -0
  384. package/dist/lib/segmented-control/segmented-control.cjs +2 -0
  385. package/dist/lib/segmented-control/segmented-control.cjs.map +1 -0
  386. package/dist/lib/segmented-control/segmented-control.js +236 -0
  387. package/dist/lib/segmented-control/segmented-control.js.map +1 -0
  388. package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
  389. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  390. package/dist/lib/select-menu/select-menu-constants.js +13 -6
  391. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  392. package/dist/lib/select-menu/select-menu.cjs +1 -1
  393. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  394. package/dist/lib/select-menu/select-menu.js +133 -67
  395. package/dist/lib/select-menu/select-menu.js.map +1 -1
  396. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  397. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  398. package/dist/lib/settings-menu-button/settings-menu-button.js +20 -20
  399. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  400. package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
  401. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  402. package/dist/lib/skeleton/skeleton-constants.js +26 -14
  403. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  404. package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
  405. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  406. package/dist/lib/skeleton/skeleton-list-item.js +3 -3
  407. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  408. package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
  409. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  410. package/dist/lib/skeleton/skeleton-shape.js +11 -11
  411. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  412. package/dist/lib/split-button/split-button-constants.cjs +1 -1
  413. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  414. package/dist/lib/split-button/split-button-constants.js +7 -0
  415. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  416. package/dist/lib/split-button/split-button-end.cjs +2 -0
  417. package/dist/lib/split-button/split-button-end.cjs.map +1 -0
  418. package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +16 -16
  419. package/dist/lib/split-button/split-button-end.js.map +1 -0
  420. package/dist/lib/split-button/split-button-start.cjs +2 -0
  421. package/dist/lib/split-button/split-button-start.cjs.map +1 -0
  422. package/dist/lib/split-button/split-button-start.js +231 -0
  423. package/dist/lib/split-button/split-button-start.js.map +1 -0
  424. package/dist/lib/split-button/split-button.cjs +1 -1
  425. package/dist/lib/split-button/split-button.cjs.map +1 -1
  426. package/dist/lib/split-button/split-button.js +337 -101
  427. package/dist/lib/split-button/split-button.js.map +1 -1
  428. package/dist/lib/stack/stack-constants.cjs +1 -1
  429. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  430. package/dist/lib/stack/stack-constants.js +1 -1
  431. package/dist/lib/stack/stack-constants.js.map +1 -1
  432. package/dist/lib/stack/stack.cjs.map +1 -1
  433. package/dist/lib/stack/stack.js +5 -3
  434. package/dist/lib/stack/stack.js.map +1 -1
  435. package/dist/lib/tab/index.cjs +1 -1
  436. package/dist/lib/tab/index.js +14 -11
  437. package/dist/lib/tab/tab-group.cjs +1 -1
  438. package/dist/lib/tab/tab-group.cjs.map +1 -1
  439. package/dist/lib/tab/tab-group.js +171 -56
  440. package/dist/lib/tab/tab-group.js.map +1 -1
  441. package/dist/lib/tab/tab.cjs +1 -1
  442. package/dist/lib/tab/tab.cjs.map +1 -1
  443. package/dist/lib/tab/tab.js +105 -31
  444. package/dist/lib/tab/tab.js.map +1 -1
  445. package/dist/lib/tab/tabs-constants.cjs +1 -1
  446. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  447. package/dist/lib/tab/tabs-constants.js +31 -10
  448. package/dist/lib/tab/tabs-constants.js.map +1 -1
  449. package/dist/lib/text/index.cjs +2 -0
  450. package/dist/lib/text/index.cjs.map +1 -0
  451. package/dist/lib/text/index.js +20 -0
  452. package/dist/lib/text/index.js.map +1 -0
  453. package/dist/lib/text/text-constants.cjs +2 -0
  454. package/dist/lib/text/text-constants.cjs.map +1 -0
  455. package/dist/lib/text/text-constants.js +78 -0
  456. package/dist/lib/text/text-constants.js.map +1 -0
  457. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  458. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  459. package/dist/lib/text/text-tone-tokens.js +33 -0
  460. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  461. package/dist/lib/text/text.cjs +2 -0
  462. package/dist/lib/text/text.cjs.map +1 -0
  463. package/dist/lib/text/text.js +206 -0
  464. package/dist/lib/text/text.js.map +1 -0
  465. package/dist/lib/toast/toast.cjs +1 -1
  466. package/dist/lib/toast/toast.cjs.map +1 -1
  467. package/dist/lib/toast/toast.js +12 -11
  468. package/dist/lib/toast/toast.js.map +1 -1
  469. package/dist/lib/toggle/toggle-constants.cjs +1 -1
  470. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  471. package/dist/lib/toggle/toggle-constants.js +6 -2
  472. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  473. package/dist/lib/toggle/toggle.cjs +1 -1
  474. package/dist/lib/toggle/toggle.cjs.map +1 -1
  475. package/dist/lib/toggle/toggle.js +39 -35
  476. package/dist/lib/toggle/toggle.js.map +1 -1
  477. package/dist/lib/tooltip/tooltip.cjs +2 -2
  478. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  479. package/dist/lib/tooltip/tooltip.js +31 -26
  480. package/dist/lib/tooltip/tooltip.js.map +1 -1
  481. package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
  482. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  483. package/dist/lib/tooltip-directive/tooltip.js +40 -39
  484. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  485. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  486. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  487. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  488. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  489. package/dist/lib/unread-pill/unread-pill.cjs +1 -1
  490. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  491. package/dist/lib/unread-pill/unread-pill.js +1 -1
  492. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  493. package/dist/localization/en-US.cjs +5 -0
  494. package/dist/localization/en-US.cjs.map +1 -1
  495. package/dist/localization/en-US.js +5 -0
  496. package/dist/localization/en-US.js.map +1 -1
  497. package/dist/mode_constants-C1GFodVj.js +14 -0
  498. package/dist/mode_constants-C1GFodVj.js.map +1 -0
  499. package/dist/mode_constants-DeLSnTcQ.cjs +2 -0
  500. package/dist/mode_constants-DeLSnTcQ.cjs.map +1 -0
  501. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  502. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  503. package/dist/shared/sr_only_close_button.cjs +1 -1
  504. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  505. package/dist/shared/sr_only_close_button.js +1 -1
  506. package/dist/shared/sr_only_close_button.js.map +1 -1
  507. package/dist/style.css +1 -1
  508. package/dist/types/common/constants/index.d.ts +25 -19
  509. package/dist/types/common/constants/index.d.ts.map +1 -1
  510. package/dist/types/common/constants/sizes.d.ts +22 -0
  511. package/dist/types/common/constants/sizes.d.ts.map +1 -0
  512. package/dist/types/common/mixins/index.d.ts +1 -0
  513. package/dist/types/common/mixins/mode.d.ts +25 -0
  514. package/dist/types/common/mixins/mode.d.ts.map +1 -0
  515. package/dist/types/common/mode_constants.d.ts +37 -0
  516. package/dist/types/common/mode_constants.d.ts.map +1 -0
  517. package/dist/types/common/sr_only_close_button.vue.d.ts +53 -7
  518. package/dist/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  519. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  520. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  521. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  522. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  523. package/dist/types/components/avatar/index.d.ts +1 -1
  524. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  525. package/dist/types/components/banner/banner.vue.d.ts +246 -15
  526. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  527. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  528. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  529. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  530. package/dist/types/components/button/button.vue.d.ts +53 -7
  531. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  532. package/dist/types/components/button/button_constants.d.ts +28 -19
  533. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  534. package/dist/types/components/checkbox/checkbox.vue.d.ts +178 -4
  535. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  536. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +138 -0
  537. package/dist/types/components/chip/chip.vue.d.ts +58 -12
  538. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  539. package/dist/types/components/chip/chip_constants.d.ts +24 -21
  540. package/dist/types/components/chip/chip_constants.d.ts.map +1 -1
  541. package/dist/types/components/codeblock/codeblock.vue.d.ts +25 -2
  542. package/dist/types/components/codeblock/codeblock.vue.d.ts.map +1 -1
  543. package/dist/types/components/codeblock/codeblock_constants.d.ts +9 -0
  544. package/dist/types/components/codeblock/codeblock_constants.d.ts.map +1 -0
  545. package/dist/types/components/collapsible/collapsible.vue.d.ts +53 -7
  546. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  547. package/dist/types/components/combobox/combobox.vue.d.ts +109 -34
  548. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  549. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +40 -7
  550. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  551. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +64 -22
  552. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  553. package/dist/types/components/combobox_multi_select/combobox_multi_select_constants.d.ts +16 -13
  554. package/dist/types/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
  555. package/dist/types/components/combobox_with_popover/combobox_with_popover.vue.d.ts +388 -82
  556. package/dist/types/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  557. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  558. package/dist/types/components/dropdown/dropdown.vue.d.ts +170 -14
  559. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  560. package/dist/types/components/emoji/emoji.vue.d.ts +24 -15
  561. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +196 -6
  562. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +196 -6
  563. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  564. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  565. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +24 -15
  566. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  567. package/dist/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  568. package/dist/types/components/empty_state/empty_state_constants.d.ts +52 -31
  569. package/dist/types/components/empty_state/empty_state_constants.d.ts.map +1 -1
  570. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +4487 -0
  571. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  572. package/dist/types/components/filter_pill/index.d.ts +2 -0
  573. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  574. package/dist/types/components/hovercard/hovercard.vue.d.ts +368 -29
  575. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  576. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +131 -14
  577. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  578. package/dist/types/components/input/input.vue.d.ts +187 -5
  579. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  580. package/dist/types/components/input/input_constants.d.ts +44 -46
  581. package/dist/types/components/input/input_constants.d.ts.map +1 -1
  582. package/dist/types/components/input_group/input_group.vue.d.ts +138 -0
  583. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  584. package/dist/types/components/item_layout/item_layout.vue.d.ts +37 -6
  585. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  586. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +138 -0
  587. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  588. package/dist/types/components/link/link.vue.d.ts +9 -0
  589. package/dist/types/components/list_item/list_item.vue.d.ts +40 -7
  590. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  591. package/dist/types/components/modal/modal.vue.d.ts +271 -16
  592. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  593. package/dist/types/components/mode_island/index.d.ts +3 -0
  594. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  595. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  596. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  597. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  598. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  599. package/dist/types/components/mode_island/utils.d.ts +12 -0
  600. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  601. package/dist/types/components/mode_island/validators.d.ts +6 -0
  602. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  603. package/dist/types/components/motion_text/motion_text_constants.d.ts +27 -23
  604. package/dist/types/components/motion_text/motion_text_constants.d.ts.map +1 -1
  605. package/dist/types/components/notice/notice.vue.d.ts +246 -15
  606. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  607. package/dist/types/components/notice/notice_action.vue.d.ts +106 -14
  608. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  609. package/dist/types/components/notice/notice_content.vue.d.ts +140 -1
  610. package/dist/types/components/notice/notice_content.vue.d.ts.map +1 -1
  611. package/dist/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  612. package/dist/types/components/pagination/pagination.vue.d.ts +53 -7
  613. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  614. package/dist/types/components/popover/popover.vue.d.ts +159 -14
  615. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  616. package/dist/types/components/popover/popover_header_footer.vue.d.ts +62 -7
  617. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  618. package/dist/types/components/radio/radio.vue.d.ts +173 -0
  619. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  620. package/dist/types/components/radio_group/radio_group.vue.d.ts +138 -0
  621. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  622. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  623. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  624. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +24 -15
  625. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +24 -15
  626. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  627. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +209 -25
  628. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  629. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +140 -1
  630. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  631. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
  632. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  633. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +399 -26
  634. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  635. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  636. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  637. package/dist/types/components/segmented_control/index.d.ts +4 -0
  638. package/dist/types/components/segmented_control/index.d.ts.map +1 -0
  639. package/dist/types/components/segmented_control/segmented_control.vue.d.ts +224 -0
  640. package/dist/types/components/segmented_control/segmented_control.vue.d.ts.map +1 -0
  641. package/dist/types/components/segmented_control/segmented_control_constants.d.ts +41 -0
  642. package/dist/types/components/segmented_control/segmented_control_constants.d.ts.map +1 -0
  643. package/dist/types/components/segmented_control/segmented_control_item.vue.d.ts +35 -0
  644. package/dist/types/components/segmented_control/segmented_control_item.vue.d.ts.map +1 -0
  645. package/dist/types/components/select_menu/select_menu.vue.d.ts +182 -18
  646. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  647. package/dist/types/components/select_menu/select_menu_constants.d.ts +12 -7
  648. package/dist/types/components/select_menu/select_menu_constants.d.ts.map +1 -1
  649. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +13 -10
  650. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -0
  651. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  652. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +3 -0
  653. package/dist/types/components/skeleton/skeleton.vue.d.ts +24 -15
  654. package/dist/types/components/skeleton/skeleton_constants.d.ts +18 -13
  655. package/dist/types/components/skeleton/skeleton_constants.d.ts.map +1 -1
  656. package/dist/types/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +64 -13
  657. package/dist/types/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
  658. package/dist/types/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +125 -11
  659. package/dist/types/components/split_button/split_button-start.vue.d.ts.map +1 -0
  660. package/dist/types/components/split_button/split_button.vue.d.ts +589 -66
  661. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  662. package/dist/types/components/split_button/split_button_constants.d.ts +12 -7
  663. package/dist/types/components/split_button/split_button_constants.d.ts.map +1 -1
  664. package/dist/types/components/stack/stack_constants.d.ts.map +1 -1
  665. package/dist/types/components/tab/index.d.ts +1 -1
  666. package/dist/types/components/tab/tab.vue.d.ts +85 -11
  667. package/dist/types/components/tab/tab.vue.d.ts.map +1 -1
  668. package/dist/types/components/tab/tab_group.vue.d.ts +91 -5
  669. package/dist/types/components/tab/tab_group.vue.d.ts.map +1 -1
  670. package/dist/types/components/tab/tabs_constants.d.ts +23 -5
  671. package/dist/types/components/tab/tabs_constants.d.ts.map +1 -1
  672. package/dist/types/components/text/index.d.ts +3 -0
  673. package/dist/types/components/text/index.d.ts.map +1 -0
  674. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  675. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  676. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  677. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  678. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  679. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  680. package/dist/types/components/text/text.vue.d.ts +141 -0
  681. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  682. package/dist/types/components/text/text_constants.d.ts +82 -0
  683. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  684. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  685. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  686. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +246 -15
  687. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  688. package/dist/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  689. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +246 -15
  690. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  691. package/dist/types/components/toast/toast.vue.d.ts +1033 -109
  692. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  693. package/dist/types/components/toggle/toggle.vue.d.ts +14 -6
  694. package/dist/types/components/toggle/toggle.vue.d.ts.map +1 -1
  695. package/dist/types/components/toggle/toggle_constants.d.ts +6 -4
  696. package/dist/types/components/toggle/toggle_constants.d.ts.map +1 -1
  697. package/dist/types/components/tooltip/tooltip.vue.d.ts +27 -1
  698. package/dist/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
  699. package/dist/types/directives/mode_directive/index.d.ts +2 -0
  700. package/dist/types/directives/mode_directive/index.d.ts.map +1 -0
  701. package/dist/types/directives/mode_directive/mode.d.ts +6 -0
  702. package/dist/types/directives/mode_directive/mode.d.ts.map +1 -0
  703. package/dist/types/directives/tooltip_directive/tooltip.d.ts.map +1 -1
  704. package/dist/types/index.d.ts +5 -0
  705. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +80 -8
  706. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  707. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +303 -29
  708. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  709. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +293 -30
  710. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  711. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +223 -21
  712. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  713. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +58 -12
  714. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  715. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +237 -28
  716. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  717. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +184 -21
  718. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  719. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +53 -7
  720. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +223 -21
  721. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  722. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +212 -21
  723. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  724. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +128 -38
  725. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  726. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +90 -13
  727. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  728. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +111 -32
  729. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  730. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +90 -13
  731. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  732. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +218 -8
  733. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  734. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +617 -34
  735. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  736. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +218 -8
  737. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  738. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +53 -7
  739. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  740. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +108 -31
  741. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  742. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  743. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  744. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +77 -22
  745. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  746. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +557 -64
  747. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  748. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +462 -24
  749. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  750. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  751. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +462 -24
  752. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  753. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  754. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  755. package/package.json +6 -5
  756. package/dist/lib/split-button/split-button-alpha.cjs +0 -2
  757. package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
  758. package/dist/lib/split-button/split-button-alpha.js +0 -138
  759. package/dist/lib/split-button/split-button-alpha.js.map +0 -1
  760. package/dist/lib/split-button/split-button-omega.cjs +0 -2
  761. package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
  762. package/dist/lib/split-button/split-button-omega.js.map +0 -1
  763. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { default as r } from "./mode-island.js";
2
+ import { DT_MODE_ISLAND_TYPES as D } from "./mode-island-constants.js";
3
+ export {
4
+ D as DT_MODE_ISLAND_TYPES,
5
+ r as DtModeIsland
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={INVERTED:"inverted",LIGHT:"light",DARK:"dark"},t={DT_MODE_ISLAND_TYPES:e};exports.DT_MODE_ISLAND_TYPES=e;exports.default=t;
2
+ //# sourceMappingURL=mode-island-constants.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-island-constants.cjs","sources":["../../../components/mode_island/mode_island_constants.js"],"sourcesContent":["export const DT_MODE_ISLAND_TYPES = {\n INVERTED: 'inverted',\n LIGHT: 'light',\n DARK: 'dark',\n};\n\nexport default {\n DT_MODE_ISLAND_TYPES,\n};"],"names":["DT_MODE_ISLAND_TYPES","mode_island_constants"],"mappings":"4GAAY,MAACA,EAAuB,CAClC,SAAU,WACV,MAAO,QACP,KAAM,MACR,EAEAC,EAAe,CACb,qBAAAD,CACF"}
@@ -0,0 +1,12 @@
1
+ const t = {
2
+ INVERTED: "inverted",
3
+ LIGHT: "light",
4
+ DARK: "dark"
5
+ }, n = {
6
+ DT_MODE_ISLAND_TYPES: t
7
+ };
8
+ export {
9
+ t as DT_MODE_ISLAND_TYPES,
10
+ n as default
11
+ };
12
+ //# sourceMappingURL=mode-island-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-island-constants.js","sources":["../../../components/mode_island/mode_island_constants.js"],"sourcesContent":["export const DT_MODE_ISLAND_TYPES = {\n INVERTED: 'inverted',\n LIGHT: 'light',\n DARK: 'dark',\n};\n\nexport default {\n DT_MODE_ISLAND_TYPES,\n};"],"names":["DT_MODE_ISLAND_TYPES","mode_island_constants"],"mappings":"AAAY,MAACA,IAAuB;AAAA,EAClC,UAAU;AAAA,EACV,OAAO;AAAA,EACP,MAAM;AACR,GAEAC,IAAe;AAAA,EACb,sBAAAD;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("./mode-island-constants.cjs"),l=require("./validators.cjs"),r=require("./utils.cjs"),o=require("vue"),u=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),c={name:"DtModeIsland",compatConfig:{MODE:3},provide(){return{dtModeIslandMode:()=>this.computedMode}},inject:{parentModeIslandMode:{from:"dtModeIslandMode",default:null}},inheritAttrs:!1,props:{as:{type:String,default:"div"},mode:{type:String,default:d.DT_MODE_ISLAND_TYPES.INVERTED,validator:l.modeValidator}},data(){return{currentContrast:r.getRootContrast(),contrastObserver:null,modeObserver:null,elementRef:null,calculatedMode:null}},computed:{isInverted(){return this.mode===d.DT_MODE_ISLAND_TYPES.INVERTED},invertedAttribute(){return this.isInverted?"":null},computedMode(){return this.mode===d.DT_MODE_ISLAND_TYPES.LIGHT||this.mode===d.DT_MODE_ISLAND_TYPES.DARK?this.mode:this.mode===d.DT_MODE_ISLAND_TYPES.INVERTED&&this.calculatedMode?this.calculatedMode:this.calculateInvertedMode()}},beforeCreate(){if(this.$attrs&&this.$attrs["data-dt-brand"])throw new Error("[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.")},mounted(){this.elementRef=this.$el,this.setupContrastObserver(),this.isInverted&&(this.calculatedMode=this.calculateInvertedMode(),this.setupModeObserver()),this.currentContrast=r.getRootContrast()},beforeUnmount(){this.contrastObserver&&(this.contrastObserver.disconnect(),this.contrastObserver=null),this.modeObserver&&(this.modeObserver.disconnect(),this.modeObserver=null)},methods:{calculateInvertedMode(){if(this.parentModeIslandMode){const e=typeof this.parentModeIslandMode=="function"?this.parentModeIslandMode():this.parentModeIslandMode;return r.getOppositeMode(e)}if(this.elementRef){const e=r.findParentMode(this.elementRef);return r.getOppositeMode(e)}return r.getOppositeMode(r.getRootMode())},setupContrastObserver(){this.contrastObserver=new MutationObserver(e=>{for(const t of e)t.type==="attributes"&&t.attributeName==="data-dt-contrast"&&(this.currentContrast=r.getRootContrast())}),this.contrastObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-dt-contrast"]})},setupModeObserver(){var s;const e={attributes:!0,attributeFilter:["data-dt-mode"],subtree:!1};this.modeObserver=new MutationObserver(a=>{for(const n of a)n.type==="attributes"&&n.attributeName==="data-dt-mode"&&(this.calculatedMode=this.calculateInvertedMode())}),this.modeObserver.observe(document.documentElement,e);let t=(s=this.elementRef)==null?void 0:s.parentElement;for(;t;)t.hasAttribute("data-dt-mode")&&this.modeObserver.observe(t,e),t=t.parentElement}}};function m(e,t,s,a,n,i){return o.openBlock(),o.createBlock(o.resolveDynamicComponent(s.as),o.mergeProps({class:"d-mode-island"},e.$attrs,{"data-dt-mode":i.computedMode,"data-mode-island-inverted":i.invertedAttribute,"data-dt-contrast":n.currentContrast}),{default:o.withCtx(()=>[o.renderSlot(e.$slots,"default")]),_:3},16,["data-dt-mode","data-mode-island-inverted","data-dt-contrast"])}const h=u._(c,[["render",m]]);exports.default=h;
2
+ //# sourceMappingURL=mode-island.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-island.cjs","sources":["../../../components/mode_island/mode_island.vue"],"sourcesContent":["<template>\n <component\n :is=\"as\"\n class=\"d-mode-island\"\n v-bind=\"$attrs\"\n :data-dt-mode=\"computedMode\"\n :data-mode-island-inverted=\"invertedAttribute\"\n :data-dt-contrast=\"currentContrast\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\nimport { modeValidator } from './validators';\nimport {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n} from './utils';\n\nexport default {\n name: 'DtModeIsland',\n compatConfig: { MODE: 3 },\n\n provide () {\n return {\n dtModeIslandMode: () => this.computedMode,\n };\n },\n\n inject: {\n parentModeIslandMode: {\n from: 'dtModeIslandMode',\n default: null,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Set this prop to render the mode island as a specific HTML element.\n * @type {String}\n * @values div, section, nav, article, aside, header, footer, main\n */\n as: {\n type: String,\n default: 'div',\n },\n\n /**\n * The mode to apply to the island.\n * - 'inverted': Opposite of parent or root mode\n * - 'light': Always light mode\n * - 'dark': Always dark mode\n * @type {String}\n * @values inverted, light, dark\n */\n mode: {\n type: String,\n default: DT_MODE_ISLAND_TYPES.INVERTED,\n validator: modeValidator,\n },\n },\n\n data () {\n return {\n currentContrast: getRootContrast(),\n contrastObserver: null,\n modeObserver: null,\n elementRef: null,\n calculatedMode: null, // Store calculated mode as reactive data\n };\n },\n\n computed: {\n isInverted () {\n return this.mode === DT_MODE_ISLAND_TYPES.INVERTED;\n },\n\n invertedAttribute () {\n return this.isInverted ? '' : null;\n },\n\n computedMode () {\n // If mode is explicitly light or dark, use it directly\n if (this.mode === DT_MODE_ISLAND_TYPES.LIGHT || this.mode === DT_MODE_ISLAND_TYPES.DARK) {\n return this.mode;\n }\n\n // If mode is inverted, use the calculated mode if available\n if (this.mode === DT_MODE_ISLAND_TYPES.INVERTED && this.calculatedMode) {\n return this.calculatedMode;\n }\n\n // Otherwise calculate it now\n return this.calculateInvertedMode();\n },\n },\n\n beforeCreate () {\n // Throw error if data-dt-brand is manually set\n if (this.$attrs && this.$attrs['data-dt-brand']) {\n throw new Error('[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.');\n }\n },\n\n mounted () {\n // Store element reference\n this.elementRef = this.$el;\n\n // Setup MutationObserver to watch for contrast changes on root\n this.setupContrastObserver();\n\n // Setup MutationObserver to watch for mode changes (only if inverted)\n if (this.isInverted) {\n // Initialize the calculated mode\n this.calculatedMode = this.calculateInvertedMode();\n this.setupModeObserver();\n }\n\n // Initial contrast value\n this.currentContrast = getRootContrast();\n },\n\n beforeUnmount () {\n // Cleanup observers\n if (this.contrastObserver) {\n this.contrastObserver.disconnect();\n this.contrastObserver = null;\n }\n if (this.modeObserver) {\n this.modeObserver.disconnect();\n this.modeObserver = null;\n }\n },\n\n methods: {\n calculateInvertedMode () {\n // First check if there's a parent mode island\n if (this.parentModeIslandMode) {\n const parentMode = typeof this.parentModeIslandMode === 'function'\n ? this.parentModeIslandMode()\n : this.parentModeIslandMode;\n return getOppositeMode(parentMode);\n }\n\n // Otherwise, find the nearest parent with data-dt-mode\n if (this.elementRef) {\n const parentMode = findParentMode(this.elementRef);\n return getOppositeMode(parentMode);\n }\n\n // Default fallback\n return getOppositeMode(getRootMode());\n },\n\n setupContrastObserver () {\n this.contrastObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-contrast') {\n this.currentContrast = getRootContrast();\n }\n }\n });\n\n this.contrastObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['data-dt-contrast'],\n });\n },\n\n setupModeObserver () {\n const config = {\n attributes: true,\n attributeFilter: ['data-dt-mode'],\n subtree: false,\n };\n\n this.modeObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-mode') {\n // Recalculate and update the reactive data property\n this.calculatedMode = this.calculateInvertedMode();\n }\n }\n });\n\n // Observe root element\n this.modeObserver.observe(document.documentElement, config);\n\n // Also observe all parent elements with data-dt-mode\n let parent = this.elementRef?.parentElement;\n while (parent) {\n if (parent.hasAttribute('data-dt-mode')) {\n this.modeObserver.observe(parent, config);\n }\n parent = parent.parentElement;\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DT_MODE_ISLAND_TYPES","modeValidator","getRootContrast","parentMode","getOppositeMode","findParentMode","getRootMode","mutationsList","mutation","config","parent","_a","_createBlock","_resolveDynamicComponent","$props","_mergeProps","_ctx","$options","$data","_renderSlot"],"mappings":"6RAwBKA,EAAU,CACb,KAAM,eACN,aAAc,CAAE,KAAM,GAEtB,SAAW,CACT,MAAO,CACL,iBAAkB,IAAM,KAAK,aAEjC,EAEA,OAAQ,CACN,qBAAsB,CACpB,KAAM,mBACN,QAAS,OAIb,aAAc,GAEd,MAAO,CAML,GAAI,CACF,KAAM,OACN,QAAS,OAWX,KAAM,CACJ,KAAM,OACN,QAASC,EAAAA,qBAAqB,SAC9B,UAAWC,EAAAA,gBAIf,MAAQ,CACN,MAAO,CACL,gBAAiBC,EAAAA,gBAAe,EAChC,iBAAkB,KAClB,aAAc,KACd,WAAY,KACZ,eAAgB,KAEpB,EAEA,SAAU,CACR,YAAc,CACZ,OAAO,KAAK,OAASF,EAAAA,qBAAqB,QAC5C,EAEA,mBAAqB,CACnB,OAAO,KAAK,WAAa,GAAK,IAChC,EAEA,cAAgB,CAEd,OAAI,KAAK,OAASA,uBAAqB,OAAS,KAAK,OAASA,EAAAA,qBAAqB,KAC1E,KAAK,KAIV,KAAK,OAASA,EAAAA,qBAAqB,UAAY,KAAK,eAC/C,KAAK,eAIP,KAAK,sBAAqB,CACnC,GAGF,cAAgB,CAEd,GAAI,KAAK,QAAU,KAAK,OAAO,eAAe,EAC5C,MAAM,IAAI,MAAM,wHAAwH,CAE5I,EAEA,SAAW,CAET,KAAK,WAAa,KAAK,IAGvB,KAAK,sBAAqB,EAGtB,KAAK,aAEP,KAAK,eAAiB,KAAK,sBAAqB,EAChD,KAAK,kBAAiB,GAIxB,KAAK,gBAAkBE,kBAAe,CACxC,EAEA,eAAiB,CAEX,KAAK,mBACP,KAAK,iBAAiB,WAAU,EAChC,KAAK,iBAAmB,MAEtB,KAAK,eACP,KAAK,aAAa,WAAU,EAC5B,KAAK,aAAe,KAExB,EAEA,QAAS,CACP,uBAAyB,CAEvB,GAAI,KAAK,qBAAsB,CAC7B,MAAMC,EAAa,OAAO,KAAK,sBAAyB,WACpD,KAAK,qBAAoB,EACzB,KAAK,qBACT,OAAOC,EAAAA,gBAAgBD,CAAU,CACnC,CAGA,GAAI,KAAK,WAAY,CACnB,MAAMA,EAAaE,EAAAA,eAAe,KAAK,UAAU,EACjD,OAAOD,EAAAA,gBAAgBD,CAAU,CACnC,CAGA,OAAOC,EAAAA,gBAAgBE,EAAAA,aAAa,CACtC,EAEA,uBAAyB,CACvB,KAAK,iBAAmB,IAAI,iBAAkBC,GAAkB,CAC9D,UAAWC,KAAYD,EACjBC,EAAS,OAAS,cAAgBA,EAAS,gBAAkB,qBAC/D,KAAK,gBAAkBN,kBAAe,EAG5C,CAAC,EAED,KAAK,iBAAiB,QAAQ,SAAS,gBAAiB,CACtD,WAAY,GACZ,gBAAiB,CAAC,kBAAkB,CACtC,CAAC,CACH,EAEA,mBAAqB,OACnB,MAAMO,EAAS,CACb,WAAY,GACZ,gBAAiB,CAAC,cAAc,EAChC,QAAS,IAGX,KAAK,aAAe,IAAI,iBAAkBF,GAAkB,CAC1D,UAAWC,KAAYD,EACjBC,EAAS,OAAS,cAAgBA,EAAS,gBAAkB,iBAE/D,KAAK,eAAiB,KAAK,sBAAqB,EAGtD,CAAC,EAGD,KAAK,aAAa,QAAQ,SAAS,gBAAiBC,CAAM,EAG1D,IAAIC,GAASC,EAAA,KAAK,aAAL,YAAAA,EAAiB,cAC9B,KAAOD,GACDA,EAAO,aAAa,cAAc,GACpC,KAAK,aAAa,QAAQA,EAAQD,CAAM,EAE1CC,EAASA,EAAO,aAEpB,EAEJ,+CA5MEE,EAAAA,YAUYC,EAAAA,wBATLC,IAAE,EADTC,EAAAA,WAUY,CARV,MAAM,iBACEC,EAAA,OAAM,CACb,eAAcC,EAAA,aACd,4BAA2BA,EAAA,kBAC3B,mBAAkBC,EAAA,qCAGnB,IAAQ,CAARC,aAAQH,EAAA,OAAA,SAAA"}
@@ -0,0 +1,130 @@
1
+ import { DT_MODE_ISLAND_TYPES as r } from "./mode-island-constants.js";
2
+ import { modeValidator as l } from "./validators.js";
3
+ import { getRootContrast as s, getOppositeMode as a, findParentMode as u, getRootMode as c } from "./utils.js";
4
+ import { openBlock as m, createBlock as h, resolveDynamicComponent as f, mergeProps as b, withCtx as p, renderSlot as M } from "vue";
5
+ import { _ as v } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
+ const O = {
7
+ name: "DtModeIsland",
8
+ compatConfig: { MODE: 3 },
9
+ provide() {
10
+ return {
11
+ dtModeIslandMode: () => this.computedMode
12
+ };
13
+ },
14
+ inject: {
15
+ parentModeIslandMode: {
16
+ from: "dtModeIslandMode",
17
+ default: null
18
+ }
19
+ },
20
+ inheritAttrs: !1,
21
+ props: {
22
+ /**
23
+ * Set this prop to render the mode island as a specific HTML element.
24
+ * @type {String}
25
+ * @values div, section, nav, article, aside, header, footer, main
26
+ */
27
+ as: {
28
+ type: String,
29
+ default: "div"
30
+ },
31
+ /**
32
+ * The mode to apply to the island.
33
+ * - 'inverted': Opposite of parent or root mode
34
+ * - 'light': Always light mode
35
+ * - 'dark': Always dark mode
36
+ * @type {String}
37
+ * @values inverted, light, dark
38
+ */
39
+ mode: {
40
+ type: String,
41
+ default: r.INVERTED,
42
+ validator: l
43
+ }
44
+ },
45
+ data() {
46
+ return {
47
+ currentContrast: s(),
48
+ contrastObserver: null,
49
+ modeObserver: null,
50
+ elementRef: null,
51
+ calculatedMode: null
52
+ // Store calculated mode as reactive data
53
+ };
54
+ },
55
+ computed: {
56
+ isInverted() {
57
+ return this.mode === r.INVERTED;
58
+ },
59
+ invertedAttribute() {
60
+ return this.isInverted ? "" : null;
61
+ },
62
+ computedMode() {
63
+ return this.mode === r.LIGHT || this.mode === r.DARK ? this.mode : this.mode === r.INVERTED && this.calculatedMode ? this.calculatedMode : this.calculateInvertedMode();
64
+ }
65
+ },
66
+ beforeCreate() {
67
+ if (this.$attrs && this.$attrs["data-dt-brand"])
68
+ throw new Error("[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.");
69
+ },
70
+ mounted() {
71
+ this.elementRef = this.$el, this.setupContrastObserver(), this.isInverted && (this.calculatedMode = this.calculateInvertedMode(), this.setupModeObserver()), this.currentContrast = s();
72
+ },
73
+ beforeUnmount() {
74
+ this.contrastObserver && (this.contrastObserver.disconnect(), this.contrastObserver = null), this.modeObserver && (this.modeObserver.disconnect(), this.modeObserver = null);
75
+ },
76
+ methods: {
77
+ calculateInvertedMode() {
78
+ if (this.parentModeIslandMode) {
79
+ const t = typeof this.parentModeIslandMode == "function" ? this.parentModeIslandMode() : this.parentModeIslandMode;
80
+ return a(t);
81
+ }
82
+ if (this.elementRef) {
83
+ const t = u(this.elementRef);
84
+ return a(t);
85
+ }
86
+ return a(c());
87
+ },
88
+ setupContrastObserver() {
89
+ this.contrastObserver = new MutationObserver((t) => {
90
+ for (const e of t)
91
+ e.type === "attributes" && e.attributeName === "data-dt-contrast" && (this.currentContrast = s());
92
+ }), this.contrastObserver.observe(document.documentElement, {
93
+ attributes: !0,
94
+ attributeFilter: ["data-dt-contrast"]
95
+ });
96
+ },
97
+ setupModeObserver() {
98
+ var o;
99
+ const t = {
100
+ attributes: !0,
101
+ attributeFilter: ["data-dt-mode"],
102
+ subtree: !1
103
+ };
104
+ this.modeObserver = new MutationObserver((n) => {
105
+ for (const d of n)
106
+ d.type === "attributes" && d.attributeName === "data-dt-mode" && (this.calculatedMode = this.calculateInvertedMode());
107
+ }), this.modeObserver.observe(document.documentElement, t);
108
+ let e = (o = this.elementRef) == null ? void 0 : o.parentElement;
109
+ for (; e; )
110
+ e.hasAttribute("data-dt-mode") && this.modeObserver.observe(e, t), e = e.parentElement;
111
+ }
112
+ }
113
+ };
114
+ function I(t, e, o, n, d, i) {
115
+ return m(), h(f(o.as), b({ class: "d-mode-island" }, t.$attrs, {
116
+ "data-dt-mode": i.computedMode,
117
+ "data-mode-island-inverted": i.invertedAttribute,
118
+ "data-dt-contrast": d.currentContrast
119
+ }), {
120
+ default: p(() => [
121
+ M(t.$slots, "default")
122
+ ]),
123
+ _: 3
124
+ }, 16, ["data-dt-mode", "data-mode-island-inverted", "data-dt-contrast"]);
125
+ }
126
+ const g = /* @__PURE__ */ v(O, [["render", I]]);
127
+ export {
128
+ g as default
129
+ };
130
+ //# sourceMappingURL=mode-island.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-island.js","sources":["../../../components/mode_island/mode_island.vue"],"sourcesContent":["<template>\n <component\n :is=\"as\"\n class=\"d-mode-island\"\n v-bind=\"$attrs\"\n :data-dt-mode=\"computedMode\"\n :data-mode-island-inverted=\"invertedAttribute\"\n :data-dt-contrast=\"currentContrast\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\nimport { modeValidator } from './validators';\nimport {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n} from './utils';\n\nexport default {\n name: 'DtModeIsland',\n compatConfig: { MODE: 3 },\n\n provide () {\n return {\n dtModeIslandMode: () => this.computedMode,\n };\n },\n\n inject: {\n parentModeIslandMode: {\n from: 'dtModeIslandMode',\n default: null,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Set this prop to render the mode island as a specific HTML element.\n * @type {String}\n * @values div, section, nav, article, aside, header, footer, main\n */\n as: {\n type: String,\n default: 'div',\n },\n\n /**\n * The mode to apply to the island.\n * - 'inverted': Opposite of parent or root mode\n * - 'light': Always light mode\n * - 'dark': Always dark mode\n * @type {String}\n * @values inverted, light, dark\n */\n mode: {\n type: String,\n default: DT_MODE_ISLAND_TYPES.INVERTED,\n validator: modeValidator,\n },\n },\n\n data () {\n return {\n currentContrast: getRootContrast(),\n contrastObserver: null,\n modeObserver: null,\n elementRef: null,\n calculatedMode: null, // Store calculated mode as reactive data\n };\n },\n\n computed: {\n isInverted () {\n return this.mode === DT_MODE_ISLAND_TYPES.INVERTED;\n },\n\n invertedAttribute () {\n return this.isInverted ? '' : null;\n },\n\n computedMode () {\n // If mode is explicitly light or dark, use it directly\n if (this.mode === DT_MODE_ISLAND_TYPES.LIGHT || this.mode === DT_MODE_ISLAND_TYPES.DARK) {\n return this.mode;\n }\n\n // If mode is inverted, use the calculated mode if available\n if (this.mode === DT_MODE_ISLAND_TYPES.INVERTED && this.calculatedMode) {\n return this.calculatedMode;\n }\n\n // Otherwise calculate it now\n return this.calculateInvertedMode();\n },\n },\n\n beforeCreate () {\n // Throw error if data-dt-brand is manually set\n if (this.$attrs && this.$attrs['data-dt-brand']) {\n throw new Error('[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.');\n }\n },\n\n mounted () {\n // Store element reference\n this.elementRef = this.$el;\n\n // Setup MutationObserver to watch for contrast changes on root\n this.setupContrastObserver();\n\n // Setup MutationObserver to watch for mode changes (only if inverted)\n if (this.isInverted) {\n // Initialize the calculated mode\n this.calculatedMode = this.calculateInvertedMode();\n this.setupModeObserver();\n }\n\n // Initial contrast value\n this.currentContrast = getRootContrast();\n },\n\n beforeUnmount () {\n // Cleanup observers\n if (this.contrastObserver) {\n this.contrastObserver.disconnect();\n this.contrastObserver = null;\n }\n if (this.modeObserver) {\n this.modeObserver.disconnect();\n this.modeObserver = null;\n }\n },\n\n methods: {\n calculateInvertedMode () {\n // First check if there's a parent mode island\n if (this.parentModeIslandMode) {\n const parentMode = typeof this.parentModeIslandMode === 'function'\n ? this.parentModeIslandMode()\n : this.parentModeIslandMode;\n return getOppositeMode(parentMode);\n }\n\n // Otherwise, find the nearest parent with data-dt-mode\n if (this.elementRef) {\n const parentMode = findParentMode(this.elementRef);\n return getOppositeMode(parentMode);\n }\n\n // Default fallback\n return getOppositeMode(getRootMode());\n },\n\n setupContrastObserver () {\n this.contrastObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-contrast') {\n this.currentContrast = getRootContrast();\n }\n }\n });\n\n this.contrastObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['data-dt-contrast'],\n });\n },\n\n setupModeObserver () {\n const config = {\n attributes: true,\n attributeFilter: ['data-dt-mode'],\n subtree: false,\n };\n\n this.modeObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-mode') {\n // Recalculate and update the reactive data property\n this.calculatedMode = this.calculateInvertedMode();\n }\n }\n });\n\n // Observe root element\n this.modeObserver.observe(document.documentElement, config);\n\n // Also observe all parent elements with data-dt-mode\n let parent = this.elementRef?.parentElement;\n while (parent) {\n if (parent.hasAttribute('data-dt-mode')) {\n this.modeObserver.observe(parent, config);\n }\n parent = parent.parentElement;\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DT_MODE_ISLAND_TYPES","modeValidator","getRootContrast","parentMode","getOppositeMode","findParentMode","getRootMode","mutationsList","mutation","config","parent","_a","_createBlock","_resolveDynamicComponent","$props","_mergeProps","_ctx","$options","$data","_renderSlot"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function n(t){return t==="light"?"dark":"light"}function o(){return document.documentElement.getAttribute("data-dt-mode")||"light"}function r(){return document.documentElement.getAttribute("data-dt-contrast")||"default"}function d(t){let e=t==null?void 0:t.parentElement;for(;e&&e!==document.documentElement;){if(e.hasAttribute("data-dt-mode"))return e.getAttribute("data-dt-mode");e=e.parentElement}return o()}const u={getOppositeMode:n,getRootMode:o,getRootContrast:r,findParentMode:d};exports.default=u;exports.findParentMode=d;exports.getOppositeMode=n;exports.getRootContrast=r;exports.getRootMode=o;
2
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","sources":["../../../components/mode_island/utils.js"],"sourcesContent":["/**\n * Get the opposite mode (light <-> dark)\n * @param {string} currentMode - The current mode\n * @returns {string} The opposite mode\n */\nexport function getOppositeMode (currentMode) {\n return currentMode === 'light' ? 'dark' : 'light';\n}\n\n/**\n * Get the mode from the root HTML element\n * @returns {string} The root mode or 'light' as default\n */\nexport function getRootMode () {\n const rootMode = document.documentElement.getAttribute('data-dt-mode');\n return rootMode || 'light';\n}\n\n/**\n * Get the contrast from the root HTML element\n * @returns {string} The root contrast or 'default' as default\n */\nexport function getRootContrast () {\n const rootContrast = document.documentElement.getAttribute('data-dt-contrast');\n return rootContrast || 'default';\n}\n\n/**\n * Find the mode from the nearest parent element with data-dt-mode attribute\n * @param {HTMLElement} el - The starting element\n * @returns {string} The parent mode or root mode\n */\nexport function findParentMode (el) {\n let parent = el?.parentElement;\n while (parent && parent !== document.documentElement) {\n if (parent.hasAttribute('data-dt-mode')) {\n return parent.getAttribute('data-dt-mode');\n }\n parent = parent.parentElement;\n }\n return getRootMode();\n}\n\nexport default {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n};"],"names":["getOppositeMode","currentMode","getRootMode","getRootContrast","findParentMode","el","parent","utils"],"mappings":"4GAKO,SAASA,EAAiBC,EAAa,CAC5C,OAAOA,IAAgB,QAAU,OAAS,OAC5C,CAMO,SAASC,GAAe,CAE7B,OADiB,SAAS,gBAAgB,aAAa,cAAc,GAClD,OACrB,CAMO,SAASC,GAAmB,CAEjC,OADqB,SAAS,gBAAgB,aAAa,kBAAkB,GACtD,SACzB,CAOO,SAASC,EAAgBC,EAAI,CAClC,IAAIC,EAASD,GAAA,YAAAA,EAAI,cACjB,KAAOC,GAAUA,IAAW,SAAS,iBAAiB,CACpD,GAAIA,EAAO,aAAa,cAAc,EACpC,OAAOA,EAAO,aAAa,cAAc,EAE3CA,EAASA,EAAO,aAClB,CACA,OAAOJ,EAAW,CACpB,CAEA,MAAAK,EAAe,CACb,gBAAAP,EACA,YAAAE,EACA,gBAAAC,EACA,eAAAC,CACF"}
@@ -0,0 +1,32 @@
1
+ function n(t) {
2
+ return t === "light" ? "dark" : "light";
3
+ }
4
+ function o() {
5
+ return document.documentElement.getAttribute("data-dt-mode") || "light";
6
+ }
7
+ function r() {
8
+ return document.documentElement.getAttribute("data-dt-contrast") || "default";
9
+ }
10
+ function d(t) {
11
+ let e = t == null ? void 0 : t.parentElement;
12
+ for (; e && e !== document.documentElement; ) {
13
+ if (e.hasAttribute("data-dt-mode"))
14
+ return e.getAttribute("data-dt-mode");
15
+ e = e.parentElement;
16
+ }
17
+ return o();
18
+ }
19
+ const u = {
20
+ getOppositeMode: n,
21
+ getRootMode: o,
22
+ getRootContrast: r,
23
+ findParentMode: d
24
+ };
25
+ export {
26
+ u as default,
27
+ d as findParentMode,
28
+ n as getOppositeMode,
29
+ r as getRootContrast,
30
+ o as getRootMode
31
+ };
32
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../components/mode_island/utils.js"],"sourcesContent":["/**\n * Get the opposite mode (light <-> dark)\n * @param {string} currentMode - The current mode\n * @returns {string} The opposite mode\n */\nexport function getOppositeMode (currentMode) {\n return currentMode === 'light' ? 'dark' : 'light';\n}\n\n/**\n * Get the mode from the root HTML element\n * @returns {string} The root mode or 'light' as default\n */\nexport function getRootMode () {\n const rootMode = document.documentElement.getAttribute('data-dt-mode');\n return rootMode || 'light';\n}\n\n/**\n * Get the contrast from the root HTML element\n * @returns {string} The root contrast or 'default' as default\n */\nexport function getRootContrast () {\n const rootContrast = document.documentElement.getAttribute('data-dt-contrast');\n return rootContrast || 'default';\n}\n\n/**\n * Find the mode from the nearest parent element with data-dt-mode attribute\n * @param {HTMLElement} el - The starting element\n * @returns {string} The parent mode or root mode\n */\nexport function findParentMode (el) {\n let parent = el?.parentElement;\n while (parent && parent !== document.documentElement) {\n if (parent.hasAttribute('data-dt-mode')) {\n return parent.getAttribute('data-dt-mode');\n }\n parent = parent.parentElement;\n }\n return getRootMode();\n}\n\nexport default {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n};"],"names":["getOppositeMode","currentMode","getRootMode","getRootContrast","findParentMode","el","parent","utils"],"mappings":"AAKO,SAASA,EAAiBC,GAAa;AAC5C,SAAOA,MAAgB,UAAU,SAAS;AAC5C;AAMO,SAASC,IAAe;AAE7B,SADiB,SAAS,gBAAgB,aAAa,cAAc,KAClD;AACrB;AAMO,SAASC,IAAmB;AAEjC,SADqB,SAAS,gBAAgB,aAAa,kBAAkB,KACtD;AACzB;AAOO,SAASC,EAAgBC,GAAI;AAClC,MAAIC,IAASD,KAAA,gBAAAA,EAAI;AACjB,SAAOC,KAAUA,MAAW,SAAS,mBAAiB;AACpD,QAAIA,EAAO,aAAa,cAAc;AACpC,aAAOA,EAAO,aAAa,cAAc;AAE3C,IAAAA,IAASA,EAAO;AAAA,EAClB;AACA,SAAOJ,EAAW;AACpB;AAEA,MAAAK,IAAe;AAAA,EACb,iBAAAP;AAAA,EACA,aAAAE;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAC;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./mode-island-constants.cjs");function e(t){return Object.values(o.DT_MODE_ISLAND_TYPES).includes(t)}const a={modeValidator:e};exports.default=a;exports.modeValidator=e;
2
+ //# sourceMappingURL=validators.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.cjs","sources":["../../../components/mode_island/validators.js"],"sourcesContent":["import { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\n\nexport function modeValidator (mode) {\n return Object.values(DT_MODE_ISLAND_TYPES).includes(mode);\n}\n\nexport default {\n modeValidator,\n};"],"names":["modeValidator","mode","DT_MODE_ISLAND_TYPES","validators"],"mappings":"2JAEO,SAASA,EAAeC,EAAM,CACnC,OAAO,OAAO,OAAOC,EAAAA,oBAAoB,EAAE,SAASD,CAAI,CAC1D,CAEA,MAAAE,EAAe,CACb,cAAAH,CACF"}
@@ -0,0 +1,12 @@
1
+ import { DT_MODE_ISLAND_TYPES as o } from "./mode-island-constants.js";
2
+ function a(t) {
3
+ return Object.values(o).includes(t);
4
+ }
5
+ const r = {
6
+ modeValidator: a
7
+ };
8
+ export {
9
+ r as default,
10
+ a as modeValidator
11
+ };
12
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sources":["../../../components/mode_island/validators.js"],"sourcesContent":["import { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\n\nexport function modeValidator (mode) {\n return Object.values(DT_MODE_ISLAND_TYPES).includes(mode);\n}\n\nexport default {\n modeValidator,\n};"],"names":["modeValidator","mode","DT_MODE_ISLAND_TYPES","validators"],"mappings":";AAEO,SAASA,EAAeC,GAAM;AACnC,SAAO,OAAO,OAAOC,CAAoB,EAAE,SAASD,CAAI;AAC1D;AAEA,MAAAE,IAAe;AAAA,EACb,eAAAH;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=["gradient-in","fade-in","slide-in","gradient-sweep","shimmer","none"],t=["sm","md","lg"],T={sm:{characterDelay:20,wordDelay:30,duration:600},md:{characterDelay:30,wordDelay:50,duration:1e3},lg:{characterDelay:50,wordDelay:100,duration:1500}},a={MOTION_TEXT_ANIMATION_MODES:e,MOTION_TEXT_SPEEDS:t,MOTION_TEXT_TIMING_PRESETS:T};exports.MOTION_TEXT_ANIMATION_MODES=e;exports.MOTION_TEXT_SPEEDS=t;exports.MOTION_TEXT_TIMING_PRESETS=T;exports.default=a;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=["gradient-in","fade-in","slide-in","gradient-sweep","shimmer","none"],a=["100","200","300","400","500"],t={100:{characterDelay:10,wordDelay:15,duration:300},200:{characterDelay:20,wordDelay:30,duration:600},300:{characterDelay:30,wordDelay:50,duration:1e3},400:{characterDelay:50,wordDelay:100,duration:1500},500:{characterDelay:80,wordDelay:180,duration:2100}},r={MOTION_TEXT_ANIMATION_MODES:e,MOTION_TEXT_SPEEDS:a,MOTION_TEXT_TIMING_PRESETS:t};exports.MOTION_TEXT_ANIMATION_MODES=e;exports.MOTION_TEXT_SPEEDS=a;exports.MOTION_TEXT_TIMING_PRESETS=t;exports.default=r;
2
2
  //# sourceMappingURL=motion-text-constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"motion-text-constants.cjs","sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options (t-shirt sizing)\nexport const MOTION_TEXT_SPEEDS = ['sm', 'md', 'lg'];\n\n// Timing presets based on speed\nexport const MOTION_TEXT_TIMING_PRESETS = {\n sm: {\n characterDelay: 20,\n wordDelay: 30,\n duration: 600,\n },\n md: {\n characterDelay: 30,\n wordDelay: 50,\n duration: 1000,\n },\n lg: {\n characterDelay: 50,\n wordDelay: 100,\n duration: 1500,\n },\n};\n\nexport default {\n MOTION_TEXT_ANIMATION_MODES,\n MOTION_TEXT_SPEEDS,\n MOTION_TEXT_TIMING_PRESETS,\n};\n"],"names":["MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","motion_text_constants"],"mappings":"4GACY,MAACA,EAA8B,CACzC,cACA,UACA,WACA,iBACA,UACA,MACF,EAGaC,EAAqB,CAAC,KAAM,KAAM,IAAI,EAGtCC,EAA6B,CACxC,GAAI,CACF,eAAgB,GAChB,UAAW,GACX,SAAU,GACd,EACE,GAAI,CACF,eAAgB,GAChB,UAAW,GACX,SAAU,GACd,EACE,GAAI,CACF,eAAgB,GAChB,UAAW,IACX,SAAU,IACd,CACA,EAEAC,EAAe,CACb,4BAAAH,EACA,mBAAAC,EACA,2BAAAC,CACF"}
1
+ {"version":3,"file":"motion-text-constants.cjs","sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options\nexport const MOTION_TEXT_SPEEDS = ['100', '200', '300', '400', '500'];\n\n// Timing presets based on speed\nexport const MOTION_TEXT_TIMING_PRESETS = {\n 100: {\n characterDelay: 10,\n wordDelay: 15,\n duration: 300,\n },\n 200: {\n characterDelay: 20,\n wordDelay: 30,\n duration: 600,\n },\n 300: {\n characterDelay: 30,\n wordDelay: 50,\n duration: 1000,\n },\n 400: {\n characterDelay: 50,\n wordDelay: 100,\n duration: 1500,\n },\n 500: {\n characterDelay: 80,\n wordDelay: 180,\n duration: 2100,\n },\n};\n\nexport default {\n MOTION_TEXT_ANIMATION_MODES,\n MOTION_TEXT_SPEEDS,\n MOTION_TEXT_TIMING_PRESETS,\n};\n"],"names":["MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","motion_text_constants"],"mappings":"4GACY,MAACA,EAA8B,CACzC,cACA,UACA,WACA,iBACA,UACA,MACF,EAGaC,EAAqB,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EAGvDC,EAA6B,CACxC,IAAK,CACH,eAAgB,GAChB,UAAW,GACX,SAAU,GACd,EACE,IAAK,CACH,eAAgB,GAChB,UAAW,GACX,SAAU,GACd,EACE,IAAK,CACH,eAAgB,GAChB,UAAW,GACX,SAAU,GACd,EACE,IAAK,CACH,eAAgB,GAChB,UAAW,IACX,SAAU,IACd,EACE,IAAK,CACH,eAAgB,GAChB,UAAW,IACX,SAAU,IACd,CACA,EAEAC,EAAe,CACb,4BAAAH,EACA,mBAAAC,EACA,2BAAAC,CACF"}
@@ -5,31 +5,41 @@ const a = [
5
5
  "gradient-sweep",
6
6
  "shimmer",
7
7
  "none"
8
- ], e = ["sm", "md", "lg"], t = {
9
- sm: {
8
+ ], e = ["100", "200", "300", "400", "500"], r = {
9
+ 100: {
10
+ characterDelay: 10,
11
+ wordDelay: 15,
12
+ duration: 300
13
+ },
14
+ 200: {
10
15
  characterDelay: 20,
11
16
  wordDelay: 30,
12
17
  duration: 600
13
18
  },
14
- md: {
19
+ 300: {
15
20
  characterDelay: 30,
16
21
  wordDelay: 50,
17
22
  duration: 1e3
18
23
  },
19
- lg: {
24
+ 400: {
20
25
  characterDelay: 50,
21
26
  wordDelay: 100,
22
27
  duration: 1500
28
+ },
29
+ 500: {
30
+ characterDelay: 80,
31
+ wordDelay: 180,
32
+ duration: 2100
23
33
  }
24
- }, n = {
34
+ }, t = {
25
35
  MOTION_TEXT_ANIMATION_MODES: a,
26
36
  MOTION_TEXT_SPEEDS: e,
27
- MOTION_TEXT_TIMING_PRESETS: t
37
+ MOTION_TEXT_TIMING_PRESETS: r
28
38
  };
29
39
  export {
30
40
  a as MOTION_TEXT_ANIMATION_MODES,
31
41
  e as MOTION_TEXT_SPEEDS,
32
- t as MOTION_TEXT_TIMING_PRESETS,
33
- n as default
42
+ r as MOTION_TEXT_TIMING_PRESETS,
43
+ t as default
34
44
  };
35
45
  //# sourceMappingURL=motion-text-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"motion-text-constants.js","sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options (t-shirt sizing)\nexport const MOTION_TEXT_SPEEDS = ['sm', 'md', 'lg'];\n\n// Timing presets based on speed\nexport const MOTION_TEXT_TIMING_PRESETS = {\n sm: {\n characterDelay: 20,\n wordDelay: 30,\n duration: 600,\n },\n md: {\n characterDelay: 30,\n wordDelay: 50,\n duration: 1000,\n },\n lg: {\n characterDelay: 50,\n wordDelay: 100,\n duration: 1500,\n },\n};\n\nexport default {\n MOTION_TEXT_ANIMATION_MODES,\n MOTION_TEXT_SPEEDS,\n MOTION_TEXT_TIMING_PRESETS,\n};\n"],"names":["MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","motion_text_constants"],"mappings":"AACY,MAACA,IAA8B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAGaC,IAAqB,CAAC,MAAM,MAAM,IAAI,GAGtCC,IAA6B;AAAA,EACxC,IAAI;AAAA,IACF,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AAAA,EACE,IAAI;AAAA,IACF,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AAAA,EACE,IAAI;AAAA,IACF,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AACA,GAEAC,IAAe;AAAA,EACb,6BAAAH;AAAA,EACA,oBAAAC;AAAA,EACA,4BAAAC;AACF;"}
1
+ {"version":3,"file":"motion-text-constants.js","sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options\nexport const MOTION_TEXT_SPEEDS = ['100', '200', '300', '400', '500'];\n\n// Timing presets based on speed\nexport const MOTION_TEXT_TIMING_PRESETS = {\n 100: {\n characterDelay: 10,\n wordDelay: 15,\n duration: 300,\n },\n 200: {\n characterDelay: 20,\n wordDelay: 30,\n duration: 600,\n },\n 300: {\n characterDelay: 30,\n wordDelay: 50,\n duration: 1000,\n },\n 400: {\n characterDelay: 50,\n wordDelay: 100,\n duration: 1500,\n },\n 500: {\n characterDelay: 80,\n wordDelay: 180,\n duration: 2100,\n },\n};\n\nexport default {\n MOTION_TEXT_ANIMATION_MODES,\n MOTION_TEXT_SPEEDS,\n MOTION_TEXT_TIMING_PRESETS,\n};\n"],"names":["MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","motion_text_constants"],"mappings":"AACY,MAACA,IAA8B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAGaC,IAAqB,CAAC,OAAO,OAAO,OAAO,OAAO,KAAK,GAGvDC,IAA6B;AAAA,EACxC,KAAK;AAAA,IACH,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AAAA,EACE,KAAK;AAAA,IACH,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AAAA,EACE,KAAK;AAAA,IACH,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AAAA,EACE,KAAK;AAAA,IACH,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AAAA,EACE,KAAK;AAAA,IACH,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACd;AACA,GAEAC,IAAe;AAAA,EACb,6BAAAH;AAAA,EACA,oBAAAC;AAAA,EACA,4BAAAC;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("./motion-text-constants.cjs"),t=require("vue"),c=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),u={compatConfig:{MODE:3},name:"DtMotionText",inheritAttrs:!1,props:{text:{type:String,default:""},animationMode:{type:String,default:"gradient-in",validator:e=>m.MOTION_TEXT_ANIMATION_MODES.includes(e)},speed:{type:String,default:"md",validator:e=>m.MOTION_TEXT_SPEEDS.includes(e)},autoStart:{type:Boolean,default:!0},loop:{type:Boolean,default:!1},respectsReducedMotion:{type:Boolean,default:!0},screenReaderText:{type:String,default:""}},emits:["start","complete","progress","pause","resume"],data(){return{words:[],visibleWordCount:0,visibleCharsPerWord:[],isAnimating:!1,isPaused:!1,isLooped:!1,animationTimeouts:[],prefersReducedMotion:!1,animationKey:0}},computed:{timing(){return m.MOTION_TEXT_TIMING_PRESETS[this.speed]},componentStyles(){return{"--d-motion-text-duration":`${this.timing.duration}ms`,"--d-motion-text-char-duration":`${this.timing.duration}ms`,"--d-motion-text-word-duration":`${this.timing.duration*2}ms`}},isStaticAnimationMode(){return this.animationMode==="gradient-sweep"||this.animationMode==="shimmer"},motionTextClasses(){return["d-motion-text",`d-motion-text--${this.animationMode}`,{"d-motion-text--animating":this.isAnimating,"d-motion-text--paused":this.isPaused,"d-motion-text--looped":this.isLooped},this.$attrs.class]}},watch:{text(){this.reset(),this.initializeContent()},loop:{handler(e){this.isLooped=e},immediate:!0}},mounted(){this.checkReducedMotion(),this.initializeContent()},beforeUnmount(){this.clearTimeouts()},methods:{processTextToChars(e){const l=[],i=(n,s=0)=>{var r;if(n.nodeType===Node.TEXT_NODE){const a=((r=n.textContent)==null?void 0:r.match(/\S+\s*/g))||[];return l.push(...a.map((o,d)=>({text:o,chars:o.split(""),index:s+d}))),s+a.length}else if(n.nodeType===Node.ELEMENT_NODE){let a=s;return Array.from(n.childNodes).forEach(o=>{a=i(o,a)}),a}return s};return i(e),l},processDirectText(e){return e?(e.match(/\S+\s*/g)||[]).map((i,n)=>({text:i,chars:i.split(""),index:n})):[]},checkReducedMotion(){typeof window<"u"&&window.matchMedia&&(this.prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches)},clearTimeouts(){this.animationTimeouts.forEach(e=>clearTimeout(e)),this.animationTimeouts=[]},start(){if(!this.isAnimating){if(this.isAnimating=!0,this.isPaused=!1,this.$emit("start"),this.respectsReducedMotion&&this.prefersReducedMotion){this.showAllContent();return}if(this.animationMode==="none"){this.showAllContent();return}this.isStaticAnimationMode||this.showNextWord()}},pause(){!this.isAnimating||this.isPaused||(this.isPaused=!0,this.clearTimeouts(),this.$emit("pause"))},resume(){this.isPaused&&(this.isPaused=!1,this.$emit("resume"),this.showNextWord())},reset(){this.clearTimeouts(),this.isAnimating=!1,this.isPaused=!1,this.visibleWordCount=0,this.visibleCharsPerWord=Array(this.words.length).fill(0),this.animationKey++},skipToEnd(){this.showAllContent()},showAllContent(){this.visibleWordCount=this.words.length,this.visibleCharsPerWord=this.words.map(e=>e.chars.length),setTimeout(()=>{this.isAnimating=!1,this.$emit("complete")},0)},showNextWord(){if(this.isPaused||this.visibleWordCount>=this.words.length){this.visibleWordCount>=this.words.length&&this.completeAnimation();return}const e=setTimeout(()=>{this.visibleWordCount++,this.$emit("progress",{wordsComplete:this.visibleWordCount,totalWords:this.words.length,progress:this.visibleWordCount/this.words.length}),this.animateCharsForWord(this.visibleWordCount-1)},this.timing.wordDelay);this.animationTimeouts.push(e)},animateCharsForWord(e){if(this.isPaused||e>=this.words.length)return;this.visibleCharsPerWord[e]=0;const l=this.words[e].chars.length,i=()=>{if(this.isPaused||this.visibleCharsPerWord[e]>=l){this.visibleCharsPerWord[e]>=l&&this.showNextWord();return}this.visibleCharsPerWord[e]++;const n=setTimeout(i,this.timing.characterDelay);this.animationTimeouts.push(n)};i()},completeAnimation(){if(this.isAnimating=!1,this.clearTimeouts(),this.$emit("complete"),this.loop){const e=setTimeout(()=>{this.reset(),this.$nextTick(()=>{this.start()})},500);this.animationTimeouts.push(e)}},initializeContent(){if(this.isStaticAnimationMode){this.autoStart&&this.$nextTick(()=>this.start());return}this.text?this.words=this.processDirectText(this.text):this.$refs.contentRef&&(this.words=this.processTextToChars(this.$refs.contentRef)),this.visibleCharsPerWord=Array(this.words.length).fill(0),this.visibleWordCount=0,this.autoStart&&this.words.length>0&&this.$nextTick(()=>this.start())}}},f=["data-text-content","aria-live","aria-label"],p={key:0,class:"d-motion-text__sr-only"},T=["aria-hidden"],g=["data-text-content"],C={key:3,class:"d-motion-text__fallback"};function y(e,l,i,n,s,r){return t.openBlock(),t.createElementBlock("span",{ref:"contentRef",class:t.normalizeClass(r.motionTextClasses),style:t.normalizeStyle(r.componentStyles),"data-text-content":r.isStaticAnimationMode?i.text:void 0,"aria-live":s.isAnimating?"polite":"off","aria-label":i.screenReaderText||void 0},[i.screenReaderText?(t.openBlock(),t.createElementBlock("span",p,t.toDisplayString(i.screenReaderText),1)):t.createCommentVNode("",!0),r.isStaticAnimationMode?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(i.text)+" ",1),i.text?t.createCommentVNode("",!0):t.renderSlot(e.$slots,"default",{key:0})],64)):(t.openBlock(),t.createElementBlock("span",{key:s.animationKey,class:"d-motion-text__content","aria-hidden":s.isAnimating},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.words,(a,o)=>(t.openBlock(),t.createBlock(t.Transition,{key:`${s.animationKey}-${o}`,name:`d-motion-text-word-${i.animationMode}`},{default:t.withCtx(()=>[o<s.visibleWordCount?(t.openBlock(),t.createElementBlock("span",{key:0,class:"d-motion-text__word","data-text-content":a.text,style:t.normalizeStyle({"--word-index":o})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.chars,(d,h)=>(t.openBlock(),t.createBlock(t.Transition,{key:`${s.animationKey}-${o}-${h}`,name:`d-motion-text-char-${i.animationMode}`},{default:t.withCtx(()=>[h<s.visibleCharsPerWord[o]?(t.openBlock(),t.createElementBlock("span",{key:0,class:"d-motion-text__char",style:t.normalizeStyle({"--char-index":h,"--char-delay":`${h*r.timing.characterDelay}ms`})},t.toDisplayString(d),5)):t.createCommentVNode("",!0)]),_:2},1032,["name"]))),128))],12,g)):t.createCommentVNode("",!0)]),_:2},1032,["name"]))),128))],8,T)),!s.words.length&&!i.text&&!r.isStaticAnimationMode?(t.openBlock(),t.createElementBlock("span",C,[t.renderSlot(e.$slots,"default")])):t.createCommentVNode("",!0)],14,f)}const _=c._(u,[["render",y]]);exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("./motion-text-constants.cjs"),t=require("vue"),c=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),u={compatConfig:{MODE:3},name:"DtMotionText",inheritAttrs:!1,props:{text:{type:String,default:""},animationMode:{type:String,default:"gradient-in",validator:e=>m.MOTION_TEXT_ANIMATION_MODES.includes(e)},speed:{type:[String,Number],default:300,validator:e=>m.MOTION_TEXT_SPEEDS.includes(String(e))},autoStart:{type:Boolean,default:!0},loop:{type:Boolean,default:!1},respectsReducedMotion:{type:Boolean,default:!0},screenReaderText:{type:String,default:""}},emits:["start","complete","progress","pause","resume"],data(){return{words:[],visibleWordCount:0,visibleCharsPerWord:[],isAnimating:!1,isPaused:!1,isLooped:!1,animationTimeouts:[],prefersReducedMotion:!1,animationKey:0}},computed:{timing(){return m.MOTION_TEXT_TIMING_PRESETS[String(this.speed)]},componentStyles(){return{"--d-motion-text-duration":`${this.timing.duration}ms`,"--d-motion-text-char-duration":`${this.timing.duration}ms`,"--d-motion-text-word-duration":`${this.timing.duration*2}ms`}},isStaticAnimationMode(){return this.animationMode==="gradient-sweep"||this.animationMode==="shimmer"},motionTextClasses(){return["d-motion-text",`d-motion-text--${this.animationMode}`,{"d-motion-text--animating":this.isAnimating,"d-motion-text--paused":this.isPaused,"d-motion-text--looped":this.isLooped},this.$attrs.class]}},watch:{text(){this.reset(),this.initializeContent()},loop:{handler(e){this.isLooped=e},immediate:!0}},mounted(){this.checkReducedMotion(),this.initializeContent()},beforeUnmount(){this.clearTimeouts()},methods:{processTextToChars(e){const l=[],i=(n,s=0)=>{var r;if(n.nodeType===Node.TEXT_NODE){const a=((r=n.textContent)==null?void 0:r.match(/\S+\s*/g))||[];return l.push(...a.map((o,d)=>({text:o,chars:o.split(""),index:s+d}))),s+a.length}else if(n.nodeType===Node.ELEMENT_NODE){let a=s;return Array.from(n.childNodes).forEach(o=>{a=i(o,a)}),a}return s};return i(e),l},processDirectText(e){return e?(e.match(/\S+\s*/g)||[]).map((i,n)=>({text:i,chars:i.split(""),index:n})):[]},checkReducedMotion(){typeof window<"u"&&window.matchMedia&&(this.prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches)},clearTimeouts(){this.animationTimeouts.forEach(e=>clearTimeout(e)),this.animationTimeouts=[]},start(){if(!this.isAnimating){if(this.isAnimating=!0,this.isPaused=!1,this.$emit("start"),this.respectsReducedMotion&&this.prefersReducedMotion){this.showAllContent();return}if(this.animationMode==="none"){this.showAllContent();return}this.isStaticAnimationMode||this.showNextWord()}},pause(){!this.isAnimating||this.isPaused||(this.isPaused=!0,this.clearTimeouts(),this.$emit("pause"))},resume(){this.isPaused&&(this.isPaused=!1,this.$emit("resume"),this.showNextWord())},reset(){this.clearTimeouts(),this.isAnimating=!1,this.isPaused=!1,this.visibleWordCount=0,this.visibleCharsPerWord=Array(this.words.length).fill(0),this.animationKey++},skipToEnd(){this.showAllContent()},showAllContent(){this.visibleWordCount=this.words.length,this.visibleCharsPerWord=this.words.map(e=>e.chars.length),setTimeout(()=>{this.isAnimating=!1,this.$emit("complete")},0)},showNextWord(){if(this.isPaused||this.visibleWordCount>=this.words.length){this.visibleWordCount>=this.words.length&&this.completeAnimation();return}const e=setTimeout(()=>{this.visibleWordCount++,this.$emit("progress",{wordsComplete:this.visibleWordCount,totalWords:this.words.length,progress:this.visibleWordCount/this.words.length}),this.animateCharsForWord(this.visibleWordCount-1)},this.timing.wordDelay);this.animationTimeouts.push(e)},animateCharsForWord(e){if(this.isPaused||e>=this.words.length)return;this.visibleCharsPerWord[e]=0;const l=this.words[e].chars.length,i=()=>{if(this.isPaused||this.visibleCharsPerWord[e]>=l){this.visibleCharsPerWord[e]>=l&&this.showNextWord();return}this.visibleCharsPerWord[e]++;const n=setTimeout(i,this.timing.characterDelay);this.animationTimeouts.push(n)};i()},completeAnimation(){if(this.isAnimating=!1,this.clearTimeouts(),this.$emit("complete"),this.loop){const e=setTimeout(()=>{this.reset(),this.$nextTick(()=>{this.start()})},500);this.animationTimeouts.push(e)}},initializeContent(){if(this.isStaticAnimationMode){this.autoStart&&this.$nextTick(()=>this.start());return}this.text?this.words=this.processDirectText(this.text):this.$refs.contentRef&&(this.words=this.processTextToChars(this.$refs.contentRef)),this.visibleCharsPerWord=Array(this.words.length).fill(0),this.visibleWordCount=0,this.autoStart&&this.words.length>0&&this.$nextTick(()=>this.start())}}},f=["data-text-content","aria-live","aria-label"],p={key:0,class:"d-motion-text__sr-only"},T=["aria-hidden"],g=["data-text-content"],C={key:3,class:"d-motion-text__fallback"};function y(e,l,i,n,s,r){return t.openBlock(),t.createElementBlock("span",{ref:"contentRef",class:t.normalizeClass(r.motionTextClasses),style:t.normalizeStyle(r.componentStyles),"data-text-content":r.isStaticAnimationMode?i.text:void 0,"aria-live":s.isAnimating?"polite":"off","aria-label":i.screenReaderText||void 0},[i.screenReaderText?(t.openBlock(),t.createElementBlock("span",p,t.toDisplayString(i.screenReaderText),1)):t.createCommentVNode("",!0),r.isStaticAnimationMode?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(i.text)+" ",1),i.text?t.createCommentVNode("",!0):t.renderSlot(e.$slots,"default",{key:0})],64)):(t.openBlock(),t.createElementBlock("span",{key:s.animationKey,class:"d-motion-text__content","aria-hidden":s.isAnimating},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.words,(a,o)=>(t.openBlock(),t.createBlock(t.Transition,{key:`${s.animationKey}-${o}`,name:`d-motion-text-word-${i.animationMode}`},{default:t.withCtx(()=>[o<s.visibleWordCount?(t.openBlock(),t.createElementBlock("span",{key:0,class:"d-motion-text__word","data-text-content":a.text,style:t.normalizeStyle({"--word-index":o})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.chars,(d,h)=>(t.openBlock(),t.createBlock(t.Transition,{key:`${s.animationKey}-${o}-${h}`,name:`d-motion-text-char-${i.animationMode}`},{default:t.withCtx(()=>[h<s.visibleCharsPerWord[o]?(t.openBlock(),t.createElementBlock("span",{key:0,class:"d-motion-text__char",style:t.normalizeStyle({"--char-index":h,"--char-delay":`${h*r.timing.characterDelay}ms`})},t.toDisplayString(d),5)):t.createCommentVNode("",!0)]),_:2},1032,["name"]))),128))],12,g)):t.createCommentVNode("",!0)]),_:2},1032,["name"]))),128))],8,T)),!s.words.length&&!i.text&&!r.isStaticAnimationMode?(t.openBlock(),t.createElementBlock("span",C,[t.renderSlot(e.$slots,"default")])):t.createCommentVNode("",!0)],14,f)}const _=c._(u,[["render",y]]);exports.default=_;
2
2
  //# sourceMappingURL=motion-text.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"motion-text.cjs","sources":["../../../components/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"d-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"d-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"d-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"d-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"d-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtMotionText',\n\n inheritAttrs: false,\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed using t-shirt sizing.\n * @values sm, md, lg\n */\n speed: {\n type: String,\n default: 'md',\n validator: (value) => MOTION_TEXT_SPEEDS.includes(value),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[this.speed];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--d-motion-text-duration': `${this.timing.duration}ms`,\n '--d-motion-text-char-duration': `${this.timing.duration}ms`,\n '--d-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'd-motion-text',\n `d-motion-text--${this.animationMode}`,\n {\n 'd-motion-text--animating': this.isAnimating,\n 'd-motion-text--paused': this.isPaused,\n 'd-motion-text--looped': this.isLooped,\n },\n this.$attrs.class,\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","value","MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","newVal","node","words","processNode","index","matches","_a","text","i","currentIdx","child","wordText","timeout","word","wordIdx","chars","revealChar","_createElementBlock","$options","$props","$data","_hoisted_2","_toDisplayString","_Fragment","_createTextVNode","_renderSlot","_ctx","_openBlock","_renderList","_createBlock","_Transition","char","charIdx","_normalizeStyle","_hoisted_5"],"mappings":"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"}
1
+ {"version":3,"file":"motion-text.cjs","sources":["../../../components/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"d-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"d-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"d-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"d-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"d-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtMotionText',\n\n inheritAttrs: false,\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed.\n * @values 100, 200, 300, 400, 500\n */\n speed: {\n type: [String, Number],\n default: 300,\n validator: (value) => MOTION_TEXT_SPEEDS.includes(String(value)),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[String(this.speed)];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--d-motion-text-duration': `${this.timing.duration}ms`,\n '--d-motion-text-char-duration': `${this.timing.duration}ms`,\n '--d-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'd-motion-text',\n `d-motion-text--${this.animationMode}`,\n {\n 'd-motion-text--animating': this.isAnimating,\n 'd-motion-text--paused': this.isPaused,\n 'd-motion-text--looped': this.isLooped,\n },\n this.$attrs.class,\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","value","MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","newVal","node","words","processNode","index","matches","_a","text","i","currentIdx","child","wordText","timeout","word","wordIdx","chars","revealChar","_createElementBlock","$options","$props","$data","_hoisted_2","_toDisplayString","_Fragment","_createTextVNode","_renderSlot","_ctx","_openBlock","_renderList","_createBlock","_Transition","char","charIdx","_normalizeStyle","_hoisted_5"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { MOTION_TEXT_TIMING_PRESETS as y, MOTION_TEXT_SPEEDS as M, MOTION_TEXT_ANIMATION_MODES as w } from "./motion-text-constants.js";
2
- import { openBlock as s, createElementBlock as h, normalizeStyle as c, normalizeClass as A, toDisplayString as f, createCommentVNode as l, Fragment as p, createTextVNode as W, renderSlot as T, renderList as g, createBlock as C, Transition as _, withCtx as x } from "vue";
3
- import { _ as v } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
4
- const S = {
2
+ import { openBlock as s, createElementBlock as h, normalizeStyle as c, normalizeClass as A, toDisplayString as f, createCommentVNode as l, Fragment as p, createTextVNode as S, renderSlot as T, renderList as g, createBlock as C, Transition as _, withCtx as x } from "vue";
3
+ import { _ as W } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
4
+ const b = {
5
5
  compatConfig: { MODE: 3 },
6
6
  name: "DtMotionText",
7
7
  inheritAttrs: !1,
@@ -24,13 +24,13 @@ const S = {
24
24
  validator: (t) => w.includes(t)
25
25
  },
26
26
  /**
27
- * Animation speed using t-shirt sizing.
28
- * @values sm, md, lg
27
+ * Animation speed.
28
+ * @values 100, 200, 300, 400, 500
29
29
  */
30
30
  speed: {
31
- type: String,
32
- default: "md",
33
- validator: (t) => M.includes(t)
31
+ type: [String, Number],
32
+ default: 300,
33
+ validator: (t) => M.includes(String(t))
34
34
  },
35
35
  /**
36
36
  * Whether to start animation automatically when component is mounted.
@@ -112,7 +112,7 @@ const S = {
112
112
  * Get timing preset based on speed prop
113
113
  */
114
114
  timing() {
115
- return y[this.speed];
115
+ return y[String(this.speed)];
116
116
  },
117
117
  /**
118
118
  * Computed styles with timing CSS variables
@@ -320,10 +320,10 @@ const S = {
320
320
  this.text ? this.words = this.processDirectText(this.text) : this.$refs.contentRef && (this.words = this.processTextToChars(this.$refs.contentRef)), this.visibleCharsPerWord = Array(this.words.length).fill(0), this.visibleWordCount = 0, this.autoStart && this.words.length > 0 && this.$nextTick(() => this.start());
321
321
  }
322
322
  }
323
- }, b = ["data-text-content", "aria-live", "aria-label"], P = {
323
+ }, v = ["data-text-content", "aria-live", "aria-label"], P = {
324
324
  key: 0,
325
325
  class: "d-motion-text__sr-only"
326
- }, k = ["aria-hidden"], E = ["data-text-content"], N = {
326
+ }, N = ["aria-hidden"], k = ["data-text-content"], E = {
327
327
  key: 3,
328
328
  class: "d-motion-text__fallback"
329
329
  };
@@ -338,7 +338,7 @@ function R(t, d, e, n, i, r) {
338
338
  }, [
339
339
  e.screenReaderText ? (s(), h("span", P, f(e.screenReaderText), 1)) : l("", !0),
340
340
  r.isStaticAnimationMode ? (s(), h(p, { key: 1 }, [
341
- W(f(e.text) + " ", 1),
341
+ S(f(e.text) + " ", 1),
342
342
  e.text ? l("", !0) : T(t.$slots, "default", { key: 0 })
343
343
  ], 64)) : (s(), h("span", {
344
344
  key: i.animationKey,
@@ -372,17 +372,17 @@ function R(t, d, e, n, i, r) {
372
372
  ]),
373
373
  _: 2
374
374
  }, 1032, ["name"]))), 128))
375
- ], 12, E)) : l("", !0)
375
+ ], 12, k)) : l("", !0)
376
376
  ]),
377
377
  _: 2
378
378
  }, 1032, ["name"]))), 128))
379
- ], 8, k)),
380
- !i.words.length && !e.text && !r.isStaticAnimationMode ? (s(), h("span", N, [
379
+ ], 8, N)),
380
+ !i.words.length && !e.text && !r.isStaticAnimationMode ? (s(), h("span", E, [
381
381
  T(t.$slots, "default")
382
382
  ])) : l("", !0)
383
- ], 14, b);
383
+ ], 14, v);
384
384
  }
385
- const $ = /* @__PURE__ */ v(S, [["render", R]]);
385
+ const $ = /* @__PURE__ */ W(b, [["render", R]]);
386
386
  export {
387
387
  $ as default
388
388
  };