@dialpad/dialtone-vue 3.199.0 → 3.199.1

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 (456) hide show
  1. package/README.md +15 -14
  2. package/dist/component-documentation.json +1 -1
  3. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  4. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  5. package/dist/lib/attachment-carousel/attachment-carousel.js +28 -28
  6. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  7. package/dist/lib/avatar/avatar.cjs.map +1 -1
  8. package/dist/lib/avatar/avatar.js.map +1 -1
  9. package/dist/lib/badge/badge.cjs.map +1 -1
  10. package/dist/lib/badge/badge.js.map +1 -1
  11. package/dist/lib/banner/banner.cjs.map +1 -1
  12. package/dist/lib/banner/banner.js.map +1 -1
  13. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  14. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  15. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  16. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  17. package/dist/lib/breadcrumbs/breadcrumbs.js +5 -5
  18. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  19. package/dist/lib/button/button.cjs.map +1 -1
  20. package/dist/lib/button/button.js.map +1 -1
  21. package/dist/lib/button-group/button-group.cjs.map +1 -1
  22. package/dist/lib/button-group/button-group.js.map +1 -1
  23. package/dist/lib/button-group/buttons-decorator.cjs +1 -1
  24. package/dist/lib/button-group/buttons-decorator.cjs.map +1 -1
  25. package/dist/lib/button-group/buttons-decorator.js +17 -17
  26. package/dist/lib/button-group/buttons-decorator.js.map +1 -1
  27. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  28. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  29. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  30. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +0 -1
  31. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  32. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  33. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +0 -1
  34. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  35. package/dist/lib/callbox/callbox.cjs.map +1 -1
  36. package/dist/lib/callbox/callbox.js.map +1 -1
  37. package/dist/lib/card/card.cjs.map +1 -1
  38. package/dist/lib/card/card.js.map +1 -1
  39. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  40. package/dist/lib/checkbox/checkbox.js.map +1 -1
  41. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  42. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  43. package/dist/lib/chip/chip.cjs.map +1 -1
  44. package/dist/lib/chip/chip.js.map +1 -1
  45. package/dist/lib/codeblock/codeblock.cjs +2 -2
  46. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  47. package/dist/lib/codeblock/codeblock.js +11 -11
  48. package/dist/lib/codeblock/codeblock.js.map +1 -1
  49. package/dist/lib/collapsible/collapsible-lazy-show.cjs.map +1 -1
  50. package/dist/lib/collapsible/collapsible-lazy-show.js.map +1 -1
  51. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  52. package/dist/lib/collapsible/collapsible.js.map +1 -1
  53. package/dist/lib/combobox/combobox-empty-list.cjs.map +1 -1
  54. package/dist/lib/combobox/combobox-empty-list.js.map +1 -1
  55. package/dist/lib/combobox/combobox-loading-list.cjs +1 -1
  56. package/dist/lib/combobox/combobox-loading-list.cjs.map +1 -1
  57. package/dist/lib/combobox/combobox-loading-list.js +2 -2
  58. package/dist/lib/combobox/combobox-loading-list.js.map +1 -1
  59. package/dist/lib/combobox/combobox.cjs.map +1 -1
  60. package/dist/lib/combobox/combobox.js.map +1 -1
  61. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  62. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  63. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  64. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  65. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  66. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  67. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  68. package/dist/lib/contact-info/contact-info.js.map +1 -1
  69. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  70. package/dist/lib/contact-row/contact-row.js.map +1 -1
  71. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  72. package/dist/lib/datepicker/datepicker.js.map +1 -1
  73. package/dist/lib/description-list/description-list.cjs.map +1 -1
  74. package/dist/lib/description-list/description-list.js.map +1 -1
  75. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  76. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  77. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  78. package/dist/lib/dropdown/dropdown.js.map +1 -1
  79. package/dist/lib/editor/editor.cjs +1 -1
  80. package/dist/lib/editor/editor.cjs.map +1 -1
  81. package/dist/lib/editor/editor.js +14 -14
  82. package/dist/lib/editor/editor.js.map +1 -1
  83. package/dist/lib/emoji/emoji.cjs.map +1 -1
  84. package/dist/lib/emoji/emoji.js.map +1 -1
  85. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  86. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  87. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  88. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  89. package/dist/lib/emoji-row/emoji-row.js +20 -20
  90. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  91. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  92. package/dist/lib/empty-state/empty-state.js.map +1 -1
  93. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  94. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  95. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  96. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  97. package/dist/lib/feed-item-row/feed-item-row.js +52 -48
  98. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  99. package/dist/lib/general-row/general-row.cjs +1 -1
  100. package/dist/lib/general-row/general-row.cjs.map +1 -1
  101. package/dist/lib/general-row/general-row.js +43 -43
  102. package/dist/lib/general-row/general-row.js.map +1 -1
  103. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  104. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  105. package/dist/lib/group-row/group-row.cjs.map +1 -1
  106. package/dist/lib/group-row/group-row.js.map +1 -1
  107. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  108. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  109. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  110. package/dist/lib/hovercard/hovercard.js.map +1 -1
  111. package/dist/lib/icon/icon.cjs.map +1 -1
  112. package/dist/lib/icon/icon.js.map +1 -1
  113. package/dist/lib/illustration/illustration.cjs.map +1 -1
  114. package/dist/lib/illustration/illustration.js.map +1 -1
  115. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  116. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  117. package/dist/lib/input/input.cjs +1 -1
  118. package/dist/lib/input/input.cjs.map +1 -1
  119. package/dist/lib/input/input.js +11 -9
  120. package/dist/lib/input/input.js.map +1 -1
  121. package/dist/lib/input-group/input-group.cjs.map +1 -1
  122. package/dist/lib/input-group/input-group.js.map +1 -1
  123. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  124. package/dist/lib/item-layout/item-layout.js.map +1 -1
  125. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  126. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  127. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  128. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  129. package/dist/lib/lazy-show/lazy-show.cjs.map +1 -1
  130. package/dist/lib/lazy-show/lazy-show.js.map +1 -1
  131. package/dist/lib/link/link.cjs.map +1 -1
  132. package/dist/lib/link/link.js.map +1 -1
  133. package/dist/lib/list-item/list-item.cjs.map +1 -1
  134. package/dist/lib/list-item/list-item.js.map +1 -1
  135. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  136. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  137. package/dist/lib/loader/loader.cjs.map +1 -1
  138. package/dist/lib/loader/loader.js.map +1 -1
  139. package/dist/lib/message-input/last-active-nodes.cjs.map +1 -1
  140. package/dist/lib/message-input/last-active-nodes.js.map +1 -1
  141. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  142. package/dist/lib/message-input/message-input-button.js.map +1 -1
  143. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  144. package/dist/lib/message-input/message-input-link.js.map +1 -1
  145. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  146. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  147. package/dist/lib/message-input/message-input-topbar.js +25 -25
  148. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  149. package/dist/lib/message-input/message-input.cjs +1 -1
  150. package/dist/lib/message-input/message-input.cjs.map +1 -1
  151. package/dist/lib/message-input/message-input.js +2 -2
  152. package/dist/lib/message-input/message-input.js.map +1 -1
  153. package/dist/lib/modal/modal.cjs.map +1 -1
  154. package/dist/lib/modal/modal.js.map +1 -1
  155. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  156. package/dist/lib/motion-text/motion-text.js.map +1 -1
  157. package/dist/lib/notice/notice-action.cjs.map +1 -1
  158. package/dist/lib/notice/notice-action.js.map +1 -1
  159. package/dist/lib/notice/notice-content.cjs.map +1 -1
  160. package/dist/lib/notice/notice-content.js.map +1 -1
  161. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  162. package/dist/lib/notice/notice-icon.js.map +1 -1
  163. package/dist/lib/notice/notice.cjs.map +1 -1
  164. package/dist/lib/notice/notice.js.map +1 -1
  165. package/dist/lib/pagination/pagination.cjs.map +1 -1
  166. package/dist/lib/pagination/pagination.js.map +1 -1
  167. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  168. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  169. package/dist/lib/popover/popover.cjs.map +1 -1
  170. package/dist/lib/popover/popover.js.map +1 -1
  171. package/dist/lib/presence/presence.cjs.map +1 -1
  172. package/dist/lib/presence/presence.js.map +1 -1
  173. package/dist/lib/radio/radio.cjs.map +1 -1
  174. package/dist/lib/radio/radio.js.map +1 -1
  175. package/dist/lib/radio-group/radios-decorator.cjs.map +1 -1
  176. package/dist/lib/radio-group/radios-decorator.js.map +1 -1
  177. package/dist/lib/rich-text-editor/channel-suggestion.cjs +1 -1
  178. package/dist/lib/rich-text-editor/channel-suggestion.cjs.map +1 -1
  179. package/dist/lib/rich-text-editor/channel-suggestion.js +12 -8
  180. package/dist/lib/rich-text-editor/channel-suggestion.js.map +1 -1
  181. package/dist/lib/rich-text-editor/rich-text-editor.cjs +10 -8
  182. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  183. package/dist/lib/rich-text-editor/rich-text-editor.js +58 -55
  184. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  185. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  186. package/dist/lib/root-layout/root-layout.js.map +1 -1
  187. package/dist/lib/scroller/scroller.cjs.map +1 -1
  188. package/dist/lib/scroller/scroller.js.map +1 -1
  189. package/dist/lib/select-menu/select-menu.cjs +1 -1
  190. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  191. package/dist/lib/select-menu/select-menu.js +8 -8
  192. package/dist/lib/select-menu/select-menu.js.map +1 -1
  193. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  194. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  195. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  196. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  197. package/dist/lib/skeleton/skeleton-paragraph.cjs.map +1 -1
  198. package/dist/lib/skeleton/skeleton-paragraph.js.map +1 -1
  199. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  200. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  201. package/dist/lib/skeleton/skeleton-text.cjs.map +1 -1
  202. package/dist/lib/skeleton/skeleton-text.js.map +1 -1
  203. package/dist/lib/skeleton/skeleton.cjs.map +1 -1
  204. package/dist/lib/skeleton/skeleton.js.map +1 -1
  205. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
  206. package/dist/lib/split-button/split-button-alpha.js.map +1 -1
  207. package/dist/lib/split-button/split-button-omega.cjs.map +1 -1
  208. package/dist/lib/split-button/split-button-omega.js.map +1 -1
  209. package/dist/lib/split-button/split-button.cjs +1 -1
  210. package/dist/lib/split-button/split-button.cjs.map +1 -1
  211. package/dist/lib/split-button/split-button.js +44 -21
  212. package/dist/lib/split-button/split-button.js.map +1 -1
  213. package/dist/lib/stack/stack.cjs.map +1 -1
  214. package/dist/lib/stack/stack.js.map +1 -1
  215. package/dist/lib/tab/tab-group.cjs.map +1 -1
  216. package/dist/lib/tab/tab-group.js.map +1 -1
  217. package/dist/lib/tab/tab-panel.cjs.map +1 -1
  218. package/dist/lib/tab/tab-panel.js.map +1 -1
  219. package/dist/lib/tab/tab.cjs.map +1 -1
  220. package/dist/lib/tab/tab.js.map +1 -1
  221. package/dist/lib/time-pill/time-pill.cjs.map +1 -1
  222. package/dist/lib/time-pill/time-pill.js.map +1 -1
  223. package/dist/lib/toast/toast.cjs.map +1 -1
  224. package/dist/lib/toast/toast.js.map +1 -1
  225. package/dist/lib/toggle/toggle.cjs.map +1 -1
  226. package/dist/lib/toggle/toggle.js.map +1 -1
  227. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  228. package/dist/lib/tooltip/tooltip.js.map +1 -1
  229. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  230. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  231. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  232. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  233. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  234. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  235. package/dist/localization/de-DE.cjs.map +1 -1
  236. package/dist/localization/de-DE.js.map +1 -1
  237. package/dist/localization/en-US.cjs.map +1 -1
  238. package/dist/localization/en-US.js.map +1 -1
  239. package/dist/localization/es-LA.cjs.map +1 -1
  240. package/dist/localization/es-LA.js.map +1 -1
  241. package/dist/localization/fr-FR.cjs.map +1 -1
  242. package/dist/localization/fr-FR.js.map +1 -1
  243. package/dist/localization/it-IT.cjs.map +1 -1
  244. package/dist/localization/it-IT.js.map +1 -1
  245. package/dist/localization/ja-JP.cjs.map +1 -1
  246. package/dist/localization/ja-JP.js.map +1 -1
  247. package/dist/localization/nl-NL.cjs.map +1 -1
  248. package/dist/localization/nl-NL.js.map +1 -1
  249. package/dist/localization/pt-BR.cjs.map +1 -1
  250. package/dist/localization/pt-BR.js.map +1 -1
  251. package/dist/localization/ru-RU.cjs.map +1 -1
  252. package/dist/localization/ru-RU.js.map +1 -1
  253. package/dist/localization/zh-CN.cjs.map +1 -1
  254. package/dist/localization/zh-CN.js.map +1 -1
  255. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  256. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  257. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  258. package/dist/shared/sr_only_close_button.js.map +1 -1
  259. package/dist/types/common/sr_only_close_button.vue.d.ts +210 -2
  260. package/dist/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  261. package/dist/types/components/avatar/avatar.vue.d.ts +38 -13
  262. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  263. package/dist/types/components/badge/badge.vue.d.ts +4 -4
  264. package/dist/types/components/banner/banner.vue.d.ts +693 -5
  265. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  266. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +40 -4
  267. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  268. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +90 -4
  269. package/dist/types/components/button/button.vue.d.ts +6 -6
  270. package/dist/types/components/button_group/button_group.vue.d.ts +4 -4
  271. package/dist/types/components/card/card.vue.d.ts +4 -4
  272. package/dist/types/components/checkbox/checkbox.vue.d.ts +43 -2
  273. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  274. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +55 -14
  275. package/dist/types/components/chip/chip.vue.d.ts +213 -5
  276. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  277. package/dist/types/components/codeblock/codeblock.vue.d.ts +3 -3
  278. package/dist/types/components/collapsible/collapsible.vue.d.ts +322 -6
  279. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  280. package/dist/types/components/collapsible/collapsible_lazy_show.vue.d.ts +4 -4
  281. package/dist/types/components/combobox/combobox.vue.d.ts +1273 -20
  282. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  283. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +218 -4
  284. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  285. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +1017 -1
  286. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  287. package/dist/types/components/datepicker/composables/useCalendar.d.ts +1 -1
  288. package/dist/types/components/datepicker/composables/useMonthYearPicker.d.ts +2 -2
  289. package/dist/types/components/datepicker/datepicker.vue.d.ts +50 -1
  290. package/dist/types/components/datepicker/modules/calendar.vue.d.ts +1 -1
  291. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  292. package/dist/types/components/description_list/description_list.vue.d.ts +6 -6
  293. package/dist/types/components/dropdown/dropdown.vue.d.ts +910 -11
  294. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  295. package/dist/types/components/dropdown/dropdown_separator.vue.d.ts +1 -1
  296. package/dist/types/components/emoji/emoji.vue.d.ts +807 -4
  297. package/dist/types/components/emoji_picker/composables/useKeyboardNavigation.d.ts +3 -3
  298. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +473 -1
  299. package/dist/types/components/emoji_picker/modules/emoji_description.vue.d.ts +1 -1
  300. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +379 -1
  301. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  302. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +4 -1
  303. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  304. package/dist/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts +3 -1
  305. package/dist/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +1 -1
  306. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts +1 -1
  307. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +871 -4
  308. package/dist/types/components/empty_state/empty_state.vue.d.ts +1 -1
  309. package/dist/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  310. package/dist/types/components/hovercard/hovercard.vue.d.ts +1558 -156
  311. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  312. package/dist/types/components/icon/icon.vue.d.ts +5 -5
  313. package/dist/types/components/illustration/illustration.vue.d.ts +1 -1
  314. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +430 -5
  315. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  316. package/dist/types/components/input/input.vue.d.ts +51 -10
  317. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  318. package/dist/types/components/input_group/input_group.vue.d.ts +49 -8
  319. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  320. package/dist/types/components/item_layout/item_layout.vue.d.ts +5 -5
  321. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +489 -16
  322. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  323. package/dist/types/components/lazy_show/lazy_show.vue.d.ts +4 -4
  324. package/dist/types/components/link/link.vue.d.ts +4 -4
  325. package/dist/types/components/list_item/list_item.vue.d.ts +124 -5
  326. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  327. package/dist/types/components/list_item_group/list_item_group.vue.d.ts +4 -4
  328. package/dist/types/components/loader/loader.vue.d.ts +35 -4
  329. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  330. package/dist/types/components/modal/modal.vue.d.ts +466 -6
  331. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  332. package/dist/types/components/notice/notice.vue.d.ts +693 -5
  333. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  334. package/dist/types/components/notice/notice_action.vue.d.ts +430 -5
  335. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  336. package/dist/types/components/notice/notice_content.vue.d.ts +4 -4
  337. package/dist/types/components/notice/notice_icon.vue.d.ts +185 -5
  338. package/dist/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  339. package/dist/types/components/pagination/pagination.vue.d.ts +273 -5
  340. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  341. package/dist/types/components/popover/popover.vue.d.ts +509 -9
  342. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  343. package/dist/types/components/popover/popover_header_footer.vue.d.ts +213 -5
  344. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  345. package/dist/types/components/presence/presence.vue.d.ts +4 -4
  346. package/dist/types/components/radio/radio.vue.d.ts +46 -5
  347. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  348. package/dist/types/components/radio_group/radio_group.vue.d.ts +55 -14
  349. package/dist/types/components/rich_text_editor/channel_suggestion.d.ts +2 -0
  350. package/dist/types/components/rich_text_editor/channel_suggestion.d.ts.map +1 -1
  351. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +150 -3
  352. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  353. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts +132 -3
  354. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  355. package/dist/types/components/rich_text_editor/extensions/channels/channel.d.ts.map +1 -1
  356. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +883 -3
  357. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +938 -3
  358. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +52 -3
  359. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +319 -3
  360. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +18 -4
  361. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +3 -3
  362. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +217 -3
  363. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  364. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +327 -7
  365. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  366. package/dist/types/components/root_layout/root_layout.vue.d.ts +4 -4
  367. package/dist/types/components/scroller/modules/core_scroller.vue.d.ts +4 -1
  368. package/dist/types/components/scroller/modules/core_scroller.vue.d.ts.map +1 -1
  369. package/dist/types/components/scroller/modules/dynamic_scroller.vue.d.ts +503 -7
  370. package/dist/types/components/scroller/modules/scroller_item.vue.d.ts +4 -4
  371. package/dist/types/components/scroller/scroller.vue.d.ts +634 -123
  372. package/dist/types/components/scroller/scroller.vue.d.ts.map +1 -1
  373. package/dist/types/components/select_menu/select_menu.vue.d.ts +47 -6
  374. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  375. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +278 -4
  376. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +91 -5
  377. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  378. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +4 -4
  379. package/dist/types/components/skeleton/skeleton.vue.d.ts +725 -8
  380. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +184 -6
  381. package/dist/types/components/split_button/split_button-omega.vue.d.ts +213 -5
  382. package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  383. package/dist/types/components/split_button/split_button.vue.d.ts +1804 -24
  384. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  385. package/dist/types/components/stack/stack.vue.d.ts +4 -4
  386. package/dist/types/components/tab/tab.vue.d.ts +183 -5
  387. package/dist/types/components/tab/tab_group.vue.d.ts +11 -5
  388. package/dist/types/components/tab/tab_panel.vue.d.ts +5 -5
  389. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +671 -4
  390. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  391. package/dist/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +155 -5
  392. package/dist/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  393. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +693 -5
  394. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  395. package/dist/types/components/toast/toast.vue.d.ts +2928 -13
  396. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  397. package/dist/types/components/toggle/toggle.vue.d.ts +5 -5
  398. package/dist/types/components/tooltip/tooltip.vue.d.ts +9 -9
  399. package/dist/types/components/validation_messages/validation_messages.vue.d.ts +4 -4
  400. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +442 -9
  401. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  402. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +1975 -6
  403. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  404. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1701 -6
  405. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  406. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +1768 -6
  407. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  408. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +309 -1
  409. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  410. package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  411. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +3634 -11
  412. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  413. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +1014 -4
  414. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  415. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +749 -4
  416. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  417. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +4 -4
  418. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +3051 -24
  419. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  420. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +2202 -5
  421. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  422. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +556 -6
  423. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  424. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +665 -13
  425. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  426. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +343 -4
  427. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  428. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +6995 -7
  429. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  430. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +1026 -5
  431. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  432. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +2525 -5
  433. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  434. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +1383 -5
  435. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  436. package/dist/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts +3 -3
  437. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +212 -4
  438. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  439. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +341 -5
  440. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +414 -6
  441. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  442. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +1273 -7
  443. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  444. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +3400 -5
  445. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  446. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +2054 -16
  447. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  448. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +485 -5
  449. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  450. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +2257 -7
  451. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  452. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +65 -4
  453. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  454. package/dist/types/recipes/motion/motion_text/motion_text.vue.d.ts +1 -1
  455. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts +4 -4
  456. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"motion-text.js","sources":["../../../recipes/motion/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"dt-recipe-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"dt-recipe-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`dt-recipe-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"dt-recipe-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`dt-recipe-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"dt-recipe-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"dt-recipe-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeMotionText',\n\n inheritAttrs: false,\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed using t-shirt sizing.\n * @values sm, md, lg\n */\n speed: {\n type: String,\n default: 'md',\n validator: (value) => MOTION_TEXT_SPEEDS.includes(value),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[this.speed];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--dt-recipe-motion-text-duration': `${this.timing.duration}ms`,\n '--dt-recipe-motion-text-char-duration': `${this.timing.duration}ms`,\n '--dt-recipe-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'dt-recipe-motion-text',\n `dt-recipe-motion-text--${this.animationMode}`,\n {\n 'dt-recipe-motion-text--animating': this.isAnimating,\n 'dt-recipe-motion-text--paused': this.isPaused,\n 'dt-recipe-motion-text--looped': this.isLooped,\n },\n this.$attrs.class,\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","value","MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","newVal","node","words","processNode","index","matches","_a","text","i","currentIdx","child","wordText","timeout","word","wordIdx","chars","revealChar","_hoisted_1","_hoisted_3","_hoisted_4","_createElementBlock","_normalizeClass","$options","_normalizeStyle","$props","$data","_hoisted_2","_toDisplayString","_createCommentVNode","_openBlock","_Fragment","_createTextVNode","_renderSlot","_ctx","_renderList","_createBlock","_Transition","_withCtx","char","charIdx","_hoisted_5"],"mappings":"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"}
1
+ {"version":3,"file":"motion-text.js","sources":["../../../recipes/motion/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"dt-recipe-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"dt-recipe-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`dt-recipe-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"dt-recipe-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`dt-recipe-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"dt-recipe-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"dt-recipe-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeMotionText',\n\n inheritAttrs: false,\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed using t-shirt sizing.\n * @values sm, md, lg\n */\n speed: {\n type: String,\n default: 'md',\n validator: (value) => MOTION_TEXT_SPEEDS.includes(value),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[this.speed];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--dt-recipe-motion-text-duration': `${this.timing.duration}ms`,\n '--dt-recipe-motion-text-char-duration': `${this.timing.duration}ms`,\n '--dt-recipe-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'dt-recipe-motion-text',\n `dt-recipe-motion-text--${this.animationMode}`,\n {\n 'dt-recipe-motion-text--animating': this.isAnimating,\n 'dt-recipe-motion-text--paused': this.isPaused,\n 'dt-recipe-motion-text--looped': this.isLooped,\n },\n this.$attrs.class,\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","value","MOTION_TEXT_ANIMATION_MODES","MOTION_TEXT_SPEEDS","MOTION_TEXT_TIMING_PRESETS","newVal","node","words","processNode","index","matches","_a","text","i","currentIdx","child","wordText","timeout","word","wordIdx","chars","revealChar","_createElementBlock","$options","$props","$data","_hoisted_2","_toDisplayString","_Fragment","_createTextVNode","_renderSlot","_ctx","_openBlock","_renderList","_createBlock","_Transition","char","charIdx","_normalizeStyle","_hoisted_5"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice-action.cjs","sources":["../../../components/notice/notice_action.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__actions\"\n data-qa=\"notice-content-actions\"\n >\n <!-- @slot Slot for main content -->\n <slot v-if=\"!hideAction\" />\n <dt-button\n v-if=\"!hideClose\"\n ref=\"closeButton\"\n :circle=\"true\"\n data-qa=\"dt-notice-action-close-button\"\n importance=\"clear\"\n size=\"sm\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-else\n @close=\"close\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeAction',\n\n components: {\n DtIconClose,\n DtButton,\n SrOnlyCloseButton,\n },\n\n props: {\n /**\n * Hides the close button from the notice\n * @values true, false\n */\n hideClose: {\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: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n mounted () {\n if (!this.hideClose) {\n this.lastFocusedElement = document.activeElement;\n }\n },\n\n beforeUnmount () {\n this.lastFocusedElement?.focus();\n },\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconClose","DtButton","SrOnlyCloseButton","DialtoneLocalization","_a","_openBlock","_createElementBlock","_hoisted_1","$props","_createCommentVNode","_renderSlot","_ctx","_createBlock","_component_sr_only_close_button","$options","_component_dt_button","_createVNode","_component_dt_icon_close"],"mappings":"sWAqCKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,iBAEN,WAAY,aACVC,EAAAA,YACA,SAAAC,EAAAA,QACA,kBAAAC,EAAAA,SAGF,MAAO,CAKL,UAAW,CACT,KAAM,QACN,QAAS,IAOX,WAAY,CACV,KAAM,QACN,QAAS,KAIb,MAAO,CAML,SAGF,MAAQ,CACN,MAAO,CACL,KAAM,IAAIC,EAAAA,qBAEd,EAEA,SAAU,CACR,kBAAoB,CAClB,OAAO,KAAK,KAAK,GAAG,uBAAuB,CAC7C,GAGF,SAAW,CACJ,KAAK,YACR,KAAK,mBAAqB,SAAS,cAEvC,EAEA,eAAiB,QACfC,EAAA,KAAK,qBAAL,MAAAA,EAAyB,OAC3B,EAEA,QAAS,CACP,OAAS,CACP,KAAK,MAAM,OAAO,CACpB,EAEJ,KArGI,MAAM,oBACN,UAAQ,6KAFV,OAAAC,YAAA,EAAAC,qBA2BM,MA3BNC,EA2BM,CAtBSC,EAAA,WANjBC,EAAAA,mBAAA,GAAA,EAAA,EAMIC,EAAAA,WAA2BC,oBAN/B,IAAA,CAAA,CAAA,EAQaH,EAAA,yBAgBTI,EAAAA,YAGEC,EAAA,CA3BN,IAAA,EA0BO,QAAOC,EAAA,2CAnBVF,EAAAA,YAgBYG,EAAA,CAvBhB,IAAA,EASM,IAAI,cACH,OAAQ,GACT,UAAQ,gCACR,WAAW,QACX,KAAK,KACJ,aAAYD,EAAA,iBACZ,MAAOA,EAAA,iBACP,QAAOA,EAAA,QAEG,eACT,IAEE,CAFFE,EAAAA,YAEEC,EAAA,CADA,KAAK,KAAK,CAAA,IApBpB,EAAA"}
1
+ {"version":3,"file":"notice-action.cjs","sources":["../../../components/notice/notice_action.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__actions\"\n data-qa=\"notice-content-actions\"\n >\n <!-- @slot Slot for main content -->\n <slot v-if=\"!hideAction\" />\n <dt-button\n v-if=\"!hideClose\"\n ref=\"closeButton\"\n :circle=\"true\"\n data-qa=\"dt-notice-action-close-button\"\n importance=\"clear\"\n size=\"sm\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-else\n @close=\"close\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeAction',\n\n components: {\n DtIconClose,\n DtButton,\n SrOnlyCloseButton,\n },\n\n props: {\n /**\n * Hides the close button from the notice\n * @values true, false\n */\n hideClose: {\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: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n mounted () {\n if (!this.hideClose) {\n this.lastFocusedElement = document.activeElement;\n }\n },\n\n beforeUnmount () {\n this.lastFocusedElement?.focus();\n },\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconClose","DtButton","SrOnlyCloseButton","DialtoneLocalization","_a","_openBlock","_createElementBlock","_hoisted_1","$props","_renderSlot","_ctx","_createBlock","_component_sr_only_close_button","$options","_component_dt_button","_createVNode","_component_dt_icon_close"],"mappings":"sWAqCKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,iBAEN,WAAY,aACVC,EAAAA,YACA,SAAAC,EAAAA,QACA,kBAAAC,EAAAA,SAGF,MAAO,CAKL,UAAW,CACT,KAAM,QACN,QAAS,IAOX,WAAY,CACV,KAAM,QACN,QAAS,KAIb,MAAO,CAML,SAGF,MAAQ,CACN,MAAO,CACL,KAAM,IAAIC,EAAAA,qBAEd,EAEA,SAAU,CACR,kBAAoB,CAClB,OAAO,KAAK,KAAK,GAAG,uBAAuB,CAC7C,GAGF,SAAW,CACJ,KAAK,YACR,KAAK,mBAAqB,SAAS,cAEvC,EAEA,eAAiB,QACfC,EAAA,KAAK,qBAAL,MAAAA,EAAyB,OAC3B,EAEA,QAAS,CACP,OAAS,CACP,KAAK,MAAM,OAAO,CACpB,EAEJ,KArGI,MAAM,oBACN,UAAQ,6KAFV,OAAAC,YAAA,EAAAC,qBA2BM,MA3BNC,EA2BM,CAtBSC,EAAA,uCAAbC,EAAAA,WAA2BC,EAAA,OAAA,UAAA,CAAA,IAAA,CAAA,CAAA,EAElBF,EAAA,yBAgBTG,EAAAA,YAGEC,EAAA,OADC,QAAOC,EAAA,2CAnBVF,EAAAA,YAgBYG,EAAA,OAdV,IAAI,cACH,OAAQ,GACT,UAAQ,gCACR,WAAW,QACX,KAAK,KACJ,aAAYD,EAAA,iBACZ,MAAOA,EAAA,iBACP,QAAOA,EAAA,QAEG,eACT,IAEE,CAFFE,EAAAA,YAEEC,EAAA,CADA,KAAK,KAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice-action.js","sources":["../../../components/notice/notice_action.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__actions\"\n data-qa=\"notice-content-actions\"\n >\n <!-- @slot Slot for main content -->\n <slot v-if=\"!hideAction\" />\n <dt-button\n v-if=\"!hideClose\"\n ref=\"closeButton\"\n :circle=\"true\"\n data-qa=\"dt-notice-action-close-button\"\n importance=\"clear\"\n size=\"sm\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-else\n @close=\"close\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeAction',\n\n components: {\n DtIconClose,\n DtButton,\n SrOnlyCloseButton,\n },\n\n props: {\n /**\n * Hides the close button from the notice\n * @values true, false\n */\n hideClose: {\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: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n mounted () {\n if (!this.hideClose) {\n this.lastFocusedElement = document.activeElement;\n }\n },\n\n beforeUnmount () {\n this.lastFocusedElement?.focus();\n },\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconClose","DtButton","SrOnlyCloseButton","DialtoneLocalization","_a","_openBlock","_createElementBlock","_hoisted_1","$props","_createCommentVNode","_renderSlot","_ctx","_createBlock","_component_sr_only_close_button","$options","_component_dt_button","_createVNode","_component_dt_icon_close"],"mappings":";;;;;;AAqCA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA;EAGF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML;AAAA;EAGF,OAAQ;AACN,WAAO;AAAA,MACL,MAAM,IAAIC,EAAoB;AAAA;EAElC;AAAA,EAEA,UAAU;AAAA,IACR,mBAAoB;AAClB,aAAO,KAAK,KAAK,GAAG,uBAAuB;AAAA,IAC7C;AAAA;EAGF,UAAW;AACT,IAAK,KAAK,cACR,KAAK,qBAAqB,SAAS;AAAA,EAEvC;AAAA,EAEA,gBAAiB;;AACf,KAAAC,IAAA,KAAK,uBAAL,QAAAA,EAAyB;AAAA,EAC3B;AAAA,EAEA,SAAS;AAAA,IACP,QAAS;AACP,WAAK,MAAM,OAAO;AAAA,IACpB;AAAA;AAEJ;EArGI,OAAM;AAAA,EACN,WAAQ;;;;AAFV,SAAAC,EAAA,GAAAC,EA2BM,OA3BNC,GA2BM;AAAA,IAtBSC,EAAA,aANjBC,EAAA,IAAA,EAAA,IAMIC,EAA2BC,uBAN/B,KAAA,EAAA,CAAA;AAAA,IAQaH,EAAA,kBAgBTI,EAGEC,GAAA;AAAA,MA3BN,KAAA;AAAA,MA0BO,SAAOC,EAAA;AAAA,sCAnBVF,EAgBYG,GAAA;AAAA,MAvBhB,KAAA;AAAA,MASM,KAAI;AAAA,MACH,QAAQ;AAAA,MACT,WAAQ;AAAA,MACR,YAAW;AAAA,MACX,MAAK;AAAA,MACJ,cAAYD,EAAA;AAAA,MACZ,OAAOA,EAAA;AAAA,MACP,SAAOA,EAAA;AAAA;MAEG,QACT,MAEE;AAAA,QAFFE,EAEEC,GAAA,EADA,MAAK,MAAK,CAAA;AAAA;MApBpB,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"notice-action.js","sources":["../../../components/notice/notice_action.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__actions\"\n data-qa=\"notice-content-actions\"\n >\n <!-- @slot Slot for main content -->\n <slot v-if=\"!hideAction\" />\n <dt-button\n v-if=\"!hideClose\"\n ref=\"closeButton\"\n :circle=\"true\"\n data-qa=\"dt-notice-action-close-button\"\n importance=\"clear\"\n size=\"sm\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-else\n @close=\"close\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeAction',\n\n components: {\n DtIconClose,\n DtButton,\n SrOnlyCloseButton,\n },\n\n props: {\n /**\n * Hides the close button from the notice\n * @values true, false\n */\n hideClose: {\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: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n mounted () {\n if (!this.hideClose) {\n this.lastFocusedElement = document.activeElement;\n }\n },\n\n beforeUnmount () {\n this.lastFocusedElement?.focus();\n },\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconClose","DtButton","SrOnlyCloseButton","DialtoneLocalization","_a","_openBlock","_createElementBlock","_hoisted_1","$props","_renderSlot","_ctx","_createBlock","_component_sr_only_close_button","$options","_component_dt_button","_createVNode","_component_dt_icon_close"],"mappings":";;;;;;AAqCA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA;EAGF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML;AAAA;EAGF,OAAQ;AACN,WAAO;AAAA,MACL,MAAM,IAAIC,EAAoB;AAAA;EAElC;AAAA,EAEA,UAAU;AAAA,IACR,mBAAoB;AAClB,aAAO,KAAK,KAAK,GAAG,uBAAuB;AAAA,IAC7C;AAAA;EAGF,UAAW;AACT,IAAK,KAAK,cACR,KAAK,qBAAqB,SAAS;AAAA,EAEvC;AAAA,EAEA,gBAAiB;;AACf,KAAAC,IAAA,KAAK,uBAAL,QAAAA,EAAyB;AAAA,EAC3B;AAAA,EAEA,SAAS;AAAA,IACP,QAAS;AACP,WAAK,MAAM,OAAO;AAAA,IACpB;AAAA;AAEJ;EArGI,OAAM;AAAA,EACN,WAAQ;;;;AAFV,SAAAC,EAAA,GAAAC,EA2BM,OA3BNC,GA2BM;AAAA,IAtBSC,EAAA,yBAAbC,EAA2BC,EAAA,QAAA,WAAA,EAAA,KAAA,EAAA,CAAA;AAAA,IAElBF,EAAA,kBAgBTG,EAGEC,GAAA;AAAA;MADC,SAAOC,EAAA;AAAA,sCAnBVF,EAgBYG,GAAA;AAAA;MAdV,KAAI;AAAA,MACH,QAAQ;AAAA,MACT,WAAQ;AAAA,MACR,YAAW;AAAA,MACX,MAAK;AAAA,MACJ,cAAYD,EAAA;AAAA,MACZ,OAAOA,EAAA;AAAA,MACP,SAAOA,EAAA;AAAA;MAEG,QACT,MAEE;AAAA,QAFFE,EAEEC,GAAA,EADA,MAAK,MAAK,CAAA;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice-content.cjs","sources":["../../../components/notice/notice_content.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__content\"\n data-qa=\"notice-content\"\n >\n <p\n v-if=\"title || hasSlotContent($slots.titleOverride)\"\n :id=\"titleId\"\n class=\"d-notice__title\"\n data-qa=\"notice-content-title\"\n >\n <!-- @slot Slot for the title -->\n <slot name=\"titleOverride\">\n {{ title }}\n </slot>\n </p>\n <p\n :id=\"contentId\"\n class=\"d-notice__message\"\n data-qa=\"notice-content-message\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </p>\n </div>\n</template>\n\n<script>\nimport { hasSlotContent } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeContent',\n\n props: {\n /**\n * Title header of the notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * ID for 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 * ID for 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 data () {\n return {\n hasSlotContent,\n };\n },\n};\n</script>\n"],"names":["_sfc_main","hasSlotContent","_hoisted_2","_hoisted_3","_openBlock","_createElementBlock","_hoisted_1","$props","$data","_ctx","_renderSlot","_createTextVNode","_toDisplayString","_createCommentVNode","_createElementVNode"],"mappings":"uOA8BKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,kBAEN,MAAO,CAIL,MAAO,CACL,KAAM,OACN,QAAS,IAOX,QAAS,CACP,KAAM,OACN,QAAS,QAOX,UAAW,CACT,KAAM,OACN,QAAS,SAIb,MAAQ,CACN,MAAO,CACL,eAAAC,EAAAA,eAEJ,CACF,KAjEI,MAAM,oBACN,UAAQ,kBAHZC,EAAA,CAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,0BACE,OAAAC,YAAA,EAAAC,qBAuBM,MAvBNC,EAuBM,CAlBIC,EAAA,OAASC,EAAA,eAAeC,EAAA,OAAO,aAAa,iBADpDJ,EAAAA,mBAUI,IAAA,CAfR,IAAA,EAOO,GAAIE,EAAA,QACL,MAAM,kBACN,UAAQ,yBAGRG,EAAAA,WAEOD,4BAFP,IAEO,CAdbE,EAAAA,gBAAAC,EAAAA,gBAaWL,EAAA,KAAK,EAAA,CAAA,GAbhB,EAAA,EAAAL,CAAA,GAAAW,EAAAA,mBAAA,GAAA,EAAA,EAgBIC,EAAAA,mBAOI,IAAA,CAND,GAAIP,EAAA,UACL,MAAM,oBACN,UAAQ,2BAGRG,aAAQD,EAAA,OAAA,SAAA,CAtBd,EAAA,EAAAN,CAAA"}
1
+ {"version":3,"file":"notice-content.cjs","sources":["../../../components/notice/notice_content.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__content\"\n data-qa=\"notice-content\"\n >\n <p\n v-if=\"title || hasSlotContent($slots.titleOverride)\"\n :id=\"titleId\"\n class=\"d-notice__title\"\n data-qa=\"notice-content-title\"\n >\n <!-- @slot Slot for the title -->\n <slot name=\"titleOverride\">\n {{ title }}\n </slot>\n </p>\n <p\n :id=\"contentId\"\n class=\"d-notice__message\"\n data-qa=\"notice-content-message\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </p>\n </div>\n</template>\n\n<script>\nimport { hasSlotContent } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeContent',\n\n props: {\n /**\n * Title header of the notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * ID for 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 * ID for 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 data () {\n return {\n hasSlotContent,\n };\n },\n};\n</script>\n"],"names":["_sfc_main","hasSlotContent","_openBlock","_createElementBlock","_hoisted_1","$props","$data","_ctx","_renderSlot","_createElementVNode"],"mappings":"uOA8BKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,kBAEN,MAAO,CAIL,MAAO,CACL,KAAM,OACN,QAAS,IAOX,QAAS,CACP,KAAM,OACN,QAAS,QAOX,UAAW,CACT,KAAM,OACN,QAAS,SAIb,MAAQ,CACN,MAAO,CACL,eAAAC,EAAAA,eAEJ,CACF,KAjEI,MAAM,oBACN,UAAQ,4DAFV,OAAAC,YAAA,EAAAC,qBAuBM,MAvBNC,EAuBM,CAlBIC,EAAA,OAASC,EAAA,eAAeC,EAAA,OAAO,aAAa,iBADpDJ,EAAAA,mBAUI,IAAA,OARD,GAAIE,EAAA,QACL,MAAM,kBACN,UAAQ,yBAGRG,EAAAA,WAEOD,4BAFP,IAEO,qCADFF,EAAA,KAAK,EAAA,CAAA,uCAGZI,EAAAA,mBAOI,IAAA,CAND,GAAIJ,EAAA,UACL,MAAM,oBACN,UAAQ,2BAGRG,aAAQD,EAAA,OAAA,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice-content.js","sources":["../../../components/notice/notice_content.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__content\"\n data-qa=\"notice-content\"\n >\n <p\n v-if=\"title || hasSlotContent($slots.titleOverride)\"\n :id=\"titleId\"\n class=\"d-notice__title\"\n data-qa=\"notice-content-title\"\n >\n <!-- @slot Slot for the title -->\n <slot name=\"titleOverride\">\n {{ title }}\n </slot>\n </p>\n <p\n :id=\"contentId\"\n class=\"d-notice__message\"\n data-qa=\"notice-content-message\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </p>\n </div>\n</template>\n\n<script>\nimport { hasSlotContent } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeContent',\n\n props: {\n /**\n * Title header of the notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * ID for 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 * ID for 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 data () {\n return {\n hasSlotContent,\n };\n },\n};\n</script>\n"],"names":["_sfc_main","hasSlotContent","_hoisted_2","_hoisted_3","_openBlock","_createElementBlock","_hoisted_1","$props","$data","_ctx","_renderSlot","_createTextVNode","_toDisplayString","_createCommentVNode","_createElementVNode"],"mappings":";;;AA8BA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAQ;AACN,WAAO;AAAA,MACL,gBAAAC;AAAA;EAEJ;AACF;EAjEI,OAAM;AAAA,EACN,WAAQ;GAHZC,IAAA,CAAA,IAAA,GAAAC,IAAA,CAAA,IAAA;;AACE,SAAAC,EAAA,GAAAC,EAuBM,OAvBNC,GAuBM;AAAA,IAlBIC,EAAA,SAASC,EAAA,eAAeC,EAAA,OAAO,aAAa,UADpDJ,EAUI,KAAA;AAAA,MAfR,KAAA;AAAA,MAOO,IAAIE,EAAA;AAAA,MACL,OAAM;AAAA,MACN,WAAQ;AAAA;MAGRG,EAEOD,+BAFP,MAEO;AAAA,QAdbE,EAAAC,EAaWL,EAAA,KAAK,GAAA,CAAA;AAAA;IAbhB,GAAA,GAAAL,CAAA,KAAAW,EAAA,IAAA,EAAA;AAAA,IAgBIC,EAOI,KAAA;AAAA,MAND,IAAIP,EAAA;AAAA,MACL,OAAM;AAAA,MACN,WAAQ;AAAA;MAGRG,EAAQD,EAAA,QAAA,SAAA;AAAA,IAtBd,GAAA,GAAAN,CAAA;AAAA;;;"}
1
+ {"version":3,"file":"notice-content.js","sources":["../../../components/notice/notice_content.vue"],"sourcesContent":["<template>\n <div\n class=\"d-notice__content\"\n data-qa=\"notice-content\"\n >\n <p\n v-if=\"title || hasSlotContent($slots.titleOverride)\"\n :id=\"titleId\"\n class=\"d-notice__title\"\n data-qa=\"notice-content-title\"\n >\n <!-- @slot Slot for the title -->\n <slot name=\"titleOverride\">\n {{ title }}\n </slot>\n </p>\n <p\n :id=\"contentId\"\n class=\"d-notice__message\"\n data-qa=\"notice-content-message\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </p>\n </div>\n</template>\n\n<script>\nimport { hasSlotContent } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeContent',\n\n props: {\n /**\n * Title header of the notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * ID for 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 * ID for 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 data () {\n return {\n hasSlotContent,\n };\n },\n};\n</script>\n"],"names":["_sfc_main","hasSlotContent","_openBlock","_createElementBlock","_hoisted_1","$props","$data","_ctx","_renderSlot","_createElementVNode"],"mappings":";;;AA8BA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAQ;AACN,WAAO;AAAA,MACL,gBAAAC;AAAA;EAEJ;AACF;EAjEI,OAAM;AAAA,EACN,WAAQ;;;AAFV,SAAAC,EAAA,GAAAC,EAuBM,OAvBNC,GAuBM;AAAA,IAlBIC,EAAA,SAASC,EAAA,eAAeC,EAAA,OAAO,aAAa,UADpDJ,EAUI,KAAA;AAAA;MARD,IAAIE,EAAA;AAAA,MACL,OAAM;AAAA,MACN,WAAQ;AAAA;MAGRG,EAEOD,+BAFP,MAEO;AAAA,YADFF,EAAA,KAAK,GAAA,CAAA;AAAA;;IAGZI,EAOI,KAAA;AAAA,MAND,IAAIJ,EAAA;AAAA,MACL,OAAM;AAAA,MACN,WAAQ;AAAA;MAGRG,EAAQD,EAAA,QAAA,SAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice-icon.cjs","sources":["../../../components/notice/notice_icon.vue"],"sourcesContent":["<template>\n <div\n v-if=\"defaultIcon || hasSlotContent($slots.default)\"\n aria-hidden=\"true\"\n class=\"d-notice__icon\"\n >\n <!-- @slot Slot for the main content -->\n <slot>\n <component\n :is=\"defaultIcon\"\n size=\"400\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\n} from '@dialpad/dialtone-icons/vue3';\nimport { NOTICE_KINDS } from './notice_constants.js';\nimport { hasSlotContent } from '@/common/utils';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconCheckCircle],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconAlertCircle],\n ['base', DtIconBell],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeIcon',\n\n components: {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\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 NOTICE_KINDS.includes(kind);\n },\n },\n },\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n"],"names":["kindToIcon","DtIconInfo","DtIconCheckCircle","DtIconAlertTriangle","DtIconAlertCircle","DtIconBell","_sfc_main","kind","NOTICE_KINDS","hasSlotContent","$options","$data","_ctx","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"qTA2BMA,EAAa,IAAI,IAAI,CACzB,CAAC,OAAQC,EAAAA,UAAU,EACnB,CAAC,UAAWC,EAAAA,iBAAiB,EAC7B,CAAC,UAAWC,EAAAA,mBAAmB,EAC/B,CAAC,QAASC,EAAAA,iBAAiB,EAC3B,CAAC,OAAQC,EAAAA,UAAU,CACrB,CAAC,EAEIC,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,eAEN,WAAY,YACVL,EAAAA,WACA,kBAAAC,EAAAA,kBACA,oBAAAC,EAAAA,oBACA,kBAAAC,EAAAA,6BACAC,EAAAA,YAGF,MAAO,CAKL,KAAM,CACJ,KAAM,OACN,QAAS,OACT,SAAUE,EAAM,CACd,OAAOC,EAAAA,aAAa,SAASD,CAAI,CACnC,IAIJ,MAAQ,CACN,MAAO,CACL,eAAAE,EAAAA,eAEJ,EAEA,SAAU,CACR,aAAe,CACb,OAAOT,EAAW,IAAI,KAAK,IAAI,CACjC,EAEJ,KAxEA,IAAA,EAGI,cAAY,OACZ,MAAM,0CAFA,OAAAU,EAAA,aAAeC,EAAA,eAAeC,EAAA,OAAO,OAAO,GADpDC,EAAAA,YAAAC,EAAAA,mBAYM,MAZNC,EAYM,CANJC,EAAAA,WAKOJ,sBALP,IAKO,EAJLC,YAAA,EAAAI,EAAAA,YAGEC,0BAFKR,EAAA,WAAW,EAAA,CAChB,KAAK,MAAK,QAVlBS,EAAAA,mBAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"notice-icon.cjs","sources":["../../../components/notice/notice_icon.vue"],"sourcesContent":["<template>\n <div\n v-if=\"defaultIcon || hasSlotContent($slots.default)\"\n aria-hidden=\"true\"\n class=\"d-notice__icon\"\n >\n <!-- @slot Slot for the main content -->\n <slot>\n <component\n :is=\"defaultIcon\"\n size=\"400\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\n} from '@dialpad/dialtone-icons/vue3';\nimport { NOTICE_KINDS } from './notice_constants.js';\nimport { hasSlotContent } from '@/common/utils';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconCheckCircle],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconAlertCircle],\n ['base', DtIconBell],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeIcon',\n\n components: {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\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 NOTICE_KINDS.includes(kind);\n },\n },\n },\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n"],"names":["kindToIcon","DtIconInfo","DtIconCheckCircle","DtIconAlertTriangle","DtIconAlertCircle","DtIconBell","_sfc_main","kind","NOTICE_KINDS","hasSlotContent","$options","$data","_ctx","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_createBlock","_resolveDynamicComponent"],"mappings":"qTA2BMA,EAAa,IAAI,IAAI,CACzB,CAAC,OAAQC,EAAAA,UAAU,EACnB,CAAC,UAAWC,EAAAA,iBAAiB,EAC7B,CAAC,UAAWC,EAAAA,mBAAmB,EAC/B,CAAC,QAASC,EAAAA,iBAAiB,EAC3B,CAAC,OAAQC,EAAAA,UAAU,CACrB,CAAC,EAEIC,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,eAEN,WAAY,YACVL,EAAAA,WACA,kBAAAC,EAAAA,kBACA,oBAAAC,EAAAA,oBACA,kBAAAC,EAAAA,6BACAC,EAAAA,YAGF,MAAO,CAKL,KAAM,CACJ,KAAM,OACN,QAAS,OACT,SAAUE,EAAM,CACd,OAAOC,EAAAA,aAAa,SAASD,CAAI,CACnC,IAIJ,MAAQ,CACN,MAAO,CACL,eAAAE,EAAAA,eAEJ,EAEA,SAAU,CACR,aAAe,CACb,OAAOT,EAAW,IAAI,KAAK,IAAI,CACjC,EAEJ,WArEI,cAAY,OACZ,MAAM,0CAFA,OAAAU,EAAA,aAAeC,EAAA,eAAeC,EAAA,OAAO,OAAO,GADpDC,EAAAA,YAAAC,EAAAA,mBAYM,MAZNC,EAYM,CANJC,EAAAA,WAKOJ,sBALP,IAKO,EAJLC,YAAA,EAAAI,EAAAA,YAGEC,0BAFKR,EAAA,WAAW,EAAA,CAChB,KAAK,MAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice-icon.js","sources":["../../../components/notice/notice_icon.vue"],"sourcesContent":["<template>\n <div\n v-if=\"defaultIcon || hasSlotContent($slots.default)\"\n aria-hidden=\"true\"\n class=\"d-notice__icon\"\n >\n <!-- @slot Slot for the main content -->\n <slot>\n <component\n :is=\"defaultIcon\"\n size=\"400\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\n} from '@dialpad/dialtone-icons/vue3';\nimport { NOTICE_KINDS } from './notice_constants.js';\nimport { hasSlotContent } from '@/common/utils';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconCheckCircle],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconAlertCircle],\n ['base', DtIconBell],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeIcon',\n\n components: {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\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 NOTICE_KINDS.includes(kind);\n },\n },\n },\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n"],"names":["kindToIcon","DtIconInfo","DtIconCheckCircle","DtIconAlertTriangle","DtIconAlertCircle","DtIconBell","_sfc_main","kind","NOTICE_KINDS","hasSlotContent","$options","$data","_ctx","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":";;;;;AA2BA,MAAMA,IAAa,oBAAI,IAAI;AAAA,EACzB,CAAC,QAAQC,CAAU;AAAA,EACnB,CAAC,WAAWC,CAAiB;AAAA,EAC7B,CAAC,WAAWC,CAAmB;AAAA,EAC/B,CAAC,SAASC,CAAiB;AAAA,EAC3B,CAAC,QAAQC,CAAU;AACrB,CAAC,GAEIC,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAAL;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,YAAAC;AAAA;EAGF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAUE,GAAM;AACd,eAAOC,EAAa,SAASD,CAAI;AAAA,MACnC;AAAA;;EAIJ,OAAQ;AACN,WAAO;AAAA,MACL,gBAAAE;AAAA;EAEJ;AAAA,EAEA,UAAU;AAAA,IACR,cAAe;AACb,aAAOT,EAAW,IAAI,KAAK,IAAI;AAAA,IACjC;AAAA;AAEJ;EAxEA,KAAA;AAAA,EAGI,eAAY;AAAA,EACZ,OAAM;;;AAFA,SAAAU,EAAA,eAAeC,EAAA,eAAeC,EAAA,OAAO,OAAO,KADpDC,KAAAC,EAYM,OAZNC,GAYM;AAAA,IANJC,EAKOJ,yBALP,MAKO;AAAA,OAJLC,EAAA,GAAAI,EAGEC,EAFKR,EAAA,WAAW,GAAA,EAChB,MAAK,OAAK;AAAA;QAVlBS,EAAA,IAAA,EAAA;;;"}
1
+ {"version":3,"file":"notice-icon.js","sources":["../../../components/notice/notice_icon.vue"],"sourcesContent":["<template>\n <div\n v-if=\"defaultIcon || hasSlotContent($slots.default)\"\n aria-hidden=\"true\"\n class=\"d-notice__icon\"\n >\n <!-- @slot Slot for the main content -->\n <slot>\n <component\n :is=\"defaultIcon\"\n size=\"400\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\n} from '@dialpad/dialtone-icons/vue3';\nimport { NOTICE_KINDS } from './notice_constants.js';\nimport { hasSlotContent } from '@/common/utils';\n\nconst kindToIcon = new Map([\n ['info', DtIconInfo],\n ['success', DtIconCheckCircle],\n ['warning', DtIconAlertTriangle],\n ['error', DtIconAlertCircle],\n ['base', DtIconBell],\n]);\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNoticeIcon',\n\n components: {\n DtIconInfo,\n DtIconCheckCircle,\n DtIconAlertTriangle,\n DtIconAlertCircle,\n DtIconBell,\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 NOTICE_KINDS.includes(kind);\n },\n },\n },\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n"],"names":["kindToIcon","DtIconInfo","DtIconCheckCircle","DtIconAlertTriangle","DtIconAlertCircle","DtIconBell","_sfc_main","kind","NOTICE_KINDS","hasSlotContent","$options","$data","_ctx","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;AA2BA,MAAMA,IAAa,oBAAI,IAAI;AAAA,EACzB,CAAC,QAAQC,CAAU;AAAA,EACnB,CAAC,WAAWC,CAAiB;AAAA,EAC7B,CAAC,WAAWC,CAAmB;AAAA,EAC/B,CAAC,SAASC,CAAiB;AAAA,EAC3B,CAAC,QAAQC,CAAU;AACrB,CAAC,GAEIC,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAAL;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,YAAAC;AAAA;EAGF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAUE,GAAM;AACd,eAAOC,EAAa,SAASD,CAAI;AAAA,MACnC;AAAA;;EAIJ,OAAQ;AACN,WAAO;AAAA,MACL,gBAAAE;AAAA;EAEJ;AAAA,EAEA,UAAU;AAAA,IACR,cAAe;AACb,aAAOT,EAAW,IAAI,KAAK,IAAI;AAAA,IACjC;AAAA;AAEJ;;EArEI,eAAY;AAAA,EACZ,OAAM;;;AAFA,SAAAU,EAAA,eAAeC,EAAA,eAAeC,EAAA,OAAO,OAAO,KADpDC,KAAAC,EAYM,OAZNC,GAYM;AAAA,IANJC,EAKOJ,yBALP,MAKO;AAAA,OAJLC,EAAA,GAAAI,EAGEC,EAFKR,EAAA,WAAW,GAAA,EAChB,MAAK,OAAK;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice.cjs","sources":["../../../components/notice/notice.vue"],"sourcesContent":["<template>\n <aside\n :class=\"noticeClass\"\n data-qa=\"notice\"\n >\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\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 >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need\n to override with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the notice -->\n <slot />\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\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 </aside>\n</template>\n\n<script>\nimport DtNoticeIcon from './notice_icon.vue';\nimport DtNoticeContent from './notice_content.vue';\nimport DtNoticeAction from './notice_action.vue';\nimport { NOTICE_KINDS, NOTICE_ROLES } from './notice_constants';\n\n/**\n * A notice is an informational and assistive message that appears inline with content.\n * @see https://dialtone.dialpad.com/components/notice.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNotice',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\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 notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an\n * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an\n * important message that does contain interactive elements.\n * @values alert, alertdialog, status\n */\n role: {\n type: String,\n default: 'status',\n validate (role) {\n return NOTICE_ROLES.includes(role);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * This will also change the aria role from status to alert.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Severity level of the notice, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the notice\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 * Truncates the content instead of wrapping.\n * Used when the notice needs to have a fixed height.\n * @values true, false\n */\n truncateText: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n noticeClass () {\n const noticeKinds = {\n error: 'd-notice--error',\n info: 'd-notice--info',\n success: 'd-notice--success',\n warning: 'd-notice--warning',\n base: 'd-notice--base',\n };\n return [\n 'd-notice',\n noticeKinds[this.kind],\n { 'd-notice--important': this.important, 'd-notice--truncate': this.truncateText },\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","role","NOTICE_ROLES","kind","NOTICE_KINDS","_createElementBlock","_normalizeClass","$options","$props","_createCommentVNode","_createBlock","_component_dt_notice_icon","_withCtx","_renderSlot","_ctx","_createVNode","_component_dt_notice_content","_component_dt_notice_action"],"mappings":"mUA+CKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,WAEN,WAAY,cACVC,EAAAA,QACA,gBAAAC,EAAAA,QACA,eAAAC,EAAAA,SAGF,MAAO,CAKL,QAAS,CACP,KAAM,OACN,QAAS,QAOX,UAAW,CACT,KAAM,OACN,QAAS,QAMX,MAAO,CACL,KAAM,OACN,QAAS,IASX,KAAM,CACJ,KAAM,OACN,QAAS,SACT,SAAUC,EAAM,CACd,OAAOC,EAAAA,aAAa,SAASD,CAAI,CACnC,GAQF,UAAW,CACT,KAAM,QACN,QAAS,IAOX,KAAM,CACJ,KAAM,OACN,QAAS,OACT,SAAUE,EAAM,CACd,OAAOC,EAAAA,aAAa,SAASD,CAAI,CACnC,GAOF,UAAW,CACT,KAAM,QACN,QAAS,IAOX,SAAU,CACR,KAAM,QACN,QAAS,IAOX,WAAY,CACV,KAAM,QACN,QAAS,IAQX,aAAc,CACZ,KAAM,QACN,QAAS,KAIb,MAAO,CAML,QAQA,SAGF,SAAU,CACR,aAAe,CAQb,MAAO,CACL,WARkB,CAClB,MAAO,kBACP,KAAM,iBACN,QAAS,oBACT,QAAS,oBACT,KAAM,kBAIM,KAAK,IAAI,EACrB,CAAE,sBAAuB,KAAK,UAAW,qBAAsB,KAAK,cAExE,EAEJ,+KA9LEE,EAAAA,mBAiCQ,QAAA,CAhCL,MAFLC,EAAAA,eAEYC,EAAA,WAAW,EACnB,UAAQ,WAGCC,EAAA,SANbC,EAAAA,mBAAA,GAAA,EAAA,iBAKIC,EAAAA,YAMiBC,EAAA,CAXrB,IAAA,EAOO,KAAMH,EAAA,OAPb,QAAAI,EAAAA,QAUM,IAAoB,CAApBC,aAAoBC,EAAA,OAAA,MAAA,IAV1B,EAAA,gBAYIC,EAAAA,YAaoBC,EAAA,CAZjB,WAAUR,EAAA,QACV,aAAYA,EAAA,UACZ,MAAOA,EAAA,MACP,KAAMA,EAAA,OAEI,wBAGT,IAA6B,CAA7BK,aAA6BC,EAAA,OAAA,eAAA,IArBrC,QAAAF,EAAAA,QAwBM,IAAQ,CAARC,aAAQC,EAAA,OAAA,SAAA,IAxBd,EAAA,+CA0BIC,EAAAA,YAOmBE,EAAA,CANhB,cAAaT,EAAA,WACb,aAAYA,EAAA,UACZ,uBAAOM,EAAA,MAAK,OAAA,KA7BnB,QAAAF,EAAAA,QAgCM,IAAsB,CAAtBC,aAAsBC,EAAA,OAAA,QAAA,IAhC5B,EAAA"}
1
+ {"version":3,"file":"notice.cjs","sources":["../../../components/notice/notice.vue"],"sourcesContent":["<template>\n <aside\n :class=\"noticeClass\"\n data-qa=\"notice\"\n >\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\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 >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need\n to override with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the notice -->\n <slot />\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\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 </aside>\n</template>\n\n<script>\nimport DtNoticeIcon from './notice_icon.vue';\nimport DtNoticeContent from './notice_content.vue';\nimport DtNoticeAction from './notice_action.vue';\nimport { NOTICE_KINDS, NOTICE_ROLES } from './notice_constants';\n\n/**\n * A notice is an informational and assistive message that appears inline with content.\n * @see https://dialtone.dialpad.com/components/notice.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNotice',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\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 notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an\n * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an\n * important message that does contain interactive elements.\n * @values alert, alertdialog, status\n */\n role: {\n type: String,\n default: 'status',\n validate (role) {\n return NOTICE_ROLES.includes(role);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * This will also change the aria role from status to alert.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Severity level of the notice, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the notice\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 * Truncates the content instead of wrapping.\n * Used when the notice needs to have a fixed height.\n * @values true, false\n */\n truncateText: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n noticeClass () {\n const noticeKinds = {\n error: 'd-notice--error',\n info: 'd-notice--info',\n success: 'd-notice--success',\n warning: 'd-notice--warning',\n base: 'd-notice--base',\n };\n return [\n 'd-notice',\n noticeKinds[this.kind],\n { 'd-notice--important': this.important, 'd-notice--truncate': this.truncateText },\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","role","NOTICE_ROLES","kind","NOTICE_KINDS","_createElementBlock","$options","$props","_createBlock","_component_dt_notice_icon","_renderSlot","_ctx","_createVNode","_component_dt_notice_content","_component_dt_notice_action"],"mappings":"mUA+CKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,WAEN,WAAY,cACVC,EAAAA,QACA,gBAAAC,EAAAA,QACA,eAAAC,EAAAA,SAGF,MAAO,CAKL,QAAS,CACP,KAAM,OACN,QAAS,QAOX,UAAW,CACT,KAAM,OACN,QAAS,QAMX,MAAO,CACL,KAAM,OACN,QAAS,IASX,KAAM,CACJ,KAAM,OACN,QAAS,SACT,SAAUC,EAAM,CACd,OAAOC,EAAAA,aAAa,SAASD,CAAI,CACnC,GAQF,UAAW,CACT,KAAM,QACN,QAAS,IAOX,KAAM,CACJ,KAAM,OACN,QAAS,OACT,SAAUE,EAAM,CACd,OAAOC,EAAAA,aAAa,SAASD,CAAI,CACnC,GAOF,UAAW,CACT,KAAM,QACN,QAAS,IAOX,SAAU,CACR,KAAM,QACN,QAAS,IAOX,WAAY,CACV,KAAM,QACN,QAAS,IAQX,aAAc,CACZ,KAAM,QACN,QAAS,KAIb,MAAO,CAML,QAQA,SAGF,SAAU,CACR,aAAe,CAQb,MAAO,CACL,WARkB,CAClB,MAAO,kBACP,KAAM,iBACN,QAAS,oBACT,QAAS,oBACT,KAAM,kBAIM,KAAK,IAAI,EACrB,CAAE,sBAAuB,KAAK,UAAW,qBAAsB,KAAK,cAExE,EAEJ,+KA9LEE,EAAAA,mBAiCQ,QAAA,CAhCL,uBAAOC,EAAA,WAAW,EACnB,UAAQ,WAGCC,EAAA,oDADTC,EAAAA,YAMiBC,EAAA,OAJd,KAAMF,EAAA,yBAGP,IAAoB,CAApBG,aAAoBC,EAAA,OAAA,MAAA,sBAEtBC,EAAAA,YAaoBC,EAAA,CAZjB,WAAUN,EAAA,QACV,aAAYA,EAAA,UACZ,MAAOA,EAAA,MACP,KAAMA,EAAA,OAEI,wBAGT,IAA6B,CAA7BG,aAA6BC,EAAA,OAAA,eAAA,sBAG/B,IAAQ,CAARD,aAAQC,EAAA,OAAA,SAAA,qDAEVC,EAAAA,YAOmBE,EAAA,CANhB,cAAaP,EAAA,WACb,aAAYA,EAAA,UACZ,uBAAOI,EAAA,MAAK,OAAA,uBAGb,IAAsB,CAAtBD,aAAsBC,EAAA,OAAA,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice.js","sources":["../../../components/notice/notice.vue"],"sourcesContent":["<template>\n <aside\n :class=\"noticeClass\"\n data-qa=\"notice\"\n >\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\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 >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need\n to override with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the notice -->\n <slot />\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\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 </aside>\n</template>\n\n<script>\nimport DtNoticeIcon from './notice_icon.vue';\nimport DtNoticeContent from './notice_content.vue';\nimport DtNoticeAction from './notice_action.vue';\nimport { NOTICE_KINDS, NOTICE_ROLES } from './notice_constants';\n\n/**\n * A notice is an informational and assistive message that appears inline with content.\n * @see https://dialtone.dialpad.com/components/notice.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNotice',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\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 notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an\n * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an\n * important message that does contain interactive elements.\n * @values alert, alertdialog, status\n */\n role: {\n type: String,\n default: 'status',\n validate (role) {\n return NOTICE_ROLES.includes(role);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * This will also change the aria role from status to alert.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Severity level of the notice, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the notice\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 * Truncates the content instead of wrapping.\n * Used when the notice needs to have a fixed height.\n * @values true, false\n */\n truncateText: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n noticeClass () {\n const noticeKinds = {\n error: 'd-notice--error',\n info: 'd-notice--info',\n success: 'd-notice--success',\n warning: 'd-notice--warning',\n base: 'd-notice--base',\n };\n return [\n 'd-notice',\n noticeKinds[this.kind],\n { 'd-notice--important': this.important, 'd-notice--truncate': this.truncateText },\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","role","NOTICE_ROLES","kind","NOTICE_KINDS","_createElementBlock","_normalizeClass","$options","$props","_createCommentVNode","_createBlock","_component_dt_notice_icon","_withCtx","_renderSlot","_ctx","_createVNode","_component_dt_notice_content","_component_dt_notice_action"],"mappings":";;;;;;AA+CA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA;EAGF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;;IASX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAUC,GAAM;AACd,eAAOC,EAAa,SAASD,CAAI;AAAA,MACnC;AAAA;;;;;;IAQF,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAUE,GAAM;AACd,eAAOC,EAAa,SAASD,CAAI;AAAA,MACnC;AAAA;;;;;IAOF,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;IAQX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;EAGF,UAAU;AAAA,IACR,cAAe;AAQb,aAAO;AAAA,QACL;AAAA,QARkB;AAAA,UAClB,OAAO;AAAA,UACP,MAAM;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,MAAM;AAAA,UAIM,KAAK,IAAI;AAAA,QACrB,EAAE,uBAAuB,KAAK,WAAW,sBAAsB,KAAK;;IAExE;AAAA;AAEJ;;;cA9LEE,EAiCQ,SAAA;AAAA,IAhCL,OAFLC,EAEYC,EAAA,WAAW;AAAA,IACnB,WAAQ;AAAA;IAGCC,EAAA,WANbC,EAAA,IAAA,EAAA,UAKIC,EAMiBC,GAAA;AAAA,MAXrB,KAAA;AAAA,MAOO,MAAMH,EAAA;AAAA;MAPb,SAAAI,EAUM,MAAoB;AAAA,QAApBC,EAAoBC,EAAA,QAAA,MAAA;AAAA;MAV1B,GAAA;AAAA;IAYIC,EAaoBC,GAAA;AAAA,MAZjB,YAAUR,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,OAAOA,EAAA;AAAA,MACP,MAAMA,EAAA;AAAA;MAEI,iBAGT,MAA6B;AAAA,QAA7BK,EAA6BC,EAAA,QAAA,eAAA;AAAA;MArBrC,SAAAF,EAwBM,MAAQ;AAAA,QAARC,EAAQC,EAAA,QAAA,SAAA;AAAA;MAxBd,GAAA;AAAA;IA0BIC,EAOmBE,GAAA;AAAA,MANhB,eAAaT,EAAA;AAAA,MACb,cAAYA,EAAA;AAAA,MACZ,gCAAOM,EAAA,MAAK,OAAA;AAAA;MA7BnB,SAAAF,EAgCM,MAAsB;AAAA,QAAtBC,EAAsBC,EAAA,QAAA,QAAA;AAAA;MAhC5B,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"notice.js","sources":["../../../components/notice/notice.vue"],"sourcesContent":["<template>\n <aside\n :class=\"noticeClass\"\n data-qa=\"notice\"\n >\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\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 >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need\n to override with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the notice -->\n <slot />\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\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 </aside>\n</template>\n\n<script>\nimport DtNoticeIcon from './notice_icon.vue';\nimport DtNoticeContent from './notice_content.vue';\nimport DtNoticeAction from './notice_action.vue';\nimport { NOTICE_KINDS, NOTICE_ROLES } from './notice_constants';\n\n/**\n * A notice is an informational and assistive message that appears inline with content.\n * @see https://dialtone.dialpad.com/components/notice.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtNotice',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\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 notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an\n * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an\n * important message that does contain interactive elements.\n * @values alert, alertdialog, status\n */\n role: {\n type: String,\n default: 'status',\n validate (role) {\n return NOTICE_ROLES.includes(role);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * This will also change the aria role from status to alert.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Severity level of the notice, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Hides the close button from the notice\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 * Truncates the content instead of wrapping.\n * Used when the notice needs to have a fixed height.\n * @values true, false\n */\n truncateText: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n noticeClass () {\n const noticeKinds = {\n error: 'd-notice--error',\n info: 'd-notice--info',\n success: 'd-notice--success',\n warning: 'd-notice--warning',\n base: 'd-notice--base',\n };\n return [\n 'd-notice',\n noticeKinds[this.kind],\n { 'd-notice--important': this.important, 'd-notice--truncate': this.truncateText },\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtNoticeIcon","DtNoticeContent","DtNoticeAction","role","NOTICE_ROLES","kind","NOTICE_KINDS","_createElementBlock","$options","$props","_createBlock","_component_dt_notice_icon","_renderSlot","_ctx","_createVNode","_component_dt_notice_content","_component_dt_notice_action"],"mappings":";;;;;;AA+CA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA;EAGF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;;IASX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAUC,GAAM;AACd,eAAOC,EAAa,SAASD,CAAI;AAAA,MACnC;AAAA;;;;;;IAQF,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAUE,GAAM;AACd,eAAOC,EAAa,SAASD,CAAI;AAAA,MACnC;AAAA;;;;;IAOF,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;IAQX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;EAGF,UAAU;AAAA,IACR,cAAe;AAQb,aAAO;AAAA,QACL;AAAA,QARkB;AAAA,UAClB,OAAO;AAAA,UACP,MAAM;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,MAAM;AAAA,UAIM,KAAK,IAAI;AAAA,QACrB,EAAE,uBAAuB,KAAK,WAAW,sBAAsB,KAAK;;IAExE;AAAA;AAEJ;;;cA9LEE,EAiCQ,SAAA;AAAA,IAhCL,SAAOC,EAAA,WAAW;AAAA,IACnB,WAAQ;AAAA;IAGCC,EAAA,6BADTC,EAMiBC,GAAA;AAAA;MAJd,MAAMF,EAAA;AAAA;iBAGP,MAAoB;AAAA,QAApBG,EAAoBC,EAAA,QAAA,MAAA;AAAA;;;IAEtBC,EAaoBC,GAAA;AAAA,MAZjB,YAAUN,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,OAAOA,EAAA;AAAA,MACP,MAAMA,EAAA;AAAA;MAEI,iBAGT,MAA6B;AAAA,QAA7BG,EAA6BC,EAAA,QAAA,eAAA;AAAA;iBAG/B,MAAQ;AAAA,QAARD,EAAQC,EAAA,QAAA,SAAA;AAAA;;;IAEVC,EAOmBE,GAAA;AAAA,MANhB,eAAaP,EAAA;AAAA,MACb,cAAYA,EAAA;AAAA,MACZ,gCAAOI,EAAA,MAAK,OAAA;AAAA;iBAGb,MAAsB;AAAA,QAAtBD,EAAsBC,EAAA,QAAA,QAAA;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.cjs","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n v-show=\"totalPages > 0\"\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n\n totalPages (pages) {\n if (this.currentPage > pages || this.currentPage <= 0){\n this.currentPage = pages;\n }\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DialtoneLocalization","start","end","pages","total","centerIndex","left","right","page","from","to","range","i","_hoisted_1","_createElementBlock","$props","_createVNode","_component_dt_button","$options","_cache","$event","$data","_component_dt_icon_chevron_left","_openBlock","_Fragment","_renderList","index","_normalizeClass","_hoisted_2","_component_dt_icon_more_horizontal","_createBlock","_withCtx","_createTextVNode","_toDisplayString","_component_dt_icon_chevron_right"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.cjs","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n v-show=\"totalPages > 0\"\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n\n totalPages (pages) {\n if (this.currentPage > pages || this.currentPage <= 0){\n this.currentPage = pages;\n }\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DialtoneLocalization","start","end","pages","total","centerIndex","left","right","page","from","to","range","i","_createElementBlock","$props","_createVNode","_component_dt_button","$options","_cache","$event","$data","_component_dt_icon_chevron_left","_openBlock","_Fragment","_renderList","index","_normalizeClass","_hoisted_2","_component_dt_icon_more_horizontal","_createBlock","_component_dt_icon_chevron_right"],"mappings":"mTA2EKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,eAEN,WAAY,CACV,SAAAC,EAAAA,QACA,kBAAAC,EAAAA,kBACA,mBAAAC,EAAAA,mBACA,qBAAAC,EAAAA,sBAGF,MAAO,CAIL,UAAW,CACT,KAAM,OACN,SAAU,IAMZ,WAAY,CACV,KAAM,OACN,SAAU,IAMZ,WAAY,CACV,KAAM,OACN,QAAS,GAQX,WAAY,CACV,KAAM,OACN,QAAS,GAQX,UAAW,CACT,KAAM,QACN,QAAS,KAIb,MAAO,CAOL,UAGF,MAAQ,CACN,MAAO,CACL,YAAa,KAAK,WAClB,KAAM,IAAIC,EAAAA,qBAEd,EAEA,SAAU,CACR,aAAe,CACb,OAAO,KAAK,cAAgB,CAC9B,EAEA,YAAc,CACZ,OAAO,KAAK,cAAgB,KAAK,UACnC,EAGA,OAAS,CACP,GAAI,KAAK,aAAe,EACtB,MAAO,CAAA,EAET,GAAI,KAAK,YAAc,KAAK,WAC1B,OAAO,KAAK,MAAM,EAAG,KAAK,UAAU,EAGtC,IAAIC,EAAQ,KAAK,WAAa,EAC1BC,EAAM,KAAK,WAAaD,EAAQ,EASpC,GALI,KAAK,YACPA,EAAQA,EAAQ,EAChBC,EAAMA,EAAM,GAGV,KAAK,YAAcD,EAAO,CAC5B,MAAME,EAAQ,CAAC,GAAG,KAAK,MAAM,EAAGF,CAAK,EAAG,KAAK,EAC7C,OAAK,KAAK,WAERE,EAAM,KAAK,KAAK,UAAU,EAErBA,CACT,CAEA,GAAI,KAAK,YAAcD,EAAK,CAC1B,MAAMC,EAAQ,CAAC,MAAO,GAAG,KAAK,MAAMD,EAAK,KAAK,UAAU,CAAC,EACzD,OAAK,KAAK,WAERC,EAAM,QAAQ,CAAC,EAEVA,CACT,CAGA,MAAMC,EAAQ,KAAK,YAAc,EAAI,KAAK,WAAa,GACjDC,EAAc,KAAK,MAAMD,EAAQ,CAAC,EACxC,IAAIE,EAAO,KAAK,YAAcD,EAC1BE,EAAQ,KAAK,YAAcF,EAG3B,KAAK,YACPC,EAAOA,EAAO,EACdC,EAAQA,EAAQ,GAGlB,MAAMJ,EAAQ,CAAC,MAAO,GAAG,KAAK,MAAMG,EAAMC,CAAK,EAAG,KAAK,EACvD,OAAK,KAAK,UAGHJ,EAFE,CAAC,EAAG,GAAGA,EAAO,KAAK,UAAU,CAGxC,EAEA,eAAiB,CACf,OAAO,KAAK,YAAc,KAAK,KAAK,GAAG,gCAAgC,EAAI,KAAK,KAAK,GAAG,mCAAmC,CAC7H,EAEA,eAAiB,CACf,OAAO,KAAK,WAAa,KAAK,KAAK,GAAG,+BAA+B,EAAI,KAAK,KAAK,GAAG,+BAA+B,CACvH,EAEA,qBAAuB,CACrB,OAAQK,GACCA,IAAS,KAAK,WAAa,GAAG,KAAK,KAAK,GAAG,+BAA+B,CAAC,IAAIA,CAAI,GAAK,GAAG,KAAK,KAAK,GAAG,kCAAmC,CAAE,KAAAA,CAAG,CAAG,CAAC,EAE/J,GAGF,MAAO,CACL,YAAc,CACZ,KAAK,YAAc,KAAK,UAC1B,EAEA,WAAYL,EAAO,EACb,KAAK,YAAcA,GAAS,KAAK,aAAe,KAClD,KAAK,YAAcA,EAEvB,GAGF,QAAS,CACP,MAAOM,EAAMC,EAAI,CACf,MAAMC,EAAQ,CAAA,EACdF,EAAOA,EAAO,EAAIA,EAAO,EACzB,QAASG,EAAIH,EAAMG,GAAKF,EAAIE,IAC1BD,EAAM,KAAKC,CAAC,EAEd,OAAOD,CACT,EAEA,WAAYH,EAAM,CAChB,KAAK,YAAcA,EACnB,KAAK,MAAM,SAAU,KAAK,WAAW,CACvC,EAEJ,4BAnOQ,MAAM,+BACN,UAAQ,6QA7BdK,EAAAA,mBA8DM,MAAA,CA5DH,aAAYC,EAAA,UACb,MAAM,iBAENC,EAAAA,YAcYC,EAAA,CAbV,MAAM,uBACN,UAAQ,qBACP,aAAYC,EAAA,cACb,KAAK,QACL,WAAW,QACV,SAAUA,EAAA,YACV,QAAKC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEF,EAAA,WAAWG,EAAA,YAAW,CAAA,KAEnB,eACT,IAEE,CAFFL,EAAAA,YAEEM,EAAA,CADA,KAAK,KAAK,CAAA,uCAIhBC,EAAAA,UAAA,EAAA,EAAAT,EAAAA,mBA0BMU,WAAA,KAAAC,EAAAA,WAzBoBP,EAAA,MAAK,CAArBT,EAAMiB,mBADhBZ,EAAAA,mBA0BM,MAAA,CAxBH,IAAG,QAAUL,CAAI,IAAIiB,CAAK,GAC1B,MAAKC,EAAAA,eAAA,CAAA,0BAA+B,MAAM,OAAOlB,CAAI,CAAA,CAAA,CAAA,IAI9C,MAAM,OAAOA,CAAI,CAAA,GADzBc,EAAAA,YAAAT,EAAAA,mBASM,MATNc,EASM,CAJJZ,EAAAA,YAEEa,EAAA,CADA,KAAK,KAAK,CAAA,oBAIdC,EAAAA,YASYb,EAAA,OAPT,aAAYC,EAAA,oBAAoBT,CAAI,EACpC,KAAMY,EAAA,cAAgBZ,EAAI,UAAA,QAC1B,WAAYY,EAAA,cAAgBZ,EAAI,UAAA,QACjC,cAAY,GACX,QAAKW,GAAEF,EAAA,WAAWT,CAAI,sBAEvB,IAAU,qCAAPA,CAAI,EAAA,CAAA,yEAGXO,EAAAA,YAcYC,EAAA,CAbV,MAAM,uBACN,UAAQ,qBACP,aAAYC,EAAA,cACZ,SAAUA,EAAA,WACX,KAAK,QACL,WAAW,QACV,QAAKC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEF,EAAA,WAAWG,EAAA,YAAW,CAAA,KAEnB,eACT,IAEE,CAFFL,EAAAA,YAEEe,EAAA,CADA,KAAK,KAAK,CAAA,uDAzDRhB,EAAA,WAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n v-show=\"totalPages > 0\"\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n\n totalPages (pages) {\n if (this.currentPage > pages || this.currentPage <= 0){\n this.currentPage = pages;\n }\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DialtoneLocalization","start","end","pages","total","centerIndex","left","right","page","from","to","range","i","_hoisted_1","_createElementBlock","$props","_createVNode","_component_dt_button","$options","_cache","$event","$data","_component_dt_icon_chevron_left","_openBlock","_Fragment","_renderList","index","_normalizeClass","_hoisted_2","_component_dt_icon_more_horizontal","_createBlock","_withCtx","_createTextVNode","_toDisplayString","_component_dt_icon_chevron_right"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n v-show=\"totalPages > 0\"\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n\n totalPages (pages) {\n if (this.currentPage > pages || this.currentPage <= 0){\n this.currentPage = pages;\n }\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DialtoneLocalization","start","end","pages","total","centerIndex","left","right","page","from","to","range","i","_createElementBlock","$props","_createVNode","_component_dt_button","$options","_cache","$event","$data","_component_dt_icon_chevron_left","_openBlock","_Fragment","_renderList","index","_normalizeClass","_hoisted_2","_component_dt_icon_more_horizontal","_createBlock","_component_dt_icon_chevron_right"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"popover-header-footer.cjs","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"hasSlotContent($slots.content)\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { hasSlotContent, returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n data () {\n return {\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = returnFirstEl(this.$refs['popover__close-button']?.$el);\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","value","hasSlotContent","DialtoneLocalization","closeButton","returnFirstEl","_a","_createElementBlock","_normalizeClass","$props","$data","_ctx","_renderSlot","_createCommentVNode","_createBlock","_component_dt_button","$options","_createVNode","_component_dt_icon_close"],"mappings":"6VAiDKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,sBACN,WAAY,CACV,SAAAC,EAAAA,oBACAC,EAAAA,aAGF,MAAO,CAEL,KAAM,CACJ,KAAM,OACN,UAAW,SAAUC,EAAO,CAC1B,MAAO,CAAC,SAAU,QAAQ,EAAE,SAASA,CAAK,CAC5C,GAMF,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAOX,gBAAiB,CACf,KAAM,QACN,QAAS,KAIb,MAAO,CAOL,SAGF,MAAQ,CACN,MAAO,CACL,eAAAC,EAAAA,eACA,KAAM,IAAIC,EAAAA,qBAEd,EAEA,SAAU,CACR,kBAAoB,CAClB,OAAO,KAAK,KAAK,GAAG,uBAAuB,CAC7C,GAGF,QAAS,CACP,kBAAoB,OAClB,MAAMC,EAAcC,EAAAA,eAAcC,EAAA,KAAK,MAAM,uBAAuB,IAAlC,YAAAA,EAAqC,GAAG,EAC1EF,GAAA,MAAAA,EAAa,OACf,EAEJ,6HAhHEG,EAAAA,mBAuCM,MAAA,CAtCJ,UAAQ,2BACP,MAHLC,EAAAA,eAAA,qBAGyCC,EAAA,OAAI,6BAA0CA,EAAA,OAAI,aAM/EC,EAAA,eAAeC,EAAA,OAAO,OAAO,iBADrCJ,EAAAA,mBAUM,MAAA,CAlBV,IAAA,EAUM,UAAQ,mCACP,MAXPC,EAAAA,eAAA,CAAA,8BAWuDC,EAAA,OAAI,sCAAqDA,EAAA,OAAI,UAAwBA,EAAA,YAAY,CAAA,IAMlJG,aAAuBD,EAAA,OAAA,SAAA,OAjB7BE,EAAAA,mBAAA,GAAA,EAAA,EAoBYJ,EAAA,+BADRK,EAAAA,YAoBYC,EAAA,CAvChB,IAAA,EAqBM,IAAI,wBACJ,UAAQ,mBACP,MAvBPP,EAAAA,eAAA,mCAuB2DC,EAAA,OAAI,2CAA0DA,EAAA,OAAI,WAIvH,WAAW,WACX,KAAK,QACL,OAAA,GACC,aAAYO,EAAA,iBACZ,MAAOA,EAAA,iBACP,uBAAOL,EAAA,MAAK,OAAA,KAEF,eACT,IAEE,CAFFM,EAAAA,YAEEC,EAAA,CADA,KAAK,KAAK,CAAA,IApCpB,EAAA,sCAAAL,EAAAA,mBAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"popover-header-footer.cjs","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"hasSlotContent($slots.content)\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { hasSlotContent, returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n data () {\n return {\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = returnFirstEl(this.$refs['popover__close-button']?.$el);\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","value","hasSlotContent","DialtoneLocalization","closeButton","returnFirstEl","_a","_createElementBlock","_normalizeClass","$props","$data","_ctx","_renderSlot","_createBlock","_component_dt_button","$options","_createVNode","_component_dt_icon_close"],"mappings":"6VAiDKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,sBACN,WAAY,CACV,SAAAC,EAAAA,oBACAC,EAAAA,aAGF,MAAO,CAEL,KAAM,CACJ,KAAM,OACN,UAAW,SAAUC,EAAO,CAC1B,MAAO,CAAC,SAAU,QAAQ,EAAE,SAASA,CAAK,CAC5C,GAMF,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAOX,gBAAiB,CACf,KAAM,QACN,QAAS,KAIb,MAAO,CAOL,SAGF,MAAQ,CACN,MAAO,CACL,eAAAC,EAAAA,eACA,KAAM,IAAIC,EAAAA,qBAEd,EAEA,SAAU,CACR,kBAAoB,CAClB,OAAO,KAAK,KAAK,GAAG,uBAAuB,CAC7C,GAGF,QAAS,CACP,kBAAoB,OAClB,MAAMC,EAAcC,EAAAA,eAAcC,EAAA,KAAK,MAAM,uBAAuB,IAAlC,YAAAA,EAAqC,GAAG,EAC1EF,GAAA,MAAAA,EAAa,OACf,EAEJ,6HAhHEG,EAAAA,mBAuCM,MAAA,CAtCJ,UAAQ,2BACP,MAAKC,EAAAA,eAAA,qBAA+BC,EAAA,OAAI,6BAA0CA,EAAA,OAAI,aAM/EC,EAAA,eAAeC,EAAA,OAAO,OAAO,iBADrCJ,EAAAA,mBAUM,MAAA,OARJ,UAAQ,mCACP,MAAKC,EAAAA,eAAA,CAAA,8BAA2CC,EAAA,OAAI,sCAAqDA,EAAA,OAAI,UAAwBA,EAAA,YAAY,CAAA,IAMlJG,aAAuBD,EAAA,OAAA,SAAA,mCAGjBF,EAAA,+BADRI,EAAAA,YAoBYC,EAAA,OAlBV,IAAI,wBACJ,UAAQ,mBACP,MAAKN,EAAAA,eAAA,mCAA+CC,EAAA,OAAI,2CAA0DA,EAAA,OAAI,WAIvH,WAAW,WACX,KAAK,QACL,OAAA,GACC,aAAYM,EAAA,iBACZ,MAAOA,EAAA,iBACP,uBAAOJ,EAAA,MAAK,OAAA,KAEF,eACT,IAEE,CAFFK,EAAAA,YAEEC,EAAA,CADA,KAAK,KAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"popover-header-footer.js","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"hasSlotContent($slots.content)\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { hasSlotContent, returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n data () {\n return {\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = returnFirstEl(this.$refs['popover__close-button']?.$el);\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","value","hasSlotContent","DialtoneLocalization","closeButton","returnFirstEl","_a","_createElementBlock","_normalizeClass","$props","$data","_ctx","_renderSlot","_createCommentVNode","_createBlock","_component_dt_button","$options","_createVNode","_component_dt_icon_close"],"mappings":";;;;;;AAiDA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAAC;AAAA,IACA,aAAAC;AAAA;EAGF,OAAO;AAAA;AAAA,IAEL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW,SAAUC,GAAO;AAC1B,eAAO,CAAC,UAAU,QAAQ,EAAE,SAASA,CAAK;AAAA,MAC5C;AAAA;;;;IAMF,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;;IAOX,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA;EAGF,OAAQ;AACN,WAAO;AAAA,MACL,gBAAAC;AAAA,MACA,MAAM,IAAIC,EAAoB;AAAA;EAElC;AAAA,EAEA,UAAU;AAAA,IACR,mBAAoB;AAClB,aAAO,KAAK,KAAK,GAAG,uBAAuB;AAAA,IAC7C;AAAA;EAGF,SAAS;AAAA,IACP,mBAAoB;;AAClB,YAAMC,IAAcC,GAAcC,IAAA,KAAK,MAAM,uBAAuB,MAAlC,gBAAAA,EAAqC,GAAG;AAC1E,MAAAF,KAAA,QAAAA,EAAa;AAAA,IACf;AAAA;AAEJ;;;cAhHEG,EAuCM,OAAA;AAAA,IAtCJ,WAAQ;AAAA,IACP,OAHLC,EAAA;AAAA,2BAGyCC,EAAA,SAAI;AAAA,2BAA0CA,EAAA,SAAI;AAAA;;IAM/EC,EAAA,eAAeC,EAAA,OAAO,OAAO,UADrCJ,EAUM,OAAA;AAAA,MAlBV,KAAA;AAAA,MAUM,WAAQ;AAAA,MACP,OAXPC,EAAA,CAAA;AAAA,sCAWuDC,EAAA,SAAI;AAAA,sCAAqDA,EAAA,SAAI;AAAA,SAAwBA,EAAA,YAAY,CAAA;AAAA;MAMlJG,EAAuBD,EAAA,QAAA,SAAA;AAAA,aAjB7BE,EAAA,IAAA,EAAA;AAAA,IAoBYJ,EAAA,wBADRK,EAoBYC,GAAA;AAAA,MAvChB,KAAA;AAAA,MAqBM,KAAI;AAAA,MACJ,WAAQ;AAAA,MACP,OAvBPP,EAAA;AAAA,2CAuB2DC,EAAA,SAAI;AAAA,2CAA0DA,EAAA,SAAI;AAAA;MAIvH,YAAW;AAAA,MACX,MAAK;AAAA,MACL,QAAA;AAAA,MACC,cAAYO,EAAA;AAAA,MACZ,OAAOA,EAAA;AAAA,MACP,gCAAOL,EAAA,MAAK,OAAA;AAAA;MAEF,QACT,MAEE;AAAA,QAFFM,EAEEC,GAAA,EADA,MAAK,MAAK,CAAA;AAAA;MApCpB,GAAA;AAAA,+CAAAL,EAAA,IAAA,EAAA;AAAA;;;"}
1
+ {"version":3,"file":"popover-header-footer.js","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"hasSlotContent($slots.content)\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { hasSlotContent, returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n data () {\n return {\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = returnFirstEl(this.$refs['popover__close-button']?.$el);\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","value","hasSlotContent","DialtoneLocalization","closeButton","returnFirstEl","_a","_createElementBlock","_normalizeClass","$props","$data","_ctx","_renderSlot","_createBlock","_component_dt_button","$options","_createVNode","_component_dt_icon_close"],"mappings":";;;;;;AAiDA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAAC;AAAA,IACA,aAAAC;AAAA;EAGF,OAAO;AAAA;AAAA,IAEL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW,SAAUC,GAAO;AAC1B,eAAO,CAAC,UAAU,QAAQ,EAAE,SAASA,CAAK;AAAA,MAC5C;AAAA;;;;IAMF,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;;IAOX,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA;EAGF,OAAQ;AACN,WAAO;AAAA,MACL,gBAAAC;AAAA,MACA,MAAM,IAAIC,EAAoB;AAAA;EAElC;AAAA,EAEA,UAAU;AAAA,IACR,mBAAoB;AAClB,aAAO,KAAK,KAAK,GAAG,uBAAuB;AAAA,IAC7C;AAAA;EAGF,SAAS;AAAA,IACP,mBAAoB;;AAClB,YAAMC,IAAcC,GAAcC,IAAA,KAAK,MAAM,uBAAuB,MAAlC,gBAAAA,EAAqC,GAAG;AAC1E,MAAAF,KAAA,QAAAA,EAAa;AAAA,IACf;AAAA;AAEJ;;;cAhHEG,EAuCM,OAAA;AAAA,IAtCJ,WAAQ;AAAA,IACP,OAAKC,EAAA;AAAA,2BAA+BC,EAAA,SAAI;AAAA,2BAA0CA,EAAA,SAAI;AAAA;;IAM/EC,EAAA,eAAeC,EAAA,OAAO,OAAO,UADrCJ,EAUM,OAAA;AAAA;MARJ,WAAQ;AAAA,MACP,OAAKC,EAAA,CAAA;AAAA,sCAA2CC,EAAA,SAAI;AAAA,sCAAqDA,EAAA,SAAI;AAAA,SAAwBA,EAAA,YAAY,CAAA;AAAA;MAMlJG,EAAuBD,EAAA,QAAA,SAAA;AAAA;IAGjBF,EAAA,wBADRI,EAoBYC,GAAA;AAAA;MAlBV,KAAI;AAAA,MACJ,WAAQ;AAAA,MACP,OAAKN,EAAA;AAAA,2CAA+CC,EAAA,SAAI;AAAA,2CAA0DA,EAAA,SAAI;AAAA;MAIvH,YAAW;AAAA,MACX,MAAK;AAAA,MACL,QAAA;AAAA,MACC,cAAYM,EAAA;AAAA,MACZ,OAAOA,EAAA;AAAA,MACP,gCAAOJ,EAAA,MAAK,OAAA;AAAA;MAEF,QACT,MAEE;AAAA,QAFFK,EAEEC,GAAA,EADA,MAAK,MAAK,CAAA;AAAA;;;;;;"}