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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
  2. package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  3. package/dist/common/mixins/keyboard-list-navigation.js +7 -7
  4. package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
  5. package/dist/component-documentation.json +1 -1
  6. package/dist/dialtone-vue.cjs +1 -1
  7. package/dist/dialtone-vue.js +422 -386
  8. package/dist/dialtone-vue.js.map +1 -1
  9. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  10. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  11. package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
  12. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  13. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  14. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  15. package/dist/lib/avatar/avatar-constants.js +169 -43
  16. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  17. package/dist/lib/avatar/avatar.cjs +1 -1
  18. package/dist/lib/avatar/avatar.cjs.map +1 -1
  19. package/dist/lib/avatar/avatar.js +185 -100
  20. package/dist/lib/avatar/avatar.js.map +1 -1
  21. package/dist/lib/avatar/index.cjs +1 -1
  22. package/dist/lib/avatar/index.js +16 -10
  23. package/dist/lib/badge/badge.cjs +1 -1
  24. package/dist/lib/badge/badge.cjs.map +1 -1
  25. package/dist/lib/badge/badge.js +47 -35
  26. package/dist/lib/badge/badge.js.map +1 -1
  27. package/dist/lib/button/button-constants.cjs +1 -1
  28. package/dist/lib/button/button-constants.cjs.map +1 -1
  29. package/dist/lib/button/button-constants.js +23 -19
  30. package/dist/lib/button/button-constants.js.map +1 -1
  31. package/dist/lib/button/button.cjs +1 -1
  32. package/dist/lib/button/button.cjs.map +1 -1
  33. package/dist/lib/button/button.js +138 -60
  34. package/dist/lib/button/button.js.map +1 -1
  35. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  36. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  37. package/dist/lib/callbar-button/callbar-button.js +8 -9
  38. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  39. package/dist/lib/callbox/callbox.cjs +1 -1
  40. package/dist/lib/callbox/callbox.cjs.map +1 -1
  41. package/dist/lib/callbox/callbox.js +47 -47
  42. package/dist/lib/callbox/callbox.js.map +1 -1
  43. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  44. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  45. package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
  46. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  47. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  48. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  49. package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
  50. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  51. package/dist/lib/contact-info/contact-info.cjs +1 -1
  52. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  53. package/dist/lib/contact-info/contact-info.js +56 -56
  54. package/dist/lib/contact-info/contact-info.js.map +1 -1
  55. package/dist/lib/contact-row/contact-row.cjs +1 -1
  56. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  57. package/dist/lib/contact-row/contact-row.js +1 -1
  58. package/dist/lib/contact-row/contact-row.js.map +1 -1
  59. package/dist/lib/datepicker/datepicker.cjs +1 -1
  60. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  61. package/dist/lib/datepicker/datepicker.js +11 -11
  62. package/dist/lib/datepicker/datepicker.js.map +1 -1
  63. package/dist/lib/editor/editor.cjs +1 -1
  64. package/dist/lib/editor/editor.cjs.map +1 -1
  65. package/dist/lib/editor/editor.js +13 -12
  66. package/dist/lib/editor/editor.js.map +1 -1
  67. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  68. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  69. package/dist/lib/emoji-picker/emoji-picker.js +2 -2
  70. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  71. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  72. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  73. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  74. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  75. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  76. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  77. package/dist/lib/feed-item-row/feed-item-row.js +11 -11
  78. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  79. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  80. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  81. package/dist/lib/filter-pill/filter-pill.js +346 -0
  82. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  83. package/dist/lib/filter-pill/index.cjs +2 -0
  84. package/dist/lib/filter-pill/index.cjs.map +1 -0
  85. package/dist/lib/filter-pill/index.js +5 -0
  86. package/dist/lib/filter-pill/index.js.map +1 -0
  87. package/dist/lib/general-row/general-row.cjs +1 -1
  88. package/dist/lib/general-row/general-row.cjs.map +1 -1
  89. package/dist/lib/general-row/general-row.js +153 -99
  90. package/dist/lib/general-row/general-row.js.map +1 -1
  91. package/dist/lib/group-row/group-row.cjs +1 -1
  92. package/dist/lib/group-row/group-row.cjs.map +1 -1
  93. package/dist/lib/group-row/group-row.js +1 -1
  94. package/dist/lib/group-row/group-row.js.map +1 -1
  95. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  96. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  97. package/dist/lib/grouped-chip/grouped-chip.js +31 -31
  98. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  99. package/dist/lib/input/input.cjs +1 -1
  100. package/dist/lib/input/input.cjs.map +1 -1
  101. package/dist/lib/input/input.js +53 -42
  102. package/dist/lib/input/input.js.map +1 -1
  103. package/dist/lib/item-layout/item-layout.cjs +3 -3
  104. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  105. package/dist/lib/item-layout/item-layout.js +74 -39
  106. package/dist/lib/item-layout/item-layout.js.map +1 -1
  107. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  108. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  109. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  110. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  111. package/dist/lib/link/link.cjs +1 -1
  112. package/dist/lib/link/link.cjs.map +1 -1
  113. package/dist/lib/link/link.js +21 -12
  114. package/dist/lib/link/link.js.map +1 -1
  115. package/dist/lib/list-item/list-item.cjs +1 -1
  116. package/dist/lib/list-item/list-item.cjs.map +1 -1
  117. package/dist/lib/list-item/list-item.js +25 -15
  118. package/dist/lib/list-item/list-item.js.map +1 -1
  119. package/dist/lib/loader/loader.cjs +13 -1
  120. package/dist/lib/loader/loader.cjs.map +1 -1
  121. package/dist/lib/loader/loader.js +31 -20
  122. package/dist/lib/loader/loader.js.map +1 -1
  123. package/dist/lib/message-input/message-input.cjs +1 -1
  124. package/dist/lib/message-input/message-input.cjs.map +1 -1
  125. package/dist/lib/message-input/message-input.js +44 -43
  126. package/dist/lib/message-input/message-input.js.map +1 -1
  127. package/dist/lib/mode-island/index.cjs +2 -0
  128. package/dist/lib/mode-island/index.cjs.map +1 -0
  129. package/dist/lib/mode-island/index.js +7 -0
  130. package/dist/lib/mode-island/index.js.map +1 -0
  131. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  132. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  133. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  134. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  135. package/dist/lib/mode-island/mode-island.cjs +2 -0
  136. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  137. package/dist/lib/mode-island/mode-island.js +130 -0
  138. package/dist/lib/mode-island/mode-island.js.map +1 -0
  139. package/dist/lib/mode-island/utils.cjs +2 -0
  140. package/dist/lib/mode-island/utils.cjs.map +1 -0
  141. package/dist/lib/mode-island/utils.js +32 -0
  142. package/dist/lib/mode-island/utils.js.map +1 -0
  143. package/dist/lib/mode-island/validators.cjs +2 -0
  144. package/dist/lib/mode-island/validators.cjs.map +1 -0
  145. package/dist/lib/mode-island/validators.js +12 -0
  146. package/dist/lib/mode-island/validators.js.map +1 -0
  147. package/dist/lib/pagination/pagination.cjs +1 -1
  148. package/dist/lib/pagination/pagination.cjs.map +1 -1
  149. package/dist/lib/pagination/pagination.js +15 -14
  150. package/dist/lib/pagination/pagination.js.map +1 -1
  151. package/dist/lib/popover/popover.cjs +1 -1
  152. package/dist/lib/popover/popover.cjs.map +1 -1
  153. package/dist/lib/popover/popover.js +1 -1
  154. package/dist/lib/popover/popover.js.map +1 -1
  155. package/dist/lib/progress-circle/index.cjs +2 -0
  156. package/dist/lib/progress-circle/index.cjs.map +1 -0
  157. package/dist/lib/progress-circle/index.js +10 -0
  158. package/dist/lib/progress-circle/index.js.map +1 -0
  159. package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
  160. package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
  161. package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
  162. package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
  163. package/dist/lib/progress-circle/progress-circle.cjs +2 -0
  164. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
  165. package/dist/lib/progress-circle/progress-circle.js +136 -0
  166. package/dist/lib/progress-circle/progress-circle.js.map +1 -0
  167. package/dist/lib/rich-text-editor/rich-text-editor.cjs +2 -2
  168. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  169. package/dist/lib/rich-text-editor/rich-text-editor.js +115 -97
  170. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  171. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  172. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  173. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  174. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  175. package/dist/lib/root-layout/root-layout.cjs +1 -1
  176. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  177. package/dist/lib/root-layout/root-layout.js +9 -10
  178. package/dist/lib/root-layout/root-layout.js.map +1 -1
  179. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  180. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  181. package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
  182. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  183. package/dist/lib/split-button/split-button-alpha.cjs +1 -1
  184. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
  185. package/dist/lib/split-button/split-button-alpha.js +51 -28
  186. package/dist/lib/split-button/split-button-alpha.js.map +1 -1
  187. package/dist/lib/split-button/split-button.cjs +1 -1
  188. package/dist/lib/split-button/split-button.cjs.map +1 -1
  189. package/dist/lib/split-button/split-button.js +235 -89
  190. package/dist/lib/split-button/split-button.js.map +1 -1
  191. package/dist/lib/text/index.cjs +2 -0
  192. package/dist/lib/text/index.cjs.map +1 -0
  193. package/dist/lib/text/index.js +20 -0
  194. package/dist/lib/text/index.js.map +1 -0
  195. package/dist/lib/text/text-constants.cjs +2 -0
  196. package/dist/lib/text/text-constants.cjs.map +1 -0
  197. package/dist/lib/text/text-constants.js +69 -0
  198. package/dist/lib/text/text-constants.js.map +1 -0
  199. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  200. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  201. package/dist/lib/text/text-tone-tokens.js +33 -0
  202. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  203. package/dist/lib/text/text.cjs +2 -0
  204. package/dist/lib/text/text.cjs.map +1 -0
  205. package/dist/lib/text/text.js +203 -0
  206. package/dist/lib/text/text.js.map +1 -0
  207. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  208. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  209. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  210. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  211. package/dist/localization/en-US.cjs +2 -0
  212. package/dist/localization/en-US.cjs.map +1 -1
  213. package/dist/localization/en-US.js +2 -0
  214. package/dist/localization/en-US.js.map +1 -1
  215. package/dist/localization/es-LA.cjs +1 -1
  216. package/dist/localization/es-LA.cjs.map +1 -1
  217. package/dist/localization/es-LA.js +1 -1
  218. package/dist/localization/es-LA.js.map +1 -1
  219. package/dist/localization/it-IT.cjs +3 -3
  220. package/dist/localization/it-IT.cjs.map +1 -1
  221. package/dist/localization/it-IT.js +3 -3
  222. package/dist/localization/it-IT.js.map +1 -1
  223. package/dist/localization/nl-NL.cjs +2 -2
  224. package/dist/localization/nl-NL.cjs.map +1 -1
  225. package/dist/localization/nl-NL.js +2 -2
  226. package/dist/localization/nl-NL.js.map +1 -1
  227. package/dist/localization/ru-RU.cjs +1 -1
  228. package/dist/localization/ru-RU.cjs.map +1 -1
  229. package/dist/localization/ru-RU.js +1 -1
  230. package/dist/localization/ru-RU.js.map +1 -1
  231. package/dist/localization/zh-CN.cjs +1 -1
  232. package/dist/localization/zh-CN.cjs.map +1 -1
  233. package/dist/localization/zh-CN.js +1 -1
  234. package/dist/localization/zh-CN.js.map +1 -1
  235. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  236. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  237. package/dist/style.css +1 -1
  238. package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
  239. package/dist/types/common/sr_only_close_button.vue.d.ts +20 -2
  240. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  241. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  242. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  243. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  244. package/dist/types/components/avatar/index.d.ts +1 -1
  245. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  246. package/dist/types/components/banner/banner.vue.d.ts +40 -4
  247. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  248. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  249. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  250. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  251. package/dist/types/components/button/button.vue.d.ts +20 -2
  252. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  253. package/dist/types/components/button/button_constants.d.ts +4 -0
  254. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  255. package/dist/types/components/chip/chip.vue.d.ts +20 -2
  256. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  257. package/dist/types/components/collapsible/collapsible.vue.d.ts +20 -2
  258. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  259. package/dist/types/components/combobox/combobox.vue.d.ts +79 -13
  260. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  261. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +39 -6
  262. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  263. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +39 -6
  264. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  265. package/dist/types/components/dropdown/dropdown.vue.d.ts +40 -4
  266. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  267. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2016 -0
  268. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  269. package/dist/types/components/filter_pill/index.d.ts +2 -0
  270. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  271. package/dist/types/components/hovercard/hovercard.vue.d.ts +80 -8
  272. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  273. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +40 -4
  274. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  275. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  276. package/dist/types/components/item_layout/item_layout.vue.d.ts +36 -5
  277. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  278. package/dist/types/components/link/link.vue.d.ts +9 -0
  279. package/dist/types/components/list_item/list_item.vue.d.ts +39 -6
  280. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  281. package/dist/types/components/loader/loader.vue.d.ts +1 -32
  282. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  283. package/dist/types/components/modal/modal.vue.d.ts +40 -4
  284. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  285. package/dist/types/components/mode_island/index.d.ts +3 -0
  286. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  287. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  288. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  289. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  290. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  291. package/dist/types/components/mode_island/utils.d.ts +12 -0
  292. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  293. package/dist/types/components/mode_island/validators.d.ts +6 -0
  294. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  295. package/dist/types/components/notice/notice.vue.d.ts +40 -4
  296. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  297. package/dist/types/components/notice/notice_action.vue.d.ts +40 -4
  298. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  299. package/dist/types/components/pagination/pagination.vue.d.ts +20 -2
  300. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  301. package/dist/types/components/popover/popover.vue.d.ts +40 -4
  302. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  303. package/dist/types/components/popover/popover_header_footer.vue.d.ts +20 -2
  304. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  305. package/dist/types/components/progress_circle/index.d.ts +3 -0
  306. package/dist/types/components/progress_circle/index.d.ts.map +1 -0
  307. package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
  308. package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
  309. package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
  310. package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
  311. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  312. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  313. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  314. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +71 -25
  315. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +39 -6
  316. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  317. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +61 -6
  318. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  319. package/dist/types/components/rich_text_editor/extensions/variable/variable.d.ts.map +1 -1
  320. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  321. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  322. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +21 -3
  323. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +1 -1
  324. package/dist/types/components/split_button/split_button-omega.vue.d.ts +20 -2
  325. package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  326. package/dist/types/components/split_button/split_button.vue.d.ts +214 -28
  327. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  328. package/dist/types/components/tab/tab.vue.d.ts +20 -2
  329. package/dist/types/components/text/index.d.ts +3 -0
  330. package/dist/types/components/text/index.d.ts.map +1 -0
  331. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  332. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  333. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  334. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  335. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  336. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  337. package/dist/types/components/text/text.vue.d.ts +141 -0
  338. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  339. package/dist/types/components/text/text_constants.d.ts +73 -0
  340. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  341. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  342. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  343. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +40 -4
  344. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  345. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +40 -4
  346. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  347. package/dist/types/components/toast/toast.vue.d.ts +160 -16
  348. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  349. package/dist/types/index.d.ts +4 -0
  350. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +20 -2
  351. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  352. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +80 -8
  353. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  354. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +80 -8
  355. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  356. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +60 -6
  357. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  358. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +20 -2
  359. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  360. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +198 -30
  361. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  362. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +124 -12
  363. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  364. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +104 -10
  365. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  366. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +20 -2
  367. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +60 -6
  368. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  369. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +60 -6
  370. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  371. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +20 -2
  372. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  373. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +56 -7
  374. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  375. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +110 -31
  376. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  377. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +56 -7
  378. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  379. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +20 -2
  380. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  381. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +80 -8
  382. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  383. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +20 -2
  384. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  385. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +20 -2
  386. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  387. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +107 -30
  388. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  389. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  390. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  391. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +20 -2
  392. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  393. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +449 -28
  394. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  395. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +378 -3
  396. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  397. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +378 -3
  398. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  399. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  400. package/package.json +6 -5
  401. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
  402. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +0 -1
@@ -0,0 +1,263 @@
1
+ import { ref as h, onMounted as j, resolveDirective as O, openBlock as d, createElementBlock as c, createVNode as a, unref as r, withCtx as n, createTextVNode as f, toDisplayString as y, Fragment as g, withDirectives as T, renderList as w, createBlock as _, withModifiers as V, createElementVNode as q, resolveDynamicComponent as B, markRaw as C, defineComponent as N, onErrorCaptured as F, h as M } from "vue";
2
+ import { DtIconExternalLink as U } from "@dialpad/dialtone-icons/vue3";
3
+ import { _ as A } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
4
+ import p from "../text/text.js";
5
+ import u from "../stack/stack.js";
6
+ import x from "../link/link.js";
7
+ const K = {
8
+ key: 0,
9
+ class: "d-d-flex d-ai-center d-jc-center d-h164"
10
+ }, P = {
11
+ __name: "kitchen_sink_view",
12
+ props: {
13
+ title: {
14
+ type: String,
15
+ required: !0
16
+ },
17
+ itemLabel: {
18
+ type: String,
19
+ required: !0
20
+ },
21
+ iframeUrl: {
22
+ type: String,
23
+ required: !0
24
+ },
25
+ loaders: {
26
+ type: Object,
27
+ required: !0
28
+ }
29
+ },
30
+ setup(k) {
31
+ const D = k, b = h([]), $ = h(!0);
32
+ function z(l) {
33
+ return l.toLowerCase().replace(/[\s/_]+/g, "-");
34
+ }
35
+ function E(l) {
36
+ var o;
37
+ (o = document.getElementById(`ks-${l}`)) == null || o.scrollIntoView({ behavior: "smooth" });
38
+ }
39
+ function I(l) {
40
+ return C(N({
41
+ name: `ErrorBoundary-${l}`,
42
+ setup(o, { slots: i }) {
43
+ const t = h(null);
44
+ return F((e) => (t.value = e.message || String(e), !1)), () => {
45
+ var e;
46
+ return t.value ? M("div", {
47
+ class: "d-fc-critical d-fs-200 d-p8 d-px12 d-bgc-critical d-bar4"
48
+ }, `Failed to render ${l}: ${t.value}`) : (e = i.default) == null ? void 0 : e.call(i);
49
+ };
50
+ }
51
+ }));
52
+ }
53
+ function L(l, o, i) {
54
+ const t = [];
55
+ for (const [e, s] of Object.entries(l)) {
56
+ if (e === "default" || !(s != null && s.render) || typeof s.render != "function") continue;
57
+ const v = { ...o.args, ...s.args };
58
+ try {
59
+ const m = s.render(v, {
60
+ argTypes: o.argTypes || {}
61
+ });
62
+ t.push({
63
+ name: e,
64
+ component: C(m),
65
+ errorBoundary: I(`${i} / ${e}`)
66
+ });
67
+ } catch (m) {
68
+ console.error(`Kitchen Sink: Failed to initialize ${i}/${e}:`, m);
69
+ }
70
+ }
71
+ return t;
72
+ }
73
+ return j(async () => {
74
+ const l = await Promise.allSettled(
75
+ Object.values(D.loaders).map(async (i) => i())
76
+ ), o = [];
77
+ for (const i of l) {
78
+ if (i.status !== "fulfilled") continue;
79
+ const t = i.value, e = t.default;
80
+ if (!(e != null && e.title)) continue;
81
+ const s = e.title.split("/").pop(), v = z(s), m = z(e.title), S = L(t, e, s);
82
+ S.length !== 0 && o.push({ id: v, name: s, storyId: m, variants: S });
83
+ }
84
+ b.value = o.sort((i, t) => i.name.localeCompare(t.name)), $.value = !1;
85
+ }), (l, o) => {
86
+ const i = O("dt-scrollbar");
87
+ return d(), c("div", null, [
88
+ $.value ? (d(), c("div", K, [
89
+ a(r(p), { tone: "muted" }, {
90
+ default: n(() => [
91
+ f(" Loading " + y(k.itemLabel) + "... ", 1)
92
+ ]),
93
+ _: 1
94
+ })
95
+ ])) : (d(), c(g, { key: 1 }, [
96
+ a(r(u), {
97
+ class: "d-p32 d-py16 d-pb8 d-bgc-secondary d-bb d-ps-sticky d-t0 d-zi-base1 d-mtn10 d-mxn10 d-bs-card",
98
+ gap: "400"
99
+ }, {
100
+ default: n(() => [
101
+ a(r(u), {
102
+ class: "d-px8",
103
+ gap: "400",
104
+ direction: "row",
105
+ justify: "between",
106
+ align: "baseline"
107
+ }, {
108
+ default: n(() => [
109
+ a(r(p), {
110
+ as: "h1",
111
+ kind: "headline",
112
+ size: "3xl"
113
+ }, {
114
+ default: n(() => [
115
+ f(y(k.title), 1)
116
+ ]),
117
+ _: 1
118
+ }),
119
+ a(r(p), {
120
+ kind: "body",
121
+ size: "sm"
122
+ }, {
123
+ default: n(() => [
124
+ a(r(x), {
125
+ href: k.iframeUrl,
126
+ target: "_blank",
127
+ rel: "noopener noreferrer"
128
+ }, {
129
+ default: n(() => [
130
+ a(r(u), {
131
+ gap: "300",
132
+ direction: "row"
133
+ }, {
134
+ default: n(() => [
135
+ o[0] || (o[0] = f(" Open in new window ", -1)),
136
+ a(r(U), { size: "200" })
137
+ ]),
138
+ _: 1
139
+ })
140
+ ]),
141
+ _: 1
142
+ }, 8, ["href"])
143
+ ]),
144
+ _: 1
145
+ })
146
+ ]),
147
+ _: 1
148
+ }),
149
+ T((d(), c("div", null, [
150
+ a(r(u), {
151
+ direction: "row",
152
+ gap: "400",
153
+ class: "d-pb8 d-px8"
154
+ }, {
155
+ default: n(() => [
156
+ (d(!0), c(g, null, w(b.value, (t) => (d(), _(r(x), {
157
+ key: t.id,
158
+ href: `#ks-${t.id}`,
159
+ onClick: V((e) => E(t.id), ["prevent"])
160
+ }, {
161
+ default: n(() => [
162
+ a(r(p), {
163
+ kind: "body",
164
+ size: "sm",
165
+ class: "d-ws-nowrap"
166
+ }, {
167
+ default: n(() => [
168
+ f(y(t.name), 1)
169
+ ]),
170
+ _: 2
171
+ }, 1024)
172
+ ]),
173
+ _: 2
174
+ }, 1032, ["href", "onClick"]))), 128))
175
+ ]),
176
+ _: 1
177
+ })
178
+ ])), [
179
+ [i]
180
+ ])
181
+ ]),
182
+ _: 1
183
+ }),
184
+ a(r(u), { class: "d-px32" }, {
185
+ default: n(() => [
186
+ (d(!0), c(g, null, w(b.value, (t) => (d(), _(r(u), {
187
+ id: `ks-${t.id}`,
188
+ key: t.id,
189
+ as: "section",
190
+ gap: "500",
191
+ class: "d-py32 kitchen-sink__section"
192
+ }, {
193
+ default: n(() => [
194
+ a(r(u), {
195
+ gap: "400",
196
+ direction: "row",
197
+ justify: "between",
198
+ align: "baseline"
199
+ }, {
200
+ default: n(() => [
201
+ a(r(p), {
202
+ as: "h2",
203
+ kind: "headline",
204
+ size: "2xl"
205
+ }, {
206
+ default: n(() => [
207
+ f(y(t.name), 1)
208
+ ]),
209
+ _: 2
210
+ }, 1024),
211
+ a(r(x), {
212
+ href: `/?path=/story/${t.storyId}--default`
213
+ }, {
214
+ default: n(() => [...o[1] || (o[1] = [
215
+ f(" View Story ", -1)
216
+ ])]),
217
+ _: 1
218
+ }, 8, ["href"])
219
+ ]),
220
+ _: 2
221
+ }, 1024),
222
+ (d(!0), c(g, null, w(t.variants, (e) => (d(), _(r(u), {
223
+ key: e.name,
224
+ class: "d-ba d-bc-subtle d-p16",
225
+ gap: "400"
226
+ }, {
227
+ default: n(() => [
228
+ a(r(p), {
229
+ size: "xs",
230
+ tone: "muted",
231
+ kind: "code"
232
+ }, {
233
+ default: n(() => [
234
+ f(y(e.name), 1)
235
+ ]),
236
+ _: 2
237
+ }, 1024),
238
+ q("div", null, [
239
+ (d(), _(B(e.errorBoundary), null, {
240
+ default: n(() => [
241
+ (d(), _(B(e.component)))
242
+ ]),
243
+ _: 2
244
+ }, 1024))
245
+ ])
246
+ ]),
247
+ _: 2
248
+ }, 1024))), 128))
249
+ ]),
250
+ _: 2
251
+ }, 1032, ["id"]))), 128))
252
+ ]),
253
+ _: 1
254
+ })
255
+ ], 64))
256
+ ]);
257
+ };
258
+ }
259
+ }, X = /* @__PURE__ */ A(P, [["__scopeId", "data-v-a77c21eb"]]);
260
+ export {
261
+ X as default
262
+ };
263
+ //# sourceMappingURL=kitchen-sink-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kitchen-sink-view.js","sources":["../../../components/kitchen_sink/kitchen_sink_view.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class, vue/no-bare-strings-in-template -->\n<template>\n <div>\n <div\n v-if=\"loading\"\n class=\"d-d-flex d-ai-center d-jc-center d-h164\"\n >\n <dt-text\n tone=\"muted\"\n >\n Loading {{ itemLabel }}...\n </dt-text>\n </div>\n <template v-else>\n <dt-stack\n class=\"\n d-p32\n d-py16\n d-pb8\n d-bgc-secondary\n d-bb\n d-ps-sticky\n d-t0\n d-zi-base1\n d-mtn10\n d-mxn10\n d-bs-card\n \"\n gap=\"400\"\n >\n <dt-stack\n class=\"d-px8\"\n gap=\"400\"\n direction=\"row\"\n justify=\"between\"\n align=\"baseline\"\n >\n <dt-text\n as=\"h1\"\n kind=\"headline\"\n size=\"3xl\"\n >\n {{ title }}\n </dt-text>\n <dt-text\n kind=\"body\"\n size=\"sm\"\n >\n <dt-link\n :href=\"iframeUrl\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <dt-stack\n gap=\"300\"\n direction=\"row\"\n >\n Open in new window\n <dt-icon-external-link size=\"200\" />\n </dt-stack>\n </dt-link>\n </dt-text>\n </dt-stack>\n <div\n v-dt-scrollbar\n >\n <dt-stack\n direction=\"row\"\n gap=\"400\"\n class=\"d-pb8 d-px8\"\n >\n <dt-link\n v-for=\"section in sections\"\n :key=\"section.id\"\n :href=\"`#ks-${section.id}`\"\n @click.prevent=\"scrollTo(section.id)\"\n >\n <dt-text\n kind=\"body\"\n size=\"sm\"\n class=\"d-ws-nowrap\"\n >\n {{ section.name }}\n </dt-text>\n </dt-link>\n </dt-stack>\n </div>\n </dt-stack>\n <dt-stack class=\"d-px32\">\n <dt-stack\n v-for=\"section in sections\"\n :id=\"`ks-${section.id}`\"\n :key=\"section.id\"\n as=\"section\"\n gap=\"500\"\n class=\"d-py32 kitchen-sink__section\"\n >\n <dt-stack\n gap=\"400\"\n direction=\"row\"\n justify=\"between\"\n align=\"baseline\"\n >\n <dt-text\n as=\"h2\"\n kind=\"headline\"\n size=\"2xl\"\n >\n {{ section.name }}\n </dt-text>\n <dt-link\n :href=\"`/?path=/story/${section.storyId}--default`\"\n >\n View Story\n </dt-link>\n </dt-stack>\n <dt-stack\n v-for=\"variant in section.variants\"\n :key=\"variant.name\"\n class=\"d-ba d-bc-subtle d-p16\"\n gap=\"400\"\n >\n <dt-text\n size=\"xs\"\n tone=\"muted\"\n kind=\"code\"\n >\n {{ variant.name }}\n </dt-text>\n <div>\n <component :is=\"variant.errorBoundary\">\n <component :is=\"variant.component\" />\n </component>\n </div>\n </dt-stack>\n </dt-stack>\n </dt-stack>\n </template>\n </div>\n</template>\n\n<script setup>\nimport { ref, h, onErrorCaptured, onMounted, defineComponent, markRaw } from 'vue';\nimport { DtLink } from '@/components/link';\nimport { DtStack } from '@/components/stack';\nimport { DtText } from '@/components/text';\nimport { DtIconExternalLink } from '@dialpad/dialtone-icons/vue3';\n\nconst props = defineProps({\n title: {\n type: String,\n required: true,\n },\n itemLabel: {\n type: String,\n required: true,\n },\n iframeUrl: {\n type: String,\n required: true,\n },\n loaders: {\n type: Object,\n required: true,\n },\n});\n\nconst sections = ref([]);\nconst loading = ref(true);\n\nfunction sanitizeId (str) {\n return str.toLowerCase().replace(/[\\s/_]+/g, '-');\n}\n\nfunction scrollTo (id) {\n document.getElementById(`ks-${id}`)?.scrollIntoView({ behavior: 'smooth' });\n}\n\nfunction createErrorBoundary (name) {\n return markRaw(defineComponent({\n name: `ErrorBoundary-${name}`,\n setup (_, { slots }) {\n const error = ref(null);\n onErrorCaptured((err) => {\n error.value = err.message || String(err);\n return false;\n });\n return () => {\n if (error.value) {\n return h('div', {\n class: 'd-fc-critical d-fs-200 d-p8 d-px12 d-bgc-critical d-bar4',\n }, `Failed to render ${name}: ${error.value}`);\n }\n return slots.default?.();\n };\n },\n }));\n}\n\nfunction extractVariants (module, meta, name) {\n const variants = [];\n\n for (const [exportName, exportValue] of Object.entries(module)) {\n if (exportName === 'default') continue;\n if (!exportValue?.render || typeof exportValue.render !== 'function') continue;\n\n const mergedArgs = { ...meta.args, ...exportValue.args };\n\n try {\n const componentOptions = exportValue.render(mergedArgs, {\n argTypes: meta.argTypes || {},\n });\n variants.push({\n name: exportName,\n component: markRaw(componentOptions),\n errorBoundary: createErrorBoundary(`${name} / ${exportName}`),\n });\n } catch (e) {\n console.error(`Kitchen Sink: Failed to initialize ${name}/${exportName}:`, e);\n }\n }\n\n return variants;\n}\n\nonMounted(async () => {\n const results = await Promise.allSettled(\n Object.values(props.loaders).map(async (loader) => loader()),\n );\n\n const loaded = [];\n\n for (const result of results) {\n if (result.status !== 'fulfilled') continue;\n\n const module = result.value;\n const meta = module.default;\n if (!meta?.title) continue;\n\n const name = meta.title.split('/').pop();\n const id = sanitizeId(name);\n const storyId = sanitizeId(meta.title);\n const variants = extractVariants(module, meta, name);\n\n if (variants.length === 0) continue;\n\n loaded.push({ id, name, storyId, variants });\n }\n\n sections.value = loaded.sort((a, b) => a.name.localeCompare(b.name));\n loading.value = false;\n});\n</script>\n\n<style scoped>\n.kitchen-sink__section {\n scroll-margin-block-start: var(--dt-size-750);\n}\n</style>\n"],"names":["props","__props","sections","ref","loading","sanitizeId","str","scrollTo","id","_a","createErrorBoundary","name","markRaw","defineComponent","_","slots","error","onErrorCaptured","err","h","extractVariants","module","meta","variants","exportName","exportValue","mergedArgs","componentOptions","e","onMounted","results","loader","loaded","result","storyId","a","b","_createElementBlock","_openBlock","_hoisted_1","_createVNode","_unref","DtText","_toDisplayString","_Fragment","DtStack","DtLink","DtIconExternalLink","_renderList","section","_createBlock","_withModifiers","$event","_createTextVNode","_cache","variant","_createElementVNode","_resolveDynamicComponent"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n=require("./link-constants.cjs"),i=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),o={compatConfig:{MODE:3},name:"DtLink",props:{kind:{type:String,default:"",validator(t){return n.LINK_VARIANTS.includes(t)}},inverted:{type:Boolean,default:!1},href:{type:String,default:null},to:{type:[String,Object],default:null},replace:{type:Boolean,default:!1}},data(){return{LINK_KIND_MODIFIERS:n.LINK_KIND_MODIFIERS}},computed:{computedTag(){return this.to?e.resolveComponent("RouterLink"):"a"},computedAttrs(){return this.to?{to:this.to,replace:this.replace}:{href:this.href||"javascript:void(0)"}}},methods:{getLinkClasses(){return["d-link",n.getLinkKindModifier(this.kind,this.inverted)]}}};function a(t,s,u,d,c,r){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.computedTag),e.mergeProps({class:r.getLinkClasses(),"data-qa":"dt-link"},r.computedAttrs),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16,["class"])}const l=i._(o,[["render",a]]);exports.default=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n=require("./link-constants.cjs"),i=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),l={compatConfig:{MODE:3},name:"DtLink",props:{kind:{type:String,default:"",validator(t){return n.LINK_VARIANTS.includes(t)}},inverted:{type:Boolean,default:!1},href:{type:String,default:null},to:{type:[String,Object],default:null},replace:{type:Boolean,default:!1},underline:{type:Boolean,default:!0}},data(){return{LINK_KIND_MODIFIERS:n.LINK_KIND_MODIFIERS}},computed:{computedTag(){return this.to?e.resolveComponent("RouterLink"):"a"},computedAttrs(){return this.to?{to:this.to,replace:this.replace}:{href:this.href||"javascript:void(0)"}}},methods:{getLinkClasses(){return["d-link",n.getLinkKindModifier(this.kind,this.inverted),{"d-link--no-underline":!this.underline}]}}};function o(t,s,u,d,c,r){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.computedTag),e.mergeProps({class:r.getLinkClasses(),"data-qa":"dt-link"},r.computedAttrs),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16,["class"])}const a=i._(l,[["render",o]]);exports.default=a;
2
2
  //# sourceMappingURL=link.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.cjs","sources":["../../../components/link/link.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"getLinkClasses()\"\n data-qa=\"dt-link\"\n v-bind=\"computedAttrs\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { resolveComponent } from 'vue';\nimport { LINK_VARIANTS, LINK_KIND_MODIFIERS, getLinkKindModifier } from './link_constants';\n\n/**\n * A link is a navigational element that can be found on its own, within other text, or directly following content.\n * @property {String} rel attribute\n * @see https://dialtone.dialpad.com/components/link.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtLink',\n\n props: {\n /**\n * Applies the link variant styles\n * @values null, danger, warning, success, muted, mention\n */\n kind: {\n type: String,\n default: '',\n validator (kind) {\n return LINK_VARIANTS.includes(kind);\n },\n },\n\n /**\n * Determines whether the link should have inverted styling\n * default is false.\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * URL for anchor link navigation. Renders as a native <a> element.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * Vue Router destination. Renders as a <router-link>.\n * Takes precedence over href when both are provided.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When true, navigation replaces the current history entry instead of pushing.\n * Only applies when `to` is provided.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n },\n\n data () {\n return {\n LINK_KIND_MODIFIERS,\n };\n },\n\n computed: {\n computedTag () {\n if (this.to) {\n return resolveComponent('RouterLink');\n }\n return 'a';\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n };\n }\n return {\n href: this.href || 'javascript:void(0)',\n };\n },\n },\n\n methods: {\n getLinkClasses () {\n return [\n 'd-link',\n getLinkKindModifier(this.kind, this.inverted),\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","kind","LINK_VARIANTS","LINK_KIND_MODIFIERS","resolveComponent","getLinkKindModifier","_createBlock","_resolveDynamicComponent","$options","_mergeProps","_renderSlot","_ctx"],"mappings":"+NAqBKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,SAEN,MAAO,CAKL,KAAM,CACJ,KAAM,OACN,QAAS,GACT,UAAWC,EAAM,CACf,OAAOC,EAAAA,cAAc,SAASD,CAAI,CACpC,GAQF,SAAU,CACR,KAAM,QACN,QAAS,IAMX,KAAM,CACJ,KAAM,OACN,QAAS,MAQX,GAAI,CACF,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,MAQX,QAAS,CACP,KAAM,QACN,QAAS,KAIb,MAAQ,CACN,MAAO,CACL,oBAAAE,EAAAA,oBAEJ,EAEA,SAAU,CACR,aAAe,CACb,OAAI,KAAK,GACAC,EAAAA,iBAAiB,YAAY,EAE/B,GACT,EAEA,eAAiB,CACf,OAAI,KAAK,GACA,CACL,GAAI,KAAK,GACT,QAAS,KAAK,SAGX,CACL,KAAM,KAAK,MAAQ,qBAEvB,GAGF,QAAS,CACP,gBAAkB,CAChB,MAAO,CACL,SACAC,EAAAA,oBAAoB,KAAK,KAAM,KAAK,QAAQ,EAEhD,EAEJ,+CA/GEC,cAQYC,EAAAA,wBAPLC,EAAA,WAAW,EADlBC,aAQY,CANT,MAAOD,EAAA,eAAc,EACtB,UAAQ,WACAA,EAAA,aAAa,EAAA,mBAGrB,IAAQ,CAARE,aAAQC,EAAA,OAAA,SAAA"}
1
+ {"version":3,"file":"link.cjs","sources":["../../../components/link/link.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"getLinkClasses()\"\n data-qa=\"dt-link\"\n v-bind=\"computedAttrs\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { resolveComponent } from 'vue';\nimport { LINK_VARIANTS, LINK_KIND_MODIFIERS, getLinkKindModifier } from './link_constants';\n\n/**\n * A link is a navigational element that can be found on its own, within other text, or directly following content.\n * @property {String} rel attribute\n * @see https://dialtone.dialpad.com/components/link.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtLink',\n\n props: {\n /**\n * Applies the link variant styles\n * @values null, danger, warning, success, muted, mention\n */\n kind: {\n type: String,\n default: '',\n validator (kind) {\n return LINK_VARIANTS.includes(kind);\n },\n },\n\n /**\n * Determines whether the link should have inverted styling\n * default is false.\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * URL for anchor link navigation. Renders as a native <a> element.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * Vue Router destination. Renders as a <router-link>.\n * Takes precedence over href when both are provided.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When true, navigation replaces the current history entry instead of pushing.\n * Only applies when `to` is provided.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the link should display an underline.\n * @values true, false\n */\n underline: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n LINK_KIND_MODIFIERS,\n };\n },\n\n computed: {\n computedTag () {\n if (this.to) {\n return resolveComponent('RouterLink');\n }\n return 'a';\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n };\n }\n return {\n href: this.href || 'javascript:void(0)',\n };\n },\n },\n\n methods: {\n getLinkClasses () {\n return [\n 'd-link',\n getLinkKindModifier(this.kind, this.inverted),\n { 'd-link--no-underline': !this.underline },\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","kind","LINK_VARIANTS","LINK_KIND_MODIFIERS","resolveComponent","getLinkKindModifier","_createBlock","_resolveDynamicComponent","$options","_mergeProps","_renderSlot","_ctx"],"mappings":"+NAqBKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,SAEN,MAAO,CAKL,KAAM,CACJ,KAAM,OACN,QAAS,GACT,UAAWC,EAAM,CACf,OAAOC,EAAAA,cAAc,SAASD,CAAI,CACpC,GAQF,SAAU,CACR,KAAM,QACN,QAAS,IAMX,KAAM,CACJ,KAAM,OACN,QAAS,MAQX,GAAI,CACF,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,MAQX,QAAS,CACP,KAAM,QACN,QAAS,IAOX,UAAW,CACT,KAAM,QACN,QAAS,KAIb,MAAQ,CACN,MAAO,CACL,oBAAAE,EAAAA,oBAEJ,EAEA,SAAU,CACR,aAAe,CACb,OAAI,KAAK,GACAC,EAAAA,iBAAiB,YAAY,EAE/B,GACT,EAEA,eAAiB,CACf,OAAI,KAAK,GACA,CACL,GAAI,KAAK,GACT,QAAS,KAAK,SAGX,CACL,KAAM,KAAK,MAAQ,qBAEvB,GAGF,QAAS,CACP,gBAAkB,CAChB,MAAO,CACL,SACAC,EAAAA,oBAAoB,KAAK,KAAM,KAAK,QAAQ,EAC5C,CAAE,uBAAwB,CAAC,KAAK,WAEpC,EAEJ,+CAzHEC,cAQYC,EAAAA,wBAPLC,EAAA,WAAW,EADlBC,aAQY,CANT,MAAOD,EAAA,eAAc,EACtB,UAAQ,WACAA,EAAA,aAAa,EAAA,mBAGrB,IAAQ,CAARE,aAAQC,EAAA,OAAA,SAAA"}
@@ -1,5 +1,5 @@
1
- import { resolveComponent as r, openBlock as n, createBlock as o, resolveDynamicComponent as a, mergeProps as i, withCtx as s, renderSlot as l } from "vue";
2
- import { getLinkKindModifier as d, LINK_KIND_MODIFIERS as p, LINK_VARIANTS as u } from "./link-constants.js";
1
+ import { resolveComponent as r, openBlock as n, createBlock as o, resolveDynamicComponent as a, mergeProps as i, withCtx as l, renderSlot as s } from "vue";
2
+ import { getLinkKindModifier as d, LINK_KIND_MODIFIERS as u, LINK_VARIANTS as p } from "./link-constants.js";
3
3
  import { _ as c } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const f = {
5
5
  compatConfig: { MODE: 3 },
@@ -12,8 +12,8 @@ const f = {
12
12
  kind: {
13
13
  type: String,
14
14
  default: "",
15
- validator(t) {
16
- return u.includes(t);
15
+ validator(e) {
16
+ return p.includes(e);
17
17
  }
18
18
  },
19
19
  /**
@@ -49,11 +49,19 @@ const f = {
49
49
  replace: {
50
50
  type: Boolean,
51
51
  default: !1
52
+ },
53
+ /**
54
+ * Determines whether the link should display an underline.
55
+ * @values true, false
56
+ */
57
+ underline: {
58
+ type: Boolean,
59
+ default: !0
52
60
  }
53
61
  },
54
62
  data() {
55
63
  return {
56
- LINK_KIND_MODIFIERS: p
64
+ LINK_KIND_MODIFIERS: u
57
65
  };
58
66
  },
59
67
  computed: {
@@ -73,18 +81,19 @@ const f = {
73
81
  getLinkClasses() {
74
82
  return [
75
83
  "d-link",
76
- d(this.kind, this.inverted)
84
+ d(this.kind, this.inverted),
85
+ { "d-link--no-underline": !this.underline }
77
86
  ];
78
87
  }
79
88
  }
80
89
  };
81
- function m(t, h, k, _, g, e) {
82
- return n(), o(a(e.computedTag), i({
83
- class: e.getLinkClasses(),
90
+ function m(e, h, k, _, g, t) {
91
+ return n(), o(a(t.computedTag), i({
92
+ class: t.getLinkClasses(),
84
93
  "data-qa": "dt-link"
85
- }, e.computedAttrs), {
86
- default: s(() => [
87
- l(t.$slots, "default")
94
+ }, t.computedAttrs), {
95
+ default: l(() => [
96
+ s(e.$slots, "default")
88
97
  ]),
89
98
  _: 3
90
99
  }, 16, ["class"]);
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sources":["../../../components/link/link.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"getLinkClasses()\"\n data-qa=\"dt-link\"\n v-bind=\"computedAttrs\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { resolveComponent } from 'vue';\nimport { LINK_VARIANTS, LINK_KIND_MODIFIERS, getLinkKindModifier } from './link_constants';\n\n/**\n * A link is a navigational element that can be found on its own, within other text, or directly following content.\n * @property {String} rel attribute\n * @see https://dialtone.dialpad.com/components/link.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtLink',\n\n props: {\n /**\n * Applies the link variant styles\n * @values null, danger, warning, success, muted, mention\n */\n kind: {\n type: String,\n default: '',\n validator (kind) {\n return LINK_VARIANTS.includes(kind);\n },\n },\n\n /**\n * Determines whether the link should have inverted styling\n * default is false.\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * URL for anchor link navigation. Renders as a native <a> element.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * Vue Router destination. Renders as a <router-link>.\n * Takes precedence over href when both are provided.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When true, navigation replaces the current history entry instead of pushing.\n * Only applies when `to` is provided.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n },\n\n data () {\n return {\n LINK_KIND_MODIFIERS,\n };\n },\n\n computed: {\n computedTag () {\n if (this.to) {\n return resolveComponent('RouterLink');\n }\n return 'a';\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n };\n }\n return {\n href: this.href || 'javascript:void(0)',\n };\n },\n },\n\n methods: {\n getLinkClasses () {\n return [\n 'd-link',\n getLinkKindModifier(this.kind, this.inverted),\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","kind","LINK_VARIANTS","LINK_KIND_MODIFIERS","resolveComponent","getLinkKindModifier","_createBlock","_resolveDynamicComponent","$options","_mergeProps","_renderSlot","_ctx"],"mappings":";;;AAqBA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAWC,GAAM;AACf,eAAOC,EAAc,SAASD,CAAI;AAAA,MACpC;AAAA;;;;;;IAQF,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;IAQX,IAAI;AAAA,MACF,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;;;;;;IAQX,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAQ;AACN,WAAO;AAAA,MACL,qBAAAE;AAAA;EAEJ;AAAA,EAEA,UAAU;AAAA,IACR,cAAe;AACb,aAAI,KAAK,KACAC,EAAiB,YAAY,IAE/B;AAAA,IACT;AAAA,IAEA,gBAAiB;AACf,aAAI,KAAK,KACA;AAAA,QACL,IAAI,KAAK;AAAA,QACT,SAAS,KAAK;AAAA,UAGX;AAAA,QACL,MAAM,KAAK,QAAQ;AAAA;IAEvB;AAAA;EAGF,SAAS;AAAA,IACP,iBAAkB;AAChB,aAAO;AAAA,QACL;AAAA,QACAC,EAAoB,KAAK,MAAM,KAAK,QAAQ;AAAA;IAEhD;AAAA;AAEJ;;cA/GEC,EAQYC,EAPLC,EAAA,WAAW,GADlBC,EAQY;AAAA,IANT,OAAOD,EAAA,eAAc;AAAA,IACtB,WAAQ;AAAA,KACAA,EAAA,aAAa,GAAA;AAAA,eAGrB,MAAQ;AAAA,MAARE,EAAQC,EAAA,QAAA,SAAA;AAAA;;;;;"}
1
+ {"version":3,"file":"link.js","sources":["../../../components/link/link.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"getLinkClasses()\"\n data-qa=\"dt-link\"\n v-bind=\"computedAttrs\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { resolveComponent } from 'vue';\nimport { LINK_VARIANTS, LINK_KIND_MODIFIERS, getLinkKindModifier } from './link_constants';\n\n/**\n * A link is a navigational element that can be found on its own, within other text, or directly following content.\n * @property {String} rel attribute\n * @see https://dialtone.dialpad.com/components/link.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtLink',\n\n props: {\n /**\n * Applies the link variant styles\n * @values null, danger, warning, success, muted, mention\n */\n kind: {\n type: String,\n default: '',\n validator (kind) {\n return LINK_VARIANTS.includes(kind);\n },\n },\n\n /**\n * Determines whether the link should have inverted styling\n * default is false.\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * URL for anchor link navigation. Renders as a native <a> element.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * Vue Router destination. Renders as a <router-link>.\n * Takes precedence over href when both are provided.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When true, navigation replaces the current history entry instead of pushing.\n * Only applies when `to` is provided.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the link should display an underline.\n * @values true, false\n */\n underline: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n LINK_KIND_MODIFIERS,\n };\n },\n\n computed: {\n computedTag () {\n if (this.to) {\n return resolveComponent('RouterLink');\n }\n return 'a';\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n };\n }\n return {\n href: this.href || 'javascript:void(0)',\n };\n },\n },\n\n methods: {\n getLinkClasses () {\n return [\n 'd-link',\n getLinkKindModifier(this.kind, this.inverted),\n { 'd-link--no-underline': !this.underline },\n ];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","kind","LINK_VARIANTS","LINK_KIND_MODIFIERS","resolveComponent","getLinkKindModifier","_createBlock","_resolveDynamicComponent","$options","_mergeProps","_renderSlot","_ctx"],"mappings":";;;AAqBA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAWC,GAAM;AACf,eAAOC,EAAc,SAASD,CAAI;AAAA,MACpC;AAAA;;;;;;IAQF,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;IAQX,IAAI;AAAA,MACF,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;;;;;;IAQX,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAQ;AACN,WAAO;AAAA,MACL,qBAAAE;AAAA;EAEJ;AAAA,EAEA,UAAU;AAAA,IACR,cAAe;AACb,aAAI,KAAK,KACAC,EAAiB,YAAY,IAE/B;AAAA,IACT;AAAA,IAEA,gBAAiB;AACf,aAAI,KAAK,KACA;AAAA,QACL,IAAI,KAAK;AAAA,QACT,SAAS,KAAK;AAAA,UAGX;AAAA,QACL,MAAM,KAAK,QAAQ;AAAA;IAEvB;AAAA;EAGF,SAAS;AAAA,IACP,iBAAkB;AAChB,aAAO;AAAA,QACL;AAAA,QACAC,EAAoB,KAAK,MAAM,KAAK,QAAQ;AAAA,QAC5C,EAAE,wBAAwB,CAAC,KAAK;;IAEpC;AAAA;AAEJ;;cAzHEC,EAQYC,EAPLC,EAAA,WAAW,GADlBC,EAQY;AAAA,IANT,OAAOD,EAAA,eAAc;AAAA,IACtB,WAAQ;AAAA,KACAA,EAAA,aAAa,GAAA;AAAA,eAGrB,MAAQ;AAAA,MAARE,EAAQC,EAAA,QAAA,SAAA;AAAA;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("./list-item-constants.cjs"),r=require("../../common/utils/index.cjs"),d=require("@dialpad/dialtone-icons/vue3"),t=require("vue"),u=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),c=require("../item-layout/item-layout.cjs"),m=["listitem","menuitem","option"],_={compatConfig:{MODE:3},name:"DtListItem",components:{DtItemLayout:c.default,DtIconCheck:d.DtIconCheck},inject:{highlightId:{default:null}},props:{id:{type:String,default(){return r.default.getUniqueString()}},role:{type:String,default:"listitem",validator:e=>m.includes(e)},elementType:{type:String,default:"li"},type:{type:String,default:s.LIST_ITEM_TYPES.DEFAULT,validator:e=>Object.values(s.LIST_ITEM_TYPES).includes(e)},navigationType:{type:String,default:s.LIST_ITEM_NAVIGATION_TYPES.NONE,validator:e=>Object.values(s.LIST_ITEM_NAVIGATION_TYPES).includes(e)},selected:{type:Boolean,default:!1},wrapperClass:{type:[String,Object,Array],default:""}},emits:["keydown","mousemove","mouseleave"],data(){return{injected:!1,mouseHighlighted:!1}},computed:{isDefaultType(){return this.type===s.LIST_ITEM_TYPES.DEFAULT},listItemListeners(){return{keydown:e=>{["enter","space"].includes(e.code.toLowerCase())&&this.onClick(e),this.$emit("keydown",e)},mousemove:e=>{this.onMouseHover(e),this.$emit("mousemove",e)},mouseleave:e=>{this.onMouseLeave(e),this.$emit("mouseleave",e)}}},isHighlighted(){return this.isHoverable?this.highlightId&&this.highlightId()?this.id===this.highlightId():this.mouseHighlighted:!1},isFocusable(){return this.navigationType===s.LIST_ITEM_NAVIGATION_TYPES.TAB},isHoverable(){return this.navigationType!==s.LIST_ITEM_NAVIGATION_TYPES.NONE}},methods:{onClick(e){this.$emit("click",e)},onMouseHover(){this.mouseHighlighted=!0},onMouseLeave(){this.mouseHighlighted=!1}}};function h(e,T,l,I,f,i){const a=t.resolveComponent("dt-icon-check"),n=t.resolveComponent("dt-item-layout");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.elementType),t.mergeProps({id:l.id,class:["d-list-item",{"d-list-item--focusable":i.isFocusable,"d-list-item--highlighted":i.isHighlighted,"d-list-item--static":!i.isHoverable}],tabindex:i.isFocusable?0:-1,role:l.role,"aria-selected":l.role==="listitem"?void 0:i.isHighlighted},t.toHandlers(i.listItemListeners)),{default:t.withCtx(()=>[i.isDefaultType?(t.openBlock(),t.createBlock(n,{key:0,unstyled:"",class:t.normalizeClass(["d-list-item__wrapper",l.wrapperClass]),"left-class":"d-list-item__left","content-class":"d-list-item__content","title-class":"d-list-item__title","subtitle-class":"d-list-item__subtitle","bottom-class":"d-list-item__bottom","right-class":"d-list-item__right","selected-class":"d-list-item__selected","data-qa":"dt-list-item-wrapper"},t.createSlots({_:2},[t.renderList(e.$slots,(y,o)=>({name:o,fn:t.withCtx(()=>[t.renderSlot(e.$slots,o)])})),l.selected?{name:"selected",fn:t.withCtx(()=>[t.createVNode(a,{size:"400"})]),key:"0"}:void 0]),1032,["class"])):t.renderSlot(e.$slots,"default",{key:1})]),_:3},16,["id","class","tabindex","role","aria-selected"])}const g=u._(_,[["render",h]]);exports.default=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("./list-item-constants.cjs"),r=require("../../common/utils/index.cjs"),d=require("@dialpad/dialtone-icons/vue3"),t=require("vue"),c=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),u=require("../item-layout/item-layout.cjs"),m=["listitem","menuitem","option"],_={compatConfig:{MODE:3},name:"DtListItem",components:{DtItemLayout:u.default,DtIconCheck:d.DtIconCheck},inject:{highlightId:{default:null}},props:{id:{type:String,default(){return r.default.getUniqueString()}},role:{type:String,default:"listitem",validator:e=>m.includes(e)},elementType:{type:String,default:"li"},type:{type:String,default:s.LIST_ITEM_TYPES.DEFAULT,validator:e=>Object.values(s.LIST_ITEM_TYPES).includes(e)},navigationType:{type:String,default:s.LIST_ITEM_NAVIGATION_TYPES.NONE,validator:e=>Object.values(s.LIST_ITEM_NAVIGATION_TYPES).includes(e)},selected:{type:Boolean,default:!1},wrapperClass:{type:[String,Object,Array],default:""}},emits:["click","keydown","mousemove","mouseleave"],data(){return{injected:!1,mouseHighlighted:!1}},computed:{isDefaultType(){return this.type===s.LIST_ITEM_TYPES.DEFAULT},listItemListeners(){return{click:e=>{this.onClick(e)},keydown:e=>{["enter","space"].includes(e.code.toLowerCase())&&this.onClick(e),this.$emit("keydown",e)},mousemove:e=>{this.onMouseHover(e),this.$emit("mousemove",e)},mouseleave:e=>{this.onMouseLeave(e),this.$emit("mouseleave",e)}}},isHighlighted(){return this.isHoverable?this.highlightId&&this.highlightId()?this.id===this.highlightId():this.mouseHighlighted:!1},isFocusable(){return this.navigationType===s.LIST_ITEM_NAVIGATION_TYPES.TAB},isHoverable(){return this.navigationType!==s.LIST_ITEM_NAVIGATION_TYPES.NONE}},methods:{onClick(e){this.$emit("click",e)},onMouseHover(){this.mouseHighlighted=!0},onMouseLeave(){this.mouseHighlighted=!1}}};function h(e,T,l,I,f,i){const n=t.resolveComponent("dt-icon-check"),a=t.resolveComponent("dt-item-layout");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.elementType),t.mergeProps({id:l.id,class:["d-list-item",{"d-list-item--focusable":i.isFocusable,"d-list-item--highlighted":i.isHighlighted,"d-list-item--static":!i.isHoverable}],tabindex:i.isFocusable?0:-1,role:l.role,"aria-selected":l.role==="listitem"?void 0:i.isHighlighted},t.toHandlers(i.listItemListeners)),{default:t.withCtx(()=>[i.isDefaultType?(t.openBlock(),t.createBlock(a,{key:0,unstyled:"",class:t.normalizeClass(["d-list-item__wrapper",l.wrapperClass]),"start-class":"d-list-item__left","content-class":"d-list-item__content","title-class":"d-list-item__title","subtitle-class":"d-list-item__subtitle","block-end-class":"d-list-item__bottom","end-class":"d-list-item__right","selected-class":"d-list-item__selected","data-qa":"dt-list-item-wrapper"},t.createSlots({_:2},[t.renderList(e.$slots,(y,o)=>({name:o,fn:t.withCtx(()=>[t.renderSlot(e.$slots,o)])})),l.selected?{name:"selected",fn:t.withCtx(()=>[t.createVNode(n,{size:"400"})]),key:"0"}:void 0]),1032,["class"])):t.renderSlot(e.$slots,"default",{key:1})]),_:3},16,["id","class","tabindex","role","aria-selected"])}const g=c._(_,[["render",h]]);exports.default=g;
2
2
  //# sourceMappingURL=list-item.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.cjs","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n :class=\"['d-list-item__wrapper', wrapperClass]\"\n left-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n bottom-class=\"d-list-item__bottom\"\n right-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n data-qa=\"dt-list-item-wrapper\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue3';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional Classes to apply to the wrapper element,\n * note: it only applies on \"default\" type\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n wrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n return this.type === LIST_ITEM_TYPES.DEFAULT;\n },\n\n listItemListeners () {\n return {\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n // disabled as we do not want to override native click\n // eslint-disable-next-line vue/require-explicit-emits\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","t","LIST_ITEM_NAVIGATION_TYPES","event","_createBlock","_resolveDynamicComponent","$props","_mergeProps","$options","_toHandlers","_component_dt_item_layout","_ctx","_","slotName","_renderSlot","_createVNode","_component_dt_icon_check"],"mappings":"oWAyDMA,EAAQ,CAAC,WAAY,WAAY,QAAQ,EAM1CC,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,aAEN,WAAY,cACVC,EAAAA,oBACAC,EAAAA,aAMF,OAAQ,CACN,YAAa,CAAE,QAAS,IAAG,GAG7B,MAAO,CAIL,GAAI,CACF,KAAM,OACN,SAAW,CAAE,OAAOC,EAAAA,QAAM,gBAAe,CAAI,GAM/C,KAAM,CACJ,KAAM,OACN,QAAS,WACT,UAAYC,GAAUL,EAAO,SAASK,CAAI,GAM5C,YAAa,CACX,KAAM,OACN,QAAS,MAOX,KAAM,CACJ,KAAM,OACN,QAASC,EAAAA,gBAAgB,QACzB,UAAYC,GAAM,OAAO,OAAOD,iBAAe,EAAE,SAASC,CAAC,GAU7D,eAAgB,CACd,KAAM,OACN,QAASC,EAAAA,2BAA2B,KACpC,UAAYD,GAAM,OAAO,OAAOC,4BAA0B,EAAE,SAASD,CAAC,GAMxE,SAAU,CACR,KAAM,QACN,QAAS,IASX,aAAc,CACZ,KAAM,CAAC,OAAQ,OAAQ,KAAK,EAC5B,QAAS,KAIb,MAAO,CAOL,UAQA,YAQA,cAGF,MAAQ,CACN,MAAO,CACL,SAAU,GACV,iBAAkB,GAEtB,EAEA,SAAU,CACR,eAAiB,CACf,OAAO,KAAK,OAASD,EAAAA,gBAAgB,OACvC,EAEA,mBAAqB,CACnB,MAAO,CACL,QAASG,GAAS,CACZ,CAAC,QAAS,OAAO,EAAE,SAASA,EAAM,KAAK,YAAW,CAAE,GACtD,KAAK,QAAQA,CAAK,EAEpB,KAAK,MAAM,UAAWA,CAAK,CAC7B,EAEA,UAAWA,GAAS,CAClB,KAAK,aAAaA,CAAK,EACvB,KAAK,MAAM,YAAaA,CAAK,CAC/B,EAEA,WAAYA,GAAS,CACnB,KAAK,aAAaA,CAAK,EACvB,KAAK,MAAM,aAAcA,CAAK,CAChC,EAEJ,EAMA,eAAiB,CACf,OAAI,KAAK,YACA,KAAK,aAAe,KAAK,YAAW,EAAK,KAAK,KAAO,KAAK,YAAW,EAAK,KAAK,iBAEjF,EACT,EAEA,aAAe,CAEb,OAAO,KAAK,iBAAmBD,EAAAA,2BAA2B,GAC5D,EAKA,aAAe,CACb,OAAO,KAAK,iBAAmBA,EAAAA,2BAA2B,IAC5D,GAGF,QAAS,CACP,QAAS,EAAG,CAGV,KAAK,MAAM,QAAS,CAAC,CACvB,EAEA,cAAgB,CACd,KAAK,iBAAmB,EAC1B,EAEA,cAAgB,CACd,KAAK,iBAAmB,EAC1B,EAEJ,kIArPEE,cA4CYC,EAAAA,wBA3CLC,EAAA,WAAW,EADlBC,aA4CY,CA1CT,GAAID,EAAA,GACJ,MAAK,yCAAmEE,EAAA,uCAAiDA,EAAA,qCAA+CA,EAAA,cAOxK,SAAUA,EAAA,YAAW,EAAA,GACrB,KAAMF,EAAA,KACN,gBAAeA,EAAA,OAAI,WAAkB,OAAYE,EAAA,aAClD,EAAAC,aAAwBD,EAAlB,iBAAiB,CAAA,EAAA,mBAEvB,IA0BiB,CAzBTA,EAAA,6BADRJ,EAAAA,YA0BiBM,EAAA,OAxBf,SAAA,GACC,+CAAgCJ,EAAA,YAAY,CAAA,EAC7C,aAAW,oBACX,gBAAc,uBACd,cAAY,qBACZ,iBAAe,wBACf,eAAa,sBACb,cAAY,qBACZ,iBAAe,wBACf,UAAQ,0DAGkBK,EAAA,OAAM,CAAtBC,EAAGC,WACVA,eAGD,IAAyB,CAAzBC,aAAyBH,SAAZE,CAAQ,OAGfP,EAAA,eACL,wBAED,IAA4B,CAA5BS,EAAAA,YAA4BC,EAAA,CAAb,KAAK,KAAK,CAAA,uCAI7BF,EAAAA,WAAeH,EAAA,OAAA,UAAA,CAAA,IAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"list-item.cjs","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n :class=\"['d-list-item__wrapper', wrapperClass]\"\n start-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n block-end-class=\"d-list-item__bottom\"\n end-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n data-qa=\"dt-list-item-wrapper\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue3';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional Classes to apply to the wrapper element,\n * note: it only applies on \"default\" type\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n wrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n return this.type === LIST_ITEM_TYPES.DEFAULT;\n },\n\n listItemListeners () {\n return {\n click: event => {\n this.onClick(event);\n },\n\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n // disabled as we do not want to override native click\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","t","LIST_ITEM_NAVIGATION_TYPES","event","_createBlock","_resolveDynamicComponent","$props","_mergeProps","$options","_toHandlers","_component_dt_item_layout","_ctx","_","slotName","_renderSlot","_createVNode","_component_dt_icon_check"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { LIST_ITEM_NAVIGATION_TYPES as s, LIST_ITEM_TYPES as l } from "./list-item-constants.js";
2
2
  import h from "../../common/utils/index.js";
3
3
  import { DtIconCheck as g } from "@dialpad/dialtone-icons/vue3";
4
- import { resolveComponent as r, openBlock as n, createBlock as d, resolveDynamicComponent as f, mergeProps as _, toHandlers as p, withCtx as a, normalizeClass as y, createSlots as v, renderList as T, renderSlot as m, createVNode as b } from "vue";
5
- import { _ as I } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
- import k from "../item-layout/item-layout.js";
4
+ import { resolveComponent as n, openBlock as r, createBlock as d, resolveDynamicComponent as _, mergeProps as f, toHandlers as p, withCtx as a, normalizeClass as y, createSlots as v, renderList as k, renderSlot as c, createVNode as T } from "vue";
5
+ import { _ as b } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
+ import I from "../item-layout/item-layout.js";
7
7
  const L = ["listitem", "menuitem", "option"], S = {
8
8
  compatConfig: { MODE: 3 },
9
9
  name: "DtListItem",
10
10
  components: {
11
- DtItemLayout: k,
11
+ DtItemLayout: I,
12
12
  DtIconCheck: g
13
13
  },
14
14
  /**
@@ -82,6 +82,13 @@ const L = ["listitem", "menuitem", "option"], S = {
82
82
  }
83
83
  },
84
84
  emits: [
85
+ /**
86
+ * Native click event
87
+ *
88
+ * @event click
89
+ * @type {PointerEvent | KeyboardEvent}
90
+ */
91
+ "click",
85
92
  /**
86
93
  * Key down event
87
94
  *
@@ -116,6 +123,9 @@ const L = ["listitem", "menuitem", "option"], S = {
116
123
  },
117
124
  listItemListeners() {
118
125
  return {
126
+ click: (e) => {
127
+ this.onClick(e);
128
+ },
119
129
  keydown: (e) => {
120
130
  ["enter", "space"].includes(e.code.toLowerCase()) && this.onClick(e), this.$emit("keydown", e);
121
131
  },
@@ -157,8 +167,8 @@ const L = ["listitem", "menuitem", "option"], S = {
157
167
  }
158
168
  };
159
169
  function H(e, C, i, D, E, t) {
160
- const c = r("dt-icon-check"), u = r("dt-item-layout");
161
- return n(), d(f(i.elementType), _({
170
+ const m = n("dt-icon-check"), u = n("dt-item-layout");
171
+ return r(), d(_(i.elementType), f({
162
172
  id: i.id,
163
173
  class: [
164
174
  "d-list-item",
@@ -173,38 +183,38 @@ function H(e, C, i, D, E, t) {
173
183
  "aria-selected": i.role === "listitem" ? void 0 : t.isHighlighted
174
184
  }, p(t.listItemListeners)), {
175
185
  default: a(() => [
176
- t.isDefaultType ? (n(), d(u, {
186
+ t.isDefaultType ? (r(), d(u, {
177
187
  key: 0,
178
188
  unstyled: "",
179
189
  class: y(["d-list-item__wrapper", i.wrapperClass]),
180
- "left-class": "d-list-item__left",
190
+ "start-class": "d-list-item__left",
181
191
  "content-class": "d-list-item__content",
182
192
  "title-class": "d-list-item__title",
183
193
  "subtitle-class": "d-list-item__subtitle",
184
- "bottom-class": "d-list-item__bottom",
185
- "right-class": "d-list-item__right",
194
+ "block-end-class": "d-list-item__bottom",
195
+ "end-class": "d-list-item__right",
186
196
  "selected-class": "d-list-item__selected",
187
197
  "data-qa": "dt-list-item-wrapper"
188
198
  }, v({ _: 2 }, [
189
- T(e.$slots, (w, o) => ({
199
+ k(e.$slots, (w, o) => ({
190
200
  name: o,
191
201
  fn: a(() => [
192
- m(e.$slots, o)
202
+ c(e.$slots, o)
193
203
  ])
194
204
  })),
195
205
  i.selected ? {
196
206
  name: "selected",
197
207
  fn: a(() => [
198
- b(c, { size: "400" })
208
+ T(m, { size: "400" })
199
209
  ]),
200
210
  key: "0"
201
211
  } : void 0
202
- ]), 1032, ["class"])) : m(e.$slots, "default", { key: 1 })
212
+ ]), 1032, ["class"])) : c(e.$slots, "default", { key: 1 })
203
213
  ]),
204
214
  _: 3
205
215
  }, 16, ["id", "class", "tabindex", "role", "aria-selected"]);
206
216
  }
207
- const B = /* @__PURE__ */ I(S, [["render", H]]);
217
+ const B = /* @__PURE__ */ b(S, [["render", H]]);
208
218
  export {
209
219
  B as default
210
220
  };
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.js","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n :class=\"['d-list-item__wrapper', wrapperClass]\"\n left-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n bottom-class=\"d-list-item__bottom\"\n right-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n data-qa=\"dt-list-item-wrapper\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue3';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional Classes to apply to the wrapper element,\n * note: it only applies on \"default\" type\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n wrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n return this.type === LIST_ITEM_TYPES.DEFAULT;\n },\n\n listItemListeners () {\n return {\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n // disabled as we do not want to override native click\n // eslint-disable-next-line vue/require-explicit-emits\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","t","LIST_ITEM_NAVIGATION_TYPES","event","_createBlock","_resolveDynamicComponent","$props","_mergeProps","$options","_toHandlers","_component_dt_item_layout","_ctx","_","slotName","_renderSlot","_createVNode","_component_dt_icon_check"],"mappings":"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"}
1
+ {"version":3,"file":"list-item.js","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n :class=\"['d-list-item__wrapper', wrapperClass]\"\n start-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n block-end-class=\"d-list-item__bottom\"\n end-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n data-qa=\"dt-list-item-wrapper\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue3';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional Classes to apply to the wrapper element,\n * note: it only applies on \"default\" type\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n wrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n return this.type === LIST_ITEM_TYPES.DEFAULT;\n },\n\n listItemListeners () {\n return {\n click: event => {\n this.onClick(event);\n },\n\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n // disabled as we do not want to override native click\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","t","LIST_ITEM_NAVIGATION_TYPES","event","_createBlock","_resolveDynamicComponent","$props","_mergeProps","$options","_toHandlers","_component_dt_item_layout","_ctx","_","slotName","_renderSlot","_createVNode","_component_dt_icon_check"],"mappings":"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"}