@dialpad/dialtone-vue 3.223.0-next.2 → 3.223.0-next.4

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 (423) hide show
  1. package/dist/Combobox-CYEmi3dv.cjs +3 -0
  2. package/dist/Combobox-CYEmi3dv.cjs.map +1 -0
  3. package/dist/{Combobox-By01ETlj.js → Combobox-D8nQeBIf.js} +33 -32
  4. package/dist/Combobox-D8nQeBIf.js.map +1 -0
  5. package/dist/MarkdownRenderer-D5XWsyQk.cjs.map +1 -1
  6. package/dist/{MarkdownRenderer-C3MZDB2I.js → MarkdownRenderer-NSSny0ID.js} +2 -2
  7. package/dist/{MarkdownRenderer-C3MZDB2I.js.map → MarkdownRenderer-NSSny0ID.js.map} +1 -1
  8. package/dist/{RichTextEditor-BX-5tCOx.cjs → RichTextEditor-B9NGgB03.cjs} +2 -2
  9. package/dist/{RichTextEditor-BX-5tCOx.cjs.map → RichTextEditor-B9NGgB03.cjs.map} +1 -1
  10. package/dist/{RichTextEditor-D8Kas5A3.js → RichTextEditor-DxbZSRop.js} +4 -4
  11. package/dist/{RichTextEditor-D8Kas5A3.js.map → RichTextEditor-DxbZSRop.js.map} +1 -1
  12. package/dist/TextList-B6XFfQfD.js +88 -0
  13. package/dist/TextList-B6XFfQfD.js.map +1 -0
  14. package/dist/TextList-Dd-ROFiI.cjs +2 -0
  15. package/dist/TextList-Dd-ROFiI.cjs.map +1 -0
  16. package/dist/TextListItem-DIlrCkaM.cjs +2 -0
  17. package/dist/TextListItem-DIlrCkaM.cjs.map +1 -0
  18. package/dist/TextListItem-ImUi_FWh.js +62 -0
  19. package/dist/TextListItem-ImUi_FWh.js.map +1 -0
  20. package/dist/{Toast-CHbVmbBg.js → Toast-BIHkIpZP.js} +95 -94
  21. package/dist/Toast-BIHkIpZP.js.map +1 -0
  22. package/dist/Toast-D8ARDEgT.cjs +2 -0
  23. package/dist/Toast-D8ARDEgT.cjs.map +1 -0
  24. package/dist/{attachment_carousel-BFIAXWOZ.js → attachment_carousel-CyiexPBk.js} +1 -1
  25. package/dist/{attachment_carousel-BFIAXWOZ.js.map → attachment_carousel-CyiexPBk.js.map} +1 -1
  26. package/dist/{attachment_carousel-BJxqNJ5T.cjs → attachment_carousel-DJqILY7f.cjs} +1 -1
  27. package/dist/{attachment_carousel-BJxqNJ5T.cjs.map → attachment_carousel-DJqILY7f.cjs.map} +1 -1
  28. package/dist/common/mixins/input.d.ts +4 -4
  29. package/dist/common/mixins/input_group.d.ts +2 -2
  30. package/dist/common/sr_only_close_button.vue.d.ts +30 -30
  31. package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
  32. package/dist/common/validators/index.cjs +1 -1
  33. package/dist/common/validators/index.cjs.map +1 -1
  34. package/dist/common/validators/index.d.ts +2 -0
  35. package/dist/common/validators/index.d.ts.map +1 -1
  36. package/dist/common/validators/index.js +9 -2
  37. package/dist/common/validators/index.js.map +1 -1
  38. package/dist/component-documentation.json +1 -1
  39. package/dist/components/Avatar/Avatar.vue.d.ts +10 -10
  40. package/dist/components/Avatar/Avatar.vue.d.ts.map +1 -1
  41. package/dist/components/Badge/Badge.vue.d.ts +13 -13
  42. package/dist/components/Banner/Banner.vue.d.ts +142 -107
  43. package/dist/components/Banner/Banner.vue.d.ts.map +1 -1
  44. package/dist/components/Box/Box.vue.d.ts +18 -0
  45. package/dist/components/Box/Box.vue.d.ts.map +1 -1
  46. package/dist/components/Box/BoxConstants.d.ts +4 -0
  47. package/dist/components/Box/BoxConstants.d.ts.map +1 -1
  48. package/dist/components/Box/Validators.d.ts +4 -0
  49. package/dist/components/Box/Validators.d.ts.map +1 -1
  50. package/dist/components/Box/index.d.ts +1 -1
  51. package/dist/components/Breadcrumbs/BreadcrumbItem.vue.d.ts +1 -0
  52. package/dist/components/Breadcrumbs/BreadcrumbItem.vue.d.ts.map +1 -1
  53. package/dist/components/Breadcrumbs/Breadcrumbs.vue.d.ts +3 -2
  54. package/dist/components/Button/Button.vue.d.ts +25 -25
  55. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  56. package/dist/components/Card/Card.vue.d.ts +6 -6
  57. package/dist/components/Checkbox/Checkbox.vue.d.ts +62 -27
  58. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  59. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +82 -47
  60. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -1
  61. package/dist/components/Chip/Chip.vue.d.ts +40 -40
  62. package/dist/components/Chip/Chip.vue.d.ts.map +1 -1
  63. package/dist/components/Codeblock/Codeblock.vue.d.ts +2 -2
  64. package/dist/components/Collapsible/Collapsible.vue.d.ts +39 -39
  65. package/dist/components/Collapsible/Collapsible.vue.d.ts.map +1 -1
  66. package/dist/components/Combobox/Combobox.vue.d.ts +66 -66
  67. package/dist/components/Combobox/Combobox.vue.d.ts.map +1 -1
  68. package/dist/components/Combobox/ComboboxEmptyList.vue.d.ts +29 -29
  69. package/dist/components/Combobox/ComboboxEmptyList.vue.d.ts.map +1 -1
  70. package/dist/components/Combobox/ComboboxLoadingList.vue.d.ts +35 -35
  71. package/dist/components/Combobox/ComboboxLoadingList.vue.d.ts.map +1 -1
  72. package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts +216 -216
  73. package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts.map +1 -1
  74. package/dist/components/DescriptionList/DescriptionList.vue.d.ts +4 -4
  75. package/dist/components/Dropdown/Dropdown.vue.d.ts +82 -82
  76. package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  77. package/dist/components/Emoji/Emoji.vue.d.ts +17 -17
  78. package/dist/components/EmojiPicker/EmojiPicker.vue.d.ts +73 -38
  79. package/dist/components/EmojiPicker/EmojiPicker.vue.d.ts.map +1 -1
  80. package/dist/components/EmojiPicker/Modules/EmojiSearch.vue.d.ts +73 -38
  81. package/dist/components/EmojiPicker/Modules/EmojiSearch.vue.d.ts.map +1 -1
  82. package/dist/components/EmojiTextWrapper/EmojiTextWrapper.vue.d.ts +24 -24
  83. package/dist/components/EmojiTextWrapper/EmojiTextWrapper.vue.d.ts.map +1 -1
  84. package/dist/components/EmptyState/EmptyState.vue.d.ts.map +1 -1
  85. package/dist/components/FilterPill/FilterPill.vue.d.ts +380 -310
  86. package/dist/components/FilterPill/FilterPill.vue.d.ts.map +1 -1
  87. package/dist/components/Hovercard/Hovercard.vue.d.ts +156 -156
  88. package/dist/components/Hovercard/Hovercard.vue.d.ts.map +1 -1
  89. package/dist/components/Icon/Icon.vue.d.ts +7 -7
  90. package/dist/components/ImageViewer/ImageViewer.vue.d.ts +60 -60
  91. package/dist/components/ImageViewer/ImageViewer.vue.d.ts.map +1 -1
  92. package/dist/components/Input/Input.vue.d.ts +73 -38
  93. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  94. package/dist/components/InputGroup/InputGroup.vue.d.ts +82 -47
  95. package/dist/components/InputGroup/InputGroup.vue.d.ts.map +1 -1
  96. package/dist/components/ItemLayout/ItemLayout.vue.d.ts +20 -20
  97. package/dist/components/KeyboardShortcut/KeyboardShortcut.vue.d.ts +116 -81
  98. package/dist/components/KeyboardShortcut/KeyboardShortcut.vue.d.ts.map +1 -1
  99. package/dist/components/Link/Link.vue.d.ts +1 -0
  100. package/dist/components/Link/LinkConstants.d.ts +3 -0
  101. package/dist/components/Link/LinkConstants.d.ts.map +1 -1
  102. package/dist/components/ListItem/ListItem.vue.d.ts +27 -27
  103. package/dist/components/ListItem/ListItem.vue.d.ts.map +1 -1
  104. package/dist/components/ListItemGroup/ListItemGroup.vue.d.ts +4 -4
  105. package/dist/components/Loader/Loader.vue.d.ts +7 -7
  106. package/dist/components/Modal/Modal.vue.d.ts +115 -86
  107. package/dist/components/Modal/Modal.vue.d.ts.map +1 -1
  108. package/dist/components/Modal/ModalConstants.d.ts +0 -5
  109. package/dist/components/Modal/index.d.ts +1 -1
  110. package/dist/components/Notice/Notice.vue.d.ts +142 -107
  111. package/dist/components/Notice/Notice.vue.d.ts.map +1 -1
  112. package/dist/components/Notice/NoticeAction.vue.d.ts +62 -62
  113. package/dist/components/Notice/NoticeAction.vue.d.ts.map +1 -1
  114. package/dist/components/Notice/NoticeContent.vue.d.ts +40 -5
  115. package/dist/components/Notice/NoticeContent.vue.d.ts.map +1 -1
  116. package/dist/components/Notice/NoticeIcon.vue.d.ts +32 -32
  117. package/dist/components/Notice/NoticeIcon.vue.d.ts.map +1 -1
  118. package/dist/components/Pagination/Pagination.vue.d.ts +40 -40
  119. package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
  120. package/dist/components/Popover/Popover.vue.d.ts +78 -78
  121. package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
  122. package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts +34 -34
  123. package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts.map +1 -1
  124. package/dist/components/ProgressCircle/ProgressCircle.vue.d.ts +7 -7
  125. package/dist/components/Prose/Prose.vue.d.ts.map +1 -1
  126. package/dist/components/Radio/Radio.vue.d.ts +62 -27
  127. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  128. package/dist/components/RadioGroup/RadioGroup.vue.d.ts +82 -47
  129. package/dist/components/RadioGroup/RadioGroup.vue.d.ts.map +1 -1
  130. package/dist/components/RichTextEditor/Extensions/Channels/ChannelComponent.vue.d.ts +6 -5
  131. package/dist/components/RichTextEditor/Extensions/Channels/ChannelComponent.vue.d.ts.map +1 -1
  132. package/dist/components/RichTextEditor/Extensions/Channels/ChannelSuggestion.vue.d.ts +10 -10
  133. package/dist/components/RichTextEditor/Extensions/Channels/ChannelSuggestion.vue.d.ts.map +1 -1
  134. package/dist/components/RichTextEditor/Extensions/Emoji/EmojiComponent.vue.d.ts +17 -17
  135. package/dist/components/RichTextEditor/Extensions/Emoji/EmojiSuggestion.vue.d.ts +17 -17
  136. package/dist/components/RichTextEditor/Extensions/Mentions/MentionComponent.vue.d.ts +1 -0
  137. package/dist/components/RichTextEditor/Extensions/Mentions/MentionSuggestion.vue.d.ts +46 -11
  138. package/dist/components/RichTextEditor/Extensions/SlashCommand/SlashCommandSuggestion.vue.d.ts +36 -1
  139. package/dist/components/RichTextEditor/Extensions/Suggestion/SuggestionList.vue.d.ts +27 -27
  140. package/dist/components/RichTextEditor/Extensions/Suggestion/SuggestionList.vue.d.ts.map +1 -1
  141. package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts +189 -154
  142. package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts.map +1 -1
  143. package/dist/components/RootLayout/RootLayout.vue.d.ts +10 -10
  144. package/dist/components/SegmentedControl/SegmentedControl.vue.d.ts.map +1 -1
  145. package/dist/components/SelectMenu/SelectMenu.vue.d.ts +69 -34
  146. package/dist/components/SelectMenu/SelectMenu.vue.d.ts.map +1 -1
  147. package/dist/components/Skeleton/Skeleton.vue.d.ts +8 -8
  148. package/dist/components/Skeleton/SkeletonListItem.vue.d.ts +4 -4
  149. package/dist/components/Skeleton/SkeletonParagraph.vue.d.ts +2 -2
  150. package/dist/components/Skeleton/SkeletonShape.vue.d.ts +2 -2
  151. package/dist/components/SplitButton/SplitButton.vue.d.ts +157 -157
  152. package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
  153. package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts +30 -30
  154. package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts.map +1 -1
  155. package/dist/components/SplitButton/SplitButtonStart.vue.d.ts +31 -31
  156. package/dist/components/Tab/Tab.vue.d.ts +33 -33
  157. package/dist/components/Tab/TabGroup.vue.d.ts +6 -6
  158. package/dist/components/Tab/TabPanel.vue.d.ts +2 -2
  159. package/dist/components/Text/Text.vue.d.ts +36 -1
  160. package/dist/components/Text/Text.vue.d.ts.map +1 -1
  161. package/dist/components/Text/TextConstants.d.ts +53 -0
  162. package/dist/components/Text/TextConstants.d.ts.map +1 -1
  163. package/dist/components/Text/index.d.ts +1 -1
  164. package/dist/components/TextList/TextList.vue.d.ts +87 -0
  165. package/dist/components/TextList/TextList.vue.d.ts.map +1 -0
  166. package/dist/components/TextList/TextListConstants.d.ts +20 -0
  167. package/dist/components/TextList/TextListConstants.d.ts.map +1 -0
  168. package/dist/components/TextList/TextListItem.vue.d.ts +60 -0
  169. package/dist/components/TextList/TextListItem.vue.d.ts.map +1 -0
  170. package/dist/components/TextList/Validators.d.ts +5 -0
  171. package/dist/components/TextList/Validators.d.ts.map +1 -0
  172. package/dist/components/TextList/index.d.ts +4 -0
  173. package/dist/components/TextList/index.d.ts.map +1 -0
  174. package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts +144 -109
  175. package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts.map +1 -1
  176. package/dist/components/Toast/Layouts/ToastLayoutAlternateIcon.vue.d.ts +34 -34
  177. package/dist/components/Toast/Layouts/ToastLayoutAlternateIcon.vue.d.ts.map +1 -1
  178. package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts +142 -107
  179. package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts.map +1 -1
  180. package/dist/components/Toast/Toast.vue.d.ts +580 -440
  181. package/dist/components/Toast/Toast.vue.d.ts.map +1 -1
  182. package/dist/components/Toggle/Toggle.vue.d.ts +4 -4
  183. package/dist/components/Toggle/Toggle.vue.d.ts.map +1 -1
  184. package/dist/components/Tooltip/Tooltip.vue.d.ts +4 -4
  185. package/dist/components/ValidationMessages/ValidationMessages.vue.d.ts +22 -22
  186. package/dist/components/ValidationMessages/ValidationMessages.vue.d.ts.map +1 -1
  187. package/dist/dialtone-vue.cjs +1 -1
  188. package/dist/dialtone-vue.js +146 -142
  189. package/dist/index.d.ts +1 -0
  190. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  191. package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
  192. package/dist/lib/attachment-carousel/index.cjs +1 -1
  193. package/dist/lib/attachment-carousel/index.js +1 -1
  194. package/dist/lib/avatar/avatar.cjs +1 -1
  195. package/dist/lib/avatar/avatar.cjs.map +1 -1
  196. package/dist/lib/avatar/avatar.js +55 -54
  197. package/dist/lib/avatar/avatar.js.map +1 -1
  198. package/dist/lib/badge/badge.cjs +1 -1
  199. package/dist/lib/badge/badge.cjs.map +1 -1
  200. package/dist/lib/badge/badge.js +36 -35
  201. package/dist/lib/badge/badge.js.map +1 -1
  202. package/dist/lib/box/box-constants.cjs +1 -1
  203. package/dist/lib/box/box-constants.cjs.map +1 -1
  204. package/dist/lib/box/box-constants.js +34 -7
  205. package/dist/lib/box/box-constants.js.map +1 -1
  206. package/dist/lib/box/box.cjs +1 -1
  207. package/dist/lib/box/box.cjs.map +1 -1
  208. package/dist/lib/box/box.js +93 -34
  209. package/dist/lib/box/box.js.map +1 -1
  210. package/dist/lib/box/index.cjs +1 -1
  211. package/dist/lib/box/index.js +3 -3
  212. package/dist/lib/box/validators.cjs +1 -1
  213. package/dist/lib/box/validators.cjs.map +1 -1
  214. package/dist/lib/box/validators.js +4 -4
  215. package/dist/lib/box/validators.js.map +1 -1
  216. package/dist/lib/button/button.cjs +1 -1
  217. package/dist/lib/button/button.cjs.map +1 -1
  218. package/dist/lib/button/button.js +69 -68
  219. package/dist/lib/button/button.js.map +1 -1
  220. package/dist/lib/chip/chip.cjs +1 -1
  221. package/dist/lib/chip/chip.cjs.map +1 -1
  222. package/dist/lib/chip/chip.js +36 -35
  223. package/dist/lib/chip/chip.js.map +1 -1
  224. package/dist/lib/codeblock/codeblock.cjs +1 -1
  225. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  226. package/dist/lib/codeblock/codeblock.js +11 -10
  227. package/dist/lib/codeblock/codeblock.js.map +1 -1
  228. package/dist/lib/combobox/combobox.cjs +1 -1
  229. package/dist/lib/combobox/combobox.js +1 -1
  230. package/dist/lib/combobox/index.cjs +1 -1
  231. package/dist/lib/combobox/index.js +1 -1
  232. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  233. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  234. package/dist/lib/combobox-multi-select/combobox-multi-select.js +53 -53
  235. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  236. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  237. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  238. package/dist/lib/combobox-with-popover/combobox-with-popover.js +48 -47
  239. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  240. package/dist/lib/editor/editor.cjs +1 -1
  241. package/dist/lib/editor/editor.js +2 -2
  242. package/dist/lib/emoji/emoji.cjs +1 -1
  243. package/dist/lib/emoji/emoji.cjs.map +1 -1
  244. package/dist/lib/emoji/emoji.js +25 -24
  245. package/dist/lib/emoji/emoji.js.map +1 -1
  246. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +1 -1
  247. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  248. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js +20 -19
  249. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  250. package/dist/lib/empty-state/empty-state.cjs +1 -1
  251. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  252. package/dist/lib/empty-state/empty-state.js +31 -30
  253. package/dist/lib/empty-state/empty-state.js.map +1 -1
  254. package/dist/lib/filter-pill/filter-pill.cjs +1 -1
  255. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -1
  256. package/dist/lib/filter-pill/filter-pill.js +73 -72
  257. package/dist/lib/filter-pill/filter-pill.js.map +1 -1
  258. package/dist/lib/icon/icon.cjs +1 -1
  259. package/dist/lib/icon/icon.cjs.map +1 -1
  260. package/dist/lib/icon/icon.js +16 -15
  261. package/dist/lib/icon/icon.js.map +1 -1
  262. package/dist/lib/input/input.cjs +1 -1
  263. package/dist/lib/input/input.cjs.map +1 -1
  264. package/dist/lib/input/input.js +64 -63
  265. package/dist/lib/input/input.js.map +1 -1
  266. package/dist/lib/link/link-constants.cjs +1 -1
  267. package/dist/lib/link/link-constants.cjs.map +1 -1
  268. package/dist/lib/link/link-constants.js +11 -9
  269. package/dist/lib/link/link-constants.js.map +1 -1
  270. package/dist/lib/link/link.cjs +1 -1
  271. package/dist/lib/link/link.cjs.map +1 -1
  272. package/dist/lib/link/link.js +17 -14
  273. package/dist/lib/link/link.js.map +1 -1
  274. package/dist/lib/loader/loader.cjs +3 -3
  275. package/dist/lib/loader/loader.cjs.map +1 -1
  276. package/dist/lib/loader/loader.js +21 -20
  277. package/dist/lib/loader/loader.js.map +1 -1
  278. package/dist/lib/message-input/index.cjs +1 -1
  279. package/dist/lib/message-input/index.js +1 -1
  280. package/dist/lib/message-input/message-input.cjs +1 -1
  281. package/dist/lib/message-input/message-input.js +1 -1
  282. package/dist/lib/modal/index.cjs +1 -1
  283. package/dist/lib/modal/index.js +3 -3
  284. package/dist/lib/modal/modal-constants.cjs +1 -1
  285. package/dist/lib/modal/modal-constants.cjs.map +1 -1
  286. package/dist/lib/modal/modal-constants.js +1 -4
  287. package/dist/lib/modal/modal-constants.js.map +1 -1
  288. package/dist/lib/modal/modal.cjs +1 -1
  289. package/dist/lib/modal/modal.cjs.map +1 -1
  290. package/dist/lib/modal/modal.js +40 -42
  291. package/dist/lib/modal/modal.js.map +1 -1
  292. package/dist/lib/popover/popover.cjs +1 -1
  293. package/dist/lib/popover/popover.cjs.map +1 -1
  294. package/dist/lib/popover/popover.js +1 -1
  295. package/dist/lib/popover/popover.js.map +1 -1
  296. package/dist/lib/progress-circle/progress-circle.cjs +1 -1
  297. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -1
  298. package/dist/lib/progress-circle/progress-circle.js +33 -32
  299. package/dist/lib/progress-circle/progress-circle.js.map +1 -1
  300. package/dist/lib/prose/prose.cjs +1 -1
  301. package/dist/lib/prose/prose.cjs.map +1 -1
  302. package/dist/lib/prose/prose.js +23 -22
  303. package/dist/lib/prose/prose.js.map +1 -1
  304. package/dist/lib/rich-text-editor/index.cjs +1 -1
  305. package/dist/lib/rich-text-editor/index.js +1 -1
  306. package/dist/lib/rich-text-editor/markdown-renderer.js +1 -1
  307. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  308. package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
  309. package/dist/lib/segmented-control/segmented-control.cjs +1 -1
  310. package/dist/lib/segmented-control/segmented-control.cjs.map +1 -1
  311. package/dist/lib/segmented-control/segmented-control.js +42 -41
  312. package/dist/lib/segmented-control/segmented-control.js.map +1 -1
  313. package/dist/lib/select-menu/select-menu.cjs +1 -1
  314. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  315. package/dist/lib/select-menu/select-menu.js +48 -47
  316. package/dist/lib/select-menu/select-menu.js.map +1 -1
  317. package/dist/lib/split-button/split-button.cjs +1 -1
  318. package/dist/lib/split-button/split-button.cjs.map +1 -1
  319. package/dist/lib/split-button/split-button.js +45 -44
  320. package/dist/lib/split-button/split-button.js.map +1 -1
  321. package/dist/lib/tab/tab-group.cjs +1 -1
  322. package/dist/lib/tab/tab-group.cjs.map +1 -1
  323. package/dist/lib/tab/tab-group.js +34 -35
  324. package/dist/lib/tab/tab-group.js.map +1 -1
  325. package/dist/lib/text/index.cjs +1 -1
  326. package/dist/lib/text/index.js +3 -3
  327. package/dist/lib/text/text-constants.cjs +1 -1
  328. package/dist/lib/text/text-constants.cjs.map +1 -1
  329. package/dist/lib/text/text-constants.js +70 -21
  330. package/dist/lib/text/text-constants.js.map +1 -1
  331. package/dist/lib/text/text.cjs +1 -1
  332. package/dist/lib/text/text.cjs.map +1 -1
  333. package/dist/lib/text/text.js +72 -37
  334. package/dist/lib/text/text.js.map +1 -1
  335. package/dist/lib/text-list/index.cjs +1 -0
  336. package/dist/lib/text-list/index.js +4 -0
  337. package/dist/lib/text-list/text-list-constants.cjs +2 -0
  338. package/dist/lib/text-list/text-list-constants.cjs.map +1 -0
  339. package/dist/lib/text-list/text-list-constants.js +31 -0
  340. package/dist/lib/text-list/text-list-constants.js.map +1 -0
  341. package/dist/lib/text-list/text-list-item.cjs +1 -0
  342. package/dist/lib/text-list/text-list-item.js +2 -0
  343. package/dist/lib/text-list/text-list.cjs +1 -0
  344. package/dist/lib/text-list/text-list.js +2 -0
  345. package/dist/lib/text-list/validators.cjs +2 -0
  346. package/dist/lib/text-list/validators.cjs.map +1 -0
  347. package/dist/lib/text-list/validators.js +10 -0
  348. package/dist/lib/text-list/validators.js.map +1 -0
  349. package/dist/lib/toast/index.cjs +1 -1
  350. package/dist/lib/toast/index.js +1 -1
  351. package/dist/lib/toast/toast.cjs +1 -1
  352. package/dist/lib/toast/toast.js +1 -1
  353. package/dist/lib/toggle/toggle.cjs +1 -1
  354. package/dist/lib/toggle/toggle.cjs.map +1 -1
  355. package/dist/lib/toggle/toggle.js +23 -22
  356. package/dist/lib/toggle/toggle.js.map +1 -1
  357. package/dist/{message_input-CbQCd07F.js → message_input-C6BcWqr8.js} +2 -2
  358. package/dist/{message_input-CbQCd07F.js.map → message_input-C6BcWqr8.js.map} +1 -1
  359. package/dist/{message_input-dBQwgyjI.cjs → message_input-ftx8f8wC.cjs} +2 -2
  360. package/dist/{message_input-dBQwgyjI.cjs.map → message_input-ftx8f8wC.cjs.map} +1 -1
  361. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  362. package/dist/node_modules/@tiptap/vue-3.js +1 -1
  363. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  364. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +33 -33
  365. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +149 -149
  366. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  367. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +147 -147
  368. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  369. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +173 -173
  370. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  371. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +40 -40
  372. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  373. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +132 -132
  374. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  375. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +97 -97
  376. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  377. package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +25 -25
  378. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +107 -107
  379. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  380. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +103 -103
  381. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  382. package/dist/recipes/conversation_view/editor/editor.vue.d.ts +672 -637
  383. package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  384. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +70 -70
  385. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  386. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +66 -66
  387. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  388. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +55 -55
  389. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  390. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +55 -55
  391. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  392. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +784 -609
  393. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  394. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +145 -110
  395. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  396. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +326 -256
  397. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  398. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +185 -150
  399. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  400. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +30 -30
  401. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  402. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +30 -30
  403. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +28 -28
  404. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  405. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +72 -72
  406. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  407. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +215 -215
  408. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  409. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +176 -176
  410. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  411. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +80 -80
  412. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  413. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +181 -181
  414. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  415. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +10 -10
  416. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  417. package/package.json +4 -4
  418. package/dist/Combobox-By01ETlj.js.map +0 -1
  419. package/dist/Combobox-D4hc1-41.cjs +0 -3
  420. package/dist/Combobox-D4hc1-41.cjs.map +0 -1
  421. package/dist/Toast-CHbVmbBg.js.map +0 -1
  422. package/dist/Toast-DX-REYXG.cjs +0 -2
  423. package/dist/Toast-DX-REYXG.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
- import { asValidator as e, borderColorValidator as t, borderRadiusValidator as n, borderWidthValidator as r, layoutValidator as i, overflowValidator as a, scrollbarValidator as o, shadowValidator as s, spacingValidator as c, surfaceValidator as l } from "./validators.js";
2
- import { computed as u, createBlock as d, createElementVNode as f, normalizeClass as p, onMounted as m, openBlock as h, renderSlot as g, resolveDirective as _, resolveDynamicComponent as v, withCtx as y, withDirectives as b } from "vue";
1
+ import { asValidator as e, borderColorValidator as t, borderRadiusValidator as n, borderWidthValidator as r, insetSideValidator as i, insetValidator as a, layoutValidator as o, overflowValidator as s, positionValidator as c, scrollbarValidator as l, shadowValidator as u, spacingValidator as d, surfaceValidator as f, zIndexValidator as p } from "./validators.js";
2
+ import { computed as m, createBlock as h, createElementVNode as g, normalizeClass as _, onMounted as v, openBlock as y, renderSlot as b, resolveDirective as x, resolveDynamicComponent as S, withCtx as C, withDirectives as w } from "vue";
3
3
  //#region components/Box/Box.vue
4
- var x = /* @__PURE__ */ Object.assign({ name: "DtBox" }, {
4
+ var T = /* @__PURE__ */ Object.assign({ name: "DtBox" }, {
5
5
  __name: "Box",
6
6
  props: {
7
7
  as: {
@@ -12,12 +12,12 @@ var x = /* @__PURE__ */ Object.assign({ name: "DtBox" }, {
12
12
  scrollbar: {
13
13
  type: [String, Boolean],
14
14
  default: void 0,
15
- validator: o
15
+ validator: l
16
16
  },
17
17
  surface: {
18
18
  type: String,
19
19
  default: void 0,
20
- validator: l
20
+ validator: f
21
21
  },
22
22
  borderColor: {
23
23
  type: String,
@@ -67,78 +67,123 @@ var x = /* @__PURE__ */ Object.assign({ name: "DtBox" }, {
67
67
  padding: {
68
68
  type: String,
69
69
  default: void 0,
70
- validator: c
70
+ validator: d
71
71
  },
72
72
  paddingBlock: {
73
73
  type: String,
74
74
  default: void 0,
75
- validator: c
75
+ validator: d
76
76
  },
77
77
  paddingBlockEnd: {
78
78
  type: String,
79
79
  default: void 0,
80
- validator: c
80
+ validator: d
81
81
  },
82
82
  paddingBlockStart: {
83
83
  type: String,
84
84
  default: void 0,
85
- validator: c
85
+ validator: d
86
86
  },
87
87
  paddingInline: {
88
88
  type: String,
89
89
  default: void 0,
90
- validator: c
90
+ validator: d
91
91
  },
92
92
  paddingInlineEnd: {
93
93
  type: String,
94
94
  default: void 0,
95
- validator: c
95
+ validator: d
96
96
  },
97
97
  paddingInlineStart: {
98
98
  type: String,
99
99
  default: void 0,
100
- validator: c
100
+ validator: d
101
101
  },
102
102
  blockSize: {
103
103
  type: String,
104
104
  default: void 0,
105
- validator: i
105
+ validator: o
106
106
  },
107
107
  inlineSize: {
108
108
  type: String,
109
109
  default: void 0,
110
- validator: i
110
+ validator: o
111
111
  },
112
112
  maxBlockSize: {
113
113
  type: String,
114
114
  default: void 0,
115
- validator: i
115
+ validator: o
116
116
  },
117
117
  minBlockSize: {
118
118
  type: String,
119
119
  default: void 0,
120
- validator: i
120
+ validator: o
121
121
  },
122
122
  maxInlineSize: {
123
123
  type: String,
124
124
  default: void 0,
125
- validator: i
125
+ validator: o
126
126
  },
127
127
  minInlineSize: {
128
128
  type: String,
129
129
  default: void 0,
130
- validator: i
130
+ validator: o
131
131
  },
132
132
  shadow: {
133
133
  type: String,
134
134
  default: void 0,
135
- validator: s
135
+ validator: u
136
136
  },
137
- overflow: {
137
+ position: {
138
+ type: String,
139
+ default: void 0,
140
+ validator: c
141
+ },
142
+ inset: {
143
+ type: String,
144
+ default: void 0,
145
+ validator: a
146
+ },
147
+ insetBlock: {
138
148
  type: String,
139
149
  default: void 0,
140
150
  validator: a
141
151
  },
152
+ insetBlockStart: {
153
+ type: String,
154
+ default: void 0,
155
+ validator: i
156
+ },
157
+ insetBlockEnd: {
158
+ type: String,
159
+ default: void 0,
160
+ validator: i
161
+ },
162
+ insetInline: {
163
+ type: String,
164
+ default: void 0,
165
+ validator: a
166
+ },
167
+ insetInlineStart: {
168
+ type: String,
169
+ default: void 0,
170
+ validator: i
171
+ },
172
+ insetInlineEnd: {
173
+ type: String,
174
+ default: void 0,
175
+ validator: i
176
+ },
177
+ zIndex: {
178
+ type: String,
179
+ default: void 0,
180
+ validator: p
181
+ },
182
+ overflow: {
183
+ type: String,
184
+ default: void 0,
185
+ validator: s
186
+ },
142
187
  scrollbarContentClass: {
143
188
  type: [
144
189
  String,
@@ -154,8 +199,8 @@ var x = /* @__PURE__ */ Object.assign({ name: "DtBox" }, {
154
199
  "ol",
155
200
  "span",
156
201
  "fieldset"
157
- ], r = u(() => t.scrollbar === !0 ? "leave" : t.scrollbar ?? void 0);
158
- m(() => {
202
+ ], r = m(() => t.scrollbar === !0 ? "leave" : t.scrollbar ?? void 0);
203
+ v(() => {
159
204
  t.scrollbar && n.includes(t.as) && console.warn(`[DtBox] scrollbar prop inserts a <div> wrapper which breaks semantic child structure for <${t.as}>. Consider applying scrollbar on a parent DtBox container instead.`);
160
205
  });
161
206
  function i(e, t) {
@@ -198,40 +243,54 @@ var x = /* @__PURE__ */ Object.assign({ name: "DtBox" }, {
198
243
  i("d-box--max-bls", e.maxBlockSize)
199
244
  ];
200
245
  }
201
- let c = u(() => [
246
+ function c(e) {
247
+ return [
248
+ i("d-box--ps", e.position),
249
+ i("d-box--inset", e.inset),
250
+ i("d-box--inset-block", e.insetBlock),
251
+ i("d-box--inset-inline", e.insetInline),
252
+ i("d-box--ibs", e.insetBlockStart),
253
+ i("d-box--ibe", e.insetBlockEnd),
254
+ i("d-box--iis", e.insetInlineStart),
255
+ i("d-box--iie", e.insetInlineEnd),
256
+ i("d-box--zi", e.zIndex)
257
+ ];
258
+ }
259
+ let l = m(() => [
202
260
  "d-box",
203
261
  ...a(t),
204
262
  ...o(t),
205
- ...s(t)
263
+ ...s(t),
264
+ ...c(t)
206
265
  ]);
207
266
  return (t, n) => {
208
- let i = _("dt-scrollbar");
209
- return e.scrollbar ? b((h(), d(v(e.as), {
267
+ let i = x("dt-scrollbar");
268
+ return e.scrollbar ? w((y(), h(S(e.as), {
210
269
  key: 0,
211
270
  "data-qa": "dt-box",
212
- class: p(c.value)
271
+ class: _(l.value)
213
272
  }, {
214
- default: y(() => [f("div", {
273
+ default: C(() => [g("div", {
215
274
  "data-qa": "dt-box-scrollbar-content",
216
- class: p(["d-box__scrollbar-content", e.scrollbarContentClass])
217
- }, [g(t.$slots, "default")], 2)]),
275
+ class: _(["d-box__scrollbar-content", e.scrollbarContentClass])
276
+ }, [b(t.$slots, "default")], 2)]),
218
277
  _: 3
219
278
  }, 8, ["class"])), [[
220
279
  i,
221
280
  void 0,
222
281
  r.value
223
- ]]) : (h(), d(v(e.as), {
282
+ ]]) : (y(), h(S(e.as), {
224
283
  key: 1,
225
284
  "data-qa": "dt-box",
226
- class: p(c.value)
285
+ class: _(l.value)
227
286
  }, {
228
- default: y(() => [g(t.$slots, "default")]),
287
+ default: C(() => [b(t.$slots, "default")]),
229
288
  _: 3
230
289
  }, 8, ["class"]));
231
290
  };
232
291
  }
233
292
  });
234
293
  //#endregion
235
- export { x as default };
294
+ export { T as default };
236
295
 
237
296
  //# sourceMappingURL=box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"box.js","names":[],"sources":["../../../components/Box/Box.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <component\n :is=\"as\"\n v-if=\"scrollbar\"\n v-dt-scrollbar:[scrollbarMode]\n data-qa=\"dt-box\"\n :class=\"boxClasses\"\n >\n <div\n data-qa=\"dt-box-scrollbar-content\"\n :class=\"['d-box__scrollbar-content', scrollbarContentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </div>\n </component>\n <component\n :is=\"as\"\n v-else\n data-qa=\"dt-box\"\n :class=\"boxClasses\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script setup>\nimport { computed, onMounted } from 'vue';\nimport {\n asValidator,\n spacingValidator,\n surfaceValidator,\n borderColorValidator,\n borderWidthValidator,\n borderRadiusValidator,\n shadowValidator,\n layoutValidator,\n overflowValidator,\n scrollbarValidator,\n} from './Validators.js';\n\ndefineOptions({\n name: 'DtBox',\n});\n\nconst props = defineProps({\n /**\n * HTML element to render as.\n * @values div, span, section, article, aside, main, header, footer, nav, ul, ol, li, fieldset, form, figure\n */\n as: { type: String, default: 'div', validator: asValidator },\n\n /**\n * Custom scrollbar via OverlayScrollbars. When set, an inner viewport\n * wrapper (.d-box__scrollbar-content) is inserted automatically.\n * @values leave, scroll, move, always\n */\n scrollbar: { type: [String, Boolean], default: undefined, validator: scrollbarValidator },\n\n /**\n * Background surface color. Maps to --dt-color-surface-* tokens.\n * @values primary, primary-opaque, secondary, secondary-opaque, moderate, moderate-opaque, bold, bold-opaque, strong, strong-opaque, contrast, contrast-opaque, backdrop, overlay, brand, brand-opaque, brand-subtle, brand-subtle-opaque, brand-strong, info, info-opaque, info-subtle, info-subtle-opaque, info-strong, positive, positive-opaque, positive-subtle, positive-subtle-opaque, positive-strong, warning, warning-opaque, warning-subtle, warning-subtle-opaque, warning-strong, critical, critical-opaque, critical-subtle, critical-subtle-opaque, critical-strong\n */\n surface: { type: String, default: undefined, validator: surfaceValidator },\n\n /**\n * Border color. Maps to --dt-color-border-* tokens.\n * Defaults to 'default'. Visible when any border-width prop is set.\n * @values transparent, subtle, default, moderate, bold, positive, positive-subtle, positive-strong, warning, warning-subtle, warning-strong, critical, critical-subtle, critical-strong, info, info-subtle, info-strong, focus, brand, brand-subtle, brand-strong\n */\n borderColor: { type: String, default: 'default', validator: borderColorValidator },\n\n /**\n * Border radius. Maps to --dt-size-radius-* tokens.\n * @values 0, 100, 200, 300, 350, 400, 450, 500, 550, 600, pill, circle\n */\n borderRadius: { type: String, default: undefined, validator: borderRadiusValidator },\n\n /**\n * Border width on all sides. Maps to --dt-size-border-* tokens.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidth: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the block axis (aka top/bottom).\n * Overrides `borderWidth` for block sides.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthBlock: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the block-end side (aka bottom).\n * Overrides `borderWidthBlock` and `borderWidth` for block-end.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthBlockEnd: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the block-start side (aka top).\n * Overrides `borderWidthBlock` and `borderWidth` for block-start.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthBlockStart: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the inline axis (aka left/right).\n * Overrides `borderWidth` for inline sides.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthInline: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the inline-end side (aka right).\n * Overrides `borderWidthInline` and `borderWidth` for inline-end.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthInlineEnd: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the inline-start side (aka left).\n * Overrides `borderWidthInline` and `borderWidth` for inline-start.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthInlineStart: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Padding on all sides. Accepts spacing token scale values.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n padding: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the block axis (aka top/bottom).\n * Overrides `padding` for the block axis.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingBlock: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the block-end side (aka bottom).\n * Overrides `paddingBlock` and `padding` for block-end.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingBlockEnd: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the block-start side (aka top).\n * Overrides `paddingBlock` and `padding` for block-start.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingBlockStart: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the inline axis (aka left/right).\n * Overrides `padding` for the inline axis.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingInline: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the inline-end side (aka right).\n * Overrides `paddingInline` and `padding` for inline-end.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingInlineEnd: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the inline-start side (aka left).\n * Overrides `paddingInline` and `padding` for inline-start.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingInlineStart: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Block size (aka height). Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n blockSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Inline size (aka width). Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n inlineSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Maximum block size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n maxBlockSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Minimum block size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n minBlockSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Maximum inline size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n maxInlineSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Minimum inline size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n minInlineSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Box shadow. Maps to --dt-shadow-* tokens.\n * @values small, medium, large, extra-large, card\n */\n shadow: { type: String, default: undefined, validator: shadowValidator },\n\n /**\n * Overflow behavior.\n * @values hidden, scroll, auto, clip, visible\n */\n overflow: { type: String, default: undefined, validator: overflowValidator },\n\n /**\n * Additional CSS classes applied to the scrollbar content wrapper element.\n * Only applies when scrollbar prop is set.\n */\n scrollbarContentClass: { type: [String, Object, Array], default: '' },\n});\n\nconst SCROLLBAR_INCOMPATIBLE_ELEMENTS = ['ul', 'ol', 'span', 'fieldset'];\n\nconst scrollbarMode = computed(() => {\n if (props.scrollbar === true) return 'leave';\n return props.scrollbar ?? undefined;\n});\n\nonMounted(() => {\n if (props.scrollbar && SCROLLBAR_INCOMPATIBLE_ELEMENTS.includes(props.as)) {\n console.warn(\n `[DtBox] scrollbar prop inserts a <div> wrapper which breaks semantic child structure ` +\n `for <${props.as}>. Consider applying scrollbar on a parent DtBox container instead.`,\n );\n }\n});\n\nfunction modifierClass (prefix, value) {\n return value ? `${prefix}-${value}` : false;\n}\n\nfunction paddingClasses (p) {\n return [\n modifierClass('d-box--p', p.padding),\n modifierClass('d-box--pi', p.paddingInline),\n modifierClass('d-box--pis', p.paddingInlineStart),\n modifierClass('d-box--pie', p.paddingInlineEnd),\n modifierClass('d-box--pbl', p.paddingBlock),\n modifierClass('d-box--pbs', p.paddingBlockStart),\n modifierClass('d-box--pbe', p.paddingBlockEnd),\n ];\n}\n\nfunction visualClasses (p) {\n return [\n modifierClass('d-box--surface', p.surface),\n modifierClass('d-box--bc', p.borderColor),\n modifierClass('d-box--bw', p.borderWidth),\n modifierClass('d-box--bwi', p.borderWidthInline),\n modifierClass('d-box--bwis', p.borderWidthInlineStart),\n modifierClass('d-box--bwie', p.borderWidthInlineEnd),\n modifierClass('d-box--bwbl', p.borderWidthBlock),\n modifierClass('d-box--bwbs', p.borderWidthBlockStart),\n modifierClass('d-box--bwbe', p.borderWidthBlockEnd),\n modifierClass('d-box--br', p.borderRadius),\n modifierClass('d-box--shadow', p.shadow),\n modifierClass('d-box--of', p.overflow),\n ];\n}\n\nfunction sizingClasses (p) {\n return [\n modifierClass('d-box--is', p.inlineSize),\n modifierClass('d-box--bls', p.blockSize),\n modifierClass('d-box--min-is', p.minInlineSize),\n modifierClass('d-box--max-is', p.maxInlineSize),\n modifierClass('d-box--min-bls', p.minBlockSize),\n modifierClass('d-box--max-bls', p.maxBlockSize),\n ];\n}\n\nconst boxClasses = computed(() => [\n 'd-box',\n ...paddingClasses(props),\n ...visualClasses(props),\n ...sizingClasses(props),\n]);\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CA,IAAM,IAAQ,GAwLR,IAAkC;GAAC;GAAM;GAAM;GAAQ;GAAW,EAElE,IAAgB,QAChB,EAAM,cAAc,KAAa,UAC9B,EAAM,aAAa,KAAA,EAC1B;AAEF,UAAgB;AACd,GAAI,EAAM,aAAa,EAAgC,SAAS,EAAM,GAAG,IACvE,QAAQ,KACN,6FACQ,EAAM,GAAG,qEAClB;IAEH;EAEF,SAAS,EAAe,GAAQ,GAAO;AACrC,UAAO,IAAQ,GAAG,EAAO,GAAG,MAAU;;EAGxC,SAAS,EAAgB,GAAG;AAC1B,UAAO;IACL,EAAc,YAAY,EAAE,QAAQ;IACpC,EAAc,aAAa,EAAE,cAAc;IAC3C,EAAc,cAAc,EAAE,mBAAmB;IACjD,EAAc,cAAc,EAAE,iBAAiB;IAC/C,EAAc,cAAc,EAAE,aAAa;IAC3C,EAAc,cAAc,EAAE,kBAAkB;IAChD,EAAc,cAAc,EAAE,gBAAgB;IAC/C;;EAGH,SAAS,EAAe,GAAG;AACzB,UAAO;IACL,EAAc,kBAAkB,EAAE,QAAQ;IAC1C,EAAc,aAAa,EAAE,YAAY;IACzC,EAAc,aAAa,EAAE,YAAY;IACzC,EAAc,cAAc,EAAE,kBAAkB;IAChD,EAAc,eAAe,EAAE,uBAAuB;IACtD,EAAc,eAAe,EAAE,qBAAqB;IACpD,EAAc,eAAe,EAAE,iBAAiB;IAChD,EAAc,eAAe,EAAE,sBAAsB;IACrD,EAAc,eAAe,EAAE,oBAAoB;IACnD,EAAc,aAAa,EAAE,aAAa;IAC1C,EAAc,iBAAiB,EAAE,OAAO;IACxC,EAAc,aAAa,EAAE,SAAS;IACvC;;EAGH,SAAS,EAAe,GAAG;AACzB,UAAO;IACL,EAAc,aAAa,EAAE,WAAW;IACxC,EAAc,cAAc,EAAE,UAAU;IACxC,EAAc,iBAAiB,EAAE,cAAc;IAC/C,EAAc,iBAAiB,EAAE,cAAc;IAC/C,EAAc,kBAAkB,EAAE,aAAa;IAC/C,EAAc,kBAAkB,EAAE,aAAa;IAChD;;EAGH,IAAM,IAAa,QAAe;GAChC;GACA,GAAG,EAAe,EAAM;GACxB,GAAG,EAAc,EAAM;GACvB,GAAG,EAAc,EAAM;GACxB,CAAC;;;UApSQ,EAAA,YAAA,GAAA,GAAA,EAFR,EAcY,EAbL,EAAA,GAAE,EAAA;;IAGP,WAAQ;IACP,OAAK,EAAE,EAAA,MAAU;;qBAQZ,CANN,EAMM,OAAA;KALJ,WAAQ;KACP,OAAK,EAAA,CAAA,4BAA+B,EAAA,sBAAqB,CAAA;QAG1D,EAAQ,EAAA,QAAA,UAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;IATK,EAAA;IAAe,CAAA,CAAA,IAAA,GAAA,EAYhC,EAQY,EAPL,EAAA,GAAE,EAAA;;IAEP,WAAQ;IACP,OAAK,EAAE,EAAA,MAAU;;qBAGV,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"box.js","names":[],"sources":["../../../components/Box/Box.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <component\n :is=\"as\"\n v-if=\"scrollbar\"\n v-dt-scrollbar:[scrollbarMode]\n data-qa=\"dt-box\"\n :class=\"boxClasses\"\n >\n <div\n data-qa=\"dt-box-scrollbar-content\"\n :class=\"['d-box__scrollbar-content', scrollbarContentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </div>\n </component>\n <component\n :is=\"as\"\n v-else\n data-qa=\"dt-box\"\n :class=\"boxClasses\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script setup>\nimport { computed, onMounted } from 'vue';\nimport {\n asValidator,\n spacingValidator,\n insetValidator,\n insetSideValidator,\n surfaceValidator,\n borderColorValidator,\n borderWidthValidator,\n borderRadiusValidator,\n shadowValidator,\n positionValidator,\n zIndexValidator,\n layoutValidator,\n overflowValidator,\n scrollbarValidator,\n} from './Validators.js';\n\ndefineOptions({\n name: 'DtBox',\n});\n\nconst props = defineProps({\n /**\n * HTML element to render as.\n * @values div, span, section, article, aside, main, header, footer, nav, ul, ol, li, fieldset, form, figure\n */\n as: { type: String, default: 'div', validator: asValidator },\n\n /**\n * Custom scrollbar via OverlayScrollbars. When set, an inner viewport\n * wrapper (.d-box__scrollbar-content) is inserted automatically.\n * @values leave, scroll, move, always\n */\n scrollbar: { type: [String, Boolean], default: undefined, validator: scrollbarValidator },\n\n /**\n * Background surface color. Maps to --dt-color-surface-* tokens.\n * @values primary, primary-opaque, secondary, secondary-opaque, moderate, moderate-opaque, bold, bold-opaque, strong, strong-opaque, contrast, contrast-opaque, backdrop, overlay, brand, brand-opaque, brand-subtle, brand-subtle-opaque, brand-strong, info, info-opaque, info-subtle, info-subtle-opaque, info-strong, positive, positive-opaque, positive-subtle, positive-subtle-opaque, positive-strong, warning, warning-opaque, warning-subtle, warning-subtle-opaque, warning-strong, critical, critical-opaque, critical-subtle, critical-subtle-opaque, critical-strong\n */\n surface: { type: String, default: undefined, validator: surfaceValidator },\n\n /**\n * Border color. Maps to --dt-color-border-* tokens.\n * Defaults to 'default'. Visible when any border-width prop is set.\n * @values transparent, subtle, default, moderate, bold, positive, positive-subtle, positive-strong, warning, warning-subtle, warning-strong, critical, critical-subtle, critical-strong, info, info-subtle, info-strong, focus, brand, brand-subtle, brand-strong\n */\n borderColor: { type: String, default: 'default', validator: borderColorValidator },\n\n /**\n * Border radius. Maps to --dt-size-radius-* tokens.\n * @values 0, 100, 200, 300, 350, 400, 450, 500, 550, 600, pill, circle\n */\n borderRadius: { type: String, default: undefined, validator: borderRadiusValidator },\n\n /**\n * Border width on all sides. Maps to --dt-size-border-* tokens.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidth: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the block axis (aka top/bottom).\n * Overrides `borderWidth` for block sides.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthBlock: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the block-end side (aka bottom).\n * Overrides `borderWidthBlock` and `borderWidth` for block-end.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthBlockEnd: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the block-start side (aka top).\n * Overrides `borderWidthBlock` and `borderWidth` for block-start.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthBlockStart: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the inline axis (aka left/right).\n * Overrides `borderWidth` for inline sides.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthInline: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the inline-end side (aka right).\n * Overrides `borderWidthInline` and `borderWidth` for inline-end.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthInlineEnd: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Border width on the inline-start side (aka left).\n * Overrides `borderWidthInline` and `borderWidth` for inline-start.\n * @values 0, 50, 100, 150, 200, 300, 400\n */\n borderWidthInlineStart: { type: String, default: undefined, validator: borderWidthValidator },\n\n /**\n * Padding on all sides. Accepts spacing token scale values.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n padding: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the block axis (aka top/bottom).\n * Overrides `padding` for the block axis.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingBlock: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the block-end side (aka bottom).\n * Overrides `paddingBlock` and `padding` for block-end.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingBlockEnd: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the block-start side (aka top).\n * Overrides `paddingBlock` and `padding` for block-start.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingBlockStart: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the inline axis (aka left/right).\n * Overrides `padding` for the inline axis.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingInline: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the inline-end side (aka right).\n * Overrides `paddingInline` and `padding` for inline-end.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingInlineEnd: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Padding on the inline-start side (aka left).\n * Overrides `paddingInline` and `padding` for inline-start.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n paddingInlineStart: { type: String, default: undefined, validator: spacingValidator },\n\n /**\n * Block size (aka height). Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n blockSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Inline size (aka width). Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n inlineSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Maximum block size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n maxBlockSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Minimum block size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n minBlockSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Maximum inline size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n maxInlineSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Minimum inline size. Maps to --dt-layout-* tokens.\n * @values 0, 1px, 2px, 8px, 25, 20px, 24px, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 10p, 20p, 25p, 30p, 33p, 40p, 50p, 60p, 66p, 70p, 75p, 80p, 90p, 95p, 100p\n */\n minInlineSize: { type: String, default: undefined, validator: layoutValidator },\n\n /**\n * Box shadow. Maps to --dt-shadow-* tokens.\n * @values small, medium, large, extra-large, card\n */\n shadow: { type: String, default: undefined, validator: shadowValidator },\n\n /**\n * CSS position value.\n * @values static, relative, absolute, fixed, sticky\n */\n position: { type: String, default: undefined, validator: positionValidator },\n\n /**\n * Inset on all sides. Accepts spacing coordinate values and negative spacing coordinate values.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800, n1, n25, n50, n75, n100, n125, n150, n175, n200, n250, n300, n350, n400, n450, n500, n525, n550, n600, n650, n700, n750, n800\n */\n inset: { type: String, default: undefined, validator: insetValidator },\n\n /**\n * Inset on the block axis (aka top/bottom).\n * Overrides `inset` for the block axis.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800, n1, n25, n50, n75, n100, n125, n150, n175, n200, n250, n300, n350, n400, n450, n500, n525, n550, n600, n650, n700, n750, n800\n */\n insetBlock: { type: String, default: undefined, validator: insetValidator },\n\n /**\n * Inset on the block-start side (aka top).\n * Overrides `insetBlock` and `inset` for block-start. Also supports documented percentage coordinates.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800, n1, n25, n50, n75, n100, n125, n150, n175, n200, n250, n300, n350, n400, n450, n500, n525, n550, n600, n650, n700, n750, n800, 50p, 100p, n50p, n100p\n */\n insetBlockStart: { type: String, default: undefined, validator: insetSideValidator },\n\n /**\n * Inset on the block-end side (aka bottom).\n * Overrides `insetBlock` and `inset` for block-end. Also supports documented percentage coordinates.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800, n1, n25, n50, n75, n100, n125, n150, n175, n200, n250, n300, n350, n400, n450, n500, n525, n550, n600, n650, n700, n750, n800, 50p, 100p, n50p, n100p\n */\n insetBlockEnd: { type: String, default: undefined, validator: insetSideValidator },\n\n /**\n * Inset on the inline axis (aka left/right).\n * Overrides `inset` for the inline axis.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800, n1, n25, n50, n75, n100, n125, n150, n175, n200, n250, n300, n350, n400, n450, n500, n525, n550, n600, n650, n700, n750, n800\n */\n insetInline: { type: String, default: undefined, validator: insetValidator },\n\n /**\n * Inset on the inline-start side (aka left).\n * Overrides `insetInline` and `inset` for inline-start. Also supports documented percentage coordinates.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800, n1, n25, n50, n75, n100, n125, n150, n175, n200, n250, n300, n350, n400, n450, n500, n525, n550, n600, n650, n700, n750, n800, 50p, 100p, n50p, n100p\n */\n insetInlineStart: { type: String, default: undefined, validator: insetSideValidator },\n\n /**\n * Inset on the inline-end side (aka right).\n * Overrides `insetInline` and `inset` for inline-end. Also supports documented percentage coordinates.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800, n1, n25, n50, n75, n100, n125, n150, n175, n200, n250, n300, n350, n400, n450, n500, n525, n550, n600, n650, n700, n750, n800, 50p, 100p, n50p, n100p\n */\n insetInlineEnd: { type: String, default: undefined, validator: insetSideValidator },\n\n /**\n * Z-index layer. Maps to --zi-* tokens.\n * @values hide, base, base1, selected, active, navigation, navigation-fixed, dropdown, popover, tooltip, drawer, modal, modal-element, notification\n */\n zIndex: { type: String, default: undefined, validator: zIndexValidator },\n\n /**\n * Overflow behavior.\n * @values hidden, scroll, auto, clip, visible\n */\n overflow: { type: String, default: undefined, validator: overflowValidator },\n\n /**\n * Additional CSS classes applied to the scrollbar content wrapper element.\n * Only applies when scrollbar prop is set.\n */\n scrollbarContentClass: { type: [String, Object, Array], default: '' },\n});\n\nconst SCROLLBAR_INCOMPATIBLE_ELEMENTS = ['ul', 'ol', 'span', 'fieldset'];\n\nconst scrollbarMode = computed(() => {\n if (props.scrollbar === true) return 'leave';\n return props.scrollbar ?? undefined;\n});\n\nonMounted(() => {\n if (props.scrollbar && SCROLLBAR_INCOMPATIBLE_ELEMENTS.includes(props.as)) {\n console.warn(\n `[DtBox] scrollbar prop inserts a <div> wrapper which breaks semantic child structure ` +\n `for <${props.as}>. Consider applying scrollbar on a parent DtBox container instead.`,\n );\n }\n});\n\nfunction modifierClass (prefix, value) {\n return value ? `${prefix}-${value}` : false;\n}\n\nfunction paddingClasses (p) {\n return [\n modifierClass('d-box--p', p.padding),\n modifierClass('d-box--pi', p.paddingInline),\n modifierClass('d-box--pis', p.paddingInlineStart),\n modifierClass('d-box--pie', p.paddingInlineEnd),\n modifierClass('d-box--pbl', p.paddingBlock),\n modifierClass('d-box--pbs', p.paddingBlockStart),\n modifierClass('d-box--pbe', p.paddingBlockEnd),\n ];\n}\n\nfunction visualClasses (p) {\n return [\n modifierClass('d-box--surface', p.surface),\n modifierClass('d-box--bc', p.borderColor),\n modifierClass('d-box--bw', p.borderWidth),\n modifierClass('d-box--bwi', p.borderWidthInline),\n modifierClass('d-box--bwis', p.borderWidthInlineStart),\n modifierClass('d-box--bwie', p.borderWidthInlineEnd),\n modifierClass('d-box--bwbl', p.borderWidthBlock),\n modifierClass('d-box--bwbs', p.borderWidthBlockStart),\n modifierClass('d-box--bwbe', p.borderWidthBlockEnd),\n modifierClass('d-box--br', p.borderRadius),\n modifierClass('d-box--shadow', p.shadow),\n modifierClass('d-box--of', p.overflow),\n ];\n}\n\nfunction sizingClasses (p) {\n return [\n modifierClass('d-box--is', p.inlineSize),\n modifierClass('d-box--bls', p.blockSize),\n modifierClass('d-box--min-is', p.minInlineSize),\n modifierClass('d-box--max-is', p.maxInlineSize),\n modifierClass('d-box--min-bls', p.minBlockSize),\n modifierClass('d-box--max-bls', p.maxBlockSize),\n ];\n}\n\nfunction positioningClasses (p) {\n return [\n modifierClass('d-box--ps', p.position),\n modifierClass('d-box--inset', p.inset),\n modifierClass('d-box--inset-block', p.insetBlock),\n modifierClass('d-box--inset-inline', p.insetInline),\n modifierClass('d-box--ibs', p.insetBlockStart),\n modifierClass('d-box--ibe', p.insetBlockEnd),\n modifierClass('d-box--iis', p.insetInlineStart),\n modifierClass('d-box--iie', p.insetInlineEnd),\n modifierClass('d-box--zi', p.zIndex),\n ];\n}\n\nconst boxClasses = computed(() => [\n 'd-box',\n ...paddingClasses(props),\n ...visualClasses(props),\n ...sizingClasses(props),\n ...positioningClasses(props),\n]);\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./box-constants.cjs`),t=require(`./box.cjs`);exports.DT_BOX_AS_VALUES=e.DT_BOX_AS_VALUES,exports.DT_BOX_BORDER_COLOR_VALUES=e.DT_BOX_BORDER_COLOR_VALUES,exports.DT_BOX_BORDER_RADIUS_VALUES=e.DT_BOX_BORDER_RADIUS_VALUES,exports.DT_BOX_BORDER_WIDTH_VALUES=e.DT_BOX_BORDER_WIDTH_VALUES,exports.DT_BOX_LAYOUT_VALUES=e.DT_BOX_LAYOUT_VALUES,exports.DT_BOX_OVERFLOW_VALUES=e.DT_BOX_OVERFLOW_VALUES,exports.DT_BOX_SCROLLBAR_VALUES=e.DT_BOX_SCROLLBAR_VALUES,exports.DT_BOX_SHADOW_VALUES=e.DT_BOX_SHADOW_VALUES,exports.DT_BOX_SPACING_VALUES=e.DT_BOX_SPACING_VALUES,exports.DT_BOX_SURFACE_VALUES=e.DT_BOX_SURFACE_VALUES,exports.DtBox=t.default;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./box-constants.cjs`),t=require(`./box.cjs`);exports.DT_BOX_AS_VALUES=e.DT_BOX_AS_VALUES,exports.DT_BOX_BORDER_COLOR_VALUES=e.DT_BOX_BORDER_COLOR_VALUES,exports.DT_BOX_BORDER_RADIUS_VALUES=e.DT_BOX_BORDER_RADIUS_VALUES,exports.DT_BOX_BORDER_WIDTH_VALUES=e.DT_BOX_BORDER_WIDTH_VALUES,exports.DT_BOX_INSET_SIDE_VALUES=e.DT_BOX_INSET_SIDE_VALUES,exports.DT_BOX_INSET_VALUES=e.DT_BOX_INSET_VALUES,exports.DT_BOX_LAYOUT_VALUES=e.DT_BOX_LAYOUT_VALUES,exports.DT_BOX_OVERFLOW_VALUES=e.DT_BOX_OVERFLOW_VALUES,exports.DT_BOX_POSITION_VALUES=e.DT_BOX_POSITION_VALUES,exports.DT_BOX_SCROLLBAR_VALUES=e.DT_BOX_SCROLLBAR_VALUES,exports.DT_BOX_SHADOW_VALUES=e.DT_BOX_SHADOW_VALUES,exports.DT_BOX_SPACING_VALUES=e.DT_BOX_SPACING_VALUES,exports.DT_BOX_SURFACE_VALUES=e.DT_BOX_SURFACE_VALUES,exports.DT_BOX_Z_INDEX_VALUES=e.DT_BOX_Z_INDEX_VALUES,exports.DtBox=t.default;
@@ -1,3 +1,3 @@
1
- import { DT_BOX_AS_VALUES as e, DT_BOX_BORDER_COLOR_VALUES as t, DT_BOX_BORDER_RADIUS_VALUES as n, DT_BOX_BORDER_WIDTH_VALUES as r, DT_BOX_LAYOUT_VALUES as i, DT_BOX_OVERFLOW_VALUES as a, DT_BOX_SCROLLBAR_VALUES as o, DT_BOX_SHADOW_VALUES as s, DT_BOX_SPACING_VALUES as c, DT_BOX_SURFACE_VALUES as l } from "./box-constants.js";
2
- import u from "./box.js";
3
- export { e as DT_BOX_AS_VALUES, t as DT_BOX_BORDER_COLOR_VALUES, n as DT_BOX_BORDER_RADIUS_VALUES, r as DT_BOX_BORDER_WIDTH_VALUES, i as DT_BOX_LAYOUT_VALUES, a as DT_BOX_OVERFLOW_VALUES, o as DT_BOX_SCROLLBAR_VALUES, s as DT_BOX_SHADOW_VALUES, c as DT_BOX_SPACING_VALUES, l as DT_BOX_SURFACE_VALUES, u as DtBox };
1
+ import { DT_BOX_AS_VALUES as e, DT_BOX_BORDER_COLOR_VALUES as t, DT_BOX_BORDER_RADIUS_VALUES as n, DT_BOX_BORDER_WIDTH_VALUES as r, DT_BOX_INSET_SIDE_VALUES as i, DT_BOX_INSET_VALUES as a, DT_BOX_LAYOUT_VALUES as o, DT_BOX_OVERFLOW_VALUES as s, DT_BOX_POSITION_VALUES as c, DT_BOX_SCROLLBAR_VALUES as l, DT_BOX_SHADOW_VALUES as u, DT_BOX_SPACING_VALUES as d, DT_BOX_SURFACE_VALUES as f, DT_BOX_Z_INDEX_VALUES as p } from "./box-constants.js";
2
+ import m from "./box.js";
3
+ export { e as DT_BOX_AS_VALUES, t as DT_BOX_BORDER_COLOR_VALUES, n as DT_BOX_BORDER_RADIUS_VALUES, r as DT_BOX_BORDER_WIDTH_VALUES, i as DT_BOX_INSET_SIDE_VALUES, a as DT_BOX_INSET_VALUES, o as DT_BOX_LAYOUT_VALUES, s as DT_BOX_OVERFLOW_VALUES, c as DT_BOX_POSITION_VALUES, l as DT_BOX_SCROLLBAR_VALUES, u as DT_BOX_SHADOW_VALUES, d as DT_BOX_SPACING_VALUES, f as DT_BOX_SURFACE_VALUES, p as DT_BOX_Z_INDEX_VALUES, m as DtBox };
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./box-constants.cjs`);function t(e,t=[]){return n=>{if(t.includes(n)||e.includes(String(n)))return!0;if(process.env.NODE_ENV!==`production`){let r=[...t.map(String),...e].join(`, `);console.warn(`[DtBox] Invalid prop value: "${n}". Valid values: ${r}`)}return!1}}var n=t(e.DT_BOX_AS_VALUES),r=t(e.DT_BOX_SPACING_VALUES),i=t(e.DT_BOX_SURFACE_VALUES),a=t(e.DT_BOX_BORDER_COLOR_VALUES),o=t(e.DT_BOX_BORDER_WIDTH_VALUES),s=t(e.DT_BOX_BORDER_RADIUS_VALUES),c=t(e.DT_BOX_SHADOW_VALUES),l=t(e.DT_BOX_LAYOUT_VALUES),u=t(e.DT_BOX_OVERFLOW_VALUES),d=t(e.DT_BOX_SCROLLBAR_VALUES,[!0]);exports.asValidator=n,exports.borderColorValidator=a,exports.borderRadiusValidator=s,exports.borderWidthValidator=o,exports.layoutValidator=l,exports.overflowValidator=u,exports.scrollbarValidator=d,exports.shadowValidator=c,exports.spacingValidator=r,exports.surfaceValidator=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./box-constants.cjs`);function t(e,t=[]){return n=>{if(t.includes(n)||e.includes(String(n)))return!0;if(process.env.NODE_ENV!==`production`){let r=[...t.map(String),...e].join(`, `);console.warn(`[DtBox] Invalid prop value: "${n}". Valid values: ${r}`)}return!1}}var n=t(e.DT_BOX_AS_VALUES),r=t(e.DT_BOX_SPACING_VALUES),i=t(e.DT_BOX_INSET_VALUES),a=t(e.DT_BOX_INSET_SIDE_VALUES),o=t(e.DT_BOX_SURFACE_VALUES),s=t(e.DT_BOX_BORDER_COLOR_VALUES),c=t(e.DT_BOX_BORDER_WIDTH_VALUES),l=t(e.DT_BOX_BORDER_RADIUS_VALUES),u=t(e.DT_BOX_SHADOW_VALUES),d=t(e.DT_BOX_POSITION_VALUES),f=t(e.DT_BOX_Z_INDEX_VALUES),p=t(e.DT_BOX_LAYOUT_VALUES),m=t(e.DT_BOX_OVERFLOW_VALUES),h=t(e.DT_BOX_SCROLLBAR_VALUES,[!0]);exports.asValidator=n,exports.borderColorValidator=s,exports.borderRadiusValidator=l,exports.borderWidthValidator=c,exports.insetSideValidator=a,exports.insetValidator=i,exports.layoutValidator=p,exports.overflowValidator=m,exports.positionValidator=d,exports.scrollbarValidator=h,exports.shadowValidator=u,exports.spacingValidator=r,exports.surfaceValidator=o,exports.zIndexValidator=f;
2
2
  //# sourceMappingURL=validators.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.cjs","names":["DT_BOX_AS_VALUES","DT_BOX_SPACING_VALUES","DT_BOX_SURFACE_VALUES","DT_BOX_BORDER_COLOR_VALUES","DT_BOX_BORDER_WIDTH_VALUES","DT_BOX_BORDER_RADIUS_VALUES","DT_BOX_SHADOW_VALUES","DT_BOX_LAYOUT_VALUES","DT_BOX_OVERFLOW_VALUES","DT_BOX_SCROLLBAR_VALUES"],"sources":["../../../components/Box/Validators.js"],"sourcesContent":["import {\n DT_BOX_AS_VALUES,\n DT_BOX_SPACING_VALUES,\n DT_BOX_SURFACE_VALUES,\n DT_BOX_BORDER_COLOR_VALUES,\n DT_BOX_BORDER_WIDTH_VALUES,\n DT_BOX_BORDER_RADIUS_VALUES,\n DT_BOX_SHADOW_VALUES,\n DT_BOX_LAYOUT_VALUES,\n DT_BOX_OVERFLOW_VALUES,\n DT_BOX_SCROLLBAR_VALUES,\n} from './BoxConstants.js';\n\n// Vue's default validator warning omits the invalid value and allowed list.\n// This factory adds a dev-only console.warn to fill that gap.\nfunction listValidator (list, extras = []) {\n return (value) => {\n if (extras.includes(value)) return true;\n if (list.includes(String(value))) return true;\n if (process.env.NODE_ENV !== 'production') {\n const allValid = [...extras.map(String), ...list].join(', ');\n \n console.warn(\n `[DtBox] Invalid prop value: \"${value}\". Valid values: ${allValid}`,\n );\n }\n return false;\n };\n}\n\nexport const asValidator = listValidator(DT_BOX_AS_VALUES);\nexport const spacingValidator = listValidator(DT_BOX_SPACING_VALUES);\nexport const surfaceValidator = listValidator(DT_BOX_SURFACE_VALUES);\nexport const borderColorValidator = listValidator(DT_BOX_BORDER_COLOR_VALUES);\nexport const borderWidthValidator = listValidator(DT_BOX_BORDER_WIDTH_VALUES);\nexport const borderRadiusValidator = listValidator(DT_BOX_BORDER_RADIUS_VALUES);\nexport const shadowValidator = listValidator(DT_BOX_SHADOW_VALUES);\nexport const layoutValidator = listValidator(DT_BOX_LAYOUT_VALUES);\nexport const overflowValidator = listValidator(DT_BOX_OVERFLOW_VALUES);\nexport const scrollbarValidator = listValidator(DT_BOX_SCROLLBAR_VALUES, [true]);\n"],"mappings":"0GAeA,SAAS,EAAe,EAAM,EAAS,EAAE,CAAE,CACzC,MAAQ,IAAU,CAEhB,GADI,EAAO,SAAS,EAAM,EACtB,EAAK,SAAS,OAAO,EAAM,CAAC,CAAE,MAAO,GACzC,GAAA,QAAA,IAAA,WAA6B,aAAc,CACzC,IAAM,EAAW,CAAC,GAAG,EAAO,IAAI,OAAO,CAAE,GAAG,EAAK,CAAC,KAAK,KAAK,CAE5D,QAAQ,KACN,gCAAgC,EAAM,mBAAmB,IAC1D,CAEH,MAAO,IAIX,IAAa,EAAc,EAAcA,EAAAA,iBAAiB,CAC7C,EAAmB,EAAcC,EAAAA,sBAAsB,CACvD,EAAmB,EAAcC,EAAAA,sBAAsB,CACvD,EAAuB,EAAcC,EAAAA,2BAA2B,CAChE,EAAuB,EAAcC,EAAAA,2BAA2B,CAChE,EAAwB,EAAcC,EAAAA,4BAA4B,CAClE,EAAkB,EAAcC,EAAAA,qBAAqB,CACrD,EAAkB,EAAcC,EAAAA,qBAAqB,CACrD,EAAoB,EAAcC,EAAAA,uBAAuB,CACzD,EAAqB,EAAcC,EAAAA,wBAAyB,CAAC,GAAK,CAAC"}
1
+ {"version":3,"file":"validators.cjs","names":["DT_BOX_AS_VALUES","DT_BOX_SPACING_VALUES","DT_BOX_INSET_VALUES","DT_BOX_INSET_SIDE_VALUES","DT_BOX_SURFACE_VALUES","DT_BOX_BORDER_COLOR_VALUES","DT_BOX_BORDER_WIDTH_VALUES","DT_BOX_BORDER_RADIUS_VALUES","DT_BOX_SHADOW_VALUES","DT_BOX_POSITION_VALUES","DT_BOX_Z_INDEX_VALUES","DT_BOX_LAYOUT_VALUES","DT_BOX_OVERFLOW_VALUES","DT_BOX_SCROLLBAR_VALUES"],"sources":["../../../components/Box/Validators.js"],"sourcesContent":["import {\n DT_BOX_AS_VALUES,\n DT_BOX_SPACING_VALUES,\n DT_BOX_INSET_VALUES,\n DT_BOX_INSET_SIDE_VALUES,\n DT_BOX_SURFACE_VALUES,\n DT_BOX_BORDER_COLOR_VALUES,\n DT_BOX_BORDER_WIDTH_VALUES,\n DT_BOX_BORDER_RADIUS_VALUES,\n DT_BOX_SHADOW_VALUES,\n DT_BOX_POSITION_VALUES,\n DT_BOX_Z_INDEX_VALUES,\n DT_BOX_LAYOUT_VALUES,\n DT_BOX_OVERFLOW_VALUES,\n DT_BOX_SCROLLBAR_VALUES,\n} from './BoxConstants.js';\n\n// Vue's default validator warning omits the invalid value and allowed list.\n// This factory adds a dev-only console.warn to fill that gap.\nfunction listValidator (list, extras = []) {\n return (value) => {\n if (extras.includes(value)) return true;\n if (list.includes(String(value))) return true;\n if (process.env.NODE_ENV !== 'production') {\n const allValid = [...extras.map(String), ...list].join(', ');\n \n console.warn(\n `[DtBox] Invalid prop value: \"${value}\". Valid values: ${allValid}`,\n );\n }\n return false;\n };\n}\n\nexport const asValidator = listValidator(DT_BOX_AS_VALUES);\nexport const spacingValidator = listValidator(DT_BOX_SPACING_VALUES);\nexport const insetValidator = listValidator(DT_BOX_INSET_VALUES);\nexport const insetSideValidator = listValidator(DT_BOX_INSET_SIDE_VALUES);\nexport const surfaceValidator = listValidator(DT_BOX_SURFACE_VALUES);\nexport const borderColorValidator = listValidator(DT_BOX_BORDER_COLOR_VALUES);\nexport const borderWidthValidator = listValidator(DT_BOX_BORDER_WIDTH_VALUES);\nexport const borderRadiusValidator = listValidator(DT_BOX_BORDER_RADIUS_VALUES);\nexport const shadowValidator = listValidator(DT_BOX_SHADOW_VALUES);\nexport const positionValidator = listValidator(DT_BOX_POSITION_VALUES);\nexport const zIndexValidator = listValidator(DT_BOX_Z_INDEX_VALUES);\nexport const layoutValidator = listValidator(DT_BOX_LAYOUT_VALUES);\nexport const overflowValidator = listValidator(DT_BOX_OVERFLOW_VALUES);\nexport const scrollbarValidator = listValidator(DT_BOX_SCROLLBAR_VALUES, [true]);\n"],"mappings":"0GAmBA,SAAS,EAAe,EAAM,EAAS,EAAE,CAAE,CACzC,MAAQ,IAAU,CAEhB,GADI,EAAO,SAAS,EAAM,EACtB,EAAK,SAAS,OAAO,EAAM,CAAC,CAAE,MAAO,GACzC,GAAA,QAAA,IAAA,WAA6B,aAAc,CACzC,IAAM,EAAW,CAAC,GAAG,EAAO,IAAI,OAAO,CAAE,GAAG,EAAK,CAAC,KAAK,KAAK,CAE5D,QAAQ,KACN,gCAAgC,EAAM,mBAAmB,IAC1D,CAEH,MAAO,IAIX,IAAa,EAAc,EAAcA,EAAAA,iBAAiB,CAC7C,EAAmB,EAAcC,EAAAA,sBAAsB,CACvD,EAAiB,EAAcC,EAAAA,oBAAoB,CACnD,EAAqB,EAAcC,EAAAA,yBAAyB,CAC5D,EAAmB,EAAcC,EAAAA,sBAAsB,CACvD,EAAuB,EAAcC,EAAAA,2BAA2B,CAChE,EAAuB,EAAcC,EAAAA,2BAA2B,CAChE,EAAwB,EAAcC,EAAAA,4BAA4B,CAClE,EAAkB,EAAcC,EAAAA,qBAAqB,CACrD,EAAoB,EAAcC,EAAAA,uBAAuB,CACzD,EAAkB,EAAcC,EAAAA,sBAAsB,CACtD,EAAkB,EAAcC,EAAAA,qBAAqB,CACrD,EAAoB,EAAcC,EAAAA,uBAAuB,CACzD,EAAqB,EAAcC,EAAAA,wBAAyB,CAAC,GAAK,CAAC"}
@@ -1,6 +1,6 @@
1
- import { DT_BOX_AS_VALUES as e, DT_BOX_BORDER_COLOR_VALUES as t, DT_BOX_BORDER_RADIUS_VALUES as n, DT_BOX_BORDER_WIDTH_VALUES as r, DT_BOX_LAYOUT_VALUES as i, DT_BOX_OVERFLOW_VALUES as a, DT_BOX_SCROLLBAR_VALUES as o, DT_BOX_SHADOW_VALUES as s, DT_BOX_SPACING_VALUES as c, DT_BOX_SURFACE_VALUES as l } from "./box-constants.js";
1
+ import { DT_BOX_AS_VALUES as e, DT_BOX_BORDER_COLOR_VALUES as t, DT_BOX_BORDER_RADIUS_VALUES as n, DT_BOX_BORDER_WIDTH_VALUES as r, DT_BOX_INSET_SIDE_VALUES as i, DT_BOX_INSET_VALUES as a, DT_BOX_LAYOUT_VALUES as o, DT_BOX_OVERFLOW_VALUES as s, DT_BOX_POSITION_VALUES as c, DT_BOX_SCROLLBAR_VALUES as l, DT_BOX_SHADOW_VALUES as u, DT_BOX_SPACING_VALUES as d, DT_BOX_SURFACE_VALUES as f, DT_BOX_Z_INDEX_VALUES as p } from "./box-constants.js";
2
2
  //#region components/Box/Validators.js
3
- function u(e, t = []) {
3
+ function m(e, t = []) {
4
4
  return (n) => {
5
5
  if (t.includes(n) || e.includes(String(n))) return !0;
6
6
  if (process.env.NODE_ENV !== "production") {
@@ -10,8 +10,8 @@ function u(e, t = []) {
10
10
  return !1;
11
11
  };
12
12
  }
13
- var d = u(e), f = u(c), p = u(l), m = u(t), h = u(r), g = u(n), _ = u(s), v = u(i), y = u(a), b = u(o, [!0]);
13
+ var h = m(e), g = m(d), _ = m(a), v = m(i), y = m(f), b = m(t), x = m(r), S = m(n), C = m(u), w = m(c), T = m(p), E = m(o), D = m(s), O = m(l, [!0]);
14
14
  //#endregion
15
- export { d as asValidator, m as borderColorValidator, g as borderRadiusValidator, h as borderWidthValidator, v as layoutValidator, y as overflowValidator, b as scrollbarValidator, _ as shadowValidator, f as spacingValidator, p as surfaceValidator };
15
+ export { h as asValidator, b as borderColorValidator, S as borderRadiusValidator, x as borderWidthValidator, v as insetSideValidator, _ as insetValidator, E as layoutValidator, D as overflowValidator, w as positionValidator, O as scrollbarValidator, C as shadowValidator, g as spacingValidator, y as surfaceValidator, T as zIndexValidator };
16
16
 
17
17
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","names":[],"sources":["../../../components/Box/Validators.js"],"sourcesContent":["import {\n DT_BOX_AS_VALUES,\n DT_BOX_SPACING_VALUES,\n DT_BOX_SURFACE_VALUES,\n DT_BOX_BORDER_COLOR_VALUES,\n DT_BOX_BORDER_WIDTH_VALUES,\n DT_BOX_BORDER_RADIUS_VALUES,\n DT_BOX_SHADOW_VALUES,\n DT_BOX_LAYOUT_VALUES,\n DT_BOX_OVERFLOW_VALUES,\n DT_BOX_SCROLLBAR_VALUES,\n} from './BoxConstants.js';\n\n// Vue's default validator warning omits the invalid value and allowed list.\n// This factory adds a dev-only console.warn to fill that gap.\nfunction listValidator (list, extras = []) {\n return (value) => {\n if (extras.includes(value)) return true;\n if (list.includes(String(value))) return true;\n if (process.env.NODE_ENV !== 'production') {\n const allValid = [...extras.map(String), ...list].join(', ');\n \n console.warn(\n `[DtBox] Invalid prop value: \"${value}\". Valid values: ${allValid}`,\n );\n }\n return false;\n };\n}\n\nexport const asValidator = listValidator(DT_BOX_AS_VALUES);\nexport const spacingValidator = listValidator(DT_BOX_SPACING_VALUES);\nexport const surfaceValidator = listValidator(DT_BOX_SURFACE_VALUES);\nexport const borderColorValidator = listValidator(DT_BOX_BORDER_COLOR_VALUES);\nexport const borderWidthValidator = listValidator(DT_BOX_BORDER_WIDTH_VALUES);\nexport const borderRadiusValidator = listValidator(DT_BOX_BORDER_RADIUS_VALUES);\nexport const shadowValidator = listValidator(DT_BOX_SHADOW_VALUES);\nexport const layoutValidator = listValidator(DT_BOX_LAYOUT_VALUES);\nexport const overflowValidator = listValidator(DT_BOX_OVERFLOW_VALUES);\nexport const scrollbarValidator = listValidator(DT_BOX_SCROLLBAR_VALUES, [true]);\n"],"mappings":";;AAeA,SAAS,EAAe,GAAM,IAAS,EAAE,EAAE;AACzC,SAAQ,MAAU;AAEhB,MADI,EAAO,SAAS,EAAM,IACtB,EAAK,SAAS,OAAO,EAAM,CAAC,CAAE,QAAO;AACzC,MAAA,QAAA,IAAA,aAA6B,cAAc;GACzC,IAAM,IAAW,CAAC,GAAG,EAAO,IAAI,OAAO,EAAE,GAAG,EAAK,CAAC,KAAK,KAAK;AAE5D,WAAQ,KACN,gCAAgC,EAAM,mBAAmB,IAC1D;;AAEH,SAAO;;;AAIX,IAAa,IAAc,EAAc,EAAiB,EAC7C,IAAmB,EAAc,EAAsB,EACvD,IAAmB,EAAc,EAAsB,EACvD,IAAuB,EAAc,EAA2B,EAChE,IAAuB,EAAc,EAA2B,EAChE,IAAwB,EAAc,EAA4B,EAClE,IAAkB,EAAc,EAAqB,EACrD,IAAkB,EAAc,EAAqB,EACrD,IAAoB,EAAc,EAAuB,EACzD,IAAqB,EAAc,GAAyB,CAAC,GAAK,CAAC"}
1
+ {"version":3,"file":"validators.js","names":[],"sources":["../../../components/Box/Validators.js"],"sourcesContent":["import {\n DT_BOX_AS_VALUES,\n DT_BOX_SPACING_VALUES,\n DT_BOX_INSET_VALUES,\n DT_BOX_INSET_SIDE_VALUES,\n DT_BOX_SURFACE_VALUES,\n DT_BOX_BORDER_COLOR_VALUES,\n DT_BOX_BORDER_WIDTH_VALUES,\n DT_BOX_BORDER_RADIUS_VALUES,\n DT_BOX_SHADOW_VALUES,\n DT_BOX_POSITION_VALUES,\n DT_BOX_Z_INDEX_VALUES,\n DT_BOX_LAYOUT_VALUES,\n DT_BOX_OVERFLOW_VALUES,\n DT_BOX_SCROLLBAR_VALUES,\n} from './BoxConstants.js';\n\n// Vue's default validator warning omits the invalid value and allowed list.\n// This factory adds a dev-only console.warn to fill that gap.\nfunction listValidator (list, extras = []) {\n return (value) => {\n if (extras.includes(value)) return true;\n if (list.includes(String(value))) return true;\n if (process.env.NODE_ENV !== 'production') {\n const allValid = [...extras.map(String), ...list].join(', ');\n \n console.warn(\n `[DtBox] Invalid prop value: \"${value}\". Valid values: ${allValid}`,\n );\n }\n return false;\n };\n}\n\nexport const asValidator = listValidator(DT_BOX_AS_VALUES);\nexport const spacingValidator = listValidator(DT_BOX_SPACING_VALUES);\nexport const insetValidator = listValidator(DT_BOX_INSET_VALUES);\nexport const insetSideValidator = listValidator(DT_BOX_INSET_SIDE_VALUES);\nexport const surfaceValidator = listValidator(DT_BOX_SURFACE_VALUES);\nexport const borderColorValidator = listValidator(DT_BOX_BORDER_COLOR_VALUES);\nexport const borderWidthValidator = listValidator(DT_BOX_BORDER_WIDTH_VALUES);\nexport const borderRadiusValidator = listValidator(DT_BOX_BORDER_RADIUS_VALUES);\nexport const shadowValidator = listValidator(DT_BOX_SHADOW_VALUES);\nexport const positionValidator = listValidator(DT_BOX_POSITION_VALUES);\nexport const zIndexValidator = listValidator(DT_BOX_Z_INDEX_VALUES);\nexport const layoutValidator = listValidator(DT_BOX_LAYOUT_VALUES);\nexport const overflowValidator = listValidator(DT_BOX_OVERFLOW_VALUES);\nexport const scrollbarValidator = listValidator(DT_BOX_SCROLLBAR_VALUES, [true]);\n"],"mappings":";;AAmBA,SAAS,EAAe,GAAM,IAAS,EAAE,EAAE;AACzC,SAAQ,MAAU;AAEhB,MADI,EAAO,SAAS,EAAM,IACtB,EAAK,SAAS,OAAO,EAAM,CAAC,CAAE,QAAO;AACzC,MAAA,QAAA,IAAA,aAA6B,cAAc;GACzC,IAAM,IAAW,CAAC,GAAG,EAAO,IAAI,OAAO,EAAE,GAAG,EAAK,CAAC,KAAK,KAAK;AAE5D,WAAQ,KACN,gCAAgC,EAAM,mBAAmB,IAC1D;;AAEH,SAAO;;;AAIX,IAAa,IAAc,EAAc,EAAiB,EAC7C,IAAmB,EAAc,EAAsB,EACvD,IAAiB,EAAc,EAAoB,EACnD,IAAqB,EAAc,EAAyB,EAC5D,IAAmB,EAAc,EAAsB,EACvD,IAAuB,EAAc,EAA2B,EAChE,IAAuB,EAAc,EAA2B,EAChE,IAAwB,EAAc,EAA4B,EAClE,IAAkB,EAAc,EAAqB,EACrD,IAAoB,EAAc,EAAuB,EACzD,IAAkB,EAAc,EAAsB,EACtD,IAAkB,EAAc,EAAqB,EACrD,IAAoB,EAAc,EAAuB,EACzD,IAAqB,EAAc,GAAyB,CAAC,GAAK,CAAC"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/utils/index.cjs`),t=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),n=require(`../loader/loader.cjs`),r=require(`./button-constants.cjs`),i=require(`../link/link-constants.cjs`),a=require(`../../localization/index.cjs`);let o=require(`vue`);var s={name:`DtButton`,components:{DtLoader:n.default},props:{circle:{type:Boolean,default:!1},iconPosition:{type:String,default:`start`,validator:e=>Object.keys(r.ICON_POSITION_MODIFIERS).includes(e)},importance:{type:String,default:`primary`,validator:e=>Object.keys(r.BUTTON_IMPORTANCE_MODIFIERS).includes(e)},link:{type:Boolean,default:!1},linkKind:{type:String,default:`default`,validator:e=>Object.keys(i.LINK_KIND_MODIFIERS).includes(e)},linkInverted:{type:Boolean,default:!1},linkUnderline:{type:Boolean,default:!0},underline:{type:Boolean,default:null},disabled:{type:Boolean,default:!1},type:{type:String,default:`button`,validator:e=>r.BUTTON_TYPES.includes(e)},width:{type:String,default:null},size:{type:[String,Number],default:300,validator:e=>Object.keys(r.BUTTON_SIZE_MODIFIERS).includes(String(e))},labelClass:{type:[String,Array,Object],default:``},leadingClass:{type:[String,Array,Object],default:``},trailingClass:{type:[String,Array,Object],default:``},startIconClass:{type:[String,Array,Object],default:``},endIconClass:{type:[String,Array,Object],default:``},blockStartIconClass:{type:[String,Array,Object],default:``},blockEndIconClass:{type:[String,Array,Object],default:``},iconClass:{type:[String,Array,Object],default:``},loading:{type:Boolean,default:!1},kind:{type:String,default:`default`,validator:e=>Object.keys(r.BUTTON_KIND_MODIFIERS).includes(e)},assertiveOnFocus:{type:Boolean,default:!1},active:{type:Boolean,default:!1},to:{type:[String,Object],default:null},href:{type:String,default:null},target:{type:String,default:null},rel:{type:String,default:null},replace:{type:Boolean,default:!1}},emits:[`focusin`,`focusout`],data(){return{ICON_POSITION_MODIFIERS:r.ICON_POSITION_MODIFIERS,isInFocus:!1,hasSlotContent:e.hasSlotContent,i18n:new a.DialtoneLocalization}},computed:{resolvedUnderline(){return this.underline??this.linkUnderline},computedTag(){return this.to?this.resolveRouterLink():this.href?`a`:`button`},isNativeButton(){return!this.to&&!this.href},computedAttrs(){return this.to?{to:this.to,replace:this.replace,...this.disabled&&{"aria-disabled":`true`,tabindex:`-1`}}:this.href?{href:this.disabled?null:this.href,target:this.target,rel:this.rel,...this.disabled&&{"aria-disabled":`true`,tabindex:`-1`}}:{type:this.type,disabled:this.disabled}},computedListeners(){let e={focusin:e=>{this.isInFocus=this.assertiveOnFocus,this.$emit(`focusin`,e)},focusout:e=>{this.isInFocus=!1,this.$emit(`focusout`,e)}};return this.isNativeButton||(this.disabled&&(e.click=e=>{e.preventDefault(),e.stopImmediatePropagation()}),e.keydown=e=>{(e.key===` `||e.code===`Space`)&&(e.preventDefault(),this.disabled||e.target.click())}),e},computedAriaLive(){return this.assertiveOnFocus&&this.isInFocus?`assertive`:this.$attrs.ariaLive},iconSize(){return r.BUTTON_ICON_SIZES[String(this.size)]},loaderSize(){return r.BUTTON_ICON_SIZES[String(this.size)]}},watch:{$props:{deep:!0,immediate:!0,handler(){process.env.NODE_ENV!==`production`&&(this.circle&&this.link&&(0,o.warn)(`You cannot enable circle and link at the same time`,this),this.isInvalidPropCombination(this.circle,this.kind,this.importance))}}},methods:{resolveRouterLink(){try{return(0,o.resolveComponent)(`RouterLink`)}catch{return(0,o.warn)(`DtButton: "to" prop requires vue-router. Falling back to <a>.`),`a`}},buttonClasses(){return this.link?[`d-link`,i.getLinkKindModifier(this.linkKind,this.linkInverted),r.BUTTON_SIZE_MODIFIERS[String(this.size)],{"d-link--no-underline":!this.resolvedUnderline}]:this.kind===`unstyled`?[`d-btn--unstyled`]:[`d-btn`,r.BUTTON_IMPORTANCE_MODIFIERS[this.importance],r.BUTTON_KIND_MODIFIERS[this.kind],r.BUTTON_SIZE_MODIFIERS[String(this.size)],{"d-btn--circle":this.circle,"d-btn--loading":this.loading,"d-btn--icon-only":this.isIconOnly(),"d-btn--vertical":this.isVerticalIconLayout(),"d-btn--active":this.active}]},isInvalidPropCombination(e,t,n){if(this.kind===`unstyled`)return!0;for(let i of r.INVALID_COMBINATION)if(e===i.circle&&t===i.kind&&n===i.importance)return(0,o.warn)(i.message),!1;return!0},hasStartIcon(){return e.hasSlotContent(this.$slots.startIcon)},hasEndIcon(){return e.hasSlotContent(this.$slots.endIcon)},hasBlockStartIcon(){return e.hasSlotContent(this.$slots.blockStartIcon)},hasBlockEndIcon(){return e.hasSlotContent(this.$slots.blockEndIcon)},hasNewIconSlots(){return this.hasStartIcon()||this.hasEndIcon()||this.hasBlockStartIcon()||this.hasBlockEndIcon()},shouldRenderLegacyIcon(){return e.hasSlotContent(this.$slots.icon)&&!this.hasNewIconSlots()&&!this.link},isIconOnly(){return(this.hasNewIconSlots()||this.shouldRenderLegacyIcon())&&!e.hasSlotContent(this.$slots.default)},isVerticalIconLayout(){return this.isIconOnly()?!1:this.hasBlockStartIcon()||this.hasBlockEndIcon()?!0:!this.hasNewIconSlots()&&[`top`,`bottom`].includes(this.iconPosition)}}};function c(e,t,n,r,i,a){let s=(0,o.resolveComponent)(`dt-loader`);return(0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(a.computedTag),(0,o.mergeProps)({class:[`base-button__button`,a.buttonClasses()],"data-qa":`dt-button`,style:{width:n.width},"aria-live":a.computedAriaLive,"aria-label":n.loading?i.i18n.$t(`DIALTONE_LOADING`):e.$attrs[`aria-label`]},a.computedAttrs,(0,o.toHandlers)(a.computedListeners)),{default:(0,o.withCtx)(()=>[n.loading&&n.kind!==`unstyled`?((0,o.openBlock)(),(0,o.createBlock)(s,{key:0,class:`d-btn__loader`,size:a.loaderSize,"aria-hidden":`true`},null,8,[`size`])):(0,o.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.leading)?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:1,class:(0,o.normalizeClass)([`d-btn__leading`,n.leadingClass])},[(0,o.renderSlot)(e.$slots,`leading`)],2)):(0,o.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.blockStartIcon)?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:2,"data-qa":`dt-button-block-start-icon`,class:(0,o.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--top":n.kind!==`unstyled`},n.blockStartIconClass])},[(0,o.renderSlot)(e.$slots,`blockStartIcon`,{iconSize:a.iconSize})],2)):(0,o.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.startIcon)?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:3,"data-qa":`dt-button-start-icon`,class:(0,o.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--left":n.kind!==`unstyled`},n.startIconClass])},[(0,o.renderSlot)(e.$slots,`startIcon`,{iconSize:a.iconSize})],2)):(0,o.createCommentVNode)(``,!0),a.shouldRenderLegacyIcon()?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:4,"data-qa":`dt-button-icon`,class:(0,o.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,[i.ICON_POSITION_MODIFIERS[n.iconPosition]]:n.kind!==`unstyled`},n.iconClass])},[(0,o.renderSlot)(e.$slots,`icon`,{iconSize:a.iconSize})],2)):(0,o.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.default)?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:5,"data-qa":`dt-button-label`,class:(0,o.normalizeClass)([`base-button__label`,{"d-btn__label":n.kind!==`unstyled`},n.labelClass])},[(0,o.renderSlot)(e.$slots,`default`)],2)):(0,o.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.endIcon)?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:6,"data-qa":`dt-button-end-icon`,class:(0,o.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--right":n.kind!==`unstyled`},n.endIconClass])},[(0,o.renderSlot)(e.$slots,`endIcon`,{iconSize:a.iconSize})],2)):(0,o.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.blockEndIcon)?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:7,"data-qa":`dt-button-block-end-icon`,class:(0,o.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--bottom":n.kind!==`unstyled`},n.blockEndIconClass])},[(0,o.renderSlot)(e.$slots,`blockEndIcon`,{iconSize:a.iconSize})],2)):(0,o.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.trailing)?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:8,class:(0,o.normalizeClass)([`d-btn__trailing`,n.trailingClass])},[(0,o.renderSlot)(e.$slots,`trailing`)],2)):(0,o.createCommentVNode)(``,!0)]),_:3},16,[`class`,`style`,`aria-live`,`aria-label`])}var l=t.t(s,[[`render`,c]]);exports.default=l;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/validators/index.cjs`),t=require(`../../common/utils/index.cjs`),n=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),r=require(`../loader/loader.cjs`),i=require(`./button-constants.cjs`),a=require(`../link/link-constants.cjs`),o=require(`../../localization/index.cjs`);let s=require(`vue`);var c={name:`DtButton`,components:{DtLoader:r.default},props:{circle:{type:Boolean,default:!1},iconPosition:{type:String,default:`start`,validator:e=>Object.keys(i.ICON_POSITION_MODIFIERS).includes(e)},importance:{type:String,default:`primary`,validator:e=>Object.keys(i.BUTTON_IMPORTANCE_MODIFIERS).includes(e)},link:{type:Boolean,default:!1},linkKind:{type:String,default:`default`,validator:e=>Object.keys(a.LINK_KIND_MODIFIERS).includes(e)},linkInverted:{type:Boolean,default:!1},linkUnderline:{type:Boolean,default:!0},underline:{type:Boolean,default:null},disabled:{type:Boolean,default:!1},type:{type:String,default:`button`,validator:e=>i.BUTTON_TYPES.includes(e)},width:{type:String,default:null},size:{type:[String,Number],default:300,validator:e.ordinalSizeValidator(i.BUTTON_SIZE_MODIFIERS)},labelClass:{type:[String,Array,Object],default:``},leadingClass:{type:[String,Array,Object],default:``},trailingClass:{type:[String,Array,Object],default:``},startIconClass:{type:[String,Array,Object],default:``},endIconClass:{type:[String,Array,Object],default:``},blockStartIconClass:{type:[String,Array,Object],default:``},blockEndIconClass:{type:[String,Array,Object],default:``},iconClass:{type:[String,Array,Object],default:``},loading:{type:Boolean,default:!1},kind:{type:String,default:`default`,validator:e=>Object.keys(i.BUTTON_KIND_MODIFIERS).includes(e)},assertiveOnFocus:{type:Boolean,default:!1},active:{type:Boolean,default:!1},to:{type:[String,Object],default:null},href:{type:String,default:null},target:{type:String,default:null},rel:{type:String,default:null},replace:{type:Boolean,default:!1}},emits:[`focusin`,`focusout`],data(){return{ICON_POSITION_MODIFIERS:i.ICON_POSITION_MODIFIERS,isInFocus:!1,hasSlotContent:t.hasSlotContent,i18n:new o.DialtoneLocalization}},computed:{resolvedUnderline(){return this.underline??this.linkUnderline},computedTag(){return this.to?this.resolveRouterLink():this.href?`a`:`button`},isNativeButton(){return!this.to&&!this.href},computedAttrs(){return this.to?{to:this.to,replace:this.replace,...this.disabled&&{"aria-disabled":`true`,tabindex:`-1`}}:this.href?{href:this.disabled?null:this.href,target:this.target,rel:this.rel,...this.disabled&&{"aria-disabled":`true`,tabindex:`-1`}}:{type:this.type,disabled:this.disabled}},computedListeners(){let e={focusin:e=>{this.isInFocus=this.assertiveOnFocus,this.$emit(`focusin`,e)},focusout:e=>{this.isInFocus=!1,this.$emit(`focusout`,e)}};return this.isNativeButton||(this.disabled&&(e.click=e=>{e.preventDefault(),e.stopImmediatePropagation()}),e.keydown=e=>{(e.key===` `||e.code===`Space`)&&(e.preventDefault(),this.disabled||e.target.click())}),e},computedAriaLive(){return this.assertiveOnFocus&&this.isInFocus?`assertive`:this.$attrs.ariaLive},iconSize(){return i.BUTTON_ICON_SIZES[String(this.size)]},loaderSize(){return i.BUTTON_ICON_SIZES[String(this.size)]}},watch:{$props:{deep:!0,immediate:!0,handler(){process.env.NODE_ENV!==`production`&&(this.circle&&this.link&&(0,s.warn)(`You cannot enable circle and link at the same time`,this),this.isInvalidPropCombination(this.circle,this.kind,this.importance))}}},methods:{resolveRouterLink(){try{return(0,s.resolveComponent)(`RouterLink`)}catch{return(0,s.warn)(`DtButton: "to" prop requires vue-router. Falling back to <a>.`),`a`}},buttonClasses(){return this.link?[`d-link`,a.getLinkKindModifier(this.linkKind,this.linkInverted),i.BUTTON_SIZE_MODIFIERS[String(this.size)],{"d-link--no-underline":!this.resolvedUnderline}]:this.kind===`unstyled`?[`d-btn--unstyled`]:[`d-btn`,i.BUTTON_IMPORTANCE_MODIFIERS[this.importance],i.BUTTON_KIND_MODIFIERS[this.kind],i.BUTTON_SIZE_MODIFIERS[String(this.size)],{"d-btn--circle":this.circle,"d-btn--loading":this.loading,"d-btn--icon-only":this.isIconOnly(),"d-btn--vertical":this.isVerticalIconLayout(),"d-btn--active":this.active}]},isInvalidPropCombination(e,t,n){if(this.kind===`unstyled`)return!0;for(let r of i.INVALID_COMBINATION)if(e===r.circle&&t===r.kind&&n===r.importance)return(0,s.warn)(r.message),!1;return!0},hasStartIcon(){return t.hasSlotContent(this.$slots.startIcon)},hasEndIcon(){return t.hasSlotContent(this.$slots.endIcon)},hasBlockStartIcon(){return t.hasSlotContent(this.$slots.blockStartIcon)},hasBlockEndIcon(){return t.hasSlotContent(this.$slots.blockEndIcon)},hasNewIconSlots(){return this.hasStartIcon()||this.hasEndIcon()||this.hasBlockStartIcon()||this.hasBlockEndIcon()},shouldRenderLegacyIcon(){return t.hasSlotContent(this.$slots.icon)&&!this.hasNewIconSlots()&&!this.link},isIconOnly(){return(this.hasNewIconSlots()||this.shouldRenderLegacyIcon())&&!t.hasSlotContent(this.$slots.default)},isVerticalIconLayout(){return this.isIconOnly()?!1:this.hasBlockStartIcon()||this.hasBlockEndIcon()?!0:!this.hasNewIconSlots()&&[`top`,`bottom`].includes(this.iconPosition)}}};function l(e,t,n,r,i,a){let o=(0,s.resolveComponent)(`dt-loader`);return(0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(a.computedTag),(0,s.mergeProps)({class:[`base-button__button`,a.buttonClasses()],"data-qa":`dt-button`,style:{width:n.width},"aria-live":a.computedAriaLive,"aria-label":n.loading?i.i18n.$t(`DIALTONE_LOADING`):e.$attrs[`aria-label`]},a.computedAttrs,(0,s.toHandlers)(a.computedListeners)),{default:(0,s.withCtx)(()=>[n.loading&&n.kind!==`unstyled`?((0,s.openBlock)(),(0,s.createBlock)(o,{key:0,class:`d-btn__loader`,size:a.loaderSize,"aria-hidden":`true`},null,8,[`size`])):(0,s.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.leading)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:1,class:(0,s.normalizeClass)([`d-btn__leading`,n.leadingClass])},[(0,s.renderSlot)(e.$slots,`leading`)],2)):(0,s.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.blockStartIcon)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:2,"data-qa":`dt-button-block-start-icon`,class:(0,s.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--top":n.kind!==`unstyled`},n.blockStartIconClass])},[(0,s.renderSlot)(e.$slots,`blockStartIcon`,{iconSize:a.iconSize})],2)):(0,s.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.startIcon)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:3,"data-qa":`dt-button-start-icon`,class:(0,s.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--left":n.kind!==`unstyled`},n.startIconClass])},[(0,s.renderSlot)(e.$slots,`startIcon`,{iconSize:a.iconSize})],2)):(0,s.createCommentVNode)(``,!0),a.shouldRenderLegacyIcon()?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:4,"data-qa":`dt-button-icon`,class:(0,s.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,[i.ICON_POSITION_MODIFIERS[n.iconPosition]]:n.kind!==`unstyled`},n.iconClass])},[(0,s.renderSlot)(e.$slots,`icon`,{iconSize:a.iconSize})],2)):(0,s.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.default)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:5,"data-qa":`dt-button-label`,class:(0,s.normalizeClass)([`base-button__label`,{"d-btn__label":n.kind!==`unstyled`},n.labelClass])},[(0,s.renderSlot)(e.$slots,`default`)],2)):(0,s.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.endIcon)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:6,"data-qa":`dt-button-end-icon`,class:(0,s.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--right":n.kind!==`unstyled`},n.endIconClass])},[(0,s.renderSlot)(e.$slots,`endIcon`,{iconSize:a.iconSize})],2)):(0,s.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.blockEndIcon)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:7,"data-qa":`dt-button-block-end-icon`,class:(0,s.normalizeClass)([`base-button__icon`,{"d-btn__icon":n.kind!==`unstyled`,"d-btn__icon--bottom":n.kind!==`unstyled`},n.blockEndIconClass])},[(0,s.renderSlot)(e.$slots,`blockEndIcon`,{iconSize:a.iconSize})],2)):(0,s.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.trailing)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:8,class:(0,s.normalizeClass)([`d-btn__trailing`,n.trailingClass])},[(0,s.renderSlot)(e.$slots,`trailing`)],2)):(0,s.createCommentVNode)(``,!0)]),_:3},16,[`class`,`style`,`aria-live`,`aria-label`])}var u=n.t(c,[[`render`,l]]);exports.default=u;
2
2
  //# sourceMappingURL=button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.cjs","names":[],"sources":["../../../components/Button/Button.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? i18n.$t('DIALTONE_LOADING') : $attrs['aria-label']\"\n v-bind=\"computedAttrs\"\n v-on=\"computedListeners\"\n >\n <dt-loader\n v-if=\"loading && kind !== 'unstyled'\"\n class=\"d-btn__loader\"\n :size=\"loaderSize\"\n aria-hidden=\"true\"\n />\n <span\n v-if=\"hasSlotContent($slots.leading)\"\n :class=\"['d-btn__leading', leadingClass]\"\n >\n <!-- @slot Optional leading content at the start of the button, such as badges or indicators -->\n <slot name=\"leading\" />\n </span>\n <!-- NEW: Block-start icon slot (above label) -->\n <span\n v-if=\"hasSlotContent($slots.blockStartIcon)\"\n data-qa=\"dt-button-block-start-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--top': kind !== 'unstyled',\n },\n blockStartIconClass,\n ]\"\n >\n <!-- @slot Icon displayed above the button label (block-start) -->\n <slot\n name=\"blockStartIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NEW: Start icon slot -->\n <span\n v-if=\"hasSlotContent($slots.startIcon)\"\n data-qa=\"dt-button-start-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--left': kind !== 'unstyled',\n },\n startIconClass,\n ]\"\n >\n <!-- @slot Icon displayed at the start (aka left) of the button -->\n <slot\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderLegacyIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n [ICON_POSITION_MODIFIERS[iconPosition]]: kind !== 'unstyled',\n },\n iconClass,\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"hasSlotContent($slots.default)\"\n data-qa=\"dt-button-label\"\n :class=\"[\n 'base-button__label',\n { 'd-btn__label': kind !== 'unstyled' },\n labelClass,\n ]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n <!-- NEW: End icon slot -->\n <span\n v-if=\"hasSlotContent($slots.endIcon)\"\n data-qa=\"dt-button-end-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--right': kind !== 'unstyled',\n },\n endIconClass,\n ]\"\n >\n <!-- @slot Icon displayed at the end (aka right) of the button -->\n <slot\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NEW: Block-end icon slot (below label) -->\n <span\n v-if=\"hasSlotContent($slots.blockEndIcon)\"\n data-qa=\"dt-button-block-end-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--bottom': kind !== 'unstyled',\n },\n blockEndIconClass,\n ]\"\n >\n <!-- @slot Icon displayed below the button label (block-end) -->\n <slot\n name=\"blockEndIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"hasSlotContent($slots.trailing)\"\n :class=\"['d-btn__trailing', trailingClass]\"\n >\n <!-- @slot Optional trailing content at the end of the button, such as badges or indicators -->\n <slot name=\"trailing\" />\n </span>\n </component>\n</template>\n\n<script>\nimport { warn, resolveComponent } from 'vue';\nimport { hasSlotContent } from '@/common/utils';\nimport DtLoader from '@/components/Loader/Loader.vue';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './ButtonConstants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/Link';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n name: 'DtButton',\n\n components: { DtLoader },\n\n props: {\n /**\n * Whether the button is a circle or not. Use only with icon-only buttons.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @deprecated Use startIcon / endIcon / blockStartIcon / blockEndIcon slots instead.\n * @values start, end, blockStart, blockEnd, left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'start',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, critical, warning, positive, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n * @deprecated Use v-dt-mode instead.\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the link-styled button should display an underline.\n * Only applies when the link prop is true.\n * @values true, false\n */\n linkUnderline: {\n type: Boolean,\n default: true,\n },\n\n /**\n * @deprecated Use linkUnderline instead.\n * @values true, false\n */\n underline: {\n type: Boolean,\n default: null,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\" target=\"_blank\">(Reference)</a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">CSS width attribute</a> values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: (s) => Object.keys(BUTTON_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 leading container\n */\n leadingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the trailing container\n */\n trailingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the start icon container\n */\n startIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the end icon container\n */\n endIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the block-start (aka top) icon container\n */\n blockStartIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the block-end (aka bottom) icon container\n */\n blockEndIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the legacy icon container\n * @deprecated Use startIconClass or endIconClass\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, unstyled, muted, critical, positive\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * vue-router `to` prop. When provided, renders a `<router-link>`\n * for client-side SPA navigation.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When provided, renders an `<a>` element for standard browser navigation.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor target attribute. Only applied when using the `href` prop.\n * @values _self, _blank, _parent, _top\n */\n target: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor rel attribute. Only applied when using the `href` prop.\n */\n rel: {\n type: String,\n default: null,\n },\n\n /**\n * vue-router `replace` prop. When true, navigation will not leave a\n * history entry. Only applied when using the `to` prop.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n resolvedUnderline () {\n return this.underline ?? this.linkUnderline;\n },\n\n computedTag () {\n if (this.to) return this.resolveRouterLink();\n if (this.href) return 'a';\n return 'button';\n },\n\n isNativeButton () {\n return !this.to && !this.href;\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n if (this.href) {\n return {\n href: this.disabled ? null : this.href,\n target: this.target,\n rel: this.rel,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n return {\n type: this.type,\n disabled: this.disabled,\n };\n },\n\n computedListeners () {\n const listeners = {\n focusin: (e) => {\n this.isInFocus = this.assertiveOnFocus;\n this.$emit('focusin', e);\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n this.$emit('focusout', e);\n },\n };\n\n if (!this.isNativeButton) {\n // Prevent click when disabled for link elements.\n // stopImmediatePropagation prevents parent onClick attrs from firing.\n if (this.disabled) {\n listeners.click = (e) => {\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n }\n\n // Space key handler: <a> only responds to Enter natively,\n // but buttons respond to both Enter and Space.\n listeners.keydown = (e) => {\n if (e.key === ' ' || e.code === 'Space') {\n e.preventDefault();\n if (!this.disabled) {\n e.target.click();\n }\n }\n };\n }\n\n return listeners;\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[String(this.size)];\n },\n\n loaderSize () {\n return BUTTON_ICON_SIZES[String(this.size)];\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n resolveRouterLink () {\n try {\n return resolveComponent('RouterLink');\n } catch {\n warn('DtButton: \"to\" prop requires vue-router. Falling back to <a>.');\n return 'a';\n }\n },\n\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[String(this.size)],\n { 'd-link--no-underline': !this.resolvedUnderline },\n ];\n }\n if (this.kind === 'unstyled') {\n return ['d-btn--unstyled'];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[String(this.size)],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n // Skip validation if unstyled is true\n if (this.kind === 'unstyled') {\n return true;\n }\n\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n hasStartIcon () {\n return hasSlotContent(this.$slots.startIcon);\n },\n\n hasEndIcon () {\n return hasSlotContent(this.$slots.endIcon);\n },\n\n hasBlockStartIcon () {\n return hasSlotContent(this.$slots.blockStartIcon);\n },\n\n hasBlockEndIcon () {\n return hasSlotContent(this.$slots.blockEndIcon);\n },\n\n hasNewIconSlots () {\n return this.hasStartIcon() || this.hasEndIcon() || this.hasBlockStartIcon() || this.hasBlockEndIcon();\n },\n\n shouldRenderLegacyIcon () {\n return hasSlotContent(this.$slots.icon) && !this.hasNewIconSlots() && !this.link;\n },\n\n isIconOnly () {\n return (this.hasNewIconSlots() || this.shouldRenderLegacyIcon()) && !hasSlotContent(this.$slots.default);\n },\n\n isVerticalIconLayout () {\n if (this.isIconOnly()) return false;\n if (this.hasBlockStartIcon() || this.hasBlockEndIcon()) return true;\n return !this.hasNewIconSlots() && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"button.cjs","names":[],"sources":["../../../components/Button/Button.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? i18n.$t('DIALTONE_LOADING') : $attrs['aria-label']\"\n v-bind=\"computedAttrs\"\n v-on=\"computedListeners\"\n >\n <dt-loader\n v-if=\"loading && kind !== 'unstyled'\"\n class=\"d-btn__loader\"\n :size=\"loaderSize\"\n aria-hidden=\"true\"\n />\n <span\n v-if=\"hasSlotContent($slots.leading)\"\n :class=\"['d-btn__leading', leadingClass]\"\n >\n <!-- @slot Optional leading content at the start of the button, such as badges or indicators -->\n <slot name=\"leading\" />\n </span>\n <!-- NEW: Block-start icon slot (above label) -->\n <span\n v-if=\"hasSlotContent($slots.blockStartIcon)\"\n data-qa=\"dt-button-block-start-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--top': kind !== 'unstyled',\n },\n blockStartIconClass,\n ]\"\n >\n <!-- @slot Icon displayed above the button label (block-start) -->\n <slot\n name=\"blockStartIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NEW: Start icon slot -->\n <span\n v-if=\"hasSlotContent($slots.startIcon)\"\n data-qa=\"dt-button-start-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--left': kind !== 'unstyled',\n },\n startIconClass,\n ]\"\n >\n <!-- @slot Icon displayed at the start (aka left) of the button -->\n <slot\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderLegacyIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n [ICON_POSITION_MODIFIERS[iconPosition]]: kind !== 'unstyled',\n },\n iconClass,\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"hasSlotContent($slots.default)\"\n data-qa=\"dt-button-label\"\n :class=\"[\n 'base-button__label',\n { 'd-btn__label': kind !== 'unstyled' },\n labelClass,\n ]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n <!-- NEW: End icon slot -->\n <span\n v-if=\"hasSlotContent($slots.endIcon)\"\n data-qa=\"dt-button-end-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--right': kind !== 'unstyled',\n },\n endIconClass,\n ]\"\n >\n <!-- @slot Icon displayed at the end (aka right) of the button -->\n <slot\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NEW: Block-end icon slot (below label) -->\n <span\n v-if=\"hasSlotContent($slots.blockEndIcon)\"\n data-qa=\"dt-button-block-end-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--bottom': kind !== 'unstyled',\n },\n blockEndIconClass,\n ]\"\n >\n <!-- @slot Icon displayed below the button label (block-end) -->\n <slot\n name=\"blockEndIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"hasSlotContent($slots.trailing)\"\n :class=\"['d-btn__trailing', trailingClass]\"\n >\n <!-- @slot Optional trailing content at the end of the button, such as badges or indicators -->\n <slot name=\"trailing\" />\n </span>\n </component>\n</template>\n\n<script>\nimport { warn, resolveComponent } from 'vue';\nimport { hasSlotContent } from '@/common/utils';\nimport { ordinalSizeValidator } from '@/common/validators';\nimport DtLoader from '@/components/Loader/Loader.vue';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './ButtonConstants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/Link';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n name: 'DtButton',\n\n components: { DtLoader },\n\n props: {\n /**\n * Whether the button is a circle or not. Use only with icon-only buttons.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @deprecated Use startIcon / endIcon / blockStartIcon / blockEndIcon slots instead.\n * @values start, end, blockStart, blockEnd, left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'start',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, critical, warning, positive, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n * @deprecated Use v-dt-mode instead.\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the link-styled button should display an underline.\n * Only applies when the link prop is true.\n * @values true, false\n */\n linkUnderline: {\n type: Boolean,\n default: true,\n },\n\n /**\n * @deprecated Use linkUnderline instead.\n * @values true, false\n */\n underline: {\n type: Boolean,\n default: null,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\" target=\"_blank\">(Reference)</a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">CSS width attribute</a> values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: ordinalSizeValidator(BUTTON_SIZE_MODIFIERS),\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 leading container\n */\n leadingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the trailing container\n */\n trailingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the start icon container\n */\n startIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the end icon container\n */\n endIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the block-start (aka top) icon container\n */\n blockStartIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the block-end (aka bottom) icon container\n */\n blockEndIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the legacy icon container\n * @deprecated Use startIconClass or endIconClass\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, unstyled, muted, critical, positive\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * vue-router `to` prop. When provided, renders a `<router-link>`\n * for client-side SPA navigation.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When provided, renders an `<a>` element for standard browser navigation.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor target attribute. Only applied when using the `href` prop.\n * @values _self, _blank, _parent, _top\n */\n target: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor rel attribute. Only applied when using the `href` prop.\n */\n rel: {\n type: String,\n default: null,\n },\n\n /**\n * vue-router `replace` prop. When true, navigation will not leave a\n * history entry. Only applied when using the `to` prop.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n resolvedUnderline () {\n return this.underline ?? this.linkUnderline;\n },\n\n computedTag () {\n if (this.to) return this.resolveRouterLink();\n if (this.href) return 'a';\n return 'button';\n },\n\n isNativeButton () {\n return !this.to && !this.href;\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n if (this.href) {\n return {\n href: this.disabled ? null : this.href,\n target: this.target,\n rel: this.rel,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n return {\n type: this.type,\n disabled: this.disabled,\n };\n },\n\n computedListeners () {\n const listeners = {\n focusin: (e) => {\n this.isInFocus = this.assertiveOnFocus;\n this.$emit('focusin', e);\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n this.$emit('focusout', e);\n },\n };\n\n if (!this.isNativeButton) {\n // Prevent click when disabled for link elements.\n // stopImmediatePropagation prevents parent onClick attrs from firing.\n if (this.disabled) {\n listeners.click = (e) => {\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n }\n\n // Space key handler: <a> only responds to Enter natively,\n // but buttons respond to both Enter and Space.\n listeners.keydown = (e) => {\n if (e.key === ' ' || e.code === 'Space') {\n e.preventDefault();\n if (!this.disabled) {\n e.target.click();\n }\n }\n };\n }\n\n return listeners;\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[String(this.size)];\n },\n\n loaderSize () {\n return BUTTON_ICON_SIZES[String(this.size)];\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n resolveRouterLink () {\n try {\n return resolveComponent('RouterLink');\n } catch {\n warn('DtButton: \"to\" prop requires vue-router. Falling back to <a>.');\n return 'a';\n }\n },\n\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[String(this.size)],\n { 'd-link--no-underline': !this.resolvedUnderline },\n ];\n }\n if (this.kind === 'unstyled') {\n return ['d-btn--unstyled'];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[String(this.size)],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n // Skip validation if unstyled is true\n if (this.kind === 'unstyled') {\n return true;\n }\n\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n hasStartIcon () {\n return hasSlotContent(this.$slots.startIcon);\n },\n\n hasEndIcon () {\n return hasSlotContent(this.$slots.endIcon);\n },\n\n hasBlockStartIcon () {\n return hasSlotContent(this.$slots.blockStartIcon);\n },\n\n hasBlockEndIcon () {\n return hasSlotContent(this.$slots.blockEndIcon);\n },\n\n hasNewIconSlots () {\n return this.hasStartIcon() || this.hasEndIcon() || this.hasBlockStartIcon() || this.hasBlockEndIcon();\n },\n\n shouldRenderLegacyIcon () {\n return hasSlotContent(this.$slots.icon) && !this.hasNewIconSlots() && !this.link;\n },\n\n isIconOnly () {\n return (this.hasNewIconSlots() || this.shouldRenderLegacyIcon()) && !hasSlotContent(this.$slots.default);\n },\n\n isVerticalIconLayout () {\n if (this.isIconOnly()) return false;\n if (this.hasBlockStartIcon() || this.hasBlockEndIcon()) return true;\n return !this.hasNewIconSlots() && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"mappings":"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"}