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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/dist/common/constants/index.cjs +1 -1
  2. package/dist/common/constants/index.cjs.map +1 -1
  3. package/dist/common/constants/index.js +10 -10
  4. package/dist/common/constants/index.js.map +1 -1
  5. package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
  6. package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  7. package/dist/common/mixins/keyboard-list-navigation.js +7 -7
  8. package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
  9. package/dist/component-documentation.json +1 -1
  10. package/dist/dialtone-vue.cjs +1 -1
  11. package/dist/dialtone-vue.js +425 -387
  12. package/dist/dialtone-vue.js.map +1 -1
  13. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  14. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  15. package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
  16. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  17. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  18. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  19. package/dist/lib/avatar/avatar-constants.js +169 -43
  20. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  21. package/dist/lib/avatar/avatar.cjs +1 -1
  22. package/dist/lib/avatar/avatar.cjs.map +1 -1
  23. package/dist/lib/avatar/avatar.js +185 -100
  24. package/dist/lib/avatar/avatar.js.map +1 -1
  25. package/dist/lib/avatar/index.cjs +1 -1
  26. package/dist/lib/avatar/index.js +16 -10
  27. package/dist/lib/badge/badge.cjs +1 -1
  28. package/dist/lib/badge/badge.cjs.map +1 -1
  29. package/dist/lib/badge/badge.js +47 -35
  30. package/dist/lib/badge/badge.js.map +1 -1
  31. package/dist/lib/button/button-constants.cjs +1 -1
  32. package/dist/lib/button/button-constants.cjs.map +1 -1
  33. package/dist/lib/button/button-constants.js +23 -19
  34. package/dist/lib/button/button-constants.js.map +1 -1
  35. package/dist/lib/button/button.cjs +1 -1
  36. package/dist/lib/button/button.cjs.map +1 -1
  37. package/dist/lib/button/button.js +171 -66
  38. package/dist/lib/button/button.js.map +1 -1
  39. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  40. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  41. package/dist/lib/callbar-button/callbar-button.js +13 -14
  42. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  43. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  44. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  45. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +42 -30
  46. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  47. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  48. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  49. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -26
  50. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  51. package/dist/lib/callbox/callbox.cjs +1 -1
  52. package/dist/lib/callbox/callbox.cjs.map +1 -1
  53. package/dist/lib/callbox/callbox.js +47 -47
  54. package/dist/lib/callbox/callbox.js.map +1 -1
  55. package/dist/lib/chip/chip.cjs +1 -1
  56. package/dist/lib/chip/chip.cjs.map +1 -1
  57. package/dist/lib/chip/chip.js +1 -1
  58. package/dist/lib/chip/chip.js.map +1 -1
  59. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  60. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  61. package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
  62. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  63. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  64. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  65. package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
  66. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  67. package/dist/lib/contact-info/contact-info.cjs +1 -1
  68. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  69. package/dist/lib/contact-info/contact-info.js +56 -56
  70. package/dist/lib/contact-info/contact-info.js.map +1 -1
  71. package/dist/lib/contact-row/contact-row.cjs +1 -1
  72. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  73. package/dist/lib/contact-row/contact-row.js +1 -1
  74. package/dist/lib/contact-row/contact-row.js.map +1 -1
  75. package/dist/lib/datepicker/datepicker.cjs +1 -1
  76. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  77. package/dist/lib/datepicker/datepicker.js +11 -11
  78. package/dist/lib/datepicker/datepicker.js.map +1 -1
  79. package/dist/lib/editor/editor.cjs.map +1 -1
  80. package/dist/lib/editor/editor.js.map +1 -1
  81. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  82. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  83. package/dist/lib/emoji-picker/emoji-picker.js +2 -2
  84. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  85. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  86. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  87. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  88. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  89. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  90. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  91. package/dist/lib/feed-item-row/feed-item-row.js +11 -11
  92. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  93. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  94. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  95. package/dist/lib/filter-pill/filter-pill.js +346 -0
  96. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  97. package/dist/lib/filter-pill/index.cjs +2 -0
  98. package/dist/lib/filter-pill/index.cjs.map +1 -0
  99. package/dist/lib/filter-pill/index.js +5 -0
  100. package/dist/lib/filter-pill/index.js.map +1 -0
  101. package/dist/lib/general-row/general-row.cjs +1 -1
  102. package/dist/lib/general-row/general-row.cjs.map +1 -1
  103. package/dist/lib/general-row/general-row.js +153 -99
  104. package/dist/lib/general-row/general-row.js.map +1 -1
  105. package/dist/lib/group-row/group-row.cjs +1 -1
  106. package/dist/lib/group-row/group-row.cjs.map +1 -1
  107. package/dist/lib/group-row/group-row.js +1 -1
  108. package/dist/lib/group-row/group-row.js.map +1 -1
  109. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  110. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  111. package/dist/lib/grouped-chip/grouped-chip.js +31 -31
  112. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  113. package/dist/lib/input/input.cjs +1 -1
  114. package/dist/lib/input/input.cjs.map +1 -1
  115. package/dist/lib/input/input.js +53 -42
  116. package/dist/lib/input/input.js.map +1 -1
  117. package/dist/lib/item-layout/item-layout.cjs +3 -3
  118. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  119. package/dist/lib/item-layout/item-layout.js +74 -39
  120. package/dist/lib/item-layout/item-layout.js.map +1 -1
  121. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  122. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  123. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  124. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  125. package/dist/lib/link/link.cjs +1 -1
  126. package/dist/lib/link/link.cjs.map +1 -1
  127. package/dist/lib/link/link.js +21 -12
  128. package/dist/lib/link/link.js.map +1 -1
  129. package/dist/lib/list-item/list-item.cjs +1 -1
  130. package/dist/lib/list-item/list-item.cjs.map +1 -1
  131. package/dist/lib/list-item/list-item.js +25 -15
  132. package/dist/lib/list-item/list-item.js.map +1 -1
  133. package/dist/lib/loader/loader.cjs +13 -1
  134. package/dist/lib/loader/loader.cjs.map +1 -1
  135. package/dist/lib/loader/loader.js +31 -20
  136. package/dist/lib/loader/loader.js.map +1 -1
  137. package/dist/lib/message-input/message-input.cjs +1 -1
  138. package/dist/lib/message-input/message-input.cjs.map +1 -1
  139. package/dist/lib/message-input/message-input.js +39 -39
  140. package/dist/lib/message-input/message-input.js.map +1 -1
  141. package/dist/lib/mode-island/index.cjs +2 -0
  142. package/dist/lib/mode-island/index.cjs.map +1 -0
  143. package/dist/lib/mode-island/index.js +7 -0
  144. package/dist/lib/mode-island/index.js.map +1 -0
  145. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  146. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  147. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  148. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  149. package/dist/lib/mode-island/mode-island.cjs +2 -0
  150. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  151. package/dist/lib/mode-island/mode-island.js +130 -0
  152. package/dist/lib/mode-island/mode-island.js.map +1 -0
  153. package/dist/lib/mode-island/utils.cjs +2 -0
  154. package/dist/lib/mode-island/utils.cjs.map +1 -0
  155. package/dist/lib/mode-island/utils.js +32 -0
  156. package/dist/lib/mode-island/utils.js.map +1 -0
  157. package/dist/lib/mode-island/validators.cjs +2 -0
  158. package/dist/lib/mode-island/validators.cjs.map +1 -0
  159. package/dist/lib/mode-island/validators.js +12 -0
  160. package/dist/lib/mode-island/validators.js.map +1 -0
  161. package/dist/lib/notice/notice-action.cjs +1 -1
  162. package/dist/lib/notice/notice-action.cjs.map +1 -1
  163. package/dist/lib/notice/notice-action.js +7 -7
  164. package/dist/lib/notice/notice-action.js.map +1 -1
  165. package/dist/lib/pagination/pagination.cjs +1 -1
  166. package/dist/lib/pagination/pagination.cjs.map +1 -1
  167. package/dist/lib/pagination/pagination.js +15 -14
  168. package/dist/lib/pagination/pagination.js.map +1 -1
  169. package/dist/lib/popover/popover.cjs +1 -1
  170. package/dist/lib/popover/popover.cjs.map +1 -1
  171. package/dist/lib/popover/popover.js +1 -1
  172. package/dist/lib/popover/popover.js.map +1 -1
  173. package/dist/lib/progress-circle/index.cjs +2 -0
  174. package/dist/lib/progress-circle/index.cjs.map +1 -0
  175. package/dist/lib/progress-circle/index.js +10 -0
  176. package/dist/lib/progress-circle/index.js.map +1 -0
  177. package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
  178. package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
  179. package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
  180. package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
  181. package/dist/lib/progress-circle/progress-circle.cjs +2 -0
  182. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
  183. package/dist/lib/progress-circle/progress-circle.js +136 -0
  184. package/dist/lib/progress-circle/progress-circle.js.map +1 -0
  185. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  186. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  187. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  188. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  189. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  190. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  191. package/dist/lib/root-layout/root-layout.cjs +1 -1
  192. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  193. package/dist/lib/root-layout/root-layout.js +9 -10
  194. package/dist/lib/root-layout/root-layout.js.map +1 -1
  195. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  196. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  197. package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
  198. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  199. package/dist/lib/split-button/split-button-alpha.cjs +1 -1
  200. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
  201. package/dist/lib/split-button/split-button-alpha.js +86 -33
  202. package/dist/lib/split-button/split-button-alpha.js.map +1 -1
  203. package/dist/lib/split-button/split-button.cjs +1 -1
  204. package/dist/lib/split-button/split-button.cjs.map +1 -1
  205. package/dist/lib/split-button/split-button.js +282 -92
  206. package/dist/lib/split-button/split-button.js.map +1 -1
  207. package/dist/lib/tab/index.cjs +1 -1
  208. package/dist/lib/tab/index.js +13 -11
  209. package/dist/lib/tab/tab-group.cjs +1 -1
  210. package/dist/lib/tab/tab-group.cjs.map +1 -1
  211. package/dist/lib/tab/tab-group.js +107 -46
  212. package/dist/lib/tab/tab-group.js.map +1 -1
  213. package/dist/lib/tab/tab.cjs +1 -1
  214. package/dist/lib/tab/tab.cjs.map +1 -1
  215. package/dist/lib/tab/tab.js +128 -37
  216. package/dist/lib/tab/tab.js.map +1 -1
  217. package/dist/lib/tab/tabs-constants.cjs +1 -1
  218. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  219. package/dist/lib/tab/tabs-constants.js +13 -11
  220. package/dist/lib/tab/tabs-constants.js.map +1 -1
  221. package/dist/lib/text/index.cjs +2 -0
  222. package/dist/lib/text/index.cjs.map +1 -0
  223. package/dist/lib/text/index.js +20 -0
  224. package/dist/lib/text/index.js.map +1 -0
  225. package/dist/lib/text/text-constants.cjs +2 -0
  226. package/dist/lib/text/text-constants.cjs.map +1 -0
  227. package/dist/lib/text/text-constants.js +69 -0
  228. package/dist/lib/text/text-constants.js.map +1 -0
  229. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  230. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  231. package/dist/lib/text/text-tone-tokens.js +33 -0
  232. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  233. package/dist/lib/text/text.cjs +2 -0
  234. package/dist/lib/text/text.cjs.map +1 -0
  235. package/dist/lib/text/text.js +203 -0
  236. package/dist/lib/text/text.js.map +1 -0
  237. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  238. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  239. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  240. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  241. package/dist/localization/en-US.cjs +2 -0
  242. package/dist/localization/en-US.cjs.map +1 -1
  243. package/dist/localization/en-US.js +2 -0
  244. package/dist/localization/en-US.js.map +1 -1
  245. package/dist/localization/es-LA.cjs +1 -1
  246. package/dist/localization/es-LA.cjs.map +1 -1
  247. package/dist/localization/es-LA.js +1 -1
  248. package/dist/localization/es-LA.js.map +1 -1
  249. package/dist/localization/it-IT.cjs +3 -3
  250. package/dist/localization/it-IT.cjs.map +1 -1
  251. package/dist/localization/it-IT.js +3 -3
  252. package/dist/localization/it-IT.js.map +1 -1
  253. package/dist/localization/nl-NL.cjs +2 -2
  254. package/dist/localization/nl-NL.cjs.map +1 -1
  255. package/dist/localization/nl-NL.js +2 -2
  256. package/dist/localization/nl-NL.js.map +1 -1
  257. package/dist/localization/ru-RU.cjs +1 -1
  258. package/dist/localization/ru-RU.cjs.map +1 -1
  259. package/dist/localization/ru-RU.js +1 -1
  260. package/dist/localization/ru-RU.js.map +1 -1
  261. package/dist/localization/zh-CN.cjs +1 -1
  262. package/dist/localization/zh-CN.cjs.map +1 -1
  263. package/dist/localization/zh-CN.js +1 -1
  264. package/dist/localization/zh-CN.js.map +1 -1
  265. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  266. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  267. package/dist/style.css +1 -1
  268. package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
  269. package/dist/types/common/sr_only_close_button.vue.d.ts +38 -2
  270. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  271. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  272. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  273. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  274. package/dist/types/components/avatar/index.d.ts +1 -1
  275. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  276. package/dist/types/components/banner/banner.vue.d.ts +76 -4
  277. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  278. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  279. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  280. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  281. package/dist/types/components/button/button.vue.d.ts +38 -2
  282. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  283. package/dist/types/components/button/button_constants.d.ts +4 -0
  284. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  285. package/dist/types/components/chip/chip.vue.d.ts +38 -2
  286. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  287. package/dist/types/components/collapsible/collapsible.vue.d.ts +38 -2
  288. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  289. package/dist/types/components/combobox/combobox.vue.d.ts +79 -13
  290. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  291. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +39 -6
  292. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  293. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +39 -6
  294. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  295. package/dist/types/components/dropdown/dropdown.vue.d.ts +76 -4
  296. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  297. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2070 -0
  298. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  299. package/dist/types/components/filter_pill/index.d.ts +2 -0
  300. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  301. package/dist/types/components/hovercard/hovercard.vue.d.ts +152 -8
  302. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  303. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +76 -4
  304. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  305. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  306. package/dist/types/components/item_layout/item_layout.vue.d.ts +36 -5
  307. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  308. package/dist/types/components/link/link.vue.d.ts +9 -0
  309. package/dist/types/components/list_item/list_item.vue.d.ts +39 -6
  310. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  311. package/dist/types/components/loader/loader.vue.d.ts +1 -32
  312. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  313. package/dist/types/components/modal/modal.vue.d.ts +76 -4
  314. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  315. package/dist/types/components/mode_island/index.d.ts +3 -0
  316. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  317. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  318. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  319. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  320. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  321. package/dist/types/components/mode_island/utils.d.ts +12 -0
  322. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  323. package/dist/types/components/mode_island/validators.d.ts +6 -0
  324. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  325. package/dist/types/components/notice/notice.vue.d.ts +76 -4
  326. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  327. package/dist/types/components/notice/notice_action.vue.d.ts +76 -4
  328. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  329. package/dist/types/components/pagination/pagination.vue.d.ts +38 -2
  330. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  331. package/dist/types/components/popover/popover.vue.d.ts +76 -4
  332. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  333. package/dist/types/components/popover/popover_header_footer.vue.d.ts +38 -2
  334. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  335. package/dist/types/components/progress_circle/index.d.ts +3 -0
  336. package/dist/types/components/progress_circle/index.d.ts.map +1 -0
  337. package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
  338. package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
  339. package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
  340. package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
  341. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  342. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  343. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  344. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +71 -25
  345. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +39 -6
  346. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  347. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +114 -6
  348. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  349. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  350. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  351. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +57 -3
  352. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +1 -1
  353. package/dist/types/components/split_button/split_button-omega.vue.d.ts +38 -2
  354. package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  355. package/dist/types/components/split_button/split_button.vue.d.ts +342 -28
  356. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  357. package/dist/types/components/tab/index.d.ts +1 -1
  358. package/dist/types/components/tab/tab.vue.d.ts +73 -7
  359. package/dist/types/components/tab/tab.vue.d.ts.map +1 -1
  360. package/dist/types/components/tab/tab_group.vue.d.ts +42 -0
  361. package/dist/types/components/tab/tab_group.vue.d.ts.map +1 -1
  362. package/dist/types/components/tab/tabs_constants.d.ts +5 -3
  363. package/dist/types/components/tab/tabs_constants.d.ts.map +1 -1
  364. package/dist/types/components/text/index.d.ts +3 -0
  365. package/dist/types/components/text/index.d.ts.map +1 -0
  366. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  367. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  368. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  369. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  370. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  371. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  372. package/dist/types/components/text/text.vue.d.ts +141 -0
  373. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  374. package/dist/types/components/text/text_constants.d.ts +73 -0
  375. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  376. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  377. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  378. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +76 -4
  379. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  380. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +76 -4
  381. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  382. package/dist/types/components/toast/toast.vue.d.ts +304 -16
  383. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  384. package/dist/types/index.d.ts +4 -0
  385. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +38 -2
  386. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  387. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +152 -8
  388. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  389. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +152 -8
  390. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  391. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +114 -6
  392. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  393. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +38 -2
  394. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  395. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +234 -30
  396. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  397. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +196 -12
  398. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  399. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +158 -10
  400. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  401. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +38 -2
  402. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +114 -6
  403. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  404. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +114 -6
  405. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  406. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +38 -2
  407. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  408. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +74 -7
  409. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  410. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +110 -31
  411. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  412. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +74 -7
  413. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  414. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +38 -2
  415. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  416. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +152 -8
  417. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  418. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +38 -2
  419. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  420. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +38 -2
  421. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  422. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +107 -30
  423. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  424. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  425. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  426. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +38 -2
  427. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  428. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +467 -28
  429. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  430. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +396 -3
  431. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  432. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +396 -3
  433. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  434. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  435. package/package.json +7 -6
  436. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
  437. 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoJA,UAAMA,IAAQC,GAmBRC,IAAWC,EAAI,EAAE,GACjBC,IAAUD,EAAI,EAAI;AAExB,aAASE,EAAYC,GAAK;AACxB,aAAOA,EAAI,YAAW,EAAG,QAAQ,YAAY,GAAG;AAAA,IAClD;AAEA,aAASC,EAAUC,GAAI;;AACrB,OAAAC,IAAA,SAAS,eAAe,MAAMD,CAAE,EAAE,MAAlC,QAAAC,EAAqC,eAAe,EAAE,UAAU;IAClE;AAEA,aAASC,EAAqBC,GAAM;AAClC,aAAOC,EAAQC,EAAgB;AAAA,QAC7B,MAAM,iBAAiBF,CAAI;AAAA,QAC3B,MAAOG,GAAG,EAAE,OAAAC,KAAS;AACnB,gBAAMC,IAAQb,EAAI,IAAI;AACtB,iBAAAc,EAAgB,CAACC,OACfF,EAAM,QAAQE,EAAI,WAAW,OAAOA,CAAG,GAChC,GACR,GACM,MAAM;;AACX,mBAAIF,EAAM,QACDG,EAAE,OAAO;AAAA,cACd,OAAO;AAAA,YACnB,GAAa,oBAAoBR,CAAI,KAAKK,EAAM,KAAK,EAAE,KAExCP,IAAAM,EAAM,YAAN,gBAAAN,EAAA,KAAAM;AAAA,UACT;AAAA,QACF;AAAA,MACJ,CAAG,CAAC;AAAA,IACJ;AAEA,aAASK,EAAiBC,GAAQC,GAAMX,GAAM;AAC5C,YAAMY,IAAW,CAAA;AAEjB,iBAAW,CAACC,GAAYC,CAAW,KAAK,OAAO,QAAQJ,CAAM,GAAG;AAE9D,YADIG,MAAe,aACf,EAACC,KAAA,QAAAA,EAAa,WAAU,OAAOA,EAAY,UAAW,WAAY;AAEtE,cAAMC,IAAa,EAAE,GAAGJ,EAAK,MAAM,GAAGG,EAAY,KAAI;AAEtD,YAAI;AACF,gBAAME,IAAmBF,EAAY,OAAOC,GAAY;AAAA,YACtD,UAAUJ,EAAK,YAAY,CAAA;AAAA,UACnC,CAAO;AACD,UAAAC,EAAS,KAAK;AAAA,YACZ,MAAMC;AAAA,YACN,WAAWZ,EAAQe,CAAgB;AAAA,YACnC,eAAejB,EAAoB,GAAGC,CAAI,MAAMa,CAAU,EAAE;AAAA,UACpE,CAAO;AAAA,QACH,SAASI,GAAG;AACV,kBAAQ,MAAM,sCAAsCjB,CAAI,IAAIa,CAAU,KAAKI,CAAC;AAAA,QAC9E;AAAA,MACF;AAEA,aAAOL;AAAA,IACT;AAEA,WAAAM,EAAU,YAAY;AACpB,YAAMC,IAAU,MAAM,QAAQ;AAAA,QAC5B,OAAO,OAAO9B,EAAM,OAAO,EAAE,IAAI,OAAO+B,MAAWA,GAAQ;AAAA,MAC/D,GAEQC,IAAS,CAAA;AAEf,iBAAWC,KAAUH,GAAS;AAC5B,YAAIG,EAAO,WAAW,YAAa;AAEnC,cAAMZ,IAASY,EAAO,OAChBX,IAAOD,EAAO;AACpB,YAAI,EAACC,KAAA,QAAAA,EAAM,OAAO;AAElB,cAAMX,IAAOW,EAAK,MAAM,MAAM,GAAG,EAAE,IAAG,GAChCd,IAAKH,EAAWM,CAAI,GACpBuB,IAAU7B,EAAWiB,EAAK,KAAK,GAC/BC,IAAWH,EAAgBC,GAAQC,GAAMX,CAAI;AAEnD,QAAIY,EAAS,WAAW,KAExBS,EAAO,KAAK,EAAE,IAAAxB,GAAI,MAAAG,GAAM,SAAAuB,GAAS,UAAAX,GAAU;AAAA,MAC7C;AAEA,MAAArB,EAAS,QAAQ8B,EAAO,KAAK,CAACG,GAAGC,MAAMD,EAAE,KAAK,cAAcC,EAAE,IAAI,CAAC,GACnEhC,EAAQ,QAAQ;AAAA,IAClB,CAAC;;kBAzPCiC,EAwIM,OAAA,MAAA;AAAA,QAtIIjC,EAAA,SADRkC,KAAAD,EASM,OATNE,GASM;AAAA,UALJC,EAIUC,EAAAC,CAAA,GAAA,EAHR,MAAK,QAAO,GAAA;AAAA,uBACb,MACS;AAAA,gBADT,cACSC,EAAG1C,EAAA,SAAS,IAAG,QACzB,CAAA;AAAA;;;oBAEFoC,EA4HWO,GAAA,EAAA,KAAA,EAAA,GAAA;AAAA,UA3HTJ,EAyEWC,EAAAI,CAAA,GAAA;AAAA,YAxET,OAAM;AAAA,YAaN,KAAI;AAAA;uBAEJ,MAgCW;AAAA,cAhCXL,EAgCWC,EAAAI,CAAA,GAAA;AAAA,gBA/BT,OAAM;AAAA,gBACN,KAAI;AAAA,gBACJ,WAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,OAAM;AAAA;2BAEN,MAMU;AAAA,kBANVL,EAMUC,EAAAC,CAAA,GAAA;AAAA,oBALR,IAAG;AAAA,oBACH,MAAK;AAAA,oBACL,MAAK;AAAA;+BAEL,MAAW;AAAA,0BAARzC,EAAA,KAAK,GAAA,CAAA;AAAA;;;kBAEVuC,EAiBUC,EAAAC,CAAA,GAAA;AAAA,oBAhBR,MAAK;AAAA,oBACL,MAAK;AAAA;+BAEL,MAYU;AAAA,sBAZVF,EAYUC,EAAAK,CAAA,GAAA;AAAA,wBAXP,MAAM7C,EAAA;AAAA,wBACP,QAAO;AAAA,wBACP,KAAI;AAAA;mCAEJ,MAMW;AAAA,0BANXuC,EAMWC,EAAAI,CAAA,GAAA;AAAA,4BALT,KAAI;AAAA,4BACJ,WAAU;AAAA;uCACX,MAEC;AAAA,gDAFD,wBAEC,EAAA;AAAA,8BAAAL,EAAoCC,EAAAM,CAAA,GAAA,EAAb,MAAK,MAAK,CAAA;AAAA;;;;;;;;;;;;sBAKzCV,EAuBM,OAAA,MAAA;AAAA,gBApBJG,EAmBWC,EAAAI,CAAA,GAAA;AAAA,kBAlBT,WAAU;AAAA,kBACV,KAAI;AAAA,kBACJ,OAAM;AAAA;6BAGJ,MAA2B;AAAA,4BAD7BR,EAaUO,GAAA,MAAAI,EAZU9C,EAAA,OAAQ,CAAnB+C,YADTC,EAaUT,EAAAK,CAAA,GAAA;AAAA,sBAXP,KAAKG,EAAQ;AAAA,sBACb,MAAI,OAASA,EAAQ,EAAE;AAAA,sBACvB,SAAKE,EAAA,CAAAC,MAAU7C,EAAS0C,EAAQ,EAAE,GAAA,CAAA,SAAA,CAAA;AAAA;iCAEnC,MAMU;AAAA,wBANVT,EAMUC,EAAAC,CAAA,GAAA;AAAA,0BALR,MAAK;AAAA,0BACL,MAAK;AAAA,0BACL,OAAM;AAAA;qCAEN,MAAkB;AAAA,4BAAfW,EAAAV,EAAAM,EAAQ,IAAI,GAAA,CAAA;AAAA;;;;;;;;;;;;;;;UAMzBT,EAgDWC,EAAAI,CAAA,GAAA,EAhDD,OAAM,SAAQ,GAAA;AAAA,uBAEpB,MAA2B;AAAA,sBAD7BR,EA8CWO,GAAA,MAAAI,EA7CS9C,EAAA,OAAQ,CAAnB+C,YADTC,EA8CWT,EAAAI,CAAA,GAAA;AAAA,gBA5CR,IAAE,MAAQI,EAAQ,EAAE;AAAA,gBACpB,KAAKA,EAAQ;AAAA,gBACd,IAAG;AAAA,gBACH,KAAI;AAAA,gBACJ,OAAM;AAAA;2BAEN,MAkBW;AAAA,kBAlBXT,EAkBWC,EAAAI,CAAA,GAAA;AAAA,oBAjBT,KAAI;AAAA,oBACJ,WAAU;AAAA,oBACV,SAAQ;AAAA,oBACR,OAAM;AAAA;+BAEN,MAMU;AAAA,sBANVL,EAMUC,EAAAC,CAAA,GAAA;AAAA,wBALR,IAAG;AAAA,wBACH,MAAK;AAAA,wBACL,MAAK;AAAA;mCAEL,MAAkB;AAAA,0BAAfW,EAAAV,EAAAM,EAAQ,IAAI,GAAA,CAAA;AAAA;;;sBAEjBT,EAIUC,EAAAK,CAAA,GAAA;AAAA,wBAHP,MAAI,iBAAmBG,EAAQ,OAAO;AAAA;mCACxC,MAED,CAAA,GAAAK,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,4BAFC,gBAED,EAAA;AAAA;;;;;;mBAEFhB,EAAA,EAAA,GAAAD,EAkBWO,GAAA,MAAAI,EAjBSC,EAAQ,WAAnBM,YADTL,EAkBWT,EAAAI,CAAA,GAAA;AAAA,oBAhBR,KAAKU,EAAQ;AAAA,oBACd,OAAM;AAAA,oBACN,KAAI;AAAA;+BAEJ,MAMU;AAAA,sBANVf,EAMUC,EAAAC,CAAA,GAAA;AAAA,wBALR,MAAK;AAAA,wBACL,MAAK;AAAA,wBACL,MAAK;AAAA;mCAEL,MAAkB;AAAA,0BAAfW,EAAAV,EAAAY,EAAQ,IAAI,GAAA,CAAA;AAAA;;;sBAEjBC,EAIM,OAAA,MAAA;AAAA,8BAHJN,EAEYO,EAFIF,EAAQ,aAAa,GAAA,MAAA;AAAA,qCACnC,MAAqC;AAAA,kCAArCL,EAAqCO,EAArBF,EAAQ,SAAS,CAAA;AAAA;;;;;;;;;;;;;;;;;;"}
@@ -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":";;;;;;AAyDA,MAAMA,IAAQ,CAAC,YAAY,YAAY,QAAQ,GAM1CC,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,cAAAC;AAAA,IACA,aAAAC;AAAA;;;;EAMF,QAAQ;AAAA,IACN,aAAa,EAAE,SAAS,KAAG;AAAA;EAG7B,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAW;AAAE,eAAOC,EAAM,gBAAe;AAAA,MAAI;AAAA;;;;IAM/C,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAACC,MAAUL,EAAO,SAASK,CAAI;AAAA;;;;IAM5C,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAASC,EAAgB;AAAA,MACzB,WAAW,CAACC,MAAM,OAAO,OAAOD,CAAe,EAAE,SAASC,CAAC;AAAA;;;;;;;;IAU7D,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAASC,EAA2B;AAAA,MACpC,WAAW,CAACD,MAAM,OAAO,OAAOC,CAA0B,EAAE,SAASD,CAAC;AAAA;;;;IAMxE,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;;IASX,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,QAAQ,KAAK;AAAA,MAC5B,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;EAGF,OAAQ;AACN,WAAO;AAAA,MACL,UAAU;AAAA,MACV,kBAAkB;AAAA;EAEtB;AAAA,EAEA,UAAU;AAAA,IACR,gBAAiB;AACf,aAAO,KAAK,SAASD,EAAgB;AAAA,IACvC;AAAA,IAEA,oBAAqB;AACnB,aAAO;AAAA,QACL,SAAS,CAAAG,MAAS;AAChB,UAAI,CAAC,SAAS,OAAO,EAAE,SAASA,EAAM,KAAK,YAAW,CAAE,KACtD,KAAK,QAAQA,CAAK,GAEpB,KAAK,MAAM,WAAWA,CAAK;AAAA,QAC7B;AAAA,QAEA,WAAW,CAAAA,MAAS;AAClB,eAAK,aAAaA,CAAK,GACvB,KAAK,MAAM,aAAaA,CAAK;AAAA,QAC/B;AAAA,QAEA,YAAY,CAAAA,MAAS;AACnB,eAAK,aAAaA,CAAK,GACvB,KAAK,MAAM,cAAcA,CAAK;AAAA,QAChC;AAAA;IAEJ;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAiB;AACf,aAAI,KAAK,cACA,KAAK,eAAe,KAAK,YAAW,IAAK,KAAK,OAAO,KAAK,YAAW,IAAK,KAAK,mBAEjF;AAAA,IACT;AAAA,IAEA,cAAe;AAEb,aAAO,KAAK,mBAAmBD,EAA2B;AAAA,IAC5D;AAAA;AAAA;AAAA;AAAA,IAKA,cAAe;AACb,aAAO,KAAK,mBAAmBA,EAA2B;AAAA,IAC5D;AAAA;EAGF,SAAS;AAAA,IACP,QAAS,GAAG;AAGV,WAAK,MAAM,SAAS,CAAC;AAAA,IACvB;AAAA,IAEA,eAAgB;AACd,WAAK,mBAAmB;AAAA,IAC1B;AAAA,IAEA,eAAgB;AACd,WAAK,mBAAmB;AAAA,IAC1B;AAAA;AAEJ;;;cArPEE,EA4CYC,EA3CLC,EAAA,WAAW,GADlBC,EA4CY;AAAA,IA1CT,IAAID,EAAA;AAAA,IACJ,OAAK;AAAA;;kCAAmEE,EAAA;AAAA,oCAAiDA,EAAA;AAAA,gCAA+CA,EAAA;AAAA;;IAOxK,UAAUA,EAAA,cAAW,IAAA;AAAA,IACrB,MAAMF,EAAA;AAAA,IACN,iBAAeA,EAAA,SAAI,aAAkB,SAAYE,EAAA;AAAA,EAClD,GAAAC,EAAwBD,EAAlB,iBAAiB,CAAA,GAAA;AAAA,eAEvB,MA0BiB;AAAA,MAzBTA,EAAA,sBADRJ,EA0BiBM,GAAA;AAAA;QAxBf,UAAA;AAAA,QACC,kCAAgCJ,EAAA,YAAY,CAAA;AAAA,QAC7C,cAAW;AAAA,QACX,iBAAc;AAAA,QACd,eAAY;AAAA,QACZ,kBAAe;AAAA,QACf,gBAAa;AAAA,QACb,eAAY;AAAA,QACZ,kBAAe;AAAA,QACf,WAAQ;AAAA;UAGkBK,EAAA,QAAM,CAAtBC,GAAGC;gBACVA;AAAA,gBAGD,MAAyB;AAAA,YAAzBC,EAAyBH,UAAZE,CAAQ;AAAA;;QAGfP,EAAA;gBACL;AAAA,gBAED,MAA4B;AAAA,YAA5BS,EAA4BC,GAAA,EAAb,MAAK,MAAK,CAAA;AAAA;;;8BAI7BF,EAAeH,EAAA,QAAA,WAAA,EAAA,KAAA,EAAA,CAAA;AAAA;;;;;"}
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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"}