@dialpad/dialtone-vue 3.145.1 → 3.146.0

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 (398) hide show
  1. package/dist/chunks/{dropdown-oA-_Gotg.js → dropdown-6HXkh24e.js} +40 -45
  2. package/dist/chunks/{dropdown-oA-_Gotg.js.map → dropdown-6HXkh24e.js.map} +1 -1
  3. package/dist/chunks/{dropdown-p-Azgwov.js → dropdown-QNvAb160.js} +40 -45
  4. package/dist/chunks/{dropdown-p-Azgwov.js.map → dropdown-QNvAb160.js.map} +1 -1
  5. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  6. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  7. package/dist/chunks/{icon_constants-QYpmdE0R.js → icon_constants-bvhFNOPu.js} +3 -2
  8. package/dist/chunks/icon_constants-bvhFNOPu.js.map +1 -0
  9. package/dist/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-gIQj4mf7.js} +3 -2
  10. package/dist/chunks/icon_constants-gIQj4mf7.js.map +1 -0
  11. package/dist/chunks/{index-b_MgDylR.js → index-T15rAIdX.js} +71 -84
  12. package/dist/chunks/{index-4qgKeErp.js.map → index-T15rAIdX.js.map} +1 -1
  13. package/dist/chunks/{index-GVD15GIB.js → index-dfdrE-3M.js} +3 -12
  14. package/dist/chunks/{index-GVD15GIB.js.map → index-dfdrE-3M.js.map} +1 -1
  15. package/dist/chunks/{index-lu2o2f4r.js → index-fEp0B-5Z.js} +3 -12
  16. package/dist/chunks/{index-lu2o2f4r.js.map → index-fEp0B-5Z.js.map} +1 -1
  17. package/dist/chunks/{index-4qgKeErp.js → index-ouh7Bvm-.js} +71 -84
  18. package/dist/chunks/{index-b_MgDylR.js.map → index-ouh7Bvm-.js.map} +1 -1
  19. package/dist/chunks/{input-NmYDD5bn.js → input-HIysg24t.js} +3 -9
  20. package/dist/chunks/{input-ttnte8zB.js.map → input-HIysg24t.js.map} +1 -1
  21. package/dist/chunks/{input-ttnte8zB.js → input-dLLo3Wtg.js} +3 -9
  22. package/dist/chunks/{input-NmYDD5bn.js.map → input-dLLo3Wtg.js.map} +1 -1
  23. package/dist/chunks/{input_group-jWnq2DJT.js → input_group-hV1WT2it.js} +4 -2
  24. package/dist/chunks/{input_group-M-D25pOJ.js.map → input_group-hV1WT2it.js.map} +1 -1
  25. package/dist/chunks/{input_group-M-D25pOJ.js → input_group-rE6nhye8.js} +4 -2
  26. package/dist/chunks/{input_group-jWnq2DJT.js.map → input_group-rE6nhye8.js.map} +1 -1
  27. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  28. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  29. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  30. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  31. package/dist/chunks/link_constants-AfTWrr-n.js.map +1 -1
  32. package/dist/chunks/link_constants-x8NwdqmA.js.map +1 -1
  33. package/dist/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  34. package/dist/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  35. package/dist/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  36. package/dist/chunks/{modal-XOr4kiNZ.js.map → modal-8X6poIZW.js.map} +1 -1
  37. package/dist/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  38. package/dist/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  39. package/dist/chunks/{notice_action-WTucGhvr.js → notice_action-3ed0uIMN.js} +40 -61
  40. package/dist/chunks/{notice_action-p-ePanW_.js.map → notice_action-3ed0uIMN.js.map} +1 -1
  41. package/dist/chunks/{notice_action-p-ePanW_.js → notice_action-e08Lw5W6.js} +40 -61
  42. package/dist/chunks/{notice_action-WTucGhvr.js.map → notice_action-e08Lw5W6.js.map} +1 -1
  43. package/dist/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  44. package/dist/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  45. package/dist/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  46. package/dist/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  47. package/dist/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  48. package/dist/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  49. package/dist/chunks/{sr_only_close_button-3EdsV-dH.js → sr_only_close_button-Ji3Zlts6.js} +4 -4
  50. package/dist/chunks/{sr_only_close_button-3EdsV-dH.js.map → sr_only_close_button-Ji3Zlts6.js.map} +1 -1
  51. package/dist/chunks/{sr_only_close_button-xGrHFjwA.js → sr_only_close_button-gKr0Vlbz.js} +4 -4
  52. package/dist/chunks/{sr_only_close_button-xGrHFjwA.js.map → sr_only_close_button-gKr0Vlbz.js.map} +1 -1
  53. package/dist/chunks/stack_constants-HraCekPm.js.map +1 -1
  54. package/dist/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  55. package/dist/chunks/{tab-qc3f42Yp.js → tab-X7IvNGTl.js} +46 -49
  56. package/dist/chunks/{tab-qc3f42Yp.js.map → tab-X7IvNGTl.js.map} +1 -1
  57. package/dist/chunks/{tab-RTDgnD9-.js → tab-aD6t0MNo.js} +46 -49
  58. package/dist/chunks/{tab-RTDgnD9-.js.map → tab-aD6t0MNo.js.map} +1 -1
  59. package/dist/common/constants.cjs.map +1 -1
  60. package/dist/common/constants.js.map +1 -1
  61. package/dist/common/dates.cjs +3 -1
  62. package/dist/common/dates.cjs.map +1 -1
  63. package/dist/common/dates.js +3 -1
  64. package/dist/common/dates.js.map +1 -1
  65. package/dist/common/emoji.cjs +1 -1
  66. package/dist/common/emoji.js +1 -1
  67. package/dist/common/mixins.cjs +3 -3
  68. package/dist/common/mixins.js +3 -3
  69. package/dist/common/utils.cjs +11 -45
  70. package/dist/common/utils.cjs.map +1 -1
  71. package/dist/common/utils.js +11 -45
  72. package/dist/common/utils.js.map +1 -1
  73. package/dist/common/validators.cjs.map +1 -1
  74. package/dist/common/validators.js.map +1 -1
  75. package/dist/component-documentation.json +1 -1
  76. package/dist/dialtone-vue.cjs +12 -12
  77. package/dist/dialtone-vue.js +12 -12
  78. package/dist/lib/attachment-carousel.cjs +87 -108
  79. package/dist/lib/attachment-carousel.cjs.map +1 -1
  80. package/dist/lib/attachment-carousel.js +87 -108
  81. package/dist/lib/attachment-carousel.js.map +1 -1
  82. package/dist/lib/avatar.cjs +56 -88
  83. package/dist/lib/avatar.cjs.map +1 -1
  84. package/dist/lib/avatar.js +56 -88
  85. package/dist/lib/avatar.js.map +1 -1
  86. package/dist/lib/badge.cjs +15 -31
  87. package/dist/lib/badge.cjs.map +1 -1
  88. package/dist/lib/badge.js +15 -31
  89. package/dist/lib/badge.js.map +1 -1
  90. package/dist/lib/banner.cjs +38 -56
  91. package/dist/lib/banner.cjs.map +1 -1
  92. package/dist/lib/banner.js +38 -56
  93. package/dist/lib/banner.js.map +1 -1
  94. package/dist/lib/breadcrumbs.cjs +25 -36
  95. package/dist/lib/breadcrumbs.cjs.map +1 -1
  96. package/dist/lib/breadcrumbs.js +25 -36
  97. package/dist/lib/breadcrumbs.js.map +1 -1
  98. package/dist/lib/button-group.cjs +2 -7
  99. package/dist/lib/button-group.cjs.map +1 -1
  100. package/dist/lib/button-group.js +2 -7
  101. package/dist/lib/button-group.js.map +1 -1
  102. package/dist/lib/button.cjs +44 -69
  103. package/dist/lib/button.cjs.map +1 -1
  104. package/dist/lib/button.js +44 -69
  105. package/dist/lib/button.js.map +1 -1
  106. package/dist/lib/callbar-button-with-popover.cjs +68 -81
  107. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  108. package/dist/lib/callbar-button-with-popover.js +68 -81
  109. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  110. package/dist/lib/callbar-button.cjs +32 -45
  111. package/dist/lib/callbar-button.cjs.map +1 -1
  112. package/dist/lib/callbar-button.js +32 -45
  113. package/dist/lib/callbar-button.js.map +1 -1
  114. package/dist/lib/callbox.cjs +38 -57
  115. package/dist/lib/callbox.cjs.map +1 -1
  116. package/dist/lib/callbox.js +38 -57
  117. package/dist/lib/callbox.js.map +1 -1
  118. package/dist/lib/card.cjs +13 -33
  119. package/dist/lib/card.cjs.map +1 -1
  120. package/dist/lib/card.js +13 -33
  121. package/dist/lib/card.js.map +1 -1
  122. package/dist/lib/checkbox-group.cjs +2 -5
  123. package/dist/lib/checkbox-group.cjs.map +1 -1
  124. package/dist/lib/checkbox-group.js +2 -5
  125. package/dist/lib/checkbox-group.js.map +1 -1
  126. package/dist/lib/checkbox.cjs +41 -45
  127. package/dist/lib/checkbox.cjs.map +1 -1
  128. package/dist/lib/checkbox.js +41 -45
  129. package/dist/lib/checkbox.js.map +1 -1
  130. package/dist/lib/chip.cjs +38 -53
  131. package/dist/lib/chip.cjs.map +1 -1
  132. package/dist/lib/chip.js +38 -53
  133. package/dist/lib/chip.js.map +1 -1
  134. package/dist/lib/codeblock.cjs +4 -6
  135. package/dist/lib/codeblock.cjs.map +1 -1
  136. package/dist/lib/codeblock.js +4 -6
  137. package/dist/lib/codeblock.js.map +1 -1
  138. package/dist/lib/collapsible.cjs +62 -76
  139. package/dist/lib/collapsible.cjs.map +1 -1
  140. package/dist/lib/collapsible.js +62 -76
  141. package/dist/lib/collapsible.js.map +1 -1
  142. package/dist/lib/combobox-multi-select.cjs +75 -88
  143. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  144. package/dist/lib/combobox-multi-select.js +75 -88
  145. package/dist/lib/combobox-multi-select.js.map +1 -1
  146. package/dist/lib/combobox-with-popover.cjs +77 -85
  147. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  148. package/dist/lib/combobox-with-popover.js +77 -85
  149. package/dist/lib/combobox-with-popover.js.map +1 -1
  150. package/dist/lib/combobox.cjs +3 -3
  151. package/dist/lib/combobox.js +3 -3
  152. package/dist/lib/contact-centers-row.cjs +65 -89
  153. package/dist/lib/contact-centers-row.cjs.map +1 -1
  154. package/dist/lib/contact-centers-row.js +65 -89
  155. package/dist/lib/contact-centers-row.js.map +1 -1
  156. package/dist/lib/contact-info.cjs +58 -73
  157. package/dist/lib/contact-info.cjs.map +1 -1
  158. package/dist/lib/contact-info.js +58 -73
  159. package/dist/lib/contact-info.js.map +1 -1
  160. package/dist/lib/contact-row.cjs +37 -47
  161. package/dist/lib/contact-row.cjs.map +1 -1
  162. package/dist/lib/contact-row.js +37 -47
  163. package/dist/lib/contact-row.js.map +1 -1
  164. package/dist/lib/datepicker.cjs +267 -263
  165. package/dist/lib/datepicker.cjs.map +1 -1
  166. package/dist/lib/datepicker.js +267 -263
  167. package/dist/lib/datepicker.js.map +1 -1
  168. package/dist/lib/description-list.cjs +9 -14
  169. package/dist/lib/description-list.cjs.map +1 -1
  170. package/dist/lib/description-list.js +9 -14
  171. package/dist/lib/description-list.js.map +1 -1
  172. package/dist/lib/dropdown.cjs +6 -6
  173. package/dist/lib/dropdown.cjs.map +1 -1
  174. package/dist/lib/dropdown.js +6 -6
  175. package/dist/lib/dropdown.js.map +1 -1
  176. package/dist/lib/editor.cjs +312 -249
  177. package/dist/lib/editor.cjs.map +1 -1
  178. package/dist/lib/editor.js +312 -249
  179. package/dist/lib/editor.js.map +1 -1
  180. package/dist/lib/emoji-picker.cjs +387 -419
  181. package/dist/lib/emoji-picker.cjs.map +1 -1
  182. package/dist/lib/emoji-picker.js +387 -419
  183. package/dist/lib/emoji-picker.js.map +1 -1
  184. package/dist/lib/emoji-row.cjs +59 -69
  185. package/dist/lib/emoji-row.cjs.map +1 -1
  186. package/dist/lib/emoji-row.js +59 -69
  187. package/dist/lib/emoji-row.js.map +1 -1
  188. package/dist/lib/emoji-text-wrapper.cjs +13 -12
  189. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  190. package/dist/lib/emoji-text-wrapper.js +13 -12
  191. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  192. package/dist/lib/emoji.cjs +19 -23
  193. package/dist/lib/emoji.cjs.map +1 -1
  194. package/dist/lib/emoji.js +19 -23
  195. package/dist/lib/emoji.js.map +1 -1
  196. package/dist/lib/empty-state.cjs +20 -30
  197. package/dist/lib/empty-state.cjs.map +1 -1
  198. package/dist/lib/empty-state.js +20 -30
  199. package/dist/lib/empty-state.js.map +1 -1
  200. package/dist/lib/feed-item-row.cjs +43 -74
  201. package/dist/lib/feed-item-row.cjs.map +1 -1
  202. package/dist/lib/feed-item-row.js +43 -74
  203. package/dist/lib/feed-item-row.js.map +1 -1
  204. package/dist/lib/feed-pill.cjs +45 -55
  205. package/dist/lib/feed-pill.cjs.map +1 -1
  206. package/dist/lib/feed-pill.js +45 -55
  207. package/dist/lib/feed-pill.js.map +1 -1
  208. package/dist/lib/general-row.cjs +115 -165
  209. package/dist/lib/general-row.cjs.map +1 -1
  210. package/dist/lib/general-row.js +115 -165
  211. package/dist/lib/general-row.js.map +1 -1
  212. package/dist/lib/group-row.cjs +7 -9
  213. package/dist/lib/group-row.cjs.map +1 -1
  214. package/dist/lib/group-row.js +7 -9
  215. package/dist/lib/group-row.js.map +1 -1
  216. package/dist/lib/grouped-chip.cjs +27 -48
  217. package/dist/lib/grouped-chip.cjs.map +1 -1
  218. package/dist/lib/grouped-chip.js +27 -48
  219. package/dist/lib/grouped-chip.js.map +1 -1
  220. package/dist/lib/hovercard.cjs +25 -33
  221. package/dist/lib/hovercard.cjs.map +1 -1
  222. package/dist/lib/hovercard.js +25 -33
  223. package/dist/lib/hovercard.js.map +1 -1
  224. package/dist/lib/icon.cjs +1 -1
  225. package/dist/lib/icon.cjs.map +1 -1
  226. package/dist/lib/icon.js +1 -1
  227. package/dist/lib/icon.js.map +1 -1
  228. package/dist/lib/illustration.cjs +2 -1
  229. package/dist/lib/illustration.cjs.map +1 -1
  230. package/dist/lib/illustration.js +2 -1
  231. package/dist/lib/illustration.js.map +1 -1
  232. package/dist/lib/image-viewer.cjs +62 -66
  233. package/dist/lib/image-viewer.cjs.map +1 -1
  234. package/dist/lib/image-viewer.js +62 -66
  235. package/dist/lib/image-viewer.js.map +1 -1
  236. package/dist/lib/input-group.cjs +15 -19
  237. package/dist/lib/input-group.cjs.map +1 -1
  238. package/dist/lib/input-group.js +15 -19
  239. package/dist/lib/input-group.js.map +1 -1
  240. package/dist/lib/input.cjs +76 -104
  241. package/dist/lib/input.cjs.map +1 -1
  242. package/dist/lib/input.js +76 -104
  243. package/dist/lib/input.js.map +1 -1
  244. package/dist/lib/item-layout.cjs +10 -27
  245. package/dist/lib/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout.js +10 -27
  247. package/dist/lib/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node.cjs +80 -89
  249. package/dist/lib/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node.js +80 -89
  251. package/dist/lib/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut.cjs +26 -31
  253. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut.js +26 -31
  255. package/dist/lib/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/lazy-show.cjs +6 -8
  257. package/dist/lib/lazy-show.cjs.map +1 -1
  258. package/dist/lib/lazy-show.js +6 -8
  259. package/dist/lib/lazy-show.js.map +1 -1
  260. package/dist/lib/link.cjs +2 -7
  261. package/dist/lib/link.cjs.map +1 -1
  262. package/dist/lib/link.js +2 -7
  263. package/dist/lib/link.js.map +1 -1
  264. package/dist/lib/list-item-group.cjs +7 -14
  265. package/dist/lib/list-item-group.cjs.map +1 -1
  266. package/dist/lib/list-item-group.js +7 -14
  267. package/dist/lib/list-item-group.js.map +1 -1
  268. package/dist/lib/list-item.cjs +24 -25
  269. package/dist/lib/list-item.cjs.map +1 -1
  270. package/dist/lib/list-item.js +24 -25
  271. package/dist/lib/list-item.js.map +1 -1
  272. package/dist/lib/message-input.cjs +227 -264
  273. package/dist/lib/message-input.cjs.map +1 -1
  274. package/dist/lib/message-input.js +227 -264
  275. package/dist/lib/message-input.js.map +1 -1
  276. package/dist/lib/modal.cjs +59 -99
  277. package/dist/lib/modal.cjs.map +1 -1
  278. package/dist/lib/modal.js +59 -99
  279. package/dist/lib/modal.js.map +1 -1
  280. package/dist/lib/notice.cjs +33 -46
  281. package/dist/lib/notice.cjs.map +1 -1
  282. package/dist/lib/notice.js +33 -46
  283. package/dist/lib/notice.js.map +1 -1
  284. package/dist/lib/pagination.cjs +49 -61
  285. package/dist/lib/pagination.cjs.map +1 -1
  286. package/dist/lib/pagination.js +49 -61
  287. package/dist/lib/pagination.js.map +1 -1
  288. package/dist/lib/popover.cjs +133 -156
  289. package/dist/lib/popover.cjs.map +1 -1
  290. package/dist/lib/popover.js +134 -157
  291. package/dist/lib/popover.js.map +1 -1
  292. package/dist/lib/presence.cjs +9 -17
  293. package/dist/lib/presence.cjs.map +1 -1
  294. package/dist/lib/presence.js +9 -17
  295. package/dist/lib/presence.js.map +1 -1
  296. package/dist/lib/radio-group.cjs +1 -1
  297. package/dist/lib/radio-group.cjs.map +1 -1
  298. package/dist/lib/radio-group.js +1 -1
  299. package/dist/lib/radio-group.js.map +1 -1
  300. package/dist/lib/radio.cjs +34 -41
  301. package/dist/lib/radio.cjs.map +1 -1
  302. package/dist/lib/radio.js +34 -41
  303. package/dist/lib/radio.js.map +1 -1
  304. package/dist/lib/rich-text-editor.cjs +292 -288
  305. package/dist/lib/rich-text-editor.cjs.map +1 -1
  306. package/dist/lib/rich-text-editor.js +292 -288
  307. package/dist/lib/rich-text-editor.js.map +1 -1
  308. package/dist/lib/root-layout.cjs +24 -39
  309. package/dist/lib/root-layout.cjs.map +1 -1
  310. package/dist/lib/root-layout.js +24 -39
  311. package/dist/lib/root-layout.js.map +1 -1
  312. package/dist/lib/scrollbar-directive.cjs.map +1 -1
  313. package/dist/lib/scrollbar-directive.js.map +1 -1
  314. package/dist/lib/scroller.cjs +100 -83
  315. package/dist/lib/scroller.cjs.map +1 -1
  316. package/dist/lib/scroller.js +100 -83
  317. package/dist/lib/scroller.js.map +1 -1
  318. package/dist/lib/select-menu.cjs +40 -67
  319. package/dist/lib/select-menu.cjs.map +1 -1
  320. package/dist/lib/select-menu.js +40 -67
  321. package/dist/lib/select-menu.js.map +1 -1
  322. package/dist/lib/settings-menu-button.cjs +10 -16
  323. package/dist/lib/settings-menu-button.cjs.map +1 -1
  324. package/dist/lib/settings-menu-button.js +10 -16
  325. package/dist/lib/settings-menu-button.js.map +1 -1
  326. package/dist/lib/skeleton.cjs +74 -93
  327. package/dist/lib/skeleton.cjs.map +1 -1
  328. package/dist/lib/skeleton.js +74 -93
  329. package/dist/lib/skeleton.js.map +1 -1
  330. package/dist/lib/split-button.cjs +68 -74
  331. package/dist/lib/split-button.cjs.map +1 -1
  332. package/dist/lib/split-button.js +68 -74
  333. package/dist/lib/split-button.js.map +1 -1
  334. package/dist/lib/stack.cjs +18 -26
  335. package/dist/lib/stack.cjs.map +1 -1
  336. package/dist/lib/stack.js +18 -26
  337. package/dist/lib/stack.js.map +1 -1
  338. package/dist/lib/tabs.cjs +3 -7
  339. package/dist/lib/tabs.cjs.map +1 -1
  340. package/dist/lib/tabs.js +3 -7
  341. package/dist/lib/tabs.js.map +1 -1
  342. package/dist/lib/time-pill.cjs.map +1 -1
  343. package/dist/lib/time-pill.js.map +1 -1
  344. package/dist/lib/toast.cjs +35 -51
  345. package/dist/lib/toast.cjs.map +1 -1
  346. package/dist/lib/toast.js +35 -51
  347. package/dist/lib/toast.js.map +1 -1
  348. package/dist/lib/toggle.cjs +24 -34
  349. package/dist/lib/toggle.cjs.map +1 -1
  350. package/dist/lib/toggle.js +24 -34
  351. package/dist/lib/toggle.js.map +1 -1
  352. package/dist/lib/tooltip-directive.cjs +26 -19
  353. package/dist/lib/tooltip-directive.cjs.map +1 -1
  354. package/dist/lib/tooltip-directive.js +26 -19
  355. package/dist/lib/tooltip-directive.js.map +1 -1
  356. package/dist/lib/tooltip.cjs +21 -32
  357. package/dist/lib/tooltip.cjs.map +1 -1
  358. package/dist/lib/tooltip.js +22 -33
  359. package/dist/lib/tooltip.js.map +1 -1
  360. package/dist/lib/top-banner-info.cjs +8 -23
  361. package/dist/lib/top-banner-info.cjs.map +1 -1
  362. package/dist/lib/top-banner-info.js +8 -23
  363. package/dist/lib/top-banner-info.js.map +1 -1
  364. package/dist/lib/unread-pill.cjs +8 -11
  365. package/dist/lib/unread-pill.cjs.map +1 -1
  366. package/dist/lib/unread-pill.js +8 -11
  367. package/dist/lib/unread-pill.js.map +1 -1
  368. package/dist/lib/validation-messages.cjs +14 -17
  369. package/dist/lib/validation-messages.cjs.map +1 -1
  370. package/dist/lib/validation-messages.js +14 -17
  371. package/dist/lib/validation-messages.js.map +1 -1
  372. package/dist/types/components/button/button.vue.d.ts +1 -1
  373. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  374. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  375. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  376. package/dist/types/components/icon/icon.vue.d.ts +2 -2
  377. package/dist/types/components/icon/icon_constants.d.ts +1 -1
  378. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  379. package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
  380. package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
  381. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  382. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  383. package/dist/types/components/input/input.vue.d.ts +1 -1
  384. package/dist/types/components/modal/modal.vue.d.ts +1 -1
  385. package/dist/types/components/notice/notice.vue.d.ts +1 -1
  386. package/dist/types/components/radio/radio.vue.d.ts +1 -1
  387. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  388. package/dist/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  389. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  390. package/dist/types/components/tabs/tab.vue.d.ts +1 -1
  391. package/dist/types/components/toast/toast.vue.d.ts +2 -2
  392. package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
  393. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  394. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  395. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  396. package/package.json +3 -2
  397. package/dist/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  398. package/dist/chunks/icon_constants-QYpmdE0R.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sr_only_close_button-3EdsV-dH.js","sources":["../../common/mixins/sr_only_close_button.js","../../common/sr_only_close_button.vue"],"sourcesContent":["/**\n * @displayName Sr-Only close button mixin\n */\nexport default {\n props: {\n /**\n * If true, a hidden close button is included for screen readers\n * @values true, false\n */\n visuallyHiddenClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n handler () {\n this.validateVisuallyHiddenCloseProps();\n },\n },\n },\n\n computed: {\n showVisuallyHiddenClose () {\n return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;\n },\n },\n\n methods: {\n validateVisuallyHiddenCloseProps () {\n if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {\n console.error(`If visuallyHiddenClose prop is true, the component includes\n a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);\n }\n },\n },\n};\n","<template>\n <dt-button\n id=\"sr-only-close-button\"\n data-qa=\"dt-sr-only-close-button\"\n class=\"d-vi-visible-sr\"\n :aria-label=\"visuallyHiddenCloseLabel\"\n @click=\"close\"\n @keydown.space.prevent.stop=\"close\"\n >\n <dt-icon name=\"close\" />\n </dt-button>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nexport default {\n name: 'SrOnlyCloseButton',\n components: {\n DtIcon,\n DtButton,\n },\n\n props: {\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n emits: ['close'],\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["_createBlock","_createVNode"],"mappings":";;;;AAGA,MAAe,yBAAA;AAAA,EACb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,0BAA0B;AAAA,MACxB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,MACN,UAAW;AACT,aAAK,iCAAgC;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAAA,EAED,UAAU;AAAA,IACR,0BAA2B;AACzB,aAAO,KAAK,uBAAuB,KAAK,4BAA4B;AAAA,IACrE;AAAA,EACF;AAAA,EAED,SAAS;AAAA,IACP,mCAAoC;AAClC,UAAI,KAAK,uBAAuB,CAAC,KAAK,0BAA0B;AAC9D,gBAAQ,MAAM;AAAA,8FACwE;AAAA,MACvF;AAAA,IACF;AAAA,EACF;AACH;AC/BA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACD;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,0BAA0B;AAAA,MACxB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO,CAAC,OAAO;AAAA,EAEf,SAAS;AAAA,IACP,QAAS;AACP,WAAK,MAAM,OAAO;AAAA,IACnB;AAAA,EACF;AACH;;;;sBAzCEA,YASY,sBAAA;AAAA,IARV,IAAG;AAAA,IACH,WAAQ;AAAA,IACR,OAAM;AAAA,IACL,cAAY,OAAwB;AAAA,IACpC,SAAO,SAAK;AAAA,IACZ,kCAA4B,SAAK,OAAA,CAAA,WAAA,MAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA;qBAElC,MAAwB;AAAA,MAAxBC,YAAwB,oBAAA,EAAf,MAAK,QAAO,CAAA;AAAA;;;;;"}
1
+ {"version":3,"file":"sr_only_close_button-Ji3Zlts6.js","sources":["../../common/mixins/sr_only_close_button.js","../../common/sr_only_close_button.vue"],"sourcesContent":["/**\n * @displayName Sr-Only close button mixin\n */\nexport default {\n props: {\n /**\n * If true, a hidden close button is included for screen readers\n * @values true, false\n */\n visuallyHiddenClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n handler () {\n this.validateVisuallyHiddenCloseProps();\n },\n },\n },\n\n computed: {\n showVisuallyHiddenClose () {\n return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;\n },\n },\n\n methods: {\n validateVisuallyHiddenCloseProps () {\n if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {\n console.error(`If visuallyHiddenClose prop is true, the component includes\n a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);\n }\n },\n },\n};\n","<template>\n <dt-button\n id=\"sr-only-close-button\"\n data-qa=\"dt-sr-only-close-button\"\n class=\"d-vi-visible-sr\"\n :aria-label=\"visuallyHiddenCloseLabel\"\n @click=\"close\"\n @keydown.space.prevent.stop=\"close\"\n >\n <dt-icon name=\"close\" />\n </dt-button>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nexport default {\n name: 'SrOnlyCloseButton',\n components: {\n DtIcon,\n DtButton,\n },\n\n props: {\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n emits: ['close'],\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["props","visuallyHiddenClose","type","Boolean","default","visuallyHiddenCloseLabel","String","watch","$props","immediate","deep","handler","validateVisuallyHiddenCloseProps","computed","showVisuallyHiddenClose","methods","console","error","_sfc_main","name","components","DtIcon","DtButton","emits","close","$emit","_createBlock","_component_dt_button","id","class","onClick","$options","onKeydown","_createVNode","_component_dt_icon"],"mappings":";;;;AAGA,MAAe,yBAAA;AAAA,EACbA,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKLC,qBAAqB;AAAA,MACnBC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDC,0BAA0B;AAAA,MACxBH,MAAMI;AAAAA,MACNF,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EAEDG,OAAO;AAAA,IACLC,QAAQ;AAAA,MACNC,WAAW;AAAA,MACXC,MAAM;AAAA,MACNC,UAAW;AACT,aAAKC,iCAAgC;AAAA,MACvC;AAAA,IACF;AAAA,EACD;AAAA,EAEDC,UAAU;AAAA,IACRC,0BAA2B;AACzB,aAAO,KAAKb,uBAAuB,KAAKI,4BAA4B;AAAA,IACtE;AAAA,EACD;AAAA,EAEDU,SAAS;AAAA,IACPH,mCAAoC;AAClC,UAAI,KAAKX,uBAAuB,CAAC,KAAKI,0BAA0B;AAC9DW,gBAAQC,MAAM;AAAA,8FACwE;AAAA,MACxF;AAAA,IACF;AAAA,EACF;AACF;AC/BA,MAAKC,YAAU;AAAA,EACbC,MAAM;AAAA,EACNC,YAAY;AAAA,IACVC;AAAAA,IACAC;AAAAA,EACD;AAAA,EAEDtB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKLK,0BAA0B;AAAA,MACxBH,MAAMI;AAAAA,MACNF,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EAEDmB,OAAO,CAAC,OAAO;AAAA,EAEfR,SAAS;AAAA,IACPS,QAAS;AACP,WAAKC,MAAM,OAAO;AAAA,IACpB;AAAA,EACF;AACF;;;;sBAzCEC,YASYC,sBAAA;AAAA,IARVC,IAAG;AAAA,IACH,WAAQ;AAAA,IACRC,OAAM;AAAA,IACL,cAAYrB,OAAwBH;AAAAA,IACpCyB,SAAOC,SAAKP;AAAAA,IACZQ,kCAA4BD,SAAKP,OAAA,CAAA,WAAA,MAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA;qBAElC,MAAwB,CAAxBS,YAAwBC,oBAAA;AAAA,MAAff,MAAK;AAAA,IAAO,CAAA,CAAA;;;;;"}
@@ -79,13 +79,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
79
79
  onClick: $options.close,
80
80
  onKeydown: vue.withKeys(vue.withModifiers($options.close, ["prevent", "stop"]), ["space"])
81
81
  }, {
82
- default: vue.withCtx(() => [
83
- vue.createVNode(_component_dt_icon, { name: "close" })
84
- ]),
82
+ default: vue.withCtx(() => [vue.createVNode(_component_dt_icon, {
83
+ name: "close"
84
+ })]),
85
85
  _: 1
86
86
  }, 8, ["aria-label", "onClick", "onKeydown"]);
87
87
  }
88
88
  const SrOnlyCloseButton = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
89
89
  exports.SrOnlyCloseButton = SrOnlyCloseButton;
90
90
  exports.SrOnlyCloseButtonMixin = SrOnlyCloseButtonMixin;
91
- //# sourceMappingURL=sr_only_close_button-xGrHFjwA.js.map
91
+ //# sourceMappingURL=sr_only_close_button-gKr0Vlbz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sr_only_close_button-xGrHFjwA.js","sources":["../../common/mixins/sr_only_close_button.js","../../common/sr_only_close_button.vue"],"sourcesContent":["/**\n * @displayName Sr-Only close button mixin\n */\nexport default {\n props: {\n /**\n * If true, a hidden close button is included for screen readers\n * @values true, false\n */\n visuallyHiddenClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n handler () {\n this.validateVisuallyHiddenCloseProps();\n },\n },\n },\n\n computed: {\n showVisuallyHiddenClose () {\n return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;\n },\n },\n\n methods: {\n validateVisuallyHiddenCloseProps () {\n if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {\n console.error(`If visuallyHiddenClose prop is true, the component includes\n a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);\n }\n },\n },\n};\n","<template>\n <dt-button\n id=\"sr-only-close-button\"\n data-qa=\"dt-sr-only-close-button\"\n class=\"d-vi-visible-sr\"\n :aria-label=\"visuallyHiddenCloseLabel\"\n @click=\"close\"\n @keydown.space.prevent.stop=\"close\"\n >\n <dt-icon name=\"close\" />\n </dt-button>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nexport default {\n name: 'SrOnlyCloseButton',\n components: {\n DtIcon,\n DtButton,\n },\n\n props: {\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n emits: ['close'],\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["DtIcon","DtButton","_createBlock","_createVNode"],"mappings":";;;;;AAGA,MAAe,yBAAA;AAAA,EACb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,0BAA0B;AAAA,MACxB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,MACN,UAAW;AACT,aAAK,iCAAgC;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAAA,EAED,UAAU;AAAA,IACR,0BAA2B;AACzB,aAAO,KAAK,uBAAuB,KAAK,4BAA4B;AAAA,IACrE;AAAA,EACF;AAAA,EAED,SAAS;AAAA,IACP,mCAAoC;AAClC,UAAI,KAAK,uBAAuB,CAAC,KAAK,0BAA0B;AAC9D,gBAAQ,MAAM;AAAA,8FACwE;AAAA,MACvF;AAAA,IACF;AAAA,EACF;AACH;AC/BA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,QAAAA,SAAM;AAAA,IACN,UAAAC,WAAQ;AAAA,EACT;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,0BAA0B;AAAA,MACxB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO,CAAC,OAAO;AAAA,EAEf,SAAS;AAAA,IACP,QAAS;AACP,WAAK,MAAM,OAAO;AAAA,IACnB;AAAA,EACF;AACH;;;;0BAzCEC,IASY,YAAA,sBAAA;AAAA,IARV,IAAG;AAAA,IACH,WAAQ;AAAA,IACR,OAAM;AAAA,IACL,cAAY,OAAwB;AAAA,IACpC,SAAO,SAAK;AAAA,IACZ,0CAA4B,SAAK,OAAA,CAAA,WAAA,MAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA;yBAElC,MAAwB;AAAA,MAAxBC,IAAAA,YAAwB,oBAAA,EAAf,MAAK,QAAO,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"sr_only_close_button-gKr0Vlbz.js","sources":["../../common/mixins/sr_only_close_button.js","../../common/sr_only_close_button.vue"],"sourcesContent":["/**\n * @displayName Sr-Only close button mixin\n */\nexport default {\n props: {\n /**\n * If true, a hidden close button is included for screen readers\n * @values true, false\n */\n visuallyHiddenClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n handler () {\n this.validateVisuallyHiddenCloseProps();\n },\n },\n },\n\n computed: {\n showVisuallyHiddenClose () {\n return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;\n },\n },\n\n methods: {\n validateVisuallyHiddenCloseProps () {\n if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {\n console.error(`If visuallyHiddenClose prop is true, the component includes\n a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);\n }\n },\n },\n};\n","<template>\n <dt-button\n id=\"sr-only-close-button\"\n data-qa=\"dt-sr-only-close-button\"\n class=\"d-vi-visible-sr\"\n :aria-label=\"visuallyHiddenCloseLabel\"\n @click=\"close\"\n @keydown.space.prevent.stop=\"close\"\n >\n <dt-icon name=\"close\" />\n </dt-button>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nexport default {\n name: 'SrOnlyCloseButton',\n components: {\n DtIcon,\n DtButton,\n },\n\n props: {\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n emits: ['close'],\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["props","visuallyHiddenClose","type","Boolean","default","visuallyHiddenCloseLabel","String","watch","$props","immediate","deep","handler","validateVisuallyHiddenCloseProps","computed","showVisuallyHiddenClose","methods","console","error","_sfc_main","name","components","DtIcon","DtButton","emits","close","$emit","_createBlock","_component_dt_button","id","class","onClick","$options","onKeydown","_createVNode","_component_dt_icon"],"mappings":";;;;;AAGA,MAAe,yBAAA;AAAA,EACbA,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKLC,qBAAqB;AAAA,MACnBC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDC,0BAA0B;AAAA,MACxBH,MAAMI;AAAAA,MACNF,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EAEDG,OAAO;AAAA,IACLC,QAAQ;AAAA,MACNC,WAAW;AAAA,MACXC,MAAM;AAAA,MACNC,UAAW;AACT,aAAKC,iCAAgC;AAAA,MACvC;AAAA,IACF;AAAA,EACD;AAAA,EAEDC,UAAU;AAAA,IACRC,0BAA2B;AACzB,aAAO,KAAKb,uBAAuB,KAAKI,4BAA4B;AAAA,IACtE;AAAA,EACD;AAAA,EAEDU,SAAS;AAAA,IACPH,mCAAoC;AAClC,UAAI,KAAKX,uBAAuB,CAAC,KAAKI,0BAA0B;AAC9DW,gBAAQC,MAAM;AAAA,8FACwE;AAAA,MACxF;AAAA,IACF;AAAA,EACF;AACF;AC/BA,MAAKC,YAAU;AAAA,EACbC,MAAM;AAAA,EACNC,YAAY;AAAA,YACVC,SAAM;AAAA,IACNC,UAAAA,WAAAA;AAAAA,EACD;AAAA,EAEDtB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKLK,0BAA0B;AAAA,MACxBH,MAAMI;AAAAA,MACNF,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EAEDmB,OAAO,CAAC,OAAO;AAAA,EAEfR,SAAS;AAAA,IACPS,QAAS;AACP,WAAKC,MAAM,OAAO;AAAA,IACpB;AAAA,EACF;AACF;;;;0BAzCEC,IASY,YAAAC,sBAAA;AAAA,IARVC,IAAG;AAAA,IACH,WAAQ;AAAA,IACRC,OAAM;AAAA,IACL,cAAYrB,OAAwBH;AAAAA,IACpCyB,SAAOC,SAAKP;AAAAA,IACZQ,0CAA4BD,SAAKP,OAAA,CAAA,WAAA,MAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA;yBAElC,MAAwB,CAAxBS,IAAAA,YAAwBC,oBAAA;AAAA,MAAff,MAAK;AAAA,IAAO,CAAA,CAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack_constants-HraCekPm.js","sources":["../../components/stack/stack_constants.js"],"sourcesContent":["export const DT_STACK_DIRECTION = {\n default: 'column',\n column: 'column',\n row: 'row',\n 'row-reverse': 'row-reverse',\n 'column-reverse': 'column-reverse',\n};\n\nexport const DT_STACK_RESPONSIVE_BREAKPOINTS = ['sm', 'md', 'lg', 'xl'];\n\nexport const DT_STACK_GAP = ['0', '100', '200', '300', '400', '450', '500', '600'];\n\nexport default {\n DT_STACK_DIRECTION,\n DT_STACK_RESPONSIVE_BREAKPOINTS,\n DT_STACK_GAP,\n};\n"],"names":[],"mappings":"AAAY,MAAC,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,eAAe;AAAA,EACf,kBAAkB;AACpB;AAEY,MAAC,kCAAkC,CAAC,MAAM,MAAM,MAAM,IAAI;AAE1D,MAAC,eAAe,CAAC,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;"}
1
+ {"version":3,"file":"stack_constants-HraCekPm.js","sources":["../../components/stack/stack_constants.js"],"sourcesContent":["export const DT_STACK_DIRECTION = {\n default: 'column',\n column: 'column',\n row: 'row',\n 'row-reverse': 'row-reverse',\n 'column-reverse': 'column-reverse',\n};\n\nexport const DT_STACK_RESPONSIVE_BREAKPOINTS = ['sm', 'md', 'lg', 'xl'];\n\nexport const DT_STACK_GAP = ['0', '100', '200', '300', '400', '450', '500', '600'];\n\nexport default {\n DT_STACK_DIRECTION,\n DT_STACK_RESPONSIVE_BREAKPOINTS,\n DT_STACK_GAP,\n};\n"],"names":["DT_STACK_DIRECTION","default","column","row","DT_STACK_RESPONSIVE_BREAKPOINTS","DT_STACK_GAP"],"mappings":"AAAO,MAAMA,qBAAqB;AAAA,EAChCC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,KAAK;AAAA,EACL,eAAe;AAAA,EACf,kBAAkB;AACpB;AAEO,MAAMC,kCAAkC,CAAC,MAAM,MAAM,MAAM,IAAI;MAEzDC,eAAe,CAAC,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack_constants-SMzMWnAQ.js","sources":["../../components/stack/stack_constants.js"],"sourcesContent":["export const DT_STACK_DIRECTION = {\n default: 'column',\n column: 'column',\n row: 'row',\n 'row-reverse': 'row-reverse',\n 'column-reverse': 'column-reverse',\n};\n\nexport const DT_STACK_RESPONSIVE_BREAKPOINTS = ['sm', 'md', 'lg', 'xl'];\n\nexport const DT_STACK_GAP = ['0', '100', '200', '300', '400', '450', '500', '600'];\n\nexport default {\n DT_STACK_DIRECTION,\n DT_STACK_RESPONSIVE_BREAKPOINTS,\n DT_STACK_GAP,\n};\n"],"names":[],"mappings":";AAAY,MAAC,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,eAAe;AAAA,EACf,kBAAkB;AACpB;AAEY,MAAC,kCAAkC,CAAC,MAAM,MAAM,MAAM,IAAI;AAE1D,MAAC,eAAe,CAAC,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;;;;"}
1
+ {"version":3,"file":"stack_constants-SMzMWnAQ.js","sources":["../../components/stack/stack_constants.js"],"sourcesContent":["export const DT_STACK_DIRECTION = {\n default: 'column',\n column: 'column',\n row: 'row',\n 'row-reverse': 'row-reverse',\n 'column-reverse': 'column-reverse',\n};\n\nexport const DT_STACK_RESPONSIVE_BREAKPOINTS = ['sm', 'md', 'lg', 'xl'];\n\nexport const DT_STACK_GAP = ['0', '100', '200', '300', '400', '450', '500', '600'];\n\nexport default {\n DT_STACK_DIRECTION,\n DT_STACK_RESPONSIVE_BREAKPOINTS,\n DT_STACK_GAP,\n};\n"],"names":["DT_STACK_DIRECTION","default","column","row","DT_STACK_RESPONSIVE_BREAKPOINTS","DT_STACK_GAP"],"mappings":";AAAO,MAAMA,qBAAqB;AAAA,EAChCC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,KAAK;AAAA,EACL,eAAe;AAAA,EACf,kBAAkB;AACpB;AAEO,MAAMC,kCAAkC,CAAC,MAAM,MAAM,MAAM,IAAI;MAEzDC,eAAe,CAAC,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;;;;"}
@@ -156,38 +156,57 @@ const _sfc_main$1 = {
156
156
  });
157
157
  },
158
158
  onChange() {
159
- this.$emit("change", { ...this.provideObj });
159
+ this.$emit("change", {
160
+ ...this.provideObj
161
+ });
160
162
  },
161
- changeContentPanel({ selected, selectOverride }) {
163
+ changeContentPanel({
164
+ selected,
165
+ selectOverride
166
+ }) {
162
167
  this.provideObj.selected = selected;
163
168
  if (!selectOverride) {
164
169
  this.onChange();
165
170
  }
166
171
  },
167
172
  tabLeft() {
168
- const { index, tabs } = this.getIndexAndTabs();
173
+ const {
174
+ index,
175
+ tabs
176
+ } = this.getIndexAndTabs();
169
177
  if (index === -1)
170
178
  return;
171
179
  const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;
172
180
  this.selectFocusOnTab(indexElement, tabs);
173
181
  },
174
182
  tabRight() {
175
- const { index, tabs } = this.getIndexAndTabs();
183
+ const {
184
+ index,
185
+ tabs
186
+ } = this.getIndexAndTabs();
176
187
  if (index === -1)
177
188
  return;
178
189
  const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;
179
190
  this.selectFocusOnTab(indexElement, tabs);
180
191
  },
181
192
  selectFocusOnTab(index, tabs) {
182
- const { context } = tabs[index];
193
+ const {
194
+ context
195
+ } = tabs[index];
183
196
  context.focus();
184
197
  },
185
198
  selectTab() {
186
- const { tabs, index } = this.getIndexAndTabs();
199
+ const {
200
+ tabs,
201
+ index
202
+ } = this.getIndexAndTabs();
187
203
  this.selectTabByIndex(index, tabs);
188
204
  },
189
205
  selectTabByIndex(index, tabs) {
190
- const { context, panelId } = tabs[index];
206
+ const {
207
+ context,
208
+ panelId
209
+ } = tabs[index];
191
210
  this.provideObj.selected = panelId;
192
211
  context.focus();
193
212
  },
@@ -212,39 +231,23 @@ const _sfc_main$1 = {
212
231
  }
213
232
  }
214
233
  };
215
- const _hoisted_1 = { "data-qa": "dt-tab-group" };
234
+ const _hoisted_1 = {
235
+ "data-qa": "dt-tab-group"
236
+ };
216
237
  const _hoisted_2 = ["aria-label"];
217
238
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
218
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
219
- vue.createElementVNode("div", vue.mergeProps({
220
- ref: "tabs",
221
- class: [
222
- "d-tablist",
223
- $data.TAB_LIST_SIZE_MODIFIERS[$props.size],
224
- {
225
- [$data.TAB_LIST_KIND_MODIFIERS.inverted]: $props.inverted,
226
- [$data.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: $props.borderless
227
- },
228
- $props.tabListClass
229
- ]
230
- }, $props.tabListChildProps, {
231
- role: "tablist",
232
- "aria-label": $props.label,
233
- onKeyup: [
234
- _cache[0] || (_cache[0] = vue.withKeys((...args) => $options.tabLeft && $options.tabLeft(...args), ["left"])),
235
- _cache[1] || (_cache[1] = vue.withKeys((...args) => $options.tabRight && $options.tabRight(...args), ["right"])),
236
- _cache[2] || (_cache[2] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["enter"])),
237
- _cache[3] || (_cache[3] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["space"]))
238
- ],
239
- onKeydown: [
240
- _cache[4] || (_cache[4] = vue.withKeys((...args) => $options.onHomeButton && $options.onHomeButton(...args), ["home"])),
241
- _cache[5] || (_cache[5] = vue.withKeys((...args) => $options.onEndButton && $options.onEndButton(...args), ["end"]))
242
- ]
243
- }), [
244
- vue.renderSlot(_ctx.$slots, "tabs")
245
- ], 16, _hoisted_2),
246
- vue.renderSlot(_ctx.$slots, "default")
247
- ]);
239
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.createElementVNode("div", vue.mergeProps({
240
+ ref: "tabs",
241
+ class: ["d-tablist", $data.TAB_LIST_SIZE_MODIFIERS[$props.size], {
242
+ [$data.TAB_LIST_KIND_MODIFIERS.inverted]: $props.inverted,
243
+ [$data.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: $props.borderless
244
+ }, $props.tabListClass]
245
+ }, $props.tabListChildProps, {
246
+ role: "tablist",
247
+ "aria-label": $props.label,
248
+ onKeyup: [_cache[0] || (_cache[0] = vue.withKeys((...args) => $options.tabLeft && $options.tabLeft(...args), ["left"])), _cache[1] || (_cache[1] = vue.withKeys((...args) => $options.tabRight && $options.tabRight(...args), ["right"])), _cache[2] || (_cache[2] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["enter"])), _cache[3] || (_cache[3] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["space"]))],
249
+ onKeydown: [_cache[4] || (_cache[4] = vue.withKeys((...args) => $options.onHomeButton && $options.onHomeButton(...args), ["home"])), _cache[5] || (_cache[5] = vue.withKeys((...args) => $options.onEndButton && $options.onEndButton(...args), ["end"]))]
250
+ }), [vue.renderSlot(_ctx.$slots, "tabs")], 16, _hoisted_2), vue.renderSlot(_ctx.$slots, "default")]);
248
251
  }
249
252
  const DtTabGroup = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
250
253
  const _sfc_main = {
@@ -359,13 +362,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
359
362
  const _component_dt_button = vue.resolveComponent("dt-button");
360
363
  return vue.openBlock(), vue.createBlock(_component_dt_button, vue.mergeProps({
361
364
  id: `dt-tab-${$props.id}`,
362
- class: [
363
- "d-tab",
364
- {
365
- [$data.TAB_IMPORTANCE_MODIFIERS.selected]: $options.isSelected
366
- },
367
- $props.tabClass
368
- ],
365
+ class: ["d-tab", {
366
+ [$data.TAB_IMPORTANCE_MODIFIERS.selected]: $options.isSelected
367
+ }, $props.tabClass],
369
368
  role: "tab",
370
369
  "aria-selected": `${$options.isSelected}`,
371
370
  "aria-controls": `dt-panel-${$props.panelId}`,
@@ -374,9 +373,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
374
373
  tabindex: $options.isSelected ? "0" : "-1",
375
374
  disabled: $options.groupContext.disabled || $props.disabled
376
375
  }, _ctx.$attrs, vue.toHandlers($options.tabListeners)), {
377
- default: vue.withCtx(() => [
378
- vue.renderSlot(_ctx.$slots, "default")
379
- ]),
376
+ default: vue.withCtx(() => [vue.renderSlot(_ctx.$slots, "default")]),
380
377
  _: 3
381
378
  }, 16, ["id", "class", "aria-selected", "aria-controls", "aria-label", "tabindex", "disabled"]);
382
379
  }
@@ -387,4 +384,4 @@ exports.TAB_IMPORTANCE_MODIFIERS = TAB_IMPORTANCE_MODIFIERS;
387
384
  exports.TAB_LIST_IMPORTANCE_MODIFIERS = TAB_LIST_IMPORTANCE_MODIFIERS;
388
385
  exports.TAB_LIST_KIND_MODIFIERS = TAB_LIST_KIND_MODIFIERS;
389
386
  exports.TAB_LIST_SIZES = TAB_LIST_SIZES;
390
- //# sourceMappingURL=tab-qc3f42Yp.js.map
387
+ //# sourceMappingURL=tab-X7IvNGTl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-qc3f42Yp.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","_renderSlot","DtButton","_createBlock","_toHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"tab-X7IvNGTl.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["TAB_LIST_SIZES","TAB_LIST_SIZE_MODIFIERS","sm","TAB_LIST_KIND_MODIFIERS","inverted","TAB_LIST_IMPORTANCE_MODIFIERS","borderless","TAB_IMPORTANCE_MODIFIERS","selected","_sfc_main","name","provide","groupContext","provideObj","changeContentPanel","setFocus","props","label","type","String","default","disabled","Boolean","size","validate","includes","tabListClass","Array","Object","tabListChildProps","emits","data","focusId","tabs","watch","immediate","handler","mounted","updateSelected","beforeUpdate","methods","getTabChildren","from","$refs","querySelectorAll","map","el","context","panelId","getAttribute","replace","id","isSelected","onChange","$emit","selectOverride","tabLeft","index","getIndexAndTabs","indexElement","length","selectFocusOnTab","tabRight","focus","selectTab","selectTabByIndex","findIndex","onHomeButton","onEndButton","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","ref","class","$data","$props","role","onKeyup","$options","args","onKeydown","_renderSlot","_ctx","$slots","components","DtButton","inject","inheritAttrs","required","tabClass","computed","tabListeners","click","event","selectPanel","setSelectedPanelByDefault","_createBlock","_component_dt_button","tabindex","$attrs","_toHandlers"],"mappings":"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"}
@@ -155,38 +155,57 @@ const _sfc_main$1 = {
155
155
  });
156
156
  },
157
157
  onChange() {
158
- this.$emit("change", { ...this.provideObj });
158
+ this.$emit("change", {
159
+ ...this.provideObj
160
+ });
159
161
  },
160
- changeContentPanel({ selected, selectOverride }) {
162
+ changeContentPanel({
163
+ selected,
164
+ selectOverride
165
+ }) {
161
166
  this.provideObj.selected = selected;
162
167
  if (!selectOverride) {
163
168
  this.onChange();
164
169
  }
165
170
  },
166
171
  tabLeft() {
167
- const { index, tabs } = this.getIndexAndTabs();
172
+ const {
173
+ index,
174
+ tabs
175
+ } = this.getIndexAndTabs();
168
176
  if (index === -1)
169
177
  return;
170
178
  const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;
171
179
  this.selectFocusOnTab(indexElement, tabs);
172
180
  },
173
181
  tabRight() {
174
- const { index, tabs } = this.getIndexAndTabs();
182
+ const {
183
+ index,
184
+ tabs
185
+ } = this.getIndexAndTabs();
175
186
  if (index === -1)
176
187
  return;
177
188
  const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;
178
189
  this.selectFocusOnTab(indexElement, tabs);
179
190
  },
180
191
  selectFocusOnTab(index, tabs) {
181
- const { context } = tabs[index];
192
+ const {
193
+ context
194
+ } = tabs[index];
182
195
  context.focus();
183
196
  },
184
197
  selectTab() {
185
- const { tabs, index } = this.getIndexAndTabs();
198
+ const {
199
+ tabs,
200
+ index
201
+ } = this.getIndexAndTabs();
186
202
  this.selectTabByIndex(index, tabs);
187
203
  },
188
204
  selectTabByIndex(index, tabs) {
189
- const { context, panelId } = tabs[index];
205
+ const {
206
+ context,
207
+ panelId
208
+ } = tabs[index];
190
209
  this.provideObj.selected = panelId;
191
210
  context.focus();
192
211
  },
@@ -211,39 +230,23 @@ const _sfc_main$1 = {
211
230
  }
212
231
  }
213
232
  };
214
- const _hoisted_1 = { "data-qa": "dt-tab-group" };
233
+ const _hoisted_1 = {
234
+ "data-qa": "dt-tab-group"
235
+ };
215
236
  const _hoisted_2 = ["aria-label"];
216
237
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
217
- return openBlock(), createElementBlock("div", _hoisted_1, [
218
- createElementVNode("div", mergeProps({
219
- ref: "tabs",
220
- class: [
221
- "d-tablist",
222
- $data.TAB_LIST_SIZE_MODIFIERS[$props.size],
223
- {
224
- [$data.TAB_LIST_KIND_MODIFIERS.inverted]: $props.inverted,
225
- [$data.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: $props.borderless
226
- },
227
- $props.tabListClass
228
- ]
229
- }, $props.tabListChildProps, {
230
- role: "tablist",
231
- "aria-label": $props.label,
232
- onKeyup: [
233
- _cache[0] || (_cache[0] = withKeys((...args) => $options.tabLeft && $options.tabLeft(...args), ["left"])),
234
- _cache[1] || (_cache[1] = withKeys((...args) => $options.tabRight && $options.tabRight(...args), ["right"])),
235
- _cache[2] || (_cache[2] = withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["enter"])),
236
- _cache[3] || (_cache[3] = withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["space"]))
237
- ],
238
- onKeydown: [
239
- _cache[4] || (_cache[4] = withKeys((...args) => $options.onHomeButton && $options.onHomeButton(...args), ["home"])),
240
- _cache[5] || (_cache[5] = withKeys((...args) => $options.onEndButton && $options.onEndButton(...args), ["end"]))
241
- ]
242
- }), [
243
- renderSlot(_ctx.$slots, "tabs")
244
- ], 16, _hoisted_2),
245
- renderSlot(_ctx.$slots, "default")
246
- ]);
238
+ return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", mergeProps({
239
+ ref: "tabs",
240
+ class: ["d-tablist", $data.TAB_LIST_SIZE_MODIFIERS[$props.size], {
241
+ [$data.TAB_LIST_KIND_MODIFIERS.inverted]: $props.inverted,
242
+ [$data.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: $props.borderless
243
+ }, $props.tabListClass]
244
+ }, $props.tabListChildProps, {
245
+ role: "tablist",
246
+ "aria-label": $props.label,
247
+ onKeyup: [_cache[0] || (_cache[0] = withKeys((...args) => $options.tabLeft && $options.tabLeft(...args), ["left"])), _cache[1] || (_cache[1] = withKeys((...args) => $options.tabRight && $options.tabRight(...args), ["right"])), _cache[2] || (_cache[2] = withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["enter"])), _cache[3] || (_cache[3] = withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["space"]))],
248
+ onKeydown: [_cache[4] || (_cache[4] = withKeys((...args) => $options.onHomeButton && $options.onHomeButton(...args), ["home"])), _cache[5] || (_cache[5] = withKeys((...args) => $options.onEndButton && $options.onEndButton(...args), ["end"]))]
249
+ }), [renderSlot(_ctx.$slots, "tabs")], 16, _hoisted_2), renderSlot(_ctx.$slots, "default")]);
247
250
  }
248
251
  const DtTabGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
249
252
  const _sfc_main = {
@@ -358,13 +361,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
358
361
  const _component_dt_button = resolveComponent("dt-button");
359
362
  return openBlock(), createBlock(_component_dt_button, mergeProps({
360
363
  id: `dt-tab-${$props.id}`,
361
- class: [
362
- "d-tab",
363
- {
364
- [$data.TAB_IMPORTANCE_MODIFIERS.selected]: $options.isSelected
365
- },
366
- $props.tabClass
367
- ],
364
+ class: ["d-tab", {
365
+ [$data.TAB_IMPORTANCE_MODIFIERS.selected]: $options.isSelected
366
+ }, $props.tabClass],
368
367
  role: "tab",
369
368
  "aria-selected": `${$options.isSelected}`,
370
369
  "aria-controls": `dt-panel-${$props.panelId}`,
@@ -373,9 +372,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
373
372
  tabindex: $options.isSelected ? "0" : "-1",
374
373
  disabled: $options.groupContext.disabled || $props.disabled
375
374
  }, _ctx.$attrs, toHandlers($options.tabListeners)), {
376
- default: withCtx(() => [
377
- renderSlot(_ctx.$slots, "default")
378
- ]),
375
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
379
376
  _: 3
380
377
  }, 16, ["id", "class", "aria-selected", "aria-controls", "aria-label", "tabindex", "disabled"]);
381
378
  }
@@ -388,4 +385,4 @@ export {
388
385
  TAB_LIST_KIND_MODIFIERS,
389
386
  TAB_LIST_SIZES
390
387
  };
391
- //# sourceMappingURL=tab-RTDgnD9-.js.map
388
+ //# sourceMappingURL=tab-aD6t0MNo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-RTDgnD9-.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","_renderSlot","_createBlock","_toHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"tab-aD6t0MNo.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["TAB_LIST_SIZES","TAB_LIST_SIZE_MODIFIERS","sm","TAB_LIST_KIND_MODIFIERS","inverted","TAB_LIST_IMPORTANCE_MODIFIERS","borderless","TAB_IMPORTANCE_MODIFIERS","selected","_sfc_main","name","provide","groupContext","provideObj","changeContentPanel","setFocus","props","label","type","String","default","disabled","Boolean","size","validate","includes","tabListClass","Array","Object","tabListChildProps","emits","data","focusId","tabs","watch","immediate","handler","mounted","updateSelected","beforeUpdate","methods","getTabChildren","from","$refs","querySelectorAll","map","el","context","panelId","getAttribute","replace","id","isSelected","onChange","$emit","selectOverride","tabLeft","index","getIndexAndTabs","indexElement","length","selectFocusOnTab","tabRight","focus","selectTab","selectTabByIndex","findIndex","onHomeButton","onEndButton","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","ref","class","$data","$props","role","onKeyup","$options","args","onKeydown","_renderSlot","_ctx","$slots","components","DtButton","inject","inheritAttrs","required","tabClass","computed","tabListeners","click","event","selectPanel","setSelectedPanelByDefault","_createBlock","_component_dt_button","tabindex","$attrs","_toHandlers"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":[],"mappings":";;AAUY,MAAC,2BAA2B;AAAA,EACtC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AAGY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,aAAa;AACf;AAGY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGY,MAAC,uBAAuB;AAAA,EAClC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,iBAAiB;AAAA,EAC5B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,KAAK;AACP;AAMY,MAAC,kCAAkC,yBAAyB;AAG5D,MAAC,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;;;;;;;"}
1
+ {"version":3,"file":"constants.cjs","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","ERROR","WARNING","SUCCESS","DESCRIPTION_SIZE_TYPES","LARGE","EXTRA_LARGE","DESCRIPTION_SIZE_MODIFIERS","xs","sm","md","lg","xl","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","esc","escape","tab","enter","space","spacebar","up","arrowup","left","arrowleft","right","arrowright","down","arrowdown","home","end","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX"],"mappings":";;AAUO,MAAMA,2BAA2B;AAAA,EACtCC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AACX;AAGO,MAAMC,yBAAyB;AAAA,EACpCC,OAAO;AAAA,EACPC,aAAa;AACf;AAGO,MAAMC,6BAA6B;AAAA,EACxCC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAGO,MAAMC,uBAAuB;AAAA,EAClCL,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAEO,MAAME,iBAAiB;AAAA,EAC5BC,KAAK;AAAA,EACLC,QAAQ;AAAA,EACRC,KAAK;AAAA,EACLC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,IAAI;AAAA,EACJC,SAAS;AAAA,EACTC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,OAAO;AAAA,EACPC,YAAY;AAAA,EACZC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,MAAM;AAAA,EACNC,KAAK;AACP;AAMaC,MAAAA,kCAAkC/B,yBAAyBC;AAGjE,MAAM+B,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACbhC;AAAAA,EACAI;AAAAA,EACA2B;AAAAA,EACAC;AACF;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":[],"mappings":"AAUY,MAAC,2BAA2B;AAAA,EACtC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AAGY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,aAAa;AACf;AAGY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGY,MAAC,uBAAuB;AAAA,EAClC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,iBAAiB;AAAA,EAC5B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,KAAK;AACP;AAMY,MAAC,kCAAkC,yBAAyB;AAG5D,MAAC,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"constants.js","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","ERROR","WARNING","SUCCESS","DESCRIPTION_SIZE_TYPES","LARGE","EXTRA_LARGE","DESCRIPTION_SIZE_MODIFIERS","xs","sm","md","lg","xl","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","esc","escape","tab","enter","space","spacebar","up","arrowup","left","arrowleft","right","arrowright","down","arrowdown","home","end","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX"],"mappings":"AAUO,MAAMA,2BAA2B;AAAA,EACtCC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AACX;AAGO,MAAMC,yBAAyB;AAAA,EACpCC,OAAO;AAAA,EACPC,aAAa;AACf;AAGO,MAAMC,6BAA6B;AAAA,EACxCC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAGO,MAAMC,uBAAuB;AAAA,EAClCL,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAEO,MAAME,iBAAiB;AAAA,EAC5BC,KAAK;AAAA,EACLC,QAAQ;AAAA,EACRC,KAAK;AAAA,EACLC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,IAAI;AAAA,EACJC,SAAS;AAAA,EACTC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,OAAO;AAAA,EACPC,YAAY;AAAA,EACZC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,MAAM;AAAA,EACNC,KAAK;AACP;AAMaC,MAAAA,kCAAkC/B,yBAAyBC;AAGjE,MAAM+B,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACbhC;AAAAA,EACAI;AAAAA,EACA2B;AAAAA,EACAC;AACF;"}
@@ -49,7 +49,9 @@ function durationInHHMM(durationInSeconds) {
49
49
  return _baseFormatDuration(duration, ["hours", "minutes"]);
50
50
  }
51
51
  function _getRelativeDaysText(days) {
52
- const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, { numeric: "auto" });
52
+ const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, {
53
+ numeric: "auto"
54
+ });
53
55
  return common_utils.capitalizeFirstLetter(rtl.formatToParts(days, "day")[0].value, dialtoneLocale.code);
54
56
  }
55
57
  function relativeDate(date) {