@dialpad/dialtone-vue 3.210.0 → 3.211.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/dist/common/constants/index.cjs +1 -1
  2. package/dist/common/constants/index.cjs.map +1 -1
  3. package/dist/common/constants/index.js +10 -10
  4. package/dist/common/constants/index.js.map +1 -1
  5. package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
  6. package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  7. package/dist/common/mixins/keyboard-list-navigation.js +7 -7
  8. package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
  9. package/dist/component-documentation.json +1 -1
  10. package/dist/dialtone-vue.cjs +1 -1
  11. package/dist/dialtone-vue.js +425 -387
  12. package/dist/dialtone-vue.js.map +1 -1
  13. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  14. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  15. package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
  16. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  17. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  18. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  19. package/dist/lib/avatar/avatar-constants.js +169 -43
  20. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  21. package/dist/lib/avatar/avatar.cjs +1 -1
  22. package/dist/lib/avatar/avatar.cjs.map +1 -1
  23. package/dist/lib/avatar/avatar.js +185 -100
  24. package/dist/lib/avatar/avatar.js.map +1 -1
  25. package/dist/lib/avatar/index.cjs +1 -1
  26. package/dist/lib/avatar/index.js +16 -10
  27. package/dist/lib/badge/badge.cjs +1 -1
  28. package/dist/lib/badge/badge.cjs.map +1 -1
  29. package/dist/lib/badge/badge.js +47 -35
  30. package/dist/lib/badge/badge.js.map +1 -1
  31. package/dist/lib/banner/banner.cjs +1 -1
  32. package/dist/lib/banner/banner.cjs.map +1 -1
  33. package/dist/lib/banner/banner.js +19 -18
  34. package/dist/lib/banner/banner.js.map +1 -1
  35. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  36. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  37. package/dist/lib/breadcrumbs/breadcrumb-item.js +3 -1
  38. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  39. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  40. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  41. package/dist/lib/breadcrumbs/breadcrumbs.js +21 -18
  42. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  43. package/dist/lib/button/button-constants.cjs +1 -1
  44. package/dist/lib/button/button-constants.cjs.map +1 -1
  45. package/dist/lib/button/button-constants.js +23 -19
  46. package/dist/lib/button/button-constants.js.map +1 -1
  47. package/dist/lib/button/button.cjs +1 -1
  48. package/dist/lib/button/button.cjs.map +1 -1
  49. package/dist/lib/button/button.js +171 -66
  50. package/dist/lib/button/button.js.map +1 -1
  51. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  52. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  53. package/dist/lib/callbar-button/callbar-button.js +13 -14
  54. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  55. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  56. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  57. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +42 -30
  58. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  59. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  60. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  61. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -26
  62. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  63. package/dist/lib/callbox/callbox.cjs +1 -1
  64. package/dist/lib/callbox/callbox.cjs.map +1 -1
  65. package/dist/lib/callbox/callbox.js +47 -47
  66. package/dist/lib/callbox/callbox.js.map +1 -1
  67. package/dist/lib/checkbox/checkbox.cjs +1 -1
  68. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  69. package/dist/lib/checkbox/checkbox.js +97 -43
  70. package/dist/lib/checkbox/checkbox.js.map +1 -1
  71. package/dist/lib/chip/chip.cjs +1 -1
  72. package/dist/lib/chip/chip.cjs.map +1 -1
  73. package/dist/lib/chip/chip.js +1 -1
  74. package/dist/lib/chip/chip.js.map +1 -1
  75. package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
  76. package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
  77. package/dist/lib/codeblock/codeblock-constants.js +6 -0
  78. package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
  79. package/dist/lib/codeblock/codeblock.cjs +1 -2
  80. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  81. package/dist/lib/codeblock/codeblock.js +34 -13
  82. package/dist/lib/codeblock/codeblock.js.map +1 -1
  83. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  84. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  85. package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
  86. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  87. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  88. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  89. package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
  90. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  91. package/dist/lib/contact-info/contact-info.cjs +1 -1
  92. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  93. package/dist/lib/contact-info/contact-info.js +56 -56
  94. package/dist/lib/contact-info/contact-info.js.map +1 -1
  95. package/dist/lib/contact-row/contact-row.cjs +1 -1
  96. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  97. package/dist/lib/contact-row/contact-row.js +1 -1
  98. package/dist/lib/contact-row/contact-row.js.map +1 -1
  99. package/dist/lib/datepicker/datepicker.cjs +1 -1
  100. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  101. package/dist/lib/datepicker/datepicker.js +13 -17
  102. package/dist/lib/datepicker/datepicker.js.map +1 -1
  103. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  104. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  105. package/dist/lib/dropdown/dropdown-list.js +29 -18
  106. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  107. package/dist/lib/editor/editor.cjs.map +1 -1
  108. package/dist/lib/editor/editor.js.map +1 -1
  109. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  110. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  111. package/dist/lib/emoji-picker/emoji-picker.js +2 -2
  112. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  113. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  114. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  115. package/dist/lib/empty-state/empty-state-constants.js +28 -16
  116. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  117. package/dist/lib/empty-state/empty-state.cjs +1 -1
  118. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  119. package/dist/lib/empty-state/empty-state.js +54 -32
  120. package/dist/lib/empty-state/empty-state.js.map +1 -1
  121. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  122. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  123. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  124. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  125. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  126. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  127. package/dist/lib/feed-item-row/feed-item-row.js +11 -11
  128. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  129. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  130. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  131. package/dist/lib/filter-pill/filter-pill.js +346 -0
  132. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  133. package/dist/lib/filter-pill/index.cjs +2 -0
  134. package/dist/lib/filter-pill/index.cjs.map +1 -0
  135. package/dist/lib/filter-pill/index.js +5 -0
  136. package/dist/lib/filter-pill/index.js.map +1 -0
  137. package/dist/lib/general-row/general-row.cjs +1 -1
  138. package/dist/lib/general-row/general-row.cjs.map +1 -1
  139. package/dist/lib/general-row/general-row.js +153 -99
  140. package/dist/lib/general-row/general-row.js.map +1 -1
  141. package/dist/lib/group-row/group-row.cjs +1 -1
  142. package/dist/lib/group-row/group-row.cjs.map +1 -1
  143. package/dist/lib/group-row/group-row.js +1 -1
  144. package/dist/lib/group-row/group-row.js.map +1 -1
  145. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  146. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  147. package/dist/lib/grouped-chip/grouped-chip.js +31 -31
  148. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  149. package/dist/lib/input/input-constants.cjs +1 -1
  150. package/dist/lib/input/input-constants.cjs.map +1 -1
  151. package/dist/lib/input/input-constants.js +17 -22
  152. package/dist/lib/input/input-constants.js.map +1 -1
  153. package/dist/lib/input/input.cjs +1 -1
  154. package/dist/lib/input/input.cjs.map +1 -1
  155. package/dist/lib/input/input.js +144 -72
  156. package/dist/lib/input/input.js.map +1 -1
  157. package/dist/lib/input-group/input-group.cjs +1 -1
  158. package/dist/lib/input-group/input-group.cjs.map +1 -1
  159. package/dist/lib/input-group/input-group.js +35 -28
  160. package/dist/lib/input-group/input-group.js.map +1 -1
  161. package/dist/lib/item-layout/item-layout.cjs +3 -3
  162. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  163. package/dist/lib/item-layout/item-layout.js +74 -39
  164. package/dist/lib/item-layout/item-layout.js.map +1 -1
  165. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  166. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  167. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +56 -43
  168. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  169. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  170. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  171. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  172. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  173. package/dist/lib/link/link.cjs +1 -1
  174. package/dist/lib/link/link.cjs.map +1 -1
  175. package/dist/lib/link/link.js +22 -12
  176. package/dist/lib/link/link.js.map +1 -1
  177. package/dist/lib/list-item/list-item.cjs +1 -1
  178. package/dist/lib/list-item/list-item.cjs.map +1 -1
  179. package/dist/lib/list-item/list-item.js +25 -15
  180. package/dist/lib/list-item/list-item.js.map +1 -1
  181. package/dist/lib/loader/loader.cjs +13 -1
  182. package/dist/lib/loader/loader.cjs.map +1 -1
  183. package/dist/lib/loader/loader.js +31 -20
  184. package/dist/lib/loader/loader.js.map +1 -1
  185. package/dist/lib/message-input/message-input.cjs +1 -1
  186. package/dist/lib/message-input/message-input.cjs.map +1 -1
  187. package/dist/lib/message-input/message-input.js +39 -39
  188. package/dist/lib/message-input/message-input.js.map +1 -1
  189. package/dist/lib/modal/modal.cjs +1 -1
  190. package/dist/lib/modal/modal.cjs.map +1 -1
  191. package/dist/lib/modal/modal.js +74 -61
  192. package/dist/lib/modal/modal.js.map +1 -1
  193. package/dist/lib/mode-island/index.cjs +2 -0
  194. package/dist/lib/mode-island/index.cjs.map +1 -0
  195. package/dist/lib/mode-island/index.js +7 -0
  196. package/dist/lib/mode-island/index.js.map +1 -0
  197. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  198. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  199. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  200. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  201. package/dist/lib/mode-island/mode-island.cjs +2 -0
  202. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  203. package/dist/lib/mode-island/mode-island.js +130 -0
  204. package/dist/lib/mode-island/mode-island.js.map +1 -0
  205. package/dist/lib/mode-island/utils.cjs +2 -0
  206. package/dist/lib/mode-island/utils.cjs.map +1 -0
  207. package/dist/lib/mode-island/utils.js +32 -0
  208. package/dist/lib/mode-island/utils.js.map +1 -0
  209. package/dist/lib/mode-island/validators.cjs +2 -0
  210. package/dist/lib/mode-island/validators.cjs.map +1 -0
  211. package/dist/lib/mode-island/validators.js +12 -0
  212. package/dist/lib/mode-island/validators.js.map +1 -0
  213. package/dist/lib/notice/notice-action.cjs +1 -1
  214. package/dist/lib/notice/notice-action.cjs.map +1 -1
  215. package/dist/lib/notice/notice-action.js +7 -7
  216. package/dist/lib/notice/notice-action.js.map +1 -1
  217. package/dist/lib/notice/notice-content.cjs +1 -1
  218. package/dist/lib/notice/notice-content.cjs.map +1 -1
  219. package/dist/lib/notice/notice-content.js +38 -21
  220. package/dist/lib/notice/notice-content.js.map +1 -1
  221. package/dist/lib/notice/notice.cjs +1 -1
  222. package/dist/lib/notice/notice.cjs.map +1 -1
  223. package/dist/lib/notice/notice.js +20 -19
  224. package/dist/lib/notice/notice.js.map +1 -1
  225. package/dist/lib/pagination/pagination.cjs +1 -1
  226. package/dist/lib/pagination/pagination.cjs.map +1 -1
  227. package/dist/lib/pagination/pagination.js +15 -14
  228. package/dist/lib/pagination/pagination.js.map +1 -1
  229. package/dist/lib/popover/popover.cjs +1 -1
  230. package/dist/lib/popover/popover.cjs.map +1 -1
  231. package/dist/lib/popover/popover.js +1 -1
  232. package/dist/lib/popover/popover.js.map +1 -1
  233. package/dist/lib/progress-circle/index.cjs +2 -0
  234. package/dist/lib/progress-circle/index.cjs.map +1 -0
  235. package/dist/lib/progress-circle/index.js +10 -0
  236. package/dist/lib/progress-circle/index.js.map +1 -0
  237. package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
  238. package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
  239. package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
  240. package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
  241. package/dist/lib/progress-circle/progress-circle.cjs +2 -0
  242. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
  243. package/dist/lib/progress-circle/progress-circle.js +136 -0
  244. package/dist/lib/progress-circle/progress-circle.js.map +1 -0
  245. package/dist/lib/radio/radio.cjs +1 -1
  246. package/dist/lib/radio/radio.cjs.map +1 -1
  247. package/dist/lib/radio/radio.js +103 -41
  248. package/dist/lib/radio/radio.js.map +1 -1
  249. package/dist/lib/rich-text-editor/rich-text-editor.cjs +4 -4
  250. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  251. package/dist/lib/rich-text-editor/rich-text-editor.js +607 -560
  252. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  253. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  254. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  255. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  256. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  257. package/dist/lib/root-layout/root-layout.cjs +1 -1
  258. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  259. package/dist/lib/root-layout/root-layout.js +15 -13
  260. package/dist/lib/root-layout/root-layout.js.map +1 -1
  261. package/dist/lib/select-menu/select-menu.cjs +1 -1
  262. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  263. package/dist/lib/select-menu/select-menu.js +113 -61
  264. package/dist/lib/select-menu/select-menu.js.map +1 -1
  265. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  266. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  267. package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
  268. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  269. package/dist/lib/split-button/split-button-end.cjs +2 -0
  270. package/dist/lib/split-button/split-button-end.cjs.map +1 -0
  271. package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +13 -13
  272. package/dist/lib/split-button/split-button-end.js.map +1 -0
  273. package/dist/lib/split-button/split-button-start.cjs +2 -0
  274. package/dist/lib/split-button/split-button-start.cjs.map +1 -0
  275. package/dist/lib/split-button/split-button-start.js +231 -0
  276. package/dist/lib/split-button/split-button-start.js.map +1 -0
  277. package/dist/lib/split-button/split-button.cjs +1 -1
  278. package/dist/lib/split-button/split-button.cjs.map +1 -1
  279. package/dist/lib/split-button/split-button.js +334 -98
  280. package/dist/lib/split-button/split-button.js.map +1 -1
  281. package/dist/lib/tab/index.cjs +1 -1
  282. package/dist/lib/tab/index.js +13 -11
  283. package/dist/lib/tab/tab-group.cjs +1 -1
  284. package/dist/lib/tab/tab-group.cjs.map +1 -1
  285. package/dist/lib/tab/tab-group.js +107 -46
  286. package/dist/lib/tab/tab-group.js.map +1 -1
  287. package/dist/lib/tab/tab.cjs +1 -1
  288. package/dist/lib/tab/tab.cjs.map +1 -1
  289. package/dist/lib/tab/tab.js +128 -37
  290. package/dist/lib/tab/tab.js.map +1 -1
  291. package/dist/lib/tab/tabs-constants.cjs +1 -1
  292. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  293. package/dist/lib/tab/tabs-constants.js +13 -11
  294. package/dist/lib/tab/tabs-constants.js.map +1 -1
  295. package/dist/lib/text/index.cjs +2 -0
  296. package/dist/lib/text/index.cjs.map +1 -0
  297. package/dist/lib/text/index.js +20 -0
  298. package/dist/lib/text/index.js.map +1 -0
  299. package/dist/lib/text/text-constants.cjs +2 -0
  300. package/dist/lib/text/text-constants.cjs.map +1 -0
  301. package/dist/lib/text/text-constants.js +69 -0
  302. package/dist/lib/text/text-constants.js.map +1 -0
  303. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  304. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  305. package/dist/lib/text/text-tone-tokens.js +33 -0
  306. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  307. package/dist/lib/text/text.cjs +2 -0
  308. package/dist/lib/text/text.cjs.map +1 -0
  309. package/dist/lib/text/text.js +203 -0
  310. package/dist/lib/text/text.js.map +1 -0
  311. package/dist/lib/toast/toast.cjs +1 -1
  312. package/dist/lib/toast/toast.cjs.map +1 -1
  313. package/dist/lib/toast/toast.js +10 -9
  314. package/dist/lib/toast/toast.js.map +1 -1
  315. package/dist/lib/toggle/toggle.cjs +1 -1
  316. package/dist/lib/toggle/toggle.cjs.map +1 -1
  317. package/dist/lib/toggle/toggle.js +37 -33
  318. package/dist/lib/toggle/toggle.js.map +1 -1
  319. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  320. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  321. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  322. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  323. package/dist/localization/en-US.cjs +2 -0
  324. package/dist/localization/en-US.cjs.map +1 -1
  325. package/dist/localization/en-US.js +2 -0
  326. package/dist/localization/en-US.js.map +1 -1
  327. package/dist/localization/es-LA.cjs +1 -1
  328. package/dist/localization/es-LA.cjs.map +1 -1
  329. package/dist/localization/es-LA.js +1 -1
  330. package/dist/localization/es-LA.js.map +1 -1
  331. package/dist/localization/it-IT.cjs +3 -3
  332. package/dist/localization/it-IT.cjs.map +1 -1
  333. package/dist/localization/it-IT.js +3 -3
  334. package/dist/localization/it-IT.js.map +1 -1
  335. package/dist/localization/nl-NL.cjs +2 -2
  336. package/dist/localization/nl-NL.cjs.map +1 -1
  337. package/dist/localization/nl-NL.js +2 -2
  338. package/dist/localization/nl-NL.js.map +1 -1
  339. package/dist/localization/ru-RU.cjs +1 -1
  340. package/dist/localization/ru-RU.cjs.map +1 -1
  341. package/dist/localization/ru-RU.js +1 -1
  342. package/dist/localization/ru-RU.js.map +1 -1
  343. package/dist/localization/zh-CN.cjs +1 -1
  344. package/dist/localization/zh-CN.cjs.map +1 -1
  345. package/dist/localization/zh-CN.js +1 -1
  346. package/dist/localization/zh-CN.js.map +1 -1
  347. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  348. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  349. package/dist/style.css +1 -1
  350. package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
  351. package/dist/types/common/sr_only_close_button.vue.d.ts +38 -2
  352. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  353. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  354. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  355. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  356. package/dist/types/components/avatar/index.d.ts +1 -1
  357. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  358. package/dist/types/components/banner/banner.vue.d.ts +216 -5
  359. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  360. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  361. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  362. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  363. package/dist/types/components/button/button.vue.d.ts +38 -2
  364. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  365. package/dist/types/components/button/button_constants.d.ts +4 -0
  366. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  367. package/dist/types/components/checkbox/checkbox.vue.d.ts +178 -4
  368. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  369. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +138 -0
  370. package/dist/types/components/chip/chip.vue.d.ts +38 -2
  371. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  372. package/dist/types/components/codeblock/codeblock.vue.d.ts +22 -1
  373. package/dist/types/components/codeblock/codeblock.vue.d.ts.map +1 -1
  374. package/dist/types/components/codeblock/codeblock_constants.d.ts +3 -0
  375. package/dist/types/components/codeblock/codeblock_constants.d.ts.map +1 -0
  376. package/dist/types/components/collapsible/collapsible.vue.d.ts +38 -2
  377. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  378. package/dist/types/components/combobox/combobox.vue.d.ts +81 -15
  379. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  380. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +40 -7
  381. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  382. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +40 -7
  383. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  384. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  385. package/dist/types/components/dropdown/dropdown.vue.d.ts +76 -4
  386. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  387. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +190 -0
  388. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +190 -0
  389. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  390. package/dist/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  391. package/dist/types/components/empty_state/empty_state_constants.d.ts +23 -5
  392. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2382 -0
  393. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  394. package/dist/types/components/filter_pill/index.d.ts +2 -0
  395. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  396. package/dist/types/components/hovercard/hovercard.vue.d.ts +152 -8
  397. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  398. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +76 -4
  399. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  400. package/dist/types/components/input/input.vue.d.ts +182 -0
  401. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  402. package/dist/types/components/input/input_constants.d.ts +4 -11
  403. package/dist/types/components/input_group/input_group.vue.d.ts +138 -0
  404. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  405. package/dist/types/components/item_layout/item_layout.vue.d.ts +37 -6
  406. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  407. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +138 -0
  408. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  409. package/dist/types/components/link/link.vue.d.ts +9 -0
  410. package/dist/types/components/list_item/list_item.vue.d.ts +40 -7
  411. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  412. package/dist/types/components/loader/loader.vue.d.ts +1 -32
  413. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  414. package/dist/types/components/modal/modal.vue.d.ts +214 -4
  415. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  416. package/dist/types/components/mode_island/index.d.ts +3 -0
  417. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  418. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  419. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  420. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  421. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  422. package/dist/types/components/mode_island/utils.d.ts +12 -0
  423. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  424. package/dist/types/components/mode_island/validators.d.ts +6 -0
  425. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  426. package/dist/types/components/notice/notice.vue.d.ts +216 -5
  427. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  428. package/dist/types/components/notice/notice_action.vue.d.ts +76 -4
  429. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  430. package/dist/types/components/notice/notice_content.vue.d.ts +140 -1
  431. package/dist/types/components/notice/notice_content.vue.d.ts.map +1 -1
  432. package/dist/types/components/pagination/pagination.vue.d.ts +38 -2
  433. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  434. package/dist/types/components/popover/popover.vue.d.ts +76 -4
  435. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  436. package/dist/types/components/popover/popover_header_footer.vue.d.ts +38 -2
  437. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  438. package/dist/types/components/progress_circle/index.d.ts +3 -0
  439. package/dist/types/components/progress_circle/index.d.ts.map +1 -0
  440. package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
  441. package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
  442. package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
  443. package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
  444. package/dist/types/components/radio/radio.vue.d.ts +173 -0
  445. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  446. package/dist/types/components/radio_group/radio_group.vue.d.ts +138 -0
  447. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  448. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  449. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  450. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +209 -25
  451. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  452. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +140 -1
  453. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  454. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
  455. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  456. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +296 -6
  457. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  458. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  459. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  460. package/dist/types/components/select_menu/select_menu.vue.d.ts +172 -13
  461. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  462. package/dist/types/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +39 -3
  463. package/dist/types/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
  464. package/dist/types/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +103 -4
  465. package/dist/types/components/split_button/split_button-start.vue.d.ts.map +1 -0
  466. package/dist/types/components/split_button/split_button.vue.d.ts +443 -34
  467. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  468. package/dist/types/components/tab/index.d.ts +1 -1
  469. package/dist/types/components/tab/tab.vue.d.ts +73 -7
  470. package/dist/types/components/tab/tab.vue.d.ts.map +1 -1
  471. package/dist/types/components/tab/tab_group.vue.d.ts +42 -0
  472. package/dist/types/components/tab/tab_group.vue.d.ts.map +1 -1
  473. package/dist/types/components/tab/tabs_constants.d.ts +5 -3
  474. package/dist/types/components/tab/tabs_constants.d.ts.map +1 -1
  475. package/dist/types/components/text/index.d.ts +3 -0
  476. package/dist/types/components/text/index.d.ts.map +1 -0
  477. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  478. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  479. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  480. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  481. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  482. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  483. package/dist/types/components/text/text.vue.d.ts +141 -0
  484. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  485. package/dist/types/components/text/text_constants.d.ts +73 -0
  486. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  487. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  488. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  489. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +216 -5
  490. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  491. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +216 -5
  492. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  493. package/dist/types/components/toast/toast.vue.d.ts +864 -20
  494. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  495. package/dist/types/components/toggle/toggle.vue.d.ts +9 -1
  496. package/dist/types/components/toggle/toggle.vue.d.ts.map +1 -1
  497. package/dist/types/index.d.ts +4 -0
  498. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +38 -2
  499. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  500. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +152 -8
  501. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  502. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +152 -8
  503. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  504. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +114 -6
  505. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  506. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +38 -2
  507. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  508. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +239 -35
  509. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  510. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +196 -12
  511. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  512. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +158 -10
  513. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  514. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +38 -2
  515. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +114 -6
  516. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  517. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +114 -6
  518. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  519. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +38 -2
  520. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  521. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +75 -8
  522. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  523. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +111 -32
  524. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  525. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +75 -8
  526. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  527. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +176 -2
  528. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  529. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +472 -8
  530. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  531. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +176 -2
  532. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  533. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +38 -2
  534. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  535. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +108 -31
  536. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  537. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  538. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  539. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +38 -2
  540. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  541. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +467 -28
  542. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  543. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +396 -3
  544. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  545. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +396 -3
  546. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  547. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  548. package/package.json +6 -5
  549. package/dist/lib/split-button/split-button-alpha.cjs +0 -2
  550. package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
  551. package/dist/lib/split-button/split-button-alpha.js +0 -138
  552. package/dist/lib/split-button/split-button-alpha.js.map +0 -1
  553. package/dist/lib/split-button/split-button-omega.cjs +0 -2
  554. package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
  555. package/dist/lib/split-button/split-button-omega.js.map +0 -1
  556. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
  557. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
  558. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +0 -1
@@ -0,0 +1,203 @@
1
+ import { TEXT_DENSITY_MODIFIERS as h, TEXT_STRENGTH_MODIFIERS as c, TEXT_BOX_TRIM_MODIFIERS as f, TEXT_WRAP_MODIFIERS as p, TEXT_TONE_PREFIX as T, TEXT_ALIGN_MODIFIERS as g, TEXT_KIND_MODIFIERS as r, TEXT_SIZE_MODIFIERS as S, TEXT_HEADLINE_ONLY_SIZES as E, TEXT_TRUNCATE_CLASS as C, TEXT_NUMERIC_CLASS as m, TEXT_LINE_CLAMP_CLASS as _ } from "./text-constants.js";
2
+ import { openBlock as y, createBlock as x, resolveDynamicComponent as I, normalizeStyle as D, normalizeClass as O, withCtx as w, renderSlot as k } from "vue";
3
+ import { _ as M } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
4
+ import N from "./text-tone-tokens.js";
5
+ const a = "md", X = ["h1", "h2", "h3", "h4", "h5", "h6"];
6
+ let o = !1;
7
+ const B = () => {
8
+ o = !1;
9
+ }, $ = {
10
+ compatConfig: { MODE: 3 },
11
+ name: "DtText",
12
+ props: {
13
+ /**
14
+ * HTML tag or component used for rendering.
15
+ * @values span, p, h1, h2, h3, h4, h5, h6, label, div, component
16
+ */
17
+ as: {
18
+ type: String,
19
+ default: "span"
20
+ },
21
+ /**
22
+ * Typography kind mapping to headline/body/label/code token sets.
23
+ * @values headline, body, label, code
24
+ */
25
+ kind: {
26
+ type: String,
27
+ default: null,
28
+ validator: (t) => t === null || Object.prototype.hasOwnProperty.call(r, t)
29
+ },
30
+ /**
31
+ * Size variant within the selected `kind`. Falls back to `md` if unsupported.
32
+ * Headline supports all sizes; body/label/code support lg, md, sm, xs.
33
+ * @values 3xl, 2xl, xl, lg, md, sm, xs
34
+ */
35
+ size: {
36
+ type: String,
37
+ default: null
38
+ },
39
+ /**
40
+ * Aligns to available foreground color tokens, e.g. `tertiary`, `critical`, etc.
41
+ */
42
+ tone: {
43
+ type: String,
44
+ default: null
45
+ },
46
+ /**
47
+ * Logical text alignment. Requires block/inline-block context.
48
+ * @values start, center, end, justify
49
+ */
50
+ align: {
51
+ type: String,
52
+ default: null
53
+ },
54
+ /**
55
+ * Enables single-line truncation (i.e. ellipsis) when true; requires block/inline-block context.
56
+ */
57
+ truncate: {
58
+ type: Boolean,
59
+ default: !1
60
+ },
61
+ /**
62
+ * Applies multi-line truncation (i.e. clamp) when greater than zero; requires block/inline-block context.
63
+ */
64
+ maxLines: {
65
+ type: Number,
66
+ default: null,
67
+ validator: (t) => t === null || Number.isInteger(t) && t > 0
68
+ },
69
+ /**
70
+ * Renders numeric content with tabular figures.
71
+ */
72
+ numeric: {
73
+ type: Boolean,
74
+ default: !1
75
+ },
76
+ /**
77
+ * Controls text wrapping behavior.
78
+ * @values wrap, nowrap, balance, pretty
79
+ */
80
+ wrap: {
81
+ type: String,
82
+ default: null,
83
+ validator: (t) => t === null || Object.prototype.hasOwnProperty.call(p, t)
84
+ },
85
+ /**
86
+ * Controls text-box-trim (leading space above/below text). Useful for tight component layouts.
87
+ * @values start, end, both
88
+ */
89
+ textBoxTrim: {
90
+ type: String,
91
+ default: null,
92
+ validator: (t) => t === null || Object.prototype.hasOwnProperty.call(f, t)
93
+ },
94
+ /**
95
+ * Overrides font-weight. Applies to any kind/size combination.
96
+ * @values bold, semibold, medium, normal
97
+ */
98
+ strength: {
99
+ type: String,
100
+ default: null,
101
+ validator: (t) => t === null || Object.prototype.hasOwnProperty.call(c, t)
102
+ },
103
+ /**
104
+ * Overrides line-height. Applies to any kind/size combination.
105
+ * @values 100, 200, 300, 400, 500, 600
106
+ */
107
+ density: {
108
+ type: [String, Number],
109
+ default: null,
110
+ validator: (t) => t === null || Object.prototype.hasOwnProperty.call(h, t)
111
+ }
112
+ },
113
+ computed: {
114
+ textClasses() {
115
+ const t = ["d-text"], e = this.getVariantClass();
116
+ e && t.push(e);
117
+ const s = this.getAlignClass();
118
+ s && t.push(s);
119
+ const n = this.getToneClass();
120
+ n && t.push(n), this.truncate && t.push(C), this.numeric && t.push(m), this.maxLines && t.push(_);
121
+ const l = this.getWrapClass();
122
+ l && t.push(l);
123
+ const i = this.getTextBoxTrimClass();
124
+ i && t.push(i);
125
+ const u = this.getStrengthClass();
126
+ u && t.push(u);
127
+ const d = this.getDensityClass();
128
+ return d && t.push(d), t;
129
+ },
130
+ textStyles() {
131
+ if (this.maxLines)
132
+ return {
133
+ "--dt-text-line-clamp": this.maxLines
134
+ };
135
+ }
136
+ },
137
+ mounted() {
138
+ !o && this.kind === "headline" && !X.includes(this.as) && (console.info(
139
+ '[DtText] kind="headline" is used without a semantic heading element. Consider using as="h1|h2|h3|h4|h5|h6" for better accessibility.'
140
+ ), o = !0);
141
+ },
142
+ methods: {
143
+ getVariantClass() {
144
+ if (!this.kind)
145
+ return this.size && console.warn('[DtText] size prop has no effect without kind. Set kind="headline|body|label|code".'), null;
146
+ if (!Object.prototype.hasOwnProperty.call(r, this.kind))
147
+ return console.warn(`[DtText] Unsupported kind "${this.kind}".`), null;
148
+ const t = S[this.kind] || [], e = this.size || a;
149
+ let s = e;
150
+ if (!t.includes(e)) {
151
+ if (E.includes(e))
152
+ throw new Error(
153
+ `[DtText] size="${e}" is only valid for kind="headline". Cannot use with kind="${this.kind}".`
154
+ );
155
+ const n = t.includes(a) ? a : t[0];
156
+ n && (s = n), console.warn(`[DtText] size="${e}" is not valid for kind="${this.kind}". Using "${s}" instead.`);
157
+ }
158
+ return s ? `${r[this.kind]}--${s}` : null;
159
+ },
160
+ getModifierClass(t, e, s) {
161
+ if (t == null)
162
+ return null;
163
+ const n = e[t];
164
+ return n || (console.warn(`[DtText] Unsupported ${s} "${t}".`), null);
165
+ },
166
+ getAlignClass() {
167
+ return this.getModifierClass(this.align, g, "align");
168
+ },
169
+ getToneClass() {
170
+ return this.tone ? N.includes(this.tone) ? `${T}${this.tone}` : (console.warn(`[DtText] Unsupported tone "${this.tone}".`), null) : null;
171
+ },
172
+ getWrapClass() {
173
+ return this.getModifierClass(this.wrap, p, "wrap");
174
+ },
175
+ getTextBoxTrimClass() {
176
+ return this.getModifierClass(this.textBoxTrim, f, "textBoxTrim");
177
+ },
178
+ getStrengthClass() {
179
+ return this.getModifierClass(this.strength, c, "strength");
180
+ },
181
+ getDensityClass() {
182
+ return this.getModifierClass(this.density, h, "density");
183
+ }
184
+ }
185
+ };
186
+ function b(t, e, s, n, l, i) {
187
+ return y(), x(I(s.as), {
188
+ "data-qa": "dt-text",
189
+ class: O(i.textClasses),
190
+ style: D(i.textStyles)
191
+ }, {
192
+ default: w(() => [
193
+ k(t.$slots, "default")
194
+ ]),
195
+ _: 3
196
+ }, 8, ["class", "style"]);
197
+ }
198
+ const F = /* @__PURE__ */ M($, [["render", b]]);
199
+ export {
200
+ F as default,
201
+ B as resetHeadlineSemanticInfoFlag
202
+ };
203
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sources":["../../../components/text/text.vue"],"sourcesContent":["<template>\n <component\n :is=\"as\"\n data-qa=\"dt-text\"\n :class=\"textClasses\"\n :style=\"textStyles\"\n >\n <!-- @slot Default slot for text content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport {\n TEXT_KIND_MODIFIERS,\n TEXT_SIZE_MODIFIERS,\n TEXT_HEADLINE_ONLY_SIZES,\n TEXT_ALIGN_MODIFIERS,\n TEXT_TONE_PREFIX,\n TEXT_TONE_TOKENS,\n TEXT_NUMERIC_CLASS,\n TEXT_TRUNCATE_CLASS,\n TEXT_LINE_CLAMP_CLASS,\n TEXT_WRAP_MODIFIERS,\n TEXT_BOX_TRIM_MODIFIERS,\n TEXT_STRENGTH_MODIFIERS,\n TEXT_DENSITY_MODIFIERS,\n} from './text_constants';\n\nconst DEFAULT_SIZE = 'md';\nconst SEMANTIC_HEADING_ELEMENTS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n\n// Module-level flag to emit info only once per session\nlet hasEmittedHeadlineSemanticInfo = false;\n\n// Exported for testing purposes only\nexport const resetHeadlineSemanticInfoFlag = () => {\n hasEmittedHeadlineSemanticInfo = false;\n};\n\n/**\n * Dialtone text primitive that applies typography tokens based on semantic props.\n * @see https://dialtone.dialpad.com/components/text.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtText',\n\n props: {\n /**\n * HTML tag or component used for rendering.\n * @values span, p, h1, h2, h3, h4, h5, h6, label, div, component\n */\n as: {\n type: String,\n default: 'span',\n },\n\n /**\n * Typography kind mapping to headline/body/label/code token sets.\n * @values headline, body, label, code\n */\n kind: {\n type: String,\n default: null,\n validator: (value) => {\n return value === null || Object.prototype.hasOwnProperty.call(TEXT_KIND_MODIFIERS, value);\n },\n },\n\n /**\n * Size variant within the selected `kind`. Falls back to `md` if unsupported.\n * Headline supports all sizes; body/label/code support lg, md, sm, xs.\n * @values 3xl, 2xl, xl, lg, md, sm, xs\n */\n size: {\n type: String,\n default: null,\n },\n\n /**\n * Aligns to available foreground color tokens, e.g. `tertiary`, `critical`, etc.\n */\n tone: {\n type: String,\n default: null,\n },\n\n /**\n * Logical text alignment. Requires block/inline-block context.\n * @values start, center, end, justify\n */\n align: {\n type: String,\n default: null,\n },\n\n /**\n * Enables single-line truncation (i.e. ellipsis) when true; requires block/inline-block context.\n */\n truncate: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Applies multi-line truncation (i.e. clamp) when greater than zero; requires block/inline-block context.\n */\n maxLines: {\n type: Number,\n default: null,\n validator: (value) => {\n return value === null || (Number.isInteger(value) && value > 0);\n },\n },\n\n /**\n * Renders numeric content with tabular figures.\n */\n numeric: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls text wrapping behavior.\n * @values wrap, nowrap, balance, pretty\n */\n wrap: {\n type: String,\n default: null,\n validator: (value) => {\n return value === null || Object.prototype.hasOwnProperty.call(TEXT_WRAP_MODIFIERS, value);\n },\n },\n\n /**\n * Controls text-box-trim (leading space above/below text). Useful for tight component layouts.\n * @values start, end, both\n */\n textBoxTrim: {\n type: String,\n default: null,\n validator: (value) => {\n return value === null || Object.prototype.hasOwnProperty.call(TEXT_BOX_TRIM_MODIFIERS, value);\n },\n },\n\n /**\n * Overrides font-weight. Applies to any kind/size combination.\n * @values bold, semibold, medium, normal\n */\n strength: {\n type: String,\n default: null,\n validator: (value) => {\n return value === null || Object.prototype.hasOwnProperty.call(TEXT_STRENGTH_MODIFIERS, value);\n },\n },\n\n /**\n * Overrides line-height. Applies to any kind/size combination.\n * @values 100, 200, 300, 400, 500, 600\n */\n density: {\n type: [String, Number],\n default: null,\n validator: (value) => {\n return value === null || Object.prototype.hasOwnProperty.call(TEXT_DENSITY_MODIFIERS, value);\n },\n },\n },\n\n computed: {\n textClasses () {\n const classes = ['d-text'];\n const variantClass = this.getVariantClass();\n if (variantClass) {\n classes.push(variantClass);\n }\n\n const alignClass = this.getAlignClass();\n if (alignClass) {\n classes.push(alignClass);\n }\n\n const toneClass = this.getToneClass();\n if (toneClass) {\n classes.push(toneClass);\n }\n\n if (this.truncate) {\n classes.push(TEXT_TRUNCATE_CLASS);\n }\n\n if (this.numeric) {\n classes.push(TEXT_NUMERIC_CLASS);\n }\n\n if (this.maxLines) {\n classes.push(TEXT_LINE_CLAMP_CLASS);\n }\n\n const wrapClass = this.getWrapClass();\n if (wrapClass) {\n classes.push(wrapClass);\n }\n\n const textBoxTrimClass = this.getTextBoxTrimClass();\n if (textBoxTrimClass) {\n classes.push(textBoxTrimClass);\n }\n\n const strengthClass = this.getStrengthClass();\n if (strengthClass) {\n classes.push(strengthClass);\n }\n\n const densityClass = this.getDensityClass();\n if (densityClass) {\n classes.push(densityClass);\n }\n\n return classes;\n },\n\n textStyles () {\n if (!this.maxLines) {\n return undefined;\n }\n\n return {\n '--dt-text-line-clamp': this.maxLines,\n };\n },\n },\n\n mounted () {\n // Emit info once per session when headline is used without semantic heading element\n if (\n !hasEmittedHeadlineSemanticInfo &&\n this.kind === 'headline' &&\n !SEMANTIC_HEADING_ELEMENTS.includes(this.as)\n ) {\n\n console.info(\n '[DtText] kind=\"headline\" is used without a semantic heading element. ' +\n 'Consider using as=\"h1|h2|h3|h4|h5|h6\" for better accessibility.',\n );\n hasEmittedHeadlineSemanticInfo = true;\n }\n },\n\n methods: {\n getVariantClass () {\n if (!this.kind) {\n if (this.size) {\n console.warn('[DtText] size prop has no effect without kind. Set kind=\"headline|body|label|code\".');\n }\n return null;\n }\n\n if (!Object.prototype.hasOwnProperty.call(TEXT_KIND_MODIFIERS, this.kind)) {\n console.warn(`[DtText] Unsupported kind \"${this.kind}\".`);\n return null;\n }\n\n const allowedSizes = TEXT_SIZE_MODIFIERS[this.kind] || [];\n const requestedSize = this.size || DEFAULT_SIZE;\n let resolvedSize = requestedSize;\n\n if (!allowedSizes.includes(requestedSize)) {\n // Headline-only sizes (3xl, 2xl, xl) throw an error when used with incompatible kinds\n if (TEXT_HEADLINE_ONLY_SIZES.includes(requestedSize)) {\n throw new Error(\n `[DtText] size=\"${requestedSize}\" is only valid for kind=\"headline\". ` +\n `Cannot use with kind=\"${this.kind}\".`,\n );\n }\n\n // Universal sizes (lg, md, sm, xs) fall back gracefully with a warning\n const fallbackSize = allowedSizes.includes(DEFAULT_SIZE) ? DEFAULT_SIZE : allowedSizes[0];\n if (fallbackSize) {\n resolvedSize = fallbackSize;\n }\n console.warn(`[DtText] size=\"${requestedSize}\" is not valid for kind=\"${this.kind}\". Using \"${resolvedSize}\" instead.`);\n }\n\n if (!resolvedSize) {\n return null;\n }\n\n return `${TEXT_KIND_MODIFIERS[this.kind]}--${resolvedSize}`;\n },\n\n getModifierClass (value, modifiers, propName) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const className = modifiers[value];\n if (!className) {\n console.warn(`[DtText] Unsupported ${propName} \"${value}\".`);\n return null;\n }\n\n return className;\n },\n\n getAlignClass () {\n return this.getModifierClass(this.align, TEXT_ALIGN_MODIFIERS, 'align');\n },\n\n getToneClass () {\n if (!this.tone) {\n return null;\n }\n\n if (!TEXT_TONE_TOKENS.includes(this.tone)) {\n console.warn(`[DtText] Unsupported tone \"${this.tone}\".`);\n return null;\n }\n\n return `${TEXT_TONE_PREFIX}${this.tone}`;\n },\n\n getWrapClass () {\n return this.getModifierClass(this.wrap, TEXT_WRAP_MODIFIERS, 'wrap');\n },\n\n getTextBoxTrimClass () {\n return this.getModifierClass(this.textBoxTrim, TEXT_BOX_TRIM_MODIFIERS, 'textBoxTrim');\n },\n\n getStrengthClass () {\n return this.getModifierClass(this.strength, TEXT_STRENGTH_MODIFIERS, 'strength');\n },\n\n getDensityClass () {\n return this.getModifierClass(this.density, TEXT_DENSITY_MODIFIERS, 'density');\n },\n },\n};\n</script>\n"],"names":["DEFAULT_SIZE","SEMANTIC_HEADING_ELEMENTS","hasEmittedHeadlineSemanticInfo","resetHeadlineSemanticInfoFlag","_sfc_main","value","TEXT_KIND_MODIFIERS","TEXT_WRAP_MODIFIERS","TEXT_BOX_TRIM_MODIFIERS","TEXT_STRENGTH_MODIFIERS","TEXT_DENSITY_MODIFIERS","classes","variantClass","alignClass","toneClass","TEXT_TRUNCATE_CLASS","TEXT_NUMERIC_CLASS","TEXT_LINE_CLAMP_CLASS","wrapClass","textBoxTrimClass","strengthClass","densityClass","allowedSizes","TEXT_SIZE_MODIFIERS","requestedSize","resolvedSize","TEXT_HEADLINE_ONLY_SIZES","fallbackSize","modifiers","propName","className","TEXT_ALIGN_MODIFIERS","TEXT_TONE_TOKENS","TEXT_TONE_PREFIX","_openBlock","_createBlock","_resolveDynamicComponent","$props","$options","_renderSlot","_ctx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("./toast-constants.cjs"),l=require("../../common/utils/index.cjs"),e=require("vue"),r=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),S=require("../notice/notice-action.cjs"),g=require("../notice/notice-content.cjs"),I=require("../notice/notice-icon.cjs"),C=require("../notice/notice-constants.cjs"),i=require("@dialpad/dialtone-icons/vue3"),k=require("../icon/icon-constants.cjs"),T={name:"ToastLayoutDefault",components:{DtNoticeIcon:I.default,DtNoticeContent:g.default,DtNoticeAction:S.default},inheritAttrs:!1,props:{isShown:{type:Boolean,default:!1},titleId:{type:String,default(){return l.default.getUniqueString()}},contentId:{type:String,default(){return l.default.getUniqueString()}},title:{type:String,default:""},message:{type:String,default:""},role:{type:String,default:"status",validator:t=>s.TOAST_ROLES.includes(t)},kind:{type:String,default:"base",validator:t=>C.NOTICE_KINDS.includes(t)},important:{type:Boolean,default:!1},hideClose:{type:Boolean,default:!1},hideIcon:{type:Boolean,default:!1},hideAction:{type:Boolean,default:!1}},emits:["close"],computed:{kindClass(){return{error:"d-toast--error",info:"d-toast--info",success:"d-toast--success",warning:"d-toast--warning",base:"d-toast--base"}[this.kind]},toastListeners(){return l.extractVueListeners(this.$attrs)}}},p=["aria-hidden"],D={class:"d-toast__dialog"};function v(t,a,n,c,d,o){const u=e.resolveComponent("dt-notice-icon"),f=e.resolveComponent("dt-notice-content"),m=e.resolveComponent("dt-notice-action");return n.isShown?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["d-toast",o.kindClass,t.$attrs.class,{"d-toast--important":n.important}]),"data-qa":"dt-toast","aria-hidden":(!n.isShown).toString()},[e.createElementVNode("div",D,[n.hideIcon?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,e.mergeProps({key:0,kind:n.kind},o.toastListeners),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"icon")]),_:3},16,["kind"])),e.createVNode(f,e.mergeProps({"title-id":n.titleId,"content-id":n.contentId,title:n.title,role:n.role},o.toastListeners),{titleOverride:e.withCtx(()=>[e.renderSlot(t.$slots,"titleOverride")]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.message),1)])]),_:3},16,["title-id","content-id","title","role"]),e.createVNode(m,e.mergeProps({"hide-action":n.hideAction,"hide-close":n.hideClose},o.toastListeners,{onClose:a[0]||(a[0]=y=>t.$emit("close"))}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"action")]),_:3},16,["hide-action","hide-close"])])],10,p)):e.createCommentVNode("",!0)}const h=r._(T,[["render",v]]),w=new Map([["info",i.DtIconInfo],["success",i.DtIconInfo],["warning",i.DtIconAlertTriangle],["error",i.DtIconInfo],["base",i.DtIconBell],["gradient",i.DtIconSparkle]]),N={compatConfig:{MODE:3},name:"DtToastLayoutAlternateIcon",components:{DtIconInfo:i.DtIconInfo,DtIconAlertTriangle:i.DtIconAlertTriangle,DtIconBell:i.DtIconBell,DtIconSparkle:i.DtIconSparkle},props:{kind:{type:String,default:"base",validate(t){return s.TOAST_ALTERNATE_KINDS.includes(t)}},size:{type:String,default:"400",validator:t=>Object.keys(k.ICON_SIZE_MODIFIERS).includes(t)}},computed:{defaultIcon(){return w.get(this.kind)}}},A={"aria-hidden":"true",class:"d-toast-layout-alternate__icon"};function B(t,a,n,c,d,o){return e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(t.$slots,"default",{},()=>[o.defaultIcon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.defaultIcon),{key:0,size:n.size},null,8,["size"])):e.createCommentVNode("",!0)])])}const O=r._(N,[["render",B]]),L={name:"ToastLayoutAlternate",components:{DtNoticeAction:S.default,DtNoticeContent:g.default,DtToastLayoutAlternateIcon:O},inheritAttrs:!1,props:{isShown:{type:Boolean,default:!1},titleId:{type:String,default(){return l.default.getUniqueString()}},contentId:{type:String,default(){return l.default.getUniqueString()}},title:{type:String,default:""},message:{type:String,default:""},role:{type:String,default:"status",validator:t=>s.TOAST_ROLES.includes(t)},kind:{type:String,default:"base",validator:t=>s.TOAST_ALTERNATE_KINDS.includes(t)},hideClose:{type:Boolean,default:!1},hideIcon:{type:Boolean,default:!1}},computed:{kindClass(){return{error:"d-toast-alternate--error",info:"d-toast-alternate--info",success:"d-toast-alternate--success",warning:"d-toast-alternate--warning",gradient:"d-toast-alternate--gradient"}[this.kind]},toastListeners(){return l.extractVueListeners(this.$attrs)}}},V=["aria-hidden"],E={class:"d-toast-alternate__dialog"},b={class:"d-toast-alternate__header"},q={class:"d-toast-alternate__content"};function z(t,a,n,c,d,o){const u=e.resolveComponent("dt-toast-layout-alternate-icon"),f=e.resolveComponent("dt-notice-content"),m=e.resolveComponent("dt-notice-action");return n.isShown?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["d-toast-alternate",t.$attrs.class,o.kindClass]),"data-qa":"dt-toast","aria-hidden":(!n.isShown).toString()},[e.createElementVNode("div",E,[e.createElementVNode("div",b,[n.hideIcon?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,e.mergeProps({key:0,kind:n.kind,size:"200"},o.toastListeners),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"icon")]),_:3},16,["kind"])),e.createVNode(f,e.mergeProps({"title-id":n.titleId,"content-id":n.contentId,title:n.title,role:n.role},o.toastListeners),{titleOverride:e.withCtx(()=>[e.renderSlot(t.$slots,"titleOverride")]),_:3},16,["title-id","content-id","title","role"]),e.createVNode(m,e.mergeProps({"hide-action":!0,"hide-close":n.hideClose,"button-size":"xs"},o.toastListeners,{onClose:a[0]||(a[0]=y=>t.$emit("close"))}),null,16,["hide-close"])]),e.createElementVNode("div",q,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.message),1)])])])],10,V)):e.createCommentVNode("",!0)}const _=r._(L,[["render",z]]),M={compatConfig:{MODE:3},name:"DtToast",components:{ToastLayoutDefault:h,ToastLayoutAlternate:_},inheritAttrs:!1,props:{titleId:{type:String,default:void 0},contentId:{type:String,default:void 0},title:{type:String,default:void 0},message:{type:String,default:void 0},role:{type:String,default:"status"},kind:{type:String,default:void 0},important:{type:Boolean,default:!1},show:{type:Boolean,default:!1},hideClose:{type:Boolean,default:void 0},hideIcon:{type:Boolean,default:void 0},hideAction:{type:Boolean,default:void 0},duration:{type:Number,default:null,validator:t=>t>=s.TOAST_MIN_DURATION},layout:{type:String,default:"default",validator:t=>s.TOAST_LAYOUTS.includes(t)}},emits:["close","update:show"],data(){return{isShown:!1,minDuration:s.TOAST_MIN_DURATION}},computed:{shouldSetTimeout(){return!!this.duration&&this.duration>=this.minDuration},selectedLayout(){return this.layout==="alternate"?_:h}},watch:{show:{handler:function(t){this.isShown=t,t?this.setTimeout():clearTimeout(this.displayTimer)},immediate:!0}},unmounted(){clearTimeout(this.displayTimer)},methods:{setTimeout(){this.shouldSetTimeout&&(this.displayTimer=setTimeout(()=>{this.isShown=!1,this.$emit("update:show",!1)},this.duration))},handleClose(){this.isShown=!1,this.$emit("close"),this.$emit("update:show",!1)}}};function P(t,a,n,c,d,o){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.selectedLayout),e.mergeProps({"is-shown":d.isShown,"title-id":n.titleId,"content-id":n.contentId,title:n.title,message:n.message,role:n.role,kind:n.kind,important:n.important,"hide-close":n.hideClose,"hide-icon":n.hideIcon,"hide-action":n.hideAction},t.$attrs,{onClose:o.handleClose}),{icon:e.withCtx(()=>[e.renderSlot(t.$slots,"icon")]),titleOverride:e.withCtx(()=>[e.renderSlot(t.$slots,"titleOverride")]),action:e.withCtx(()=>[e.renderSlot(t.$slots,"action")]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.message),1)])]),_:3},16,["is-shown","title-id","content-id","title","message","role","kind","important","hide-close","hide-icon","hide-action","onClose"])}const R=r._(M,[["render",P]]);exports.default=R;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("./toast-constants.cjs"),l=require("../../common/utils/index.cjs"),e=require("vue"),r=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),S=require("../notice/notice-action.cjs"),g=require("../notice/notice-content.cjs"),I=require("../notice/notice-icon.cjs"),C=require("../notice/notice-constants.cjs"),i=require("@dialpad/dialtone-icons/vue3"),k=require("../icon/icon-constants.cjs"),T={name:"ToastLayoutDefault",components:{DtNoticeIcon:I.default,DtNoticeContent:g.default,DtNoticeAction:S.default},inheritAttrs:!1,props:{isShown:{type:Boolean,default:!1},titleId:{type:String,default(){return l.default.getUniqueString()}},contentId:{type:String,default(){return l.default.getUniqueString()}},title:{type:String,default:""},message:{type:String,default:""},role:{type:String,default:"status",validator:t=>s.TOAST_ROLES.includes(t)},kind:{type:String,default:"base",validator:t=>C.NOTICE_KINDS.includes(t)},important:{type:Boolean,default:!1},hideClose:{type:Boolean,default:!1},hideIcon:{type:Boolean,default:!1},hideAction:{type:Boolean,default:!1}},emits:["close"],computed:{kindClass(){return{error:"d-toast--error",info:"d-toast--info",success:"d-toast--success",warning:"d-toast--warning",base:"d-toast--base"}[this.kind]},toastListeners(){return l.extractVueListeners(this.$attrs)}}},p=["aria-hidden"],D={class:"d-toast__dialog"};function v(t,a,n,c,d,o){const u=e.resolveComponent("dt-notice-icon"),f=e.resolveComponent("dt-notice-content"),m=e.resolveComponent("dt-notice-action");return n.isShown?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["d-toast",o.kindClass,t.$attrs.class,{"d-toast--important":n.important}]),"data-qa":"dt-toast","aria-hidden":(!n.isShown).toString()},[e.createElementVNode("div",D,[n.hideIcon?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,e.mergeProps({key:0,kind:n.kind,class:{"d-notice__icon--has-title":n.title||t.$slots.titleOverride}},o.toastListeners),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"icon")]),_:3},16,["kind","class"])),e.createVNode(f,e.mergeProps({"title-id":n.titleId,"content-id":n.contentId,title:n.title,role:n.role},o.toastListeners),{titleOverride:e.withCtx(()=>[e.renderSlot(t.$slots,"titleOverride")]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.message),1)])]),_:3},16,["title-id","content-id","title","role"]),e.createVNode(m,e.mergeProps({"hide-action":n.hideAction,"hide-close":n.hideClose},o.toastListeners,{onClose:a[0]||(a[0]=y=>t.$emit("close"))}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"action")]),_:3},16,["hide-action","hide-close"])])],10,p)):e.createCommentVNode("",!0)}const h=r._(T,[["render",v]]),w=new Map([["info",i.DtIconInfo],["success",i.DtIconInfo],["warning",i.DtIconAlertTriangle],["error",i.DtIconInfo],["base",i.DtIconBell],["gradient",i.DtIconSparkle]]),N={compatConfig:{MODE:3},name:"DtToastLayoutAlternateIcon",components:{DtIconInfo:i.DtIconInfo,DtIconAlertTriangle:i.DtIconAlertTriangle,DtIconBell:i.DtIconBell,DtIconSparkle:i.DtIconSparkle},props:{kind:{type:String,default:"base",validate(t){return s.TOAST_ALTERNATE_KINDS.includes(t)}},size:{type:String,default:"400",validator:t=>Object.keys(k.ICON_SIZE_MODIFIERS).includes(t)}},computed:{defaultIcon(){return w.get(this.kind)}}},A={"aria-hidden":"true",class:"d-toast-layout-alternate__icon"};function B(t,a,n,c,d,o){return e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(t.$slots,"default",{},()=>[o.defaultIcon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.defaultIcon),{key:0,size:n.size},null,8,["size"])):e.createCommentVNode("",!0)])])}const O=r._(N,[["render",B]]),L={name:"ToastLayoutAlternate",components:{DtNoticeAction:S.default,DtNoticeContent:g.default,DtToastLayoutAlternateIcon:O},inheritAttrs:!1,props:{isShown:{type:Boolean,default:!1},titleId:{type:String,default(){return l.default.getUniqueString()}},contentId:{type:String,default(){return l.default.getUniqueString()}},title:{type:String,default:""},message:{type:String,default:""},role:{type:String,default:"status",validator:t=>s.TOAST_ROLES.includes(t)},kind:{type:String,default:"base",validator:t=>s.TOAST_ALTERNATE_KINDS.includes(t)},hideClose:{type:Boolean,default:!1},hideIcon:{type:Boolean,default:!1}},computed:{kindClass(){return{error:"d-toast-alternate--error",info:"d-toast-alternate--info",success:"d-toast-alternate--success",warning:"d-toast-alternate--warning",gradient:"d-toast-alternate--gradient"}[this.kind]},toastListeners(){return l.extractVueListeners(this.$attrs)}}},V=["aria-hidden"],E={class:"d-toast-alternate__dialog"},b={class:"d-toast-alternate__header"},q={class:"d-toast-alternate__content"};function z(t,a,n,c,d,o){const u=e.resolveComponent("dt-toast-layout-alternate-icon"),f=e.resolveComponent("dt-notice-content"),m=e.resolveComponent("dt-notice-action");return n.isShown?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["d-toast-alternate",t.$attrs.class,o.kindClass]),"data-qa":"dt-toast","aria-hidden":(!n.isShown).toString()},[e.createElementVNode("div",E,[e.createElementVNode("div",b,[n.hideIcon?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,e.mergeProps({key:0,kind:n.kind,size:"200"},o.toastListeners),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"icon")]),_:3},16,["kind"])),e.createVNode(f,e.mergeProps({"title-id":n.titleId,"content-id":n.contentId,title:n.title,role:n.role},o.toastListeners),{titleOverride:e.withCtx(()=>[e.renderSlot(t.$slots,"titleOverride")]),_:3},16,["title-id","content-id","title","role"]),e.createVNode(m,e.mergeProps({"hide-action":!0,"hide-close":n.hideClose,"button-size":"xs"},o.toastListeners,{onClose:a[0]||(a[0]=y=>t.$emit("close"))}),null,16,["hide-close"])]),e.createElementVNode("div",q,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.message),1)])])])],10,V)):e.createCommentVNode("",!0)}const _=r._(L,[["render",z]]),M={compatConfig:{MODE:3},name:"DtToast",components:{ToastLayoutDefault:h,ToastLayoutAlternate:_},inheritAttrs:!1,props:{titleId:{type:String,default:void 0},contentId:{type:String,default:void 0},title:{type:String,default:void 0},message:{type:String,default:void 0},role:{type:String,default:"status"},kind:{type:String,default:void 0},important:{type:Boolean,default:!1},show:{type:Boolean,default:!1},hideClose:{type:Boolean,default:void 0},hideIcon:{type:Boolean,default:void 0},hideAction:{type:Boolean,default:void 0},duration:{type:Number,default:null,validator:t=>t>=s.TOAST_MIN_DURATION},layout:{type:String,default:"default",validator:t=>s.TOAST_LAYOUTS.includes(t)}},emits:["close","update:show"],data(){return{isShown:!1,minDuration:s.TOAST_MIN_DURATION}},computed:{shouldSetTimeout(){return!!this.duration&&this.duration>=this.minDuration},selectedLayout(){return this.layout==="alternate"?_:h}},watch:{show:{handler:function(t){this.isShown=t,t?this.setTimeout():clearTimeout(this.displayTimer)},immediate:!0}},unmounted(){clearTimeout(this.displayTimer)},methods:{setTimeout(){this.shouldSetTimeout&&(this.displayTimer=setTimeout(()=>{this.isShown=!1,this.$emit("update:show",!1)},this.duration))},handleClose(){this.isShown=!1,this.$emit("close"),this.$emit("update:show",!1)}}};function P(t,a,n,c,d,o){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.selectedLayout),e.mergeProps({"is-shown":d.isShown,"title-id":n.titleId,"content-id":n.contentId,title:n.title,message:n.message,role:n.role,kind:n.kind,important:n.important,"hide-close":n.hideClose,"hide-icon":n.hideIcon,"hide-action":n.hideAction},t.$attrs,{onClose:o.handleClose}),{icon:e.withCtx(()=>[e.renderSlot(t.$slots,"icon")]),titleOverride:e.withCtx(()=>[e.renderSlot(t.$slots,"titleOverride")]),action:e.withCtx(()=>[e.renderSlot(t.$slots,"action")]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.message),1)])]),_:3},16,["is-shown","title-id","content-id","title","message","role","kind","important","hide-close","hide-icon","hide-action","onClose"])}const R=r._(M,[["render",P]]);exports.default=R;
2
2
  //# sourceMappingURL=toast.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.cjs","sources":["../../../components/toast/layouts/toast_layout_default.vue","../../../components/toast/layouts/toast_layout_alternate_icon.vue","../../../components/toast/layouts/toast_layout_alternate.vue","../../../components/toast/toast.vue"],"sourcesContent":["<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n $attrs.class,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n v-bind=\"toastListeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport { TOAST_ROLES } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutDefault',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['close'],\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <div\n aria-hidden=\"true\"\n class=\"d-toast-layout-alternate__icon\"\n >\n <slot>\n <component\n :is=\"defaultIcon\"\n v-if=\"defaultIcon\"\n :size=\"size\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n} from '@dialpad/dialtone-icons/vue3';\nimport { TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconInfo],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconInfo],\n ['base', DtIconBell],\n ['gradient', DtIconSparkle],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToastLayoutAlternateIcon',\n\n components: {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n },\n\n props: {\n /**\n * Kind of icon\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n size: {\n type: String,\n default: '400',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast-alternate',\n $attrs.class,\n kindClass,\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast-alternate__dialog\">\n <div class=\"d-toast-alternate__header\">\n <dt-toast-layout-alternate-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n size=\"200\"\n v-bind=\"toastListeners\"\n >\n <slot name=\"icon\" />\n </dt-toast-layout-alternate-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <slot name=\"titleOverride\" />\n </template>\n </dt-notice-content>\n\n <!-- Close Button -->\n <dt-notice-action\n :hide-action=\"true\"\n :hide-close=\"hideClose\"\n button-size=\"xs\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n />\n </div>\n <!-- Content Section -->\n <div class=\"d-toast-alternate__content\">\n <slot>\n {{ message }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport DtToastLayoutAlternateIcon from './toast_layout_alternate_icon.vue';\nimport { DtNoticeAction, DtNoticeContent } from '@/components/notice';\nimport { TOAST_ROLES, TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutAlternate',\n\n components: {\n DtNoticeAction,\n DtNoticeContent,\n DtToastLayoutAlternateIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast-alternate--error',\n info: 'd-toast-alternate--info',\n success: 'd-toast-alternate--success',\n warning: 'd-toast-alternate--warning',\n gradient: 'd-toast-alternate--gradient',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <component\n :is=\"selectedLayout\"\n :is-shown=\"isShown\"\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :message=\"message\"\n :role=\"role\"\n :kind=\"kind\"\n :important=\"important\"\n :hide-close=\"hideClose\"\n :hide-icon=\"hideIcon\"\n :hide-action=\"hideAction\"\n v-bind=\"$attrs\"\n @close=\"handleClose\"\n >\n <!-- @slot Slot for custom icon -->\n <template #icon>\n <slot name=\"icon\" />\n </template>\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <template #action>\n <slot name=\"action\" />\n </template>\n </component>\n</template>\n\n<script>\nimport { TOAST_MIN_DURATION, TOAST_LAYOUTS } from './toast_constants.js';\nimport ToastLayoutDefault from './layouts/toast_layout_default.vue';\nimport ToastLayoutAlternate from './layouts/toast_layout_alternate.vue';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToast',\n\n components: {\n ToastLayoutDefault,\n ToastLayoutAlternate,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: undefined,\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: undefined,\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n },\n\n /**\n * Severity level of the toast, could be different depending on which toast layout is used.\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: undefined,\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `v-model` with this prop to update\n * the data in your component.\n * Supports v-model\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n\n /**\n * The layout / styling you wish to use for the toast.\n * @values default, alternate\n */\n layout: {\n type: String,\n default: 'default',\n validator: (layout) => {\n return TOAST_LAYOUTS.includes(layout);\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n\n selectedLayout () {\n return this.layout === 'alternate' ? ToastLayoutAlternate : ToastLayoutDefault;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n unmounted () {\n clearTimeout(this.displayTimer);\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n\n handleClose () {\n this.isShown = false;\n this.$emit('close');\n this.$emit('update:show', false);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","utils","role","TOAST_ROLES","kind","NOTICE_KINDS","extractVueListeners","_hoisted_2","$props","_createElementBlock","_normalizeClass","$options","_ctx","_createElementVNode","_openBlock","_createBlock","_component_dt_notice_icon","_mergeProps","_renderSlot","_createVNode","_component_dt_notice_content","_component_dt_notice_action","kindToIcon","DtIconInfo","DtIconAlertTriangle","DtIconBell","DtIconSparkle","TOAST_ALTERNATE_KINDS","s","ICON_SIZE_MODIFIERS","_hoisted_1","_resolveDynamicComponent","DtToastLayoutAlternateIcon","_hoisted_3","_hoisted_4","_component_dt_toast_layout_alternate_icon","ToastLayoutDefault","ToastLayoutAlternate","duration","TOAST_MIN_DURATION","layout","TOAST_LAYOUTS","show","$data"],"mappings":"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"}
1
+ {"version":3,"file":"toast.cjs","sources":["../../../components/toast/layouts/toast_layout_default.vue","../../../components/toast/layouts/toast_layout_alternate_icon.vue","../../../components/toast/layouts/toast_layout_alternate.vue","../../../components/toast/toast.vue"],"sourcesContent":["<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n $attrs.class,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n :class=\"{ 'd-notice__icon--has-title': title || $slots.titleOverride }\"\n v-bind=\"toastListeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport { TOAST_ROLES } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutDefault',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['close'],\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <div\n aria-hidden=\"true\"\n class=\"d-toast-layout-alternate__icon\"\n >\n <slot>\n <component\n :is=\"defaultIcon\"\n v-if=\"defaultIcon\"\n :size=\"size\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n} from '@dialpad/dialtone-icons/vue3';\nimport { TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconInfo],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconInfo],\n ['base', DtIconBell],\n ['gradient', DtIconSparkle],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToastLayoutAlternateIcon',\n\n components: {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n },\n\n props: {\n /**\n * Kind of icon\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n size: {\n type: String,\n default: '400',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast-alternate',\n $attrs.class,\n kindClass,\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast-alternate__dialog\">\n <div class=\"d-toast-alternate__header\">\n <dt-toast-layout-alternate-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n size=\"200\"\n v-bind=\"toastListeners\"\n >\n <slot name=\"icon\" />\n </dt-toast-layout-alternate-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <slot name=\"titleOverride\" />\n </template>\n </dt-notice-content>\n\n <!-- Close Button -->\n <dt-notice-action\n :hide-action=\"true\"\n :hide-close=\"hideClose\"\n button-size=\"xs\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n />\n </div>\n <!-- Content Section -->\n <div class=\"d-toast-alternate__content\">\n <slot>\n {{ message }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport DtToastLayoutAlternateIcon from './toast_layout_alternate_icon.vue';\nimport { DtNoticeAction, DtNoticeContent } from '@/components/notice';\nimport { TOAST_ROLES, TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutAlternate',\n\n components: {\n DtNoticeAction,\n DtNoticeContent,\n DtToastLayoutAlternateIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast-alternate--error',\n info: 'd-toast-alternate--info',\n success: 'd-toast-alternate--success',\n warning: 'd-toast-alternate--warning',\n gradient: 'd-toast-alternate--gradient',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <component\n :is=\"selectedLayout\"\n :is-shown=\"isShown\"\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :message=\"message\"\n :role=\"role\"\n :kind=\"kind\"\n :important=\"important\"\n :hide-close=\"hideClose\"\n :hide-icon=\"hideIcon\"\n :hide-action=\"hideAction\"\n v-bind=\"$attrs\"\n @close=\"handleClose\"\n >\n <!-- @slot Slot for custom icon -->\n <template #icon>\n <slot name=\"icon\" />\n </template>\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <template #action>\n <slot name=\"action\" />\n </template>\n </component>\n</template>\n\n<script>\nimport { TOAST_MIN_DURATION, TOAST_LAYOUTS } from './toast_constants.js';\nimport ToastLayoutDefault from './layouts/toast_layout_default.vue';\nimport ToastLayoutAlternate from './layouts/toast_layout_alternate.vue';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToast',\n\n components: {\n ToastLayoutDefault,\n ToastLayoutAlternate,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: undefined,\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: undefined,\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n },\n\n /**\n * Severity level of the toast, could be different depending on which toast layout is used.\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: undefined,\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `v-model` with this prop to update\n * the data in your component.\n * Supports v-model\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n\n /**\n * The layout / styling you wish to use for the toast.\n * @values default, alternate\n */\n layout: {\n type: String,\n default: 'default',\n validator: (layout) => {\n return TOAST_LAYOUTS.includes(layout);\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n\n selectedLayout () {\n return this.layout === 'alternate' ? ToastLayoutAlternate : ToastLayoutDefault;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n unmounted () {\n clearTimeout(this.displayTimer);\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n\n handleClose () {\n this.isShown = false;\n this.$emit('close');\n this.$emit('update:show', false);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","utils","role","TOAST_ROLES","kind","NOTICE_KINDS","extractVueListeners","_hoisted_2","$props","_createElementBlock","_normalizeClass","$options","_ctx","_createElementVNode","_openBlock","_createBlock","_component_dt_notice_icon","_mergeProps","_renderSlot","_createVNode","_component_dt_notice_content","_component_dt_notice_action","kindToIcon","DtIconInfo","DtIconAlertTriangle","DtIconBell","DtIconSparkle","TOAST_ALTERNATE_KINDS","s","ICON_SIZE_MODIFIERS","_hoisted_1","_resolveDynamicComponent","DtToastLayoutAlternateIcon","_hoisted_3","_hoisted_4","_component_dt_toast_layout_alternate_icon","ToastLayoutDefault","ToastLayoutAlternate","duration","TOAST_MIN_DURATION","layout","TOAST_LAYOUTS","show","$data"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { TOAST_ROLES as A, TOAST_ALTERNATE_KINDS as L, TOAST_MIN_DURATION as v, TOAST_LAYOUTS as V } from "./toast-constants.js";
1
+ import { TOAST_ROLES as A, TOAST_ALTERNATE_KINDS as L, TOAST_MIN_DURATION as p, TOAST_LAYOUTS as V } from "./toast-constants.js";
2
2
  import m, { extractVueListeners as O } from "../../common/utils/index.js";
3
- import { resolveComponent as l, openBlock as d, createElementBlock as T, normalizeClass as B, createElementVNode as u, createBlock as _, mergeProps as s, withCtx as o, renderSlot as i, createCommentVNode as r, createVNode as h, createTextVNode as C, toDisplayString as p, resolveDynamicComponent as N } from "vue";
3
+ import { resolveComponent as l, openBlock as d, createElementBlock as T, normalizeClass as B, createElementVNode as u, createBlock as _, mergeProps as s, withCtx as o, renderSlot as i, createCommentVNode as r, createVNode as h, createTextVNode as C, toDisplayString as v, resolveDynamicComponent as N } from "vue";
4
4
  import { _ as y } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  import E from "../notice/notice-action.js";
6
6
  import b from "../notice/notice-content.js";
@@ -139,13 +139,14 @@ function Y(t, a, e, g, c, n) {
139
139
  u("div", P, [
140
140
  e.hideIcon ? r("", !0) : (d(), _(S, s({
141
141
  key: 0,
142
- kind: e.kind
142
+ kind: e.kind,
143
+ class: { "d-notice__icon--has-title": e.title || t.$slots.titleOverride }
143
144
  }, n.toastListeners), {
144
145
  default: o(() => [
145
146
  i(t.$slots, "icon")
146
147
  ]),
147
148
  _: 3
148
- }, 16, ["kind"])),
149
+ }, 16, ["kind", "class"])),
149
150
  h(I, s({
150
151
  "title-id": e.titleId,
151
152
  "content-id": e.contentId,
@@ -157,7 +158,7 @@ function Y(t, a, e, g, c, n) {
157
158
  ]),
158
159
  default: o(() => [
159
160
  i(t.$slots, "default", {}, () => [
160
- C(p(e.message), 1)
161
+ C(v(e.message), 1)
161
162
  ])
162
163
  ]),
163
164
  _: 3
@@ -372,7 +373,7 @@ function nt(t, a, e, g, c, n) {
372
373
  ]),
373
374
  u("div", et, [
374
375
  i(t.$slots, "default", {}, () => [
375
- C(p(e.message), 1)
376
+ C(v(e.message), 1)
376
377
  ])
377
378
  ])
378
379
  ])
@@ -485,7 +486,7 @@ const D = /* @__PURE__ */ y(W, [["render", nt]]), it = {
485
486
  duration: {
486
487
  type: Number,
487
488
  default: null,
488
- validator: (t) => t >= v
489
+ validator: (t) => t >= p
489
490
  },
490
491
  /**
491
492
  * The layout / styling you wish to use for the toast.
@@ -514,7 +515,7 @@ const D = /* @__PURE__ */ y(W, [["render", nt]]), it = {
514
515
  data() {
515
516
  return {
516
517
  isShown: !1,
517
- minDuration: v
518
+ minDuration: p
518
519
  };
519
520
  },
520
521
  computed: {
@@ -572,7 +573,7 @@ function ot(t, a, e, g, c, n) {
572
573
  ]),
573
574
  default: o(() => [
574
575
  i(t.$slots, "default", {}, () => [
575
- C(p(e.message), 1)
576
+ C(v(e.message), 1)
576
577
  ])
577
578
  ]),
578
579
  _: 3
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sources":["../../../components/toast/layouts/toast_layout_default.vue","../../../components/toast/layouts/toast_layout_alternate_icon.vue","../../../components/toast/layouts/toast_layout_alternate.vue","../../../components/toast/toast.vue"],"sourcesContent":["<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n $attrs.class,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n v-bind=\"toastListeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport { TOAST_ROLES } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutDefault',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['close'],\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <div\n aria-hidden=\"true\"\n class=\"d-toast-layout-alternate__icon\"\n >\n <slot>\n <component\n :is=\"defaultIcon\"\n v-if=\"defaultIcon\"\n :size=\"size\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n} from '@dialpad/dialtone-icons/vue3';\nimport { TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconInfo],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconInfo],\n ['base', DtIconBell],\n ['gradient', DtIconSparkle],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToastLayoutAlternateIcon',\n\n components: {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n },\n\n props: {\n /**\n * Kind of icon\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n size: {\n type: String,\n default: '400',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast-alternate',\n $attrs.class,\n kindClass,\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast-alternate__dialog\">\n <div class=\"d-toast-alternate__header\">\n <dt-toast-layout-alternate-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n size=\"200\"\n v-bind=\"toastListeners\"\n >\n <slot name=\"icon\" />\n </dt-toast-layout-alternate-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <slot name=\"titleOverride\" />\n </template>\n </dt-notice-content>\n\n <!-- Close Button -->\n <dt-notice-action\n :hide-action=\"true\"\n :hide-close=\"hideClose\"\n button-size=\"xs\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n />\n </div>\n <!-- Content Section -->\n <div class=\"d-toast-alternate__content\">\n <slot>\n {{ message }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport DtToastLayoutAlternateIcon from './toast_layout_alternate_icon.vue';\nimport { DtNoticeAction, DtNoticeContent } from '@/components/notice';\nimport { TOAST_ROLES, TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutAlternate',\n\n components: {\n DtNoticeAction,\n DtNoticeContent,\n DtToastLayoutAlternateIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast-alternate--error',\n info: 'd-toast-alternate--info',\n success: 'd-toast-alternate--success',\n warning: 'd-toast-alternate--warning',\n gradient: 'd-toast-alternate--gradient',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <component\n :is=\"selectedLayout\"\n :is-shown=\"isShown\"\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :message=\"message\"\n :role=\"role\"\n :kind=\"kind\"\n :important=\"important\"\n :hide-close=\"hideClose\"\n :hide-icon=\"hideIcon\"\n :hide-action=\"hideAction\"\n v-bind=\"$attrs\"\n @close=\"handleClose\"\n >\n <!-- @slot Slot for custom icon -->\n <template #icon>\n <slot name=\"icon\" />\n </template>\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <template #action>\n <slot name=\"action\" />\n </template>\n </component>\n</template>\n\n<script>\nimport { TOAST_MIN_DURATION, TOAST_LAYOUTS } from './toast_constants.js';\nimport ToastLayoutDefault from './layouts/toast_layout_default.vue';\nimport ToastLayoutAlternate from './layouts/toast_layout_alternate.vue';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToast',\n\n components: {\n ToastLayoutDefault,\n ToastLayoutAlternate,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: undefined,\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: undefined,\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n },\n\n /**\n * Severity level of the toast, could be different depending on which toast layout is used.\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: undefined,\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `v-model` with this prop to update\n * the data in your component.\n * Supports v-model\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n\n /**\n * The layout / styling you wish to use for the toast.\n * @values default, alternate\n */\n layout: {\n type: String,\n default: 'default',\n validator: (layout) => {\n return TOAST_LAYOUTS.includes(layout);\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n\n selectedLayout () {\n return this.layout === 'alternate' ? ToastLayoutAlternate : ToastLayoutDefault;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n unmounted () {\n clearTimeout(this.displayTimer);\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n\n handleClose () {\n this.isShown = false;\n this.$emit('close');\n this.$emit('update:show', false);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","utils","role","TOAST_ROLES","kind","NOTICE_KINDS","extractVueListeners","_hoisted_2","$props","_createElementBlock","_normalizeClass","$options","_ctx","_createElementVNode","_openBlock","_createBlock","_component_dt_notice_icon","_mergeProps","_renderSlot","_createVNode","_component_dt_notice_content","_component_dt_notice_action","kindToIcon","DtIconInfo","DtIconAlertTriangle","DtIconBell","DtIconSparkle","TOAST_ALTERNATE_KINDS","s","ICON_SIZE_MODIFIERS","_hoisted_1","_resolveDynamicComponent","DtToastLayoutAlternateIcon","_hoisted_3","_hoisted_4","_component_dt_toast_layout_alternate_icon","ToastLayoutDefault","ToastLayoutAlternate","duration","TOAST_MIN_DURATION","layout","TOAST_LAYOUTS","show","$data"],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sources":["../../../components/toast/layouts/toast_layout_default.vue","../../../components/toast/layouts/toast_layout_alternate_icon.vue","../../../components/toast/layouts/toast_layout_alternate.vue","../../../components/toast/toast.vue"],"sourcesContent":["<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n $attrs.class,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n :class=\"{ 'd-notice__icon--has-title': title || $slots.titleOverride }\"\n v-bind=\"toastListeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport { TOAST_ROLES } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutDefault',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['close'],\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <div\n aria-hidden=\"true\"\n class=\"d-toast-layout-alternate__icon\"\n >\n <slot>\n <component\n :is=\"defaultIcon\"\n v-if=\"defaultIcon\"\n :size=\"size\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n} from '@dialpad/dialtone-icons/vue3';\nimport { TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconInfo],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconInfo],\n ['base', DtIconBell],\n ['gradient', DtIconSparkle],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToastLayoutAlternateIcon',\n\n components: {\n DtIconInfo,\n DtIconAlertTriangle,\n DtIconBell,\n DtIconSparkle,\n },\n\n props: {\n /**\n * Kind of icon\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n size: {\n type: String,\n default: '400',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast-alternate',\n $attrs.class,\n kindClass,\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast-alternate__dialog\">\n <div class=\"d-toast-alternate__header\">\n <dt-toast-layout-alternate-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n size=\"200\"\n v-bind=\"toastListeners\"\n >\n <slot name=\"icon\" />\n </dt-toast-layout-alternate-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-bind=\"toastListeners\"\n >\n <template #titleOverride>\n <slot name=\"titleOverride\" />\n </template>\n </dt-notice-content>\n\n <!-- Close Button -->\n <dt-notice-action\n :hide-action=\"true\"\n :hide-close=\"hideClose\"\n button-size=\"xs\"\n v-bind=\"toastListeners\"\n @close=\"$emit('close')\"\n />\n </div>\n <!-- Content Section -->\n <div class=\"d-toast-alternate__content\">\n <slot>\n {{ message }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport utils from '@/common/utils';\nimport DtToastLayoutAlternateIcon from './toast_layout_alternate_icon.vue';\nimport { DtNoticeAction, DtNoticeContent } from '@/components/notice';\nimport { TOAST_ROLES, TOAST_ALTERNATE_KINDS } from '../toast_constants.js';\nimport { extractVueListeners } from '@/common/utils/index.js';\n\nexport default {\n name: 'ToastLayoutAlternate',\n\n components: {\n DtNoticeAction,\n DtNoticeContent,\n DtToastLayoutAlternateIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n isShown: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return TOAST_ALTERNATE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast-alternate--error',\n info: 'd-toast-alternate--info',\n success: 'd-toast-alternate--success',\n warning: 'd-toast-alternate--warning',\n gradient: 'd-toast-alternate--gradient',\n };\n\n return kindClasses[this.kind];\n },\n\n toastListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n};\n</script>\n","<template>\n <component\n :is=\"selectedLayout\"\n :is-shown=\"isShown\"\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :message=\"message\"\n :role=\"role\"\n :kind=\"kind\"\n :important=\"important\"\n :hide-close=\"hideClose\"\n :hide-icon=\"hideIcon\"\n :hide-action=\"hideAction\"\n v-bind=\"$attrs\"\n @close=\"handleClose\"\n >\n <!-- @slot Slot for custom icon -->\n <template #icon>\n <slot name=\"icon\" />\n </template>\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <template #action>\n <slot name=\"action\" />\n </template>\n </component>\n</template>\n\n<script>\nimport { TOAST_MIN_DURATION, TOAST_LAYOUTS } from './toast_constants.js';\nimport ToastLayoutDefault from './layouts/toast_layout_default.vue';\nimport ToastLayoutAlternate from './layouts/toast_layout_alternate.vue';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtToast',\n\n components: {\n ToastLayoutDefault,\n ToastLayoutAlternate,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: undefined,\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: undefined,\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n },\n\n /**\n * Severity level of the toast, could be different depending on which toast layout is used.\n * @values base, error, info, success, warning, gradient\n */\n kind: {\n type: String,\n default: undefined,\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `v-model` with this prop to update\n * the data in your component.\n * Supports v-model\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: undefined,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n\n /**\n * The layout / styling you wish to use for the toast.\n * @values default, alternate\n */\n layout: {\n type: String,\n default: 'default',\n validator: (layout) => {\n return TOAST_LAYOUTS.includes(layout);\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n\n selectedLayout () {\n return this.layout === 'alternate' ? ToastLayoutAlternate : ToastLayoutDefault;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n unmounted () {\n clearTimeout(this.displayTimer);\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n\n handleClose () {\n this.isShown = false;\n this.$emit('close');\n this.$emit('update:show', false);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","utils","role","TOAST_ROLES","kind","NOTICE_KINDS","extractVueListeners","_hoisted_2","$props","_createElementBlock","_normalizeClass","$options","_ctx","_createElementVNode","_openBlock","_createBlock","_component_dt_notice_icon","_mergeProps","_renderSlot","_createVNode","_component_dt_notice_content","_component_dt_notice_action","kindToIcon","DtIconInfo","DtIconAlertTriangle","DtIconBell","DtIconSparkle","TOAST_ALTERNATE_KINDS","s","ICON_SIZE_MODIFIERS","_hoisted_1","_resolveDynamicComponent","DtToastLayoutAlternateIcon","_hoisted_3","_hoisted_4","_component_dt_toast_layout_alternate_icon","ToastLayoutDefault","ToastLayoutAlternate","duration","TOAST_MIN_DURATION","layout","TOAST_LAYOUTS","show","$data"],"mappings":"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"}