@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,236 @@
1
+ import { ref as S, computed as N, reactive as R, watchEffect as I, provide as T, onMounted as M, watch as w, openBlock as x, createBlock as G, unref as V, normalizeClass as z, withCtx as k, renderSlot as F } from "vue";
2
+ import { getUniqueString as U } from "../../common/utils/index.js";
3
+ import { SEGMENTED_CONTROL_SPREAD_DEFAULT as K, SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT as B, SEGMENTED_CONTROL_SIZE_DEFAULT as P, SEGMENTED_CONTROL_ORIENTATION_DEFAULT as q, SEGMENTED_CONTROL_SIZE_MODIFIERS as Y, SEGMENTED_CONTROL_CONTEXT_KEY as Z, SEGMENTED_CONTROL_SELECT_KEY as j, SEGMENTED_CONTROL_FOCUS_KEY as H, SEGMENTED_CONTROL_SPREADS as $, SEGMENTED_CONTROL_ACTIVATION_MODES as X, SEGMENTED_CONTROL_SIZES as J, SEGMENTED_CONTROL_ORIENTATIONS as Q, SEGMENTED_CONTROL_ITEM_SELECTOR as p, SEGMENTED_CONTROL_DATA_VALUE_ATTR as D } from "./segmented-control-constants.js";
4
+ import W from "../stack/stack.js";
5
+ const ae = /* @__PURE__ */ Object.assign({ name: "DtSegmentedControl" }, {
6
+ __name: "segmented_control",
7
+ props: {
8
+ /**
9
+ * Element ID for the radiogroup container.
10
+ * Auto-generated if not provided.
11
+ */
12
+ id: {
13
+ type: String,
14
+ default() {
15
+ return U();
16
+ }
17
+ },
18
+ /**
19
+ * The currently selected value (v-model).
20
+ */
21
+ modelValue: {
22
+ type: String,
23
+ required: !0
24
+ },
25
+ /**
26
+ * Accessible label for the radiogroup.
27
+ */
28
+ ariaLabel: {
29
+ type: String,
30
+ default: void 0
31
+ },
32
+ /**
33
+ * Orientation of the segmented control.
34
+ * Maps to DtStack direction: horizontal -> row, vertical -> column.
35
+ * @values horizontal, vertical
36
+ */
37
+ orientation: {
38
+ type: String,
39
+ default: q,
40
+ validator: (o) => Q.includes(o)
41
+ },
42
+ /**
43
+ * DtButton size for all items. Inherited by children via provide.
44
+ * @values 100, 200, 300, 400, 500
45
+ */
46
+ size: {
47
+ type: [String, Number],
48
+ default: P,
49
+ validator: (o) => J.includes(String(o))
50
+ },
51
+ /**
52
+ * Controls whether items are selected on focus (auto) or on click/Space/Enter (manual).
53
+ * @values auto, manual
54
+ */
55
+ activationMode: {
56
+ type: String,
57
+ default: B,
58
+ validator: (o) => X.includes(o)
59
+ },
60
+ /**
61
+ * Disables all items in the group.
62
+ * Per-item disabled is set via the disabled prop on DtSegmentedControlItem.
63
+ */
64
+ disabled: {
65
+ type: Boolean,
66
+ default: !1
67
+ },
68
+ /**
69
+ * Hides the dividers between items.
70
+ */
71
+ hideDivider: {
72
+ type: Boolean,
73
+ default: !1
74
+ },
75
+ /**
76
+ * Removes the border and padding from the container.
77
+ */
78
+ borderless: {
79
+ type: Boolean,
80
+ default: !1
81
+ },
82
+ /**
83
+ * Controls how items distribute space.
84
+ * 'grow' (default): items size to their content.
85
+ * 'evenly': items share space equally.
86
+ * @values grow, evenly
87
+ */
88
+ spread: {
89
+ type: String,
90
+ default: K,
91
+ validator: (o) => $.includes(o)
92
+ },
93
+ /**
94
+ * Default label class for all items. Items can override with their own labelClass prop.
95
+ */
96
+ labelClass: {
97
+ type: [String, Array, Object],
98
+ default: ""
99
+ }
100
+ },
101
+ emits: [
102
+ /**
103
+ * v-model event. Emitted when the selected value changes.
104
+ * @event update:modelValue
105
+ * @type {String}
106
+ */
107
+ "update:modelValue",
108
+ /**
109
+ * Emitted when the user selects an item (click, Enter, Space, or arrow in auto mode).
110
+ * Not emitted for programmatic modelValue changes.
111
+ * @event change
112
+ * @type {String}
113
+ */
114
+ "change",
115
+ /**
116
+ * Emitted before a selection change. Call event.preventDefault() to cancel the change.
117
+ * @event before-change
118
+ * @type {Event}
119
+ */
120
+ "before-change"
121
+ ],
122
+ setup(o, { emit: m }) {
123
+ const n = o, u = m, c = S(null), E = S(null), C = N(() => n.orientation === "vertical" ? "column" : "row"), A = N(() => [
124
+ "d-segmented-control",
125
+ Y[String(n.size)],
126
+ n.hideDivider ? "d-segmented-control--hide-divider" : null,
127
+ n.borderless ? "d-segmented-control--borderless" : null,
128
+ n.orientation === "vertical" ? "d-segmented-control--vertical" : null,
129
+ n.spread === "evenly" && n.orientation === "horizontal" ? "d-segmented-control--spread-evenly" : null
130
+ ]), l = R({
131
+ selected: n.modelValue,
132
+ disabled: n.disabled,
133
+ size: n.size,
134
+ labelClass: n.labelClass
135
+ });
136
+ I(() => {
137
+ l.selected = n.modelValue, l.disabled = n.disabled, l.size = n.size, l.labelClass = n.labelClass;
138
+ }), T(Z, l), T(j, O), T(H, h);
139
+ function g() {
140
+ const e = b();
141
+ if (!e.length || e.some((r) => r.getAttribute("tabindex") === "0")) return;
142
+ const a = e.find((r) => !f(r));
143
+ a && a.setAttribute("tabindex", "0");
144
+ }
145
+ M(g), w(() => [n.modelValue, n.disabled], g, { flush: "post" });
146
+ function b() {
147
+ var t;
148
+ const e = ((t = c.value) == null ? void 0 : t.$el) || c.value;
149
+ return e ? Array.from(e.querySelectorAll(p)) : [];
150
+ }
151
+ function h(e) {
152
+ E.value = e;
153
+ }
154
+ function O(e) {
155
+ if (n.disabled || e === n.modelValue) return;
156
+ const t = new Event("before-change", { cancelable: !0 });
157
+ u("before-change", t), !t.defaultPrevented && (u("update:modelValue", e), u("change", e));
158
+ }
159
+ function y(e, t) {
160
+ if (t) {
161
+ const r = t.target.closest(p);
162
+ if (r) {
163
+ const i = e.indexOf(r);
164
+ if (i !== -1) return i;
165
+ }
166
+ }
167
+ const a = e.findIndex((r) => {
168
+ const i = r.getAttribute(D);
169
+ return E.value ? i === E.value : r.getAttribute("aria-checked") === "true";
170
+ });
171
+ return a === -1 ? 0 : a;
172
+ }
173
+ function _(e) {
174
+ f(e) || O(e.getAttribute(D));
175
+ }
176
+ function f(e) {
177
+ return e.getAttribute("aria-disabled") === "true";
178
+ }
179
+ function d(e, t, a) {
180
+ const r = e.length;
181
+ for (let i = 1; i <= r; i++) {
182
+ const s = (t + i * a + r) % r;
183
+ if (!f(e[s])) return s;
184
+ }
185
+ return t;
186
+ }
187
+ function L(e, t, a) {
188
+ const r = n.orientation === "horizontal", i = r ? "ArrowRight" : "ArrowDown", s = r ? "ArrowLeft" : "ArrowUp";
189
+ switch (e) {
190
+ case i:
191
+ return d(a, t, 1);
192
+ case s:
193
+ return d(a, t, -1);
194
+ case "Home":
195
+ return d(a, a.length - 1, 1);
196
+ case "End":
197
+ return d(a, 0, -1);
198
+ default:
199
+ return -1;
200
+ }
201
+ }
202
+ function v(e) {
203
+ const t = b();
204
+ if (!t.length) return;
205
+ const a = y(t, e);
206
+ if (e.key === "Enter" || e.key === " ") {
207
+ _(t[a]), e.preventDefault(), e.stopPropagation();
208
+ return;
209
+ }
210
+ const r = L(e.key, a, t);
211
+ r !== -1 && (e.preventDefault(), e.stopPropagation(), t[r].focus(), n.activationMode === "auto" && _(t[r]));
212
+ }
213
+ return (e, t) => (x(), G(V(W), {
214
+ id: o.id,
215
+ ref_key: "container",
216
+ ref: c,
217
+ align: "stretch",
218
+ class: z(A.value),
219
+ direction: C.value,
220
+ role: "radiogroup",
221
+ "aria-label": o.ariaLabel,
222
+ "aria-orientation": o.orientation,
223
+ "data-qa": "dt-segmented-control",
224
+ onKeydown: v
225
+ }, {
226
+ default: k(() => [
227
+ F(e.$slots, "default")
228
+ ]),
229
+ _: 3
230
+ }, 8, ["id", "class", "direction", "aria-label", "aria-orientation"]));
231
+ }
232
+ });
233
+ export {
234
+ ae as default
235
+ };
236
+ //# sourceMappingURL=segmented-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented-control.js","sources":["../../../components/segmented_control/segmented_control.vue"],"sourcesContent":["<template>\n <dt-stack\n :id=\"id\"\n ref=\"container\"\n align=\"stretch\"\n :class=\"containerClasses\"\n :direction=\"stackDirection\"\n role=\"radiogroup\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n data-qa=\"dt-segmented-control\"\n @keydown=\"handleKeyDown\"\n >\n <!-- @slot DtSegmentedControlItem children -->\n <slot />\n </dt-stack>\n</template>\n\n<script setup>\nimport { ref, computed, reactive, watchEffect, watch, provide, onMounted } from 'vue';\nimport { getUniqueString } from '@/common/utils';\nimport { DtStack } from '@/components/stack';\nimport {\n SEGMENTED_CONTROL_SIZES,\n SEGMENTED_CONTROL_SIZE_DEFAULT,\n SEGMENTED_CONTROL_SIZE_MODIFIERS,\n SEGMENTED_CONTROL_ORIENTATIONS,\n SEGMENTED_CONTROL_ORIENTATION_DEFAULT,\n SEGMENTED_CONTROL_ACTIVATION_MODES,\n SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,\n SEGMENTED_CONTROL_SPREADS,\n SEGMENTED_CONTROL_SPREAD_DEFAULT,\n SEGMENTED_CONTROL_CONTEXT_KEY,\n SEGMENTED_CONTROL_SELECT_KEY,\n SEGMENTED_CONTROL_FOCUS_KEY,\n SEGMENTED_CONTROL_ITEM_SELECTOR,\n SEGMENTED_CONTROL_DATA_VALUE_ATTR,\n} from './segmented_control_constants.js';\n\ndefineOptions({ name: 'DtSegmentedControl' });\n\nconst props = defineProps({\n /**\n * Element ID for the radiogroup container.\n * Auto-generated if not provided.\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The currently selected value (v-model).\n */\n modelValue: {\n type: String,\n required: true,\n },\n\n /**\n * Accessible label for the radiogroup.\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n\n /**\n * Orientation of the segmented control.\n * Maps to DtStack direction: horizontal -> row, vertical -> column.\n * @values horizontal, vertical\n */\n orientation: {\n type: String,\n default: SEGMENTED_CONTROL_ORIENTATION_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_ORIENTATIONS.includes(v),\n },\n\n /**\n * DtButton size for all items. Inherited by children via provide.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: SEGMENTED_CONTROL_SIZE_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_SIZES.includes(String(v)),\n },\n\n /**\n * Controls whether items are selected on focus (auto) or on click/Space/Enter (manual).\n * @values auto, manual\n */\n activationMode: {\n type: String,\n default: SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_ACTIVATION_MODES.includes(v),\n },\n\n /**\n * Disables all items in the group.\n * Per-item disabled is set via the disabled prop on DtSegmentedControlItem.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the dividers between items.\n */\n hideDivider: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Removes the border and padding from the container.\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how items distribute space.\n * 'grow' (default): items size to their content.\n * 'evenly': items share space equally.\n * @values grow, evenly\n */\n spread: {\n type: String,\n default: SEGMENTED_CONTROL_SPREAD_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_SPREADS.includes(v),\n },\n\n /**\n * Default label class for all items. Items can override with their own labelClass prop.\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n});\n\nconst emit = defineEmits([\n /**\n * v-model event. Emitted when the selected value changes.\n * @event update:modelValue\n * @type {String}\n */\n 'update:modelValue',\n\n /**\n * Emitted when the user selects an item (click, Enter, Space, or arrow in auto mode).\n * Not emitted for programmatic modelValue changes.\n * @event change\n * @type {String}\n */\n 'change',\n\n /**\n * Emitted before a selection change. Call event.preventDefault() to cancel the change.\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n]);\n\nconst container = ref(null);\nconst focusedValue = ref(null);\n\nconst stackDirection = computed(() => props.orientation === 'vertical' ? 'column' : 'row');\n\nconst containerClasses = computed(() => [\n 'd-segmented-control',\n SEGMENTED_CONTROL_SIZE_MODIFIERS[String(props.size)],\n props.hideDivider ? 'd-segmented-control--hide-divider' : null,\n props.borderless ? 'd-segmented-control--borderless' : null,\n props.orientation === 'vertical' ? 'd-segmented-control--vertical' : null,\n props.spread === 'evenly' && props.orientation === 'horizontal'\n ? 'd-segmented-control--spread-evenly'\n : null,\n]);\n\n// Reactive context provided to children\nconst groupContext = reactive({\n selected: props.modelValue,\n disabled: props.disabled,\n size: props.size,\n labelClass: props.labelClass,\n});\n\nwatchEffect(() => {\n groupContext.selected = props.modelValue;\n groupContext.disabled = props.disabled;\n groupContext.size = props.size;\n groupContext.labelClass = props.labelClass;\n});\n\nprovide(SEGMENTED_CONTROL_CONTEXT_KEY, groupContext);\nprovide(SEGMENTED_CONTROL_SELECT_KEY, selectValue);\nprovide(SEGMENTED_CONTROL_FOCUS_KEY, setFocus);\n\n// Ensures at least one enabled item is tabbable (WAI-ARIA radiogroup requirement).\n// Items set tabindex based on isSelected && !isDisabled. If the selected item is disabled\n// or modelValue doesn't match any item, no item has tabindex=\"0\". This fallback sets\n// tabindex=\"0\" on the first enabled item so keyboard users can reach the control.\nfunction ensureTabbable () {\n const items = getItems();\n if (!items.length) return;\n const hasTabbable = items.some(el => el.getAttribute('tabindex') === '0');\n if (hasTabbable) return;\n const firstEnabled = items.find(el => !isItemDisabled(el));\n if (firstEnabled) firstEnabled.setAttribute('tabindex', '0');\n}\n\nonMounted(ensureTabbable);\nwatch(() => [props.modelValue, props.disabled], ensureTabbable, { flush: 'post' });\n\nfunction getItems () {\n const el = container.value?.$el || container.value;\n return el ? Array.from(el.querySelectorAll(SEGMENTED_CONTROL_ITEM_SELECTOR)) : [];\n}\n\nfunction setFocus (value) {\n focusedValue.value = value;\n}\n\nfunction selectValue (value) {\n if (props.disabled) return;\n if (value === props.modelValue) return;\n const beforeChangeEvent = new Event('before-change', { cancelable: true });\n emit('before-change', beforeChangeEvent);\n if (beforeChangeEvent.defaultPrevented) return;\n emit('update:modelValue', value);\n emit('change', value);\n}\n\nfunction getFocusedIndex (items, event) {\n // First check event.target — the element that actually has focus\n if (event) {\n const target = event.target.closest(SEGMENTED_CONTROL_ITEM_SELECTOR);\n if (target) {\n const targetIdx = items.indexOf(target);\n if (targetIdx !== -1) return targetIdx;\n }\n }\n // Fall back to tracked focusedValue, then aria-checked\n const idx = items.findIndex(el => {\n const value = el.getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR);\n return focusedValue.value ? value === focusedValue.value : el.getAttribute('aria-checked') === 'true';\n });\n return idx === -1 ? 0 : idx;\n}\n\nfunction activateItem (item) {\n if (isItemDisabled(item)) return;\n selectValue(item.getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR));\n}\n\nfunction isItemDisabled (item) {\n return item.getAttribute('aria-disabled') === 'true';\n}\n\nfunction findNextEnabled (items, fromIndex, direction) {\n const len = items.length;\n for (let i = 1; i <= len; i++) {\n const index = (fromIndex + i * direction + len) % len;\n if (!isItemDisabled(items[index])) return index;\n }\n return fromIndex;\n}\n\nfunction getNavigationIndex (key, currentIndex, items) {\n const isHorizontal = props.orientation === 'horizontal';\n const nextKey = isHorizontal ? 'ArrowRight' : 'ArrowDown';\n const prevKey = isHorizontal ? 'ArrowLeft' : 'ArrowUp';\n\n switch (key) {\n case nextKey: return findNextEnabled(items, currentIndex, 1);\n case prevKey: return findNextEnabled(items, currentIndex, -1);\n case 'Home': return findNextEnabled(items, items.length - 1, 1);\n case 'End': return findNextEnabled(items, 0, -1);\n default: return -1;\n }\n}\n\nfunction handleKeyDown (event) {\n const items = getItems();\n if (!items.length) return;\n\n const focusedIndex = getFocusedIndex(items, event);\n\n if (event.key === 'Enter' || event.key === ' ') {\n activateItem(items[focusedIndex]);\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n const newIndex = getNavigationIndex(event.key, focusedIndex, items);\n if (newIndex === -1) return;\n\n event.preventDefault();\n event.stopPropagation();\n items[newIndex].focus();\n\n if (props.activationMode === 'auto') {\n activateItem(items[newIndex]);\n }\n}\n</script>\n"],"names":["props","__props","emit","__emit","container","ref","focusedValue","stackDirection","computed","containerClasses","SEGMENTED_CONTROL_SIZE_MODIFIERS","groupContext","reactive","watchEffect","provide","SEGMENTED_CONTROL_CONTEXT_KEY","SEGMENTED_CONTROL_SELECT_KEY","selectValue","SEGMENTED_CONTROL_FOCUS_KEY","setFocus","ensureTabbable","items","getItems","el","firstEnabled","isItemDisabled","onMounted","watch","_a","SEGMENTED_CONTROL_ITEM_SELECTOR","value","beforeChangeEvent","getFocusedIndex","event","target","targetIdx","idx","SEGMENTED_CONTROL_DATA_VALUE_ATTR","activateItem","item","findNextEnabled","fromIndex","direction","len","index","getNavigationIndex","key","currentIndex","isHorizontal","nextKey","prevKey","handleKeyDown","focusedIndex","newIndex","_createBlock","_unref","DtStack","_renderSlot","_ctx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={xs:"d-select--xs",sm:"d-select--sm",md:"",lg:"d-select--lg",xl:"d-select--xl"},s={error:"d-select__input--error",warning:"d-select__input--warning",success:"d-select__input--success"},t={SELECT_SIZE_MODIFIERS:e,SELECT_STATE_MODIFIERS:s};exports.SELECT_SIZE_MODIFIERS=e;exports.SELECT_STATE_MODIFIERS=s;exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={100:"d-select--xs",200:"d-select--sm",300:"",400:"d-select--lg",500:"d-select--xl",xs:"d-select--xs",sm:"d-select--sm",md:"",lg:"d-select--lg",xl:"d-select--xl"},s={error:"d-select__input--error",warning:"d-select__input--warning",success:"d-select__input--success"},t={SELECT_SIZE_MODIFIERS:e,SELECT_STATE_MODIFIERS:s};exports.SELECT_SIZE_MODIFIERS=e;exports.SELECT_STATE_MODIFIERS=s;exports.default=t;
2
2
  //# sourceMappingURL=select-menu-constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-menu-constants.cjs","sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n"],"names":["SELECT_SIZE_MODIFIERS","SELECT_STATE_MODIFIERS","select_menu_constants"],"mappings":"4GAAY,MAACA,EAAwB,CACnC,GAAI,eACJ,GAAI,eACJ,GAAI,GACJ,GAAI,eACJ,GAAI,cACN,EAEaC,EAAyB,CACpC,MAAO,yBACP,QAAS,2BACT,QAAS,0BACX,EAEAC,EAAe,CACb,sBAAAF,EACA,uBAAAC,CACF"}
1
+ {"version":3,"file":"select-menu-constants.cjs","sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n // Numeric (preferred)\n 100: 'd-select--xs',\n 200: 'd-select--sm',\n 300: '',\n 400: 'd-select--lg',\n 500: 'd-select--xl',\n // T-shirt aliases (deprecated)\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n"],"names":["SELECT_SIZE_MODIFIERS","SELECT_STATE_MODIFIERS","select_menu_constants"],"mappings":"4GAAY,MAACA,EAAwB,CAEnC,IAAK,eACL,IAAK,eACL,IAAK,GACL,IAAK,eACL,IAAK,eAEL,GAAI,eACJ,GAAI,eACJ,GAAI,GACJ,GAAI,eACJ,GAAI,cACN,EAEaC,EAAyB,CACpC,MAAO,yBACP,QAAS,2BACT,QAAS,0BACX,EAEAC,EAAe,CACb,sBAAAF,EACA,uBAAAC,CACF"}
@@ -1,20 +1,27 @@
1
- const s = {
1
+ const e = {
2
+ // Numeric (preferred)
3
+ 100: "d-select--xs",
4
+ 200: "d-select--sm",
5
+ 300: "",
6
+ 400: "d-select--lg",
7
+ 500: "d-select--xl",
8
+ // T-shirt aliases (deprecated)
2
9
  xs: "d-select--xs",
3
10
  sm: "d-select--sm",
4
11
  md: "",
5
12
  lg: "d-select--lg",
6
13
  xl: "d-select--xl"
7
- }, e = {
14
+ }, s = {
8
15
  error: "d-select__input--error",
9
16
  warning: "d-select__input--warning",
10
17
  success: "d-select__input--success"
11
18
  }, t = {
12
- SELECT_SIZE_MODIFIERS: s,
13
- SELECT_STATE_MODIFIERS: e
19
+ SELECT_SIZE_MODIFIERS: e,
20
+ SELECT_STATE_MODIFIERS: s
14
21
  };
15
22
  export {
16
- s as SELECT_SIZE_MODIFIERS,
17
- e as SELECT_STATE_MODIFIERS,
23
+ e as SELECT_SIZE_MODIFIERS,
24
+ s as SELECT_STATE_MODIFIERS,
18
25
  t as default
19
26
  };
20
27
  //# sourceMappingURL=select-menu-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-menu-constants.js","sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n"],"names":["SELECT_SIZE_MODIFIERS","SELECT_STATE_MODIFIERS","select_menu_constants"],"mappings":"AAAY,MAACA,IAAwB;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAyB;AAAA,EACpC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX,GAEAC,IAAe;AAAA,EACb,uBAAAF;AAAA,EACA,wBAAAC;AACF;"}
1
+ {"version":3,"file":"select-menu-constants.js","sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n // Numeric (preferred)\n 100: 'd-select--xs',\n 200: 'd-select--sm',\n 300: '',\n 400: 'd-select--lg',\n 500: 'd-select--xl',\n // T-shirt aliases (deprecated)\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n"],"names":["SELECT_SIZE_MODIFIERS","SELECT_STATE_MODIFIERS","select_menu_constants"],"mappings":"AAAY,MAACA,IAAwB;AAAA;AAAA,EAEnC,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA;AAAA,EAEL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAyB;AAAA,EACpC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX,GAEAC,IAAe;AAAA,EACb,uBAAAF;AAAA,EACA,wBAAAC;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("../../common/constants/index.cjs"),o=require("./select-menu-constants.cjs"),i=require("../../common/utils/index.cjs"),u=require("../../common/mixins/input.cjs"),m=require("./select-menu-validators.cjs"),S=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),E=require("../validation-messages/validation-messages.cjs"),_={compatConfig:{MODE:3},name:"DtSelectMenu",components:{DtValidationMessages:E.default},mixins:[u.MessagesMixin],inheritAttrs:!1,props:{label:{type:String,default:""},description:{type:String,default:""},options:{type:Array,default:()=>[],validator:t=>m.optionsValidator(t)},size:{type:String,default:"md",validator:t=>Object.keys(o.SELECT_SIZE_MODIFIERS).includes(t)},labelClass:{type:[String,Array,Object],default:""},descriptionClass:{type:[String,Array,Object],default:""},selectClass:{type:[String,Array,Object],default:""},optionClass:{type:[String,Array,Object],default:""},labelChildProps:{type:Object,default:()=>({})},descriptionChildProps:{type:Object,default:()=>({})},optionChildProps:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},rootClass:{type:[String,Object,Array],default:""},modelValue:{type:[String,Number],default:""}},emits:["input","update:modelValue","change"],data(){return{LABEL_SIZE_MODIFIERS:d.LABEL_SIZE_MODIFIERS,DESCRIPTION_SIZE_MODIFIERS:d.DESCRIPTION_SIZE_MODIFIERS,SELECT_SIZE_MODIFIERS:o.SELECT_SIZE_MODIFIERS,SELECT_STATE_MODIFIERS:o.SELECT_STATE_MODIFIERS,hasSlotContent:i.hasSlotContent}},computed:{selectListeners(){return{input:()=>{},change:t=>this.emitValue(t.target.value,t)}},state(){return i.getValidationState(this.formattedMessages)},selectKey(){return i.getUniqueString()},descriptionKey(){return`select-${this.selectKey}-description`},labelAriaDetails(){return this.$slots.description||this.description?this.descriptionKey:this.$attrs["aria-details"]}},mounted(){this.validateOptionsPresence()},beforeUpdate(){this.validateOptionsPresence()},methods:{removeClassStyleAttrs:i.removeClassStyleAttrs,addClassStyleAttrs:i.addClassStyleAttrs,emitValue(t,r){this.$emit("update:modelValue",t,r),this.$emit("input",t,r),this.$emit("change",t,r)},getOptionKey(t){return`select-${this.selectKey}-option-${t}`},validateOptionsPresence(){var t;((t=this.options)==null?void 0:t.length)<1&&!this.$slots.default&&e.warn("Options are expected to be provided via prop or slot",this)}}},p=["aria-details"],g=["id"],C=["disabled","value"],y=["value"];function I(t,r,s,b,a,l){const c=e.resolveComponent("dt-validation-messages");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:s.rootClass},l.addClassStyleAttrs(t.$attrs)),[e.createElementVNode("label",null,[a.hasSlotContent(t.$slots.label)||s.label?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,"aria-details":l.labelAriaDetails,class:["d-label",a.LABEL_SIZE_MODIFIERS[s.size],s.labelClass]},s.labelChildProps,{"data-qa":"dt-select-label"}),[e.renderSlot(t.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(s.label),1)])],16,p)):e.createCommentVNode("",!0),a.hasSlotContent(t.$slots.description)||s.description?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1,id:l.descriptionKey,class:["d-description",a.DESCRIPTION_SIZE_MODIFIERS[s.size],s.descriptionClass]},s.descriptionChildProps,{"data-qa":"dt-select-description"}),[e.renderSlot(t.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(s.description),1)])],16,g)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["d-select",a.SELECT_SIZE_MODIFIERS[s.size],s.selectClass,{"d-select--disabled":s.disabled}]),"data-qa":"dt-select-wrapper"},[e.createElementVNode("select",e.mergeProps({ref:"selectElement",class:["d-select__input",a.SELECT_STATE_MODIFIERS[l.state]]},l.removeClassStyleAttrs(t.$attrs),{"data-qa":"dt-select",disabled:s.disabled,value:s.modelValue},e.toHandlers(l.selectListeners,!0)),[e.renderSlot(t.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.options,n=>(e.openBlock(),e.createElementBlock("option",e.mergeProps({key:l.getOptionKey(n.value),value:n.value,class:s.optionClass},{ref_for:!0},s.optionChildProps),e.toDisplayString(n.label),17,y))),128))])],16,C)],2)]),e.createVNode(c,e.mergeProps({"validation-messages":t.formattedMessages,"show-messages":t.showMessages,class:t.messagesClass},t.messagesChildProps,{"data-qa":"dt-select-messages"}),null,16,["validation-messages","show-messages","class"])],16)}const h=S._(_,[["render",I]]);exports.default=h;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),o=require("./select-menu-constants.cjs"),a=require("../../common/utils/index.cjs"),m=require("../../common/mixins/input.cjs"),S=require("./select-menu-validators.cjs"),b=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),g=require("../text/text.cjs"),h=require("../validation-messages/validation-messages.cjs"),c=require("../text/text-constants.cjs"),y={compatConfig:{MODE:3},name:"DtSelectMenu",components:{DtValidationMessages:h.default,DtText:g.default},mixins:[m.MessagesMixin],inheritAttrs:!1,props:{label:{type:String,default:""},labelVisible:{type:Boolean,default:!0},description:{type:String,default:""},options:{type:Array,default:()=>[],validator:e=>S.optionsValidator(e)},size:{type:[String,Number],default:300,validator:e=>Object.keys(o.SELECT_SIZE_MODIFIERS).includes(String(e))},labelClass:{type:[String,Array,Object],default:""},descriptionClass:{type:[String,Array,Object],default:""},selectClass:{type:[String,Array,Object],default:""},optionClass:{type:[String,Array,Object],default:""},labelChildProps:{type:Object,default:()=>({})},descriptionChildProps:{type:Object,default:()=>({})},optionChildProps:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},rootClass:{type:[String,Object,Array],default:""},modelValue:{type:[String,Number],default:""},labelSize:{type:[String,Number],default:null,validator:e=>c.TEXT_SIZE_MODIFIERS.label.includes(String(e))},labelStrength:{type:String,default:null,validator:e=>Object.keys(c.TEXT_STRENGTH_MODIFIERS).includes(e)}},emits:["input","update:modelValue","change"],data(){return{SELECT_SIZE_MODIFIERS:o.SELECT_SIZE_MODIFIERS,SELECT_STATE_MODIFIERS:o.SELECT_STATE_MODIFIERS,hasSlotContent:a.hasSlotContent}},computed:{resolvedLabelSize(){if(this.labelSize!=null)return this.labelSize;const e=String(this.size);return e==="xl"||e==="500"?e==="500"?"400":"lg":this.size},resolvedDescriptionSize(){return{100:"xs",200:"xs",300:"sm",400:"sm",500:"md",xs:"xs",sm:"xs",md:"sm",lg:"sm",xl:"md"}[String(this.size)]||"sm"},resolvedDescriptionDensity(){const e=String(this.size);return e==="xl"||e==="500"?"300":void 0},selectListeners(){return{input:()=>{},change:e=>this.emitValue(e.target.value,e)}},state(){return a.getValidationState(this.formattedMessages)},selectKey(){return a.getUniqueString()},descriptionKey(){return`select-${this.selectKey}-description`},labelAriaDetails(){return this.$slots.description||this.description?this.descriptionKey:this.$attrs["aria-details"]}},mounted(){this.validateOptionsPresence(),this.runValidations()},beforeUpdate(){this.validateOptionsPresence()},methods:{removeClassStyleAttrs:a.removeClassStyleAttrs,addClassStyleAttrs:a.addClassStyleAttrs,emitValue(e,i){this.$emit("update:modelValue",e,i),this.$emit("input",e,i),this.$emit("change",e,i)},getOptionKey(e){return`select-${this.selectKey}-option-${e}`},validateOptionsPresence(){var e;((e=this.options)==null?void 0:e.length)<1&&!this.$slots.default&&t.warn("Options are expected to be provided via prop or slot",this)},runValidations(){!!!(this.$slots.label||this.label)&&!this.$attrs["aria-label"]&&console.info('[Dialtone] A label is required for accessibility. Provide a label prop and use label-visible="false" to hide it visually.')}}},p=["aria-label","disabled","value"],_=["value"];function f(e,i,s,E,r,l){const d=t.resolveComponent("dt-text"),u=t.resolveComponent("dt-validation-messages");return t.openBlock(),t.createElementBlock("div",t.mergeProps({class:s.rootClass},l.addClassStyleAttrs(e.$attrs)),[t.createElementVNode("label",null,[s.labelVisible&&(r.hasSlotContent(e.$slots.label)||s.label)?(t.openBlock(),t.createBlock(d,t.mergeProps({key:0,kind:"label",size:l.resolvedLabelSize,strength:s.labelStrength,tone:"secondary",as:"div","aria-details":l.labelAriaDetails,class:["d-select__label-text",s.labelClass]},s.labelChildProps,{"data-qa":"dt-select-label"}),{default:t.withCtx(()=>[t.renderSlot(e.$slots,"label",{},()=>[t.createTextVNode(t.toDisplayString(s.label),1)])]),_:3},16,["size","strength","aria-details","class"])):t.createCommentVNode("",!0),r.hasSlotContent(e.$slots.description)||s.description?(t.openBlock(),t.createBlock(d,t.mergeProps({key:1,id:l.descriptionKey,kind:"body",size:l.resolvedDescriptionSize,tone:"tertiary",density:l.resolvedDescriptionDensity,as:"div",class:["d-description",s.descriptionClass]},s.descriptionChildProps,{"data-qa":"dt-select-description"}),{default:t.withCtx(()=>[t.renderSlot(e.$slots,"description",{},()=>[t.createTextVNode(t.toDisplayString(s.description),1)])]),_:3},16,["id","size","density","class"])):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["d-select",r.SELECT_SIZE_MODIFIERS[String(s.size)],s.selectClass,{"d-select--disabled":s.disabled}]),"data-qa":"dt-select-wrapper"},[t.createElementVNode("select",t.mergeProps({ref:"selectElement",class:["d-select__input",r.SELECT_STATE_MODIFIERS[l.state]],"aria-label":!s.labelVisible&&s.label?s.label:void 0},l.removeClassStyleAttrs(e.$attrs),{"data-qa":"dt-select",disabled:s.disabled,value:s.modelValue},t.toHandlers(l.selectListeners,!0)),[t.renderSlot(e.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.options,n=>(t.openBlock(),t.createElementBlock("option",t.mergeProps({key:l.getOptionKey(n.value),value:n.value,class:s.optionClass},{ref_for:!0},s.optionChildProps),t.toDisplayString(n.label),17,_))),128))])],16,p)],2)]),t.createVNode(u,t.mergeProps({"validation-messages":e.formattedMessages,"show-messages":e.showMessages,class:e.messagesClass},e.messagesChildProps,{"data-qa":"dt-select-messages"}),null,16,["validation-messages","show-messages","class"])],16)}const C=b._(y,[["render",f]]);exports.default=C;
2
2
  //# sourceMappingURL=select-menu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-menu.cjs","sources":["../../../components/select_menu/select_menu.vue"],"sourcesContent":["<template>\n <div\n :class=\"rootClass\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <label>\n <div\n v-if=\"hasSlotContent($slots.label) || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"hasSlotContent($slots.description) || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n :value=\"modelValue\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport { warn } from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n hasSlotContent,\n removeClassStyleAttrs,\n addClassStyleAttrs,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the root element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n rootClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * The value of the select menu\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n hasSlotContent,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n emitValue (value, event) {\n this.$emit('update:modelValue', value, event);\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtValidationMessages","MessagesMixin","options","optionsValidator","s","SELECT_SIZE_MODIFIERS","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","SELECT_STATE_MODIFIERS","hasSlotContent","event","getValidationState","getUniqueString","removeClassStyleAttrs","addClassStyleAttrs","value","_a","warn","_createElementBlock","_mergeProps","$props","$options","_ctx","_createElementVNode","$data","_openBlock","_renderSlot","_normalizeClass","_toHandlers","_Fragment","_renderList","option","_toDisplayString","_hoisted_4","_createVNode","_component_dt_validation_messages"],"mappings":"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"}
1
+ {"version":3,"file":"select-menu.cjs","sources":["../../../components/select_menu/select_menu.vue"],"sourcesContent":["<template>\n <div\n :class=\"rootClass\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <label>\n <dt-text\n v-if=\"labelVisible && (hasSlotContent($slots.label) || label)\"\n kind=\"label\"\n :size=\"resolvedLabelSize\"\n :strength=\"labelStrength\"\n tone=\"secondary\"\n as=\"div\"\n :aria-details=\"labelAriaDetails\"\n :class=\"['d-select__label-text', labelClass]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </dt-text>\n <dt-text\n v-if=\"hasSlotContent($slots.description) || description\"\n :id=\"descriptionKey\"\n kind=\"body\"\n :size=\"resolvedDescriptionSize\"\n tone=\"tertiary\"\n :density=\"resolvedDescriptionDensity\"\n as=\"div\"\n :class=\"[\n 'd-description',\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </dt-text>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[String(size)],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n :aria-label=\"!labelVisible && label ? label : undefined\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n :value=\"modelValue\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport { warn } from 'vue';\nimport { DtText, TEXT_SIZE_MODIFIERS, TEXT_STRENGTH_MODIFIERS } from '@/components/text';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n hasSlotContent,\n removeClassStyleAttrs,\n addClassStyleAttrs,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages, DtText },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Determines visibility of select label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Controls the size of the select\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(String(s)),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the root element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n rootClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * The value of the select menu\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * Overrides the label text size. When not provided, the label size\n * is derived from the component size prop.\n * @values 100, 200, 300, 400\n */\n labelSize: {\n type: [String, Number],\n default: null,\n validator: (s) => TEXT_SIZE_MODIFIERS.label.includes(String(s)),\n },\n\n /**\n * Overrides the label font weight.\n * @values bold, semibold, medium, normal\n */\n labelStrength: {\n type: String,\n default: null,\n validator: (s) => Object.keys(TEXT_STRENGTH_MODIFIERS).includes(s),\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n hasSlotContent,\n };\n },\n\n computed: {\n resolvedLabelSize () {\n if (this.labelSize != null) return this.labelSize;\n const sizeStr = String(this.size);\n // xl/500 exceeds label's max size — cap at lg/400\n if (sizeStr === 'xl' || sizeStr === '500') return sizeStr === '500' ? '400' : 'lg';\n return this.size;\n },\n\n resolvedDescriptionSize () {\n const map = {\n 100: 'xs', 200: 'xs', 300: 'sm', 400: 'sm', 500: 'md',\n xs: 'xs', sm: 'xs', md: 'sm', lg: 'sm', xl: 'md',\n };\n return map[String(this.size)] || 'sm';\n },\n\n resolvedDescriptionDensity () {\n const sizeStr = String(this.size);\n return (sizeStr === 'xl' || sizeStr === '500') ? '300' : undefined;\n },\n\n selectListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n this.runValidations();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n emitValue (value, event) {\n this.$emit('update:modelValue', value, event);\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n warn('Options are expected to be provided via prop or slot', this);\n }\n },\n\n runValidations () {\n const hasLabel = !!(this.$slots.label || this.label);\n if (!hasLabel && !this.$attrs['aria-label']) {\n console.info(\n '[Dialtone] A label is required for accessibility. Provide a label prop and use label-visible=\"false\" to hide it visually.',\n );\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtValidationMessages","DtText","MessagesMixin","options","optionsValidator","s","SELECT_SIZE_MODIFIERS","TEXT_SIZE_MODIFIERS","TEXT_STRENGTH_MODIFIERS","SELECT_STATE_MODIFIERS","hasSlotContent","sizeStr","event","getValidationState","getUniqueString","removeClassStyleAttrs","addClassStyleAttrs","value","_a","warn","_createElementBlock","_mergeProps","$props","$options","_ctx","_createElementVNode","$data","_openBlock","_createBlock","_component_dt_text","_renderSlot","_normalizeClass","_toHandlers","_Fragment","_renderList","option","_toDisplayString","_hoisted_2","_createVNode","_component_dt_validation_messages"],"mappings":"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"}