@dialpad/dialtone-vue 2.153.0 → 2.154.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/chunks/{dropdown-YdCyJ5Dq.js → dropdown-6UoczdUY.js} +41 -77
  2. package/dist/chunks/{dropdown-YdCyJ5Dq.js.map → dropdown-6UoczdUY.js.map} +1 -1
  3. package/dist/chunks/{dropdown-mjrYu_mK.js → dropdown-pHxnQPzT.js} +41 -77
  4. package/dist/chunks/{dropdown-mjrYu_mK.js.map → dropdown-pHxnQPzT.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-TdxqLsS2.js → icon_constants-Dy4MEUJL.js} +2 -3
  8. package/dist/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
  9. package/dist/chunks/{icon_constants-VEA0wI5C.js → icon_constants-QYpmdE0R.js} +2 -3
  10. package/dist/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  11. package/dist/chunks/{index-i65YVk-U.js → index-ODod4Oj_.js} +13 -5
  12. package/dist/chunks/{index-i65YVk-U.js.map → index-ODod4Oj_.js.map} +1 -1
  13. package/dist/chunks/{index-NYFNZeHH.js → index-anN_sx1F.js} +13 -5
  14. package/dist/chunks/{index-NYFNZeHH.js.map → index-anN_sx1F.js.map} +1 -1
  15. package/dist/chunks/{index-mBWay1Qb.js → index-eJ-WWRdf.js} +87 -122
  16. package/dist/chunks/{index-mBWay1Qb.js.map → index-eJ-WWRdf.js.map} +1 -1
  17. package/dist/chunks/{index-DyqUqjvI.js → index-gj1jEXP4.js} +87 -122
  18. package/dist/chunks/{index-DyqUqjvI.js.map → index-gj1jEXP4.js.map} +1 -1
  19. package/dist/chunks/{input-PhJeBN6r.js → input-6kbd8Pju.js} +9 -3
  20. package/dist/chunks/{input-PhJeBN6r.js.map → input-6kbd8Pju.js.map} +1 -1
  21. package/dist/chunks/{input-Hqw33WBe.js → input-Axw-wFj2.js} +9 -3
  22. package/dist/chunks/{input-Hqw33WBe.js.map → input-Axw-wFj2.js.map} +1 -1
  23. package/dist/chunks/{input_group-pE6ec9R3.js → input_group-m3cWYUfI.js} +2 -4
  24. package/dist/chunks/{input_group-ZI7aVGEp.js.map → input_group-m3cWYUfI.js.map} +1 -1
  25. package/dist/chunks/{input_group-ZI7aVGEp.js → input_group-qVZaS5Bb.js} +2 -4
  26. package/dist/chunks/{input_group-pE6ec9R3.js.map → input_group-qVZaS5Bb.js.map} +1 -1
  27. package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
  28. package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  29. package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
  30. package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js.map → keyboard_list_navigation-fJnl_Iox.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-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
  36. package/dist/chunks/{modal-OaWxzqNt.js.map → modal-VgxXAQFP.js.map} +1 -1
  37. package/dist/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
  38. package/dist/chunks/{modal-8X6poIZW.js.map → modal-XOr4kiNZ.js.map} +1 -1
  39. package/dist/chunks/{notice_action-qQr3K2TC.js → notice_action-IRUoLX2d.js} +46 -71
  40. package/dist/chunks/{notice_action-qQr3K2TC.js.map → notice_action-IRUoLX2d.js.map} +1 -1
  41. package/dist/chunks/{notice_action-tEvvMg7Q.js → notice_action-P6uDyE9x.js} +46 -71
  42. package/dist/chunks/{notice_action-tEvvMg7Q.js.map → notice_action-P6uDyE9x.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-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
  46. package/dist/chunks/{popover_constants-6YkPPbnk.js.map → popover_constants-WsOUIY-m.js.map} +1 -1
  47. package/dist/chunks/{popover_constants-h9MD6WUt.js → popover_constants-XnGWXaxX.js} +47 -26
  48. package/dist/chunks/{popover_constants-h9MD6WUt.js.map → popover_constants-XnGWXaxX.js.map} +1 -1
  49. package/dist/chunks/{sr_only_close_button-IjMVfBDE.js → sr_only_close_button-81bHIpPu.js} +18 -24
  50. package/dist/chunks/{sr_only_close_button-IjMVfBDE.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
  51. package/dist/chunks/{sr_only_close_button-2Q9Ny1Nc.js → sr_only_close_button-ZaGdAHz7.js} +18 -24
  52. package/dist/chunks/{sr_only_close_button-2Q9Ny1Nc.js.map → sr_only_close_button-ZaGdAHz7.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-79yMX6m6.js → tab-FcsV5VmK.js} +68 -86
  56. package/dist/chunks/{tab-muPOS7JE.js.map → tab-FcsV5VmK.js.map} +1 -1
  57. package/dist/chunks/{tab-muPOS7JE.js → tab-V4cb44Ry.js} +68 -86
  58. package/dist/chunks/{tab-79yMX6m6.js.map → tab-V4cb44Ry.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 +1 -3
  62. package/dist/common/dates.cjs.map +1 -1
  63. package/dist/common/dates.js +1 -3
  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 +44 -8
  70. package/dist/common/utils.cjs.map +1 -1
  71. package/dist/common/utils.js +44 -8
  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 +48 -172
  79. package/dist/lib/attachment-carousel.cjs.map +1 -1
  80. package/dist/lib/attachment-carousel.js +48 -172
  81. package/dist/lib/attachment-carousel.js.map +1 -1
  82. package/dist/lib/avatar.cjs +58 -75
  83. package/dist/lib/avatar.cjs.map +1 -1
  84. package/dist/lib/avatar.js +58 -75
  85. package/dist/lib/avatar.js.map +1 -1
  86. package/dist/lib/badge.cjs +20 -31
  87. package/dist/lib/badge.cjs.map +1 -1
  88. package/dist/lib/badge.js +20 -31
  89. package/dist/lib/badge.js.map +1 -1
  90. package/dist/lib/banner.cjs +29 -53
  91. package/dist/lib/banner.cjs.map +1 -1
  92. package/dist/lib/banner.js +29 -53
  93. package/dist/lib/banner.js.map +1 -1
  94. package/dist/lib/breadcrumbs.cjs +30 -36
  95. package/dist/lib/breadcrumbs.cjs.map +1 -1
  96. package/dist/lib/breadcrumbs.js +30 -36
  97. package/dist/lib/breadcrumbs.js.map +1 -1
  98. package/dist/lib/button-group.cjs +14 -7
  99. package/dist/lib/button-group.cjs.map +1 -1
  100. package/dist/lib/button-group.js +14 -7
  101. package/dist/lib/button-group.js.map +1 -1
  102. package/dist/lib/button.cjs +62 -55
  103. package/dist/lib/button.cjs.map +1 -1
  104. package/dist/lib/button.js +62 -55
  105. package/dist/lib/button.js.map +1 -1
  106. package/dist/lib/callbar-button-with-popover.cjs +23 -91
  107. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  108. package/dist/lib/callbar-button-with-popover.js +23 -91
  109. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  110. package/dist/lib/callbar-button.cjs +33 -49
  111. package/dist/lib/callbar-button.cjs.map +1 -1
  112. package/dist/lib/callbar-button.js +33 -49
  113. package/dist/lib/callbar-button.js.map +1 -1
  114. package/dist/lib/callbox.cjs +15 -78
  115. package/dist/lib/callbox.cjs.map +1 -1
  116. package/dist/lib/callbox.js +15 -78
  117. package/dist/lib/callbox.js.map +1 -1
  118. package/dist/lib/card.cjs +23 -16
  119. package/dist/lib/card.cjs.map +1 -1
  120. package/dist/lib/card.js +23 -16
  121. package/dist/lib/card.js.map +1 -1
  122. package/dist/lib/checkbox-group.cjs +15 -3
  123. package/dist/lib/checkbox-group.cjs.map +1 -1
  124. package/dist/lib/checkbox-group.js +15 -3
  125. package/dist/lib/checkbox-group.js.map +1 -1
  126. package/dist/lib/checkbox.cjs +16 -52
  127. package/dist/lib/checkbox.cjs.map +1 -1
  128. package/dist/lib/checkbox.js +16 -52
  129. package/dist/lib/checkbox.js.map +1 -1
  130. package/dist/lib/chip.cjs +26 -58
  131. package/dist/lib/chip.cjs.map +1 -1
  132. package/dist/lib/chip.js +26 -58
  133. package/dist/lib/chip.js.map +1 -1
  134. package/dist/lib/codeblock.cjs +11 -4
  135. package/dist/lib/codeblock.cjs.map +1 -1
  136. package/dist/lib/codeblock.js +11 -4
  137. package/dist/lib/codeblock.js.map +1 -1
  138. package/dist/lib/collapsible.cjs +34 -91
  139. package/dist/lib/collapsible.cjs.map +1 -1
  140. package/dist/lib/collapsible.js +34 -91
  141. package/dist/lib/collapsible.js.map +1 -1
  142. package/dist/lib/combobox-multi-select.cjs +38 -131
  143. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  144. package/dist/lib/combobox-multi-select.js +38 -131
  145. package/dist/lib/combobox-multi-select.js.map +1 -1
  146. package/dist/lib/combobox-with-popover.cjs +39 -130
  147. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  148. package/dist/lib/combobox-with-popover.js +39 -130
  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 +29 -86
  153. package/dist/lib/contact-centers-row.cjs.map +1 -1
  154. package/dist/lib/contact-centers-row.js +29 -86
  155. package/dist/lib/contact-centers-row.js.map +1 -1
  156. package/dist/lib/contact-info.cjs +31 -95
  157. package/dist/lib/contact-info.cjs.map +1 -1
  158. package/dist/lib/contact-info.js +31 -95
  159. package/dist/lib/contact-info.js.map +1 -1
  160. package/dist/lib/contact-row.cjs +18 -61
  161. package/dist/lib/contact-row.cjs.map +1 -1
  162. package/dist/lib/contact-row.js +18 -61
  163. package/dist/lib/contact-row.js.map +1 -1
  164. package/dist/lib/datepicker.cjs +102 -361
  165. package/dist/lib/datepicker.cjs.map +1 -1
  166. package/dist/lib/datepicker.js +102 -361
  167. package/dist/lib/datepicker.js.map +1 -1
  168. package/dist/lib/description-list.cjs +12 -11
  169. package/dist/lib/description-list.cjs.map +1 -1
  170. package/dist/lib/description-list.js +12 -11
  171. package/dist/lib/description-list.js.map +1 -1
  172. package/dist/lib/dropdown.cjs +17 -13
  173. package/dist/lib/dropdown.cjs.map +1 -1
  174. package/dist/lib/dropdown.js +17 -13
  175. package/dist/lib/dropdown.js.map +1 -1
  176. package/dist/lib/editor.cjs +109 -409
  177. package/dist/lib/editor.cjs.map +1 -1
  178. package/dist/lib/editor.js +109 -409
  179. package/dist/lib/editor.js.map +1 -1
  180. package/dist/lib/emoji-picker.cjs +234 -512
  181. package/dist/lib/emoji-picker.cjs.map +1 -1
  182. package/dist/lib/emoji-picker.js +234 -512
  183. package/dist/lib/emoji-picker.js.map +1 -1
  184. package/dist/lib/emoji-row.cjs +31 -69
  185. package/dist/lib/emoji-row.cjs.map +1 -1
  186. package/dist/lib/emoji-row.js +31 -69
  187. package/dist/lib/emoji-row.js.map +1 -1
  188. package/dist/lib/emoji-text-wrapper.cjs +22 -14
  189. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  190. package/dist/lib/emoji-text-wrapper.js +22 -14
  191. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  192. package/dist/lib/emoji.cjs +13 -40
  193. package/dist/lib/emoji.cjs.map +1 -1
  194. package/dist/lib/emoji.js +13 -40
  195. package/dist/lib/emoji.js.map +1 -1
  196. package/dist/lib/empty-state.cjs +12 -27
  197. package/dist/lib/empty-state.cjs.map +1 -1
  198. package/dist/lib/empty-state.js +12 -27
  199. package/dist/lib/empty-state.js.map +1 -1
  200. package/dist/lib/feed-item-row.cjs +27 -106
  201. package/dist/lib/feed-item-row.cjs.map +1 -1
  202. package/dist/lib/feed-item-row.js +27 -106
  203. package/dist/lib/feed-item-row.js.map +1 -1
  204. package/dist/lib/feed-pill.cjs +35 -90
  205. package/dist/lib/feed-pill.cjs.map +1 -1
  206. package/dist/lib/feed-pill.js +35 -90
  207. package/dist/lib/feed-pill.js.map +1 -1
  208. package/dist/lib/general-row.cjs +75 -184
  209. package/dist/lib/general-row.cjs.map +1 -1
  210. package/dist/lib/general-row.js +75 -184
  211. package/dist/lib/general-row.js.map +1 -1
  212. package/dist/lib/group-row.cjs +16 -27
  213. package/dist/lib/group-row.cjs.map +1 -1
  214. package/dist/lib/group-row.js +16 -27
  215. package/dist/lib/group-row.js.map +1 -1
  216. package/dist/lib/grouped-chip.cjs +20 -68
  217. package/dist/lib/grouped-chip.cjs.map +1 -1
  218. package/dist/lib/grouped-chip.js +20 -68
  219. package/dist/lib/grouped-chip.js.map +1 -1
  220. package/dist/lib/hovercard.cjs +41 -71
  221. package/dist/lib/hovercard.cjs.map +1 -1
  222. package/dist/lib/hovercard.js +41 -71
  223. package/dist/lib/hovercard.js.map +1 -1
  224. package/dist/lib/icon.cjs +12 -10
  225. package/dist/lib/icon.cjs.map +1 -1
  226. package/dist/lib/icon.js +12 -10
  227. package/dist/lib/icon.js.map +1 -1
  228. package/dist/lib/illustration.cjs +12 -9
  229. package/dist/lib/illustration.cjs.map +1 -1
  230. package/dist/lib/illustration.js +12 -9
  231. package/dist/lib/illustration.js.map +1 -1
  232. package/dist/lib/image-viewer.cjs +23 -88
  233. package/dist/lib/image-viewer.cjs.map +1 -1
  234. package/dist/lib/image-viewer.js +23 -88
  235. package/dist/lib/image-viewer.js.map +1 -1
  236. package/dist/lib/input-group.cjs +14 -24
  237. package/dist/lib/input-group.cjs.map +1 -1
  238. package/dist/lib/input-group.js +14 -24
  239. package/dist/lib/input-group.js.map +1 -1
  240. package/dist/lib/input.cjs +47 -109
  241. package/dist/lib/input.cjs.map +1 -1
  242. package/dist/lib/input.js +47 -109
  243. package/dist/lib/input.js.map +1 -1
  244. package/dist/lib/item-layout.cjs +11 -42
  245. package/dist/lib/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout.js +11 -42
  247. package/dist/lib/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node.cjs +47 -135
  249. package/dist/lib/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node.js +47 -135
  251. package/dist/lib/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut.cjs +23 -35
  253. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut.js +23 -35
  255. package/dist/lib/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/lazy-show.cjs +11 -15
  257. package/dist/lib/lazy-show.cjs.map +1 -1
  258. package/dist/lib/lazy-show.js +11 -15
  259. package/dist/lib/lazy-show.js.map +1 -1
  260. package/dist/lib/link.cjs +15 -9
  261. package/dist/lib/link.cjs.map +1 -1
  262. package/dist/lib/link.js +15 -9
  263. package/dist/lib/link.js.map +1 -1
  264. package/dist/lib/list-item-group.cjs +11 -17
  265. package/dist/lib/list-item-group.cjs.map +1 -1
  266. package/dist/lib/list-item-group.js +11 -17
  267. package/dist/lib/list-item-group.js.map +1 -1
  268. package/dist/lib/list-item.cjs +23 -42
  269. package/dist/lib/list-item.cjs.map +1 -1
  270. package/dist/lib/list-item.js +23 -42
  271. package/dist/lib/list-item.js.map +1 -1
  272. package/dist/lib/message-input.cjs +102 -360
  273. package/dist/lib/message-input.cjs.map +1 -1
  274. package/dist/lib/message-input.js +102 -360
  275. package/dist/lib/message-input.js.map +1 -1
  276. package/dist/lib/modal.cjs +36 -94
  277. package/dist/lib/modal.cjs.map +1 -1
  278. package/dist/lib/modal.js +36 -94
  279. package/dist/lib/modal.js.map +1 -1
  280. package/dist/lib/notice.cjs +21 -40
  281. package/dist/lib/notice.cjs.map +1 -1
  282. package/dist/lib/notice.js +21 -40
  283. package/dist/lib/notice.js.map +1 -1
  284. package/dist/lib/pagination.cjs +20 -81
  285. package/dist/lib/pagination.cjs.map +1 -1
  286. package/dist/lib/pagination.js +20 -81
  287. package/dist/lib/pagination.js.map +1 -1
  288. package/dist/lib/popover.cjs +75 -194
  289. package/dist/lib/popover.cjs.map +1 -1
  290. package/dist/lib/popover.js +76 -195
  291. package/dist/lib/popover.js.map +1 -1
  292. package/dist/lib/presence.cjs +22 -23
  293. package/dist/lib/presence.cjs.map +1 -1
  294. package/dist/lib/presence.js +22 -23
  295. package/dist/lib/presence.js.map +1 -1
  296. package/dist/lib/radio-group.cjs +11 -2
  297. package/dist/lib/radio-group.cjs.map +1 -1
  298. package/dist/lib/radio-group.js +11 -2
  299. package/dist/lib/radio-group.js.map +1 -1
  300. package/dist/lib/radio.cjs +15 -47
  301. package/dist/lib/radio.cjs.map +1 -1
  302. package/dist/lib/radio.js +15 -47
  303. package/dist/lib/radio.js.map +1 -1
  304. package/dist/lib/rich-text-editor.cjs +317 -336
  305. package/dist/lib/rich-text-editor.cjs.map +1 -1
  306. package/dist/lib/rich-text-editor.js +317 -336
  307. package/dist/lib/rich-text-editor.js.map +1 -1
  308. package/dist/lib/root-layout.cjs +15 -33
  309. package/dist/lib/root-layout.cjs.map +1 -1
  310. package/dist/lib/root-layout.js +15 -33
  311. package/dist/lib/root-layout.js.map +1 -1
  312. package/dist/lib/scrollbar-directive.cjs +422 -388
  313. package/dist/lib/scrollbar-directive.cjs.map +1 -1
  314. package/dist/lib/scrollbar-directive.js +422 -388
  315. package/dist/lib/scrollbar-directive.js.map +1 -1
  316. package/dist/lib/select-menu.cjs +33 -52
  317. package/dist/lib/select-menu.cjs.map +1 -1
  318. package/dist/lib/select-menu.js +33 -52
  319. package/dist/lib/select-menu.js.map +1 -1
  320. package/dist/lib/settings-menu-button.cjs +16 -42
  321. package/dist/lib/settings-menu-button.cjs.map +1 -1
  322. package/dist/lib/settings-menu-button.js +16 -42
  323. package/dist/lib/settings-menu-button.js.map +1 -1
  324. package/dist/lib/skeleton.cjs +93 -118
  325. package/dist/lib/skeleton.cjs.map +1 -1
  326. package/dist/lib/skeleton.js +93 -118
  327. package/dist/lib/skeleton.js.map +1 -1
  328. package/dist/lib/split-button.cjs +64 -164
  329. package/dist/lib/split-button.cjs.map +1 -1
  330. package/dist/lib/split-button.js +64 -164
  331. package/dist/lib/split-button.js.map +1 -1
  332. package/dist/lib/stack.cjs +33 -21
  333. package/dist/lib/stack.cjs.map +1 -1
  334. package/dist/lib/stack.js +33 -21
  335. package/dist/lib/stack.js.map +1 -1
  336. package/dist/lib/tabs.cjs +13 -20
  337. package/dist/lib/tabs.cjs.map +1 -1
  338. package/dist/lib/tabs.js +13 -20
  339. package/dist/lib/tabs.js.map +1 -1
  340. package/dist/lib/time-pill.cjs +11 -8
  341. package/dist/lib/time-pill.cjs.map +1 -1
  342. package/dist/lib/time-pill.js +11 -8
  343. package/dist/lib/time-pill.js.map +1 -1
  344. package/dist/lib/toast.cjs +21 -42
  345. package/dist/lib/toast.cjs.map +1 -1
  346. package/dist/lib/toast.js +21 -42
  347. package/dist/lib/toast.js.map +1 -1
  348. package/dist/lib/toggle.cjs +24 -28
  349. package/dist/lib/toggle.cjs.map +1 -1
  350. package/dist/lib/toggle.js +24 -28
  351. package/dist/lib/toggle.js.map +1 -1
  352. package/dist/lib/tooltip-directive.cjs +26 -32
  353. package/dist/lib/tooltip-directive.cjs.map +1 -1
  354. package/dist/lib/tooltip-directive.js +26 -32
  355. package/dist/lib/tooltip-directive.js.map +1 -1
  356. package/dist/lib/tooltip.cjs +21 -31
  357. package/dist/lib/tooltip.cjs.map +1 -1
  358. package/dist/lib/tooltip.js +22 -32
  359. package/dist/lib/tooltip.js.map +1 -1
  360. package/dist/lib/top-banner-info.cjs +21 -18
  361. package/dist/lib/top-banner-info.cjs.map +1 -1
  362. package/dist/lib/top-banner-info.js +21 -18
  363. package/dist/lib/top-banner-info.js.map +1 -1
  364. package/dist/lib/unread-pill.cjs +12 -18
  365. package/dist/lib/unread-pill.cjs.map +1 -1
  366. package/dist/lib/unread-pill.js +12 -18
  367. package/dist/lib/unread-pill.js.map +1 -1
  368. package/dist/lib/validation-messages.cjs +16 -23
  369. package/dist/lib/validation-messages.cjs.map +1 -1
  370. package/dist/lib/validation-messages.js +16 -23
  371. package/dist/lib/validation-messages.js.map +1 -1
  372. package/dist/style.css +9 -9
  373. package/dist/types/common/emoji/index.d.ts +59236 -2
  374. package/dist/types/common/emoji/index.d.ts.map +1 -1
  375. package/dist/types/components/button/button.vue.d.ts +1 -1
  376. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  377. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  378. package/dist/types/components/icon/icon.vue.d.ts +2 -2
  379. package/dist/types/components/icon/icon_constants.d.ts +1 -1
  380. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  381. package/dist/types/components/illustration/illustration.vue.d.ts +2 -2
  382. package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
  383. package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
  384. package/dist/types/components/input/input.vue.d.ts +3 -2
  385. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  386. package/dist/types/components/modal/modal.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/split_button/split_button-alpha.vue.d.ts +1 -1
  389. package/dist/types/components/toast/toast.vue.d.ts +1 -1
  390. package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
  391. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  392. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  393. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  394. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
  395. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  396. package/package.json +2 -4
  397. package/dist/chunks/icon_constants-TdxqLsS2.js.map +0 -1
  398. package/dist/chunks/icon_constants-VEA0wI5C.js.map +0 -1
@@ -28,16 +28,19 @@ const _sfc_main = {
28
28
  };
29
29
  var _sfc_render = function render() {
30
30
  var _vm = this, _c = _vm._self._c;
31
- return _c("time", {
32
- staticClass: "dt-time-pill",
33
- attrs: {
34
- "data-qa": "dt-time-pill",
35
- "dateTime": _vm.dateTime
36
- }
37
- }, [_vm._v(" " + _vm._s(_vm.dateTimeDisplay) + " ")]);
31
+ return _c("time", { staticClass: "dt-time-pill", attrs: { "data-qa": "dt-time-pill", "dateTime": _vm.dateTime } }, [_vm._v(" " + _vm._s(_vm.dateTimeDisplay) + " ")]);
38
32
  };
39
33
  var _sfc_staticRenderFns = [];
40
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
34
+ var __component__ = /* @__PURE__ */ normalizeComponent(
35
+ _sfc_main,
36
+ _sfc_render,
37
+ _sfc_staticRenderFns,
38
+ false,
39
+ null,
40
+ null,
41
+ null,
42
+ null
43
+ );
41
44
  const time_pill = __component__.exports;
42
45
  export {
43
46
  time_pill as DtRecipeTimePill
@@ -1 +1 @@
1
- {"version":3,"file":"time-pill.js","sources":["../../recipes/conversation_view/time_pill/time_pill.vue"],"sourcesContent":["<template>\n <time\n data-qa=\"dt-time-pill\"\n :dateTime=\"dateTime\"\n class=\"dt-time-pill\"\n >\n {{ dateTimeDisplay }}\n </time>\n</template>\n\n<script>\nimport {} from './time_pill_constants';\n\nexport default {\n name: 'DtRecipeTimePill',\n\n props: {\n /**\n * Date time display value\n */\n dateTimeDisplay: {\n type: String,\n required: true,\n },\n\n /**\n * Machine-readable attribute\n * Accepts a string value of YYYY-MM-DD or YYYY-MM-DDThh:mm:ssTZD\n */\n dateTime: {\n type: String,\n required: true,\n validator: (t) => {\n // Since this will only ever be used in the context of a date, we're rejecting non date inputs\n const x = new Date(t);\n if (x instanceof Date && !isNaN(x)) {\n return true;\n }\n return false;\n },\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-time-pill {\n color: var(--dt-color-foreground-primary);\n border-radius: var(--dt-size-radius-pill);\n line-height: var(--dt-font-line-height-300);\n font-size: var(--dt-font-size-100);\n border: var(--dt-size-border-100) solid var(--dt-color-border-default);\n background-color: var(--dt-color-surface-primary);\n padding: var(--dt-space-300) var(--dt-space-500);\n}\n</style>\n"],"names":["_sfc_main","name","props","dateTimeDisplay","type","String","required","dateTime","validator","t","x","Date","isNaN"],"mappings":";AAaA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA,IAIAC,iBAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,UAAA;AAAA,MACAH,MAAAC;AAAAA,MACAC,UAAA;AAAA,MACAE,WAAAC,OAAA;AAEA,cAAAC,IAAA,IAAAC,KAAAF,CAAA;AACA,YAAAC,aAAAC,QAAA,CAAAC,MAAAF,CAAA,GAAA;AACA,iBAAA;AAAA,QACA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"time-pill.js","sources":["../../recipes/conversation_view/time_pill/time_pill.vue"],"sourcesContent":["<template>\n <time\n data-qa=\"dt-time-pill\"\n :dateTime=\"dateTime\"\n class=\"dt-time-pill\"\n >\n {{ dateTimeDisplay }}\n </time>\n</template>\n\n<script>\nimport {} from './time_pill_constants';\n\nexport default {\n name: 'DtRecipeTimePill',\n\n props: {\n /**\n * Date time display value\n */\n dateTimeDisplay: {\n type: String,\n required: true,\n },\n\n /**\n * Machine-readable attribute\n * Accepts a string value of YYYY-MM-DD or YYYY-MM-DDThh:mm:ssTZD\n */\n dateTime: {\n type: String,\n required: true,\n validator: (t) => {\n // Since this will only ever be used in the context of a date, we're rejecting non date inputs\n const x = new Date(t);\n if (x instanceof Date && !isNaN(x)) {\n return true;\n }\n return false;\n },\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-time-pill {\n color: var(--dt-color-foreground-primary);\n border-radius: var(--dt-size-radius-pill);\n line-height: var(--dt-font-line-height-300);\n font-size: var(--dt-font-size-100);\n border: var(--dt-size-border-100) solid var(--dt-color-border-default);\n background-color: var(--dt-color-surface-primary);\n padding: var(--dt-space-300) var(--dt-space-500);\n}\n</style>\n"],"names":[],"mappings":";AAaA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,CAAA,MAAA;AAEA,cAAA,IAAA,IAAA,KAAA,CAAA;AACA,YAAA,aAAA,QAAA,CAAA,MAAA,CAAA,GAAA;AACA,iBAAA;AAAA,QACA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const common_utils = require("../common/utils.cjs");
4
- const sr_only_close_button = require("../chunks/sr_only_close_button-2Q9Ny1Nc.js");
4
+ const sr_only_close_button = require("../chunks/sr_only_close_button-ZaGdAHz7.js");
5
5
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
6
- const notice_action = require("../chunks/notice_action-tEvvMg7Q.js");
6
+ const notice_action = require("../chunks/notice_action-P6uDyE9x.js");
7
7
  const notice_constants = require("../chunks/notice_constants-UXo9e3bS.js");
8
8
  require("../common/constants.cjs");
9
9
  require("vue");
10
10
  require("./icon.cjs");
11
11
  require("@dialpad/dialtone-icons/vue2");
12
- require("../chunks/icon_constants-VEA0wI5C.js");
12
+ require("../chunks/icon_constants-QYpmdE0R.js");
13
13
  require("@dialpad/dialtone-icons/icons.json");
14
14
  require("./button.cjs");
15
15
  require("../chunks/link_constants-x8NwdqmA.js");
@@ -220,48 +220,27 @@ const _sfc_main = {
220
220
  };
221
221
  var _sfc_render = function render() {
222
222
  var _vm = this, _c = _vm._self._c;
223
- return _vm.isShown ? _c("div", {
224
- class: ["d-toast", _vm.kindClass, {
225
- "d-toast--important": _vm.important
226
- }],
227
- attrs: {
228
- "data-qa": "dt-toast",
229
- "aria-hidden": (!_vm.isShown).toString()
230
- }
231
- }, [_c("div", {
232
- staticClass: "d-toast__dialog"
233
- }, [!_vm.hideIcon ? _c("dt-notice-icon", _vm._g({
234
- attrs: {
235
- "kind": _vm.kind
236
- }
237
- }, _vm.$listeners), [_vm._t("icon")], 2) : _vm._e(), _c("dt-notice-content", _vm._g({
238
- attrs: {
239
- "title-id": _vm.titleId,
240
- "content-id": _vm.contentId,
241
- "title": _vm.title,
242
- "role": _vm.role
243
- },
244
- scopedSlots: _vm._u([{
245
- key: "titleOverride",
246
- fn: function() {
247
- return [_vm._t("titleOverride")];
248
- },
249
- proxy: true
250
- }], null, true)
251
- }, _vm.$listeners), [_vm._t("default", function() {
223
+ return _vm.isShown ? _c("div", { class: [
224
+ "d-toast",
225
+ _vm.kindClass,
226
+ { "d-toast--important": _vm.important }
227
+ ], attrs: { "data-qa": "dt-toast", "aria-hidden": (!_vm.isShown).toString() } }, [_c("div", { staticClass: "d-toast__dialog" }, [!_vm.hideIcon ? _c("dt-notice-icon", _vm._g({ attrs: { "kind": _vm.kind } }, _vm.$listeners), [_vm._t("icon")], 2) : _vm._e(), _c("dt-notice-content", _vm._g({ attrs: { "title-id": _vm.titleId, "content-id": _vm.contentId, "title": _vm.title, "role": _vm.role }, scopedSlots: _vm._u([{ key: "titleOverride", fn: function() {
228
+ return [_vm._t("titleOverride")];
229
+ }, proxy: true }], null, true) }, _vm.$listeners), [_vm._t("default", function() {
252
230
  return [_vm._v(" " + _vm._s(_vm.message) + " ")];
253
- })], 2), _c("dt-notice-action", _vm._g({
254
- attrs: {
255
- "hide-action": _vm.hideAction,
256
- "hide-close": _vm.hideClose,
257
- "close-button-props": _vm.closeButtonProps,
258
- "visually-hidden-close": _vm.visuallyHiddenClose,
259
- "visually-hidden-close-label": _vm.visuallyHiddenCloseLabel
260
- }
261
- }, _vm.noticeActionListeners), [_vm._t("action")], 2)], 1)]) : _vm._e();
231
+ })], 2), _c("dt-notice-action", _vm._g({ attrs: { "hide-action": _vm.hideAction, "hide-close": _vm.hideClose, "close-button-props": _vm.closeButtonProps, "visually-hidden-close": _vm.visuallyHiddenClose, "visually-hidden-close-label": _vm.visuallyHiddenCloseLabel } }, _vm.noticeActionListeners), [_vm._t("action")], 2)], 1)]) : _vm._e();
262
232
  };
263
233
  var _sfc_staticRenderFns = [];
264
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
234
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
235
+ _sfc_main,
236
+ _sfc_render,
237
+ _sfc_staticRenderFns,
238
+ false,
239
+ null,
240
+ null,
241
+ null,
242
+ null
243
+ );
265
244
  const toast = __component__.exports;
266
245
  exports.DtToast = toast;
267
246
  exports.TOAST_MIN_DURATION = TOAST_MIN_DURATION;
@@ -1 +1 @@
1
- {"version":3,"file":"toast.cjs","sources":["../../components/toast/toast_constants.js","../../components/toast/toast.vue"],"sourcesContent":["export const TOAST_ROLES = ['status', 'alert'];\nexport const TOAST_MIN_DURATION = 6000;\n\nexport default {\n TOAST_ROLES,\n TOAST_MIN_DURATION,\n};\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n v-on=\"$listeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-on=\"$listeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n :close-button-props=\"closeButtonProps\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n v-on=\"noticeActionListeners\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport utils from '@/common/utils';\nimport { TOAST_ROLES, TOAST_MIN_DURATION } from './toast_constants.js';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n name: 'DtToast',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `.sync` modifier with this prop to update\n * the data in your component.\n * Supports .sync modifier\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Props for the toast close button.\n */\n closeButtonProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n noticeActionListeners () {\n return {\n ...this.$listeners,\n\n close: event => {\n this.isShown = false;\n this.$emit('update:show', false);\n this.$emit('close', event);\n },\n };\n },\n\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n destroyed () {\n if (this.shouldSetTimeout) {\n clearTimeout(this.displayTimer);\n }\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n },\n};\n</script>\n"],"names":["TOAST_ROLES","TOAST_MIN_DURATION","_sfc_main","name","components","DtNoticeIcon","DtNoticeContent","DtNoticeAction","mixins","SrOnlyCloseButtonMixin","props","titleId","type","String","default","utils","getUniqueString","contentId","title","message","role","validator","includes","kind","NOTICE_KINDS","important","Boolean","show","closeButtonProps","Object","hideClose","hideIcon","hideAction","duration","Number","emits","data","isShown","minDuration","computed","kindClass","kindClasses","error","info","success","warning","base","noticeActionListeners","$listeners","close","event","$emit","shouldSetTimeout","watch","handler","setTimeout","clearTimeout","displayTimer","immediate","destroyed","methods"],"mappings":"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"}
1
+ {"version":3,"file":"toast.cjs","sources":["../../components/toast/toast_constants.js","../../components/toast/toast.vue"],"sourcesContent":["export const TOAST_ROLES = ['status', 'alert'];\nexport const TOAST_MIN_DURATION = 6000;\n\nexport default {\n TOAST_ROLES,\n TOAST_MIN_DURATION,\n};\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n v-on=\"$listeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-on=\"$listeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n :close-button-props=\"closeButtonProps\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n v-on=\"noticeActionListeners\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport utils from '@/common/utils';\nimport { TOAST_ROLES, TOAST_MIN_DURATION } from './toast_constants.js';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n name: 'DtToast',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `.sync` modifier with this prop to update\n * the data in your component.\n * Supports .sync modifier\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Props for the toast close button.\n */\n closeButtonProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n noticeActionListeners () {\n return {\n ...this.$listeners,\n\n close: event => {\n this.isShown = false;\n this.$emit('update:show', false);\n this.$emit('close', event);\n },\n };\n },\n\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n destroyed () {\n if (this.shouldSetTimeout) {\n clearTimeout(this.displayTimer);\n }\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n },\n};\n</script>\n"],"names":["DtNoticeIcon","DtNoticeContent","DtNoticeAction","SrOnlyCloseButtonMixin","utils","NOTICE_KINDS"],"mappings":"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"}
package/dist/lib/toast.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import utils from "../common/utils.js";
2
- import { SrOnlyCloseButtonMixin } from "../chunks/sr_only_close_button-IjMVfBDE.js";
2
+ import { SrOnlyCloseButtonMixin } from "../chunks/sr_only_close_button-81bHIpPu.js";
3
3
  import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
4
- import { DtNoticeIcon, DtNoticeContent, DtNoticeAction } from "../chunks/notice_action-qQr3K2TC.js";
4
+ import { DtNoticeIcon, DtNoticeContent, DtNoticeAction } from "../chunks/notice_action-IRUoLX2d.js";
5
5
  import { NOTICE_KINDS } from "../chunks/notice_constants-7Qt2CQEY.js";
6
6
  import "../common/constants.js";
7
7
  import "vue";
8
8
  import "./icon.js";
9
9
  import "@dialpad/dialtone-icons/vue2";
10
- import "../chunks/icon_constants-TdxqLsS2.js";
10
+ import "../chunks/icon_constants-Dy4MEUJL.js";
11
11
  import "@dialpad/dialtone-icons/icons.json";
12
12
  import "./button.js";
13
13
  import "../chunks/link_constants-AfTWrr-n.js";
@@ -218,48 +218,27 @@ const _sfc_main = {
218
218
  };
219
219
  var _sfc_render = function render() {
220
220
  var _vm = this, _c = _vm._self._c;
221
- return _vm.isShown ? _c("div", {
222
- class: ["d-toast", _vm.kindClass, {
223
- "d-toast--important": _vm.important
224
- }],
225
- attrs: {
226
- "data-qa": "dt-toast",
227
- "aria-hidden": (!_vm.isShown).toString()
228
- }
229
- }, [_c("div", {
230
- staticClass: "d-toast__dialog"
231
- }, [!_vm.hideIcon ? _c("dt-notice-icon", _vm._g({
232
- attrs: {
233
- "kind": _vm.kind
234
- }
235
- }, _vm.$listeners), [_vm._t("icon")], 2) : _vm._e(), _c("dt-notice-content", _vm._g({
236
- attrs: {
237
- "title-id": _vm.titleId,
238
- "content-id": _vm.contentId,
239
- "title": _vm.title,
240
- "role": _vm.role
241
- },
242
- scopedSlots: _vm._u([{
243
- key: "titleOverride",
244
- fn: function() {
245
- return [_vm._t("titleOverride")];
246
- },
247
- proxy: true
248
- }], null, true)
249
- }, _vm.$listeners), [_vm._t("default", function() {
221
+ return _vm.isShown ? _c("div", { class: [
222
+ "d-toast",
223
+ _vm.kindClass,
224
+ { "d-toast--important": _vm.important }
225
+ ], attrs: { "data-qa": "dt-toast", "aria-hidden": (!_vm.isShown).toString() } }, [_c("div", { staticClass: "d-toast__dialog" }, [!_vm.hideIcon ? _c("dt-notice-icon", _vm._g({ attrs: { "kind": _vm.kind } }, _vm.$listeners), [_vm._t("icon")], 2) : _vm._e(), _c("dt-notice-content", _vm._g({ attrs: { "title-id": _vm.titleId, "content-id": _vm.contentId, "title": _vm.title, "role": _vm.role }, scopedSlots: _vm._u([{ key: "titleOverride", fn: function() {
226
+ return [_vm._t("titleOverride")];
227
+ }, proxy: true }], null, true) }, _vm.$listeners), [_vm._t("default", function() {
250
228
  return [_vm._v(" " + _vm._s(_vm.message) + " ")];
251
- })], 2), _c("dt-notice-action", _vm._g({
252
- attrs: {
253
- "hide-action": _vm.hideAction,
254
- "hide-close": _vm.hideClose,
255
- "close-button-props": _vm.closeButtonProps,
256
- "visually-hidden-close": _vm.visuallyHiddenClose,
257
- "visually-hidden-close-label": _vm.visuallyHiddenCloseLabel
258
- }
259
- }, _vm.noticeActionListeners), [_vm._t("action")], 2)], 1)]) : _vm._e();
229
+ })], 2), _c("dt-notice-action", _vm._g({ attrs: { "hide-action": _vm.hideAction, "hide-close": _vm.hideClose, "close-button-props": _vm.closeButtonProps, "visually-hidden-close": _vm.visuallyHiddenClose, "visually-hidden-close-label": _vm.visuallyHiddenCloseLabel } }, _vm.noticeActionListeners), [_vm._t("action")], 2)], 1)]) : _vm._e();
260
230
  };
261
231
  var _sfc_staticRenderFns = [];
262
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
232
+ var __component__ = /* @__PURE__ */ normalizeComponent(
233
+ _sfc_main,
234
+ _sfc_render,
235
+ _sfc_staticRenderFns,
236
+ false,
237
+ null,
238
+ null,
239
+ null,
240
+ null
241
+ );
263
242
  const toast = __component__.exports;
264
243
  export {
265
244
  toast as DtToast,
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sources":["../../components/toast/toast_constants.js","../../components/toast/toast.vue"],"sourcesContent":["export const TOAST_ROLES = ['status', 'alert'];\nexport const TOAST_MIN_DURATION = 6000;\n\nexport default {\n TOAST_ROLES,\n TOAST_MIN_DURATION,\n};\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n v-on=\"$listeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-on=\"$listeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n :close-button-props=\"closeButtonProps\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n v-on=\"noticeActionListeners\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport utils from '@/common/utils';\nimport { TOAST_ROLES, TOAST_MIN_DURATION } from './toast_constants.js';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n name: 'DtToast',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `.sync` modifier with this prop to update\n * the data in your component.\n * Supports .sync modifier\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Props for the toast close button.\n */\n closeButtonProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n noticeActionListeners () {\n return {\n ...this.$listeners,\n\n close: event => {\n this.isShown = false;\n this.$emit('update:show', false);\n this.$emit('close', event);\n },\n };\n },\n\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n destroyed () {\n if (this.shouldSetTimeout) {\n clearTimeout(this.displayTimer);\n }\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n },\n};\n</script>\n"],"names":["TOAST_ROLES","TOAST_MIN_DURATION","_sfc_main","name","components","DtNoticeIcon","DtNoticeContent","DtNoticeAction","mixins","SrOnlyCloseButtonMixin","props","titleId","type","String","default","utils","getUniqueString","contentId","title","message","role","validator","includes","kind","NOTICE_KINDS","important","Boolean","show","closeButtonProps","Object","hideClose","hideIcon","hideAction","duration","Number","emits","data","isShown","minDuration","computed","kindClass","kindClasses","error","info","success","warning","base","noticeActionListeners","$listeners","close","event","$emit","shouldSetTimeout","watch","handler","setTimeout","clearTimeout","displayTimer","immediate","destroyed","methods"],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sources":["../../components/toast/toast_constants.js","../../components/toast/toast.vue"],"sourcesContent":["export const TOAST_ROLES = ['status', 'alert'];\nexport const TOAST_MIN_DURATION = 6000;\n\nexport default {\n TOAST_ROLES,\n TOAST_MIN_DURATION,\n};\n","<template>\n <div\n v-if=\"isShown\"\n :class=\"[\n 'd-toast',\n kindClass,\n { 'd-toast--important': important },\n ]\"\n data-qa=\"dt-toast\"\n :aria-hidden=\"(!isShown).toString()\"\n >\n <div class=\"d-toast__dialog\">\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n v-on=\"$listeners\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-on=\"$listeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need to override\n with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the toast -->\n <slot>\n {{ message }}\n </slot>\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n :close-button-props=\"closeButtonProps\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n v-on=\"noticeActionListeners\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </div>\n </div>\n</template>\n\n<script>\nimport { DtNoticeIcon, DtNoticeContent, DtNoticeAction, NOTICE_KINDS } from '@/components/notice';\nimport utils from '@/common/utils';\nimport { TOAST_ROLES, TOAST_MIN_DURATION } from './toast_constants.js';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\n/**\n * A toast notice, sometimes called a snackbar, is a time-based message that appears based on users' actions.\n * It contains at-a-glance information about outcomes and can be paired with actions.\n * @see https://dialtone.dialpad.com/components/toast.html\n */\nexport default {\n name: 'DtToast',\n\n components: {\n DtNoticeIcon,\n DtNoticeContent,\n DtNoticeAction,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * Sets an ID on the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Title header of the toast. This can be left blank to remove the title from the toast entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Message of the toast. Overridden by default slot.\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the toast. 'status' is used by default to communicate a message. 'alert' is used to\n * communicate an important message like an error that does not contain any interactive elements.\n * @values status, alert\n */\n role: {\n type: String,\n default: 'status',\n validator: (role) => {\n return TOAST_ROLES.includes(role);\n },\n },\n\n /**\n * Severity level of the toast, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validator: (kind) => {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear\n * after reaching the duration time, so it's convenient to use `.sync` modifier with this prop to update\n * the data in your component.\n * Supports .sync modifier\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Props for the toast close button.\n */\n closeButtonProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Hides the close button from the toast\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The duration in ms the toast will display before disappearing.\n * The toast won't disappear if the duration is not provided.\n * If it's provided, it should be equal to or greater than 6000.\n */\n duration: {\n type: Number,\n default: null,\n validator: (duration) => {\n return duration >= TOAST_MIN_DURATION;\n },\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n isShown: false,\n minDuration: TOAST_MIN_DURATION,\n };\n },\n\n computed: {\n kindClass () {\n const kindClasses = {\n error: 'd-toast--error',\n info: 'd-toast--info',\n success: 'd-toast--success',\n warning: 'd-toast--warning',\n base: 'd-toast--base',\n };\n\n return kindClasses[this.kind];\n },\n\n noticeActionListeners () {\n return {\n ...this.$listeners,\n\n close: event => {\n this.isShown = false;\n this.$emit('update:show', false);\n this.$emit('close', event);\n },\n };\n },\n\n shouldSetTimeout () {\n return !!this.duration && this.duration >= this.minDuration;\n },\n },\n\n watch: {\n show: {\n handler: function (show) {\n this.isShown = show;\n if (show) {\n this.setTimeout();\n } else {\n clearTimeout(this.displayTimer);\n }\n },\n\n immediate: true,\n },\n },\n\n destroyed () {\n if (this.shouldSetTimeout) {\n clearTimeout(this.displayTimer);\n }\n },\n\n methods: {\n setTimeout () {\n if (this.shouldSetTimeout) {\n this.displayTimer = setTimeout(() => {\n this.isShown = false;\n this.$emit('update:show', false);\n }, this.duration);\n }\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAY,MAAC,cAAc,CAAC,UAAU,OAAO;AACjC,MAAC,qBAAqB;AC8DlC,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA,CAAA,sBAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,eAAA,MAAA,gBAAA;AAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,eAAA,MAAA,gBAAA;AAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAA;AACA,eAAA,YAAA,SAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAA;AACA,eAAA,aAAA,SAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,aAAA;AACA,eAAA,YAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,aAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,YAAA;AACA,YAAA,cAAA;AAAA,QACA,OAAA;AAAA,QACA,MAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,MACA;AAEA,aAAA,YAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,wBAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA,QAEA,OAAA,WAAA;AACA,eAAA,UAAA;AACA,eAAA,MAAA,eAAA,KAAA;AACA,eAAA,MAAA,SAAA,KAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,mBAAA;AACA,aAAA,CAAA,CAAA,KAAA,YAAA,KAAA,YAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,SAAA,SAAA,MAAA;AACA,aAAA,UAAA;AACA,YAAA,MAAA;AACA,eAAA,WAAA;AAAA,QACA,OAAA;AACA,uBAAA,KAAA,YAAA;AAAA,QACA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,YAAA;AACA,QAAA,KAAA,kBAAA;AACA,mBAAA,KAAA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,aAAA;AACA,UAAA,KAAA,kBAAA;AACA,aAAA,eAAA,WAAA,MAAA;AACA,eAAA,UAAA;AACA,eAAA,MAAA,eAAA,KAAA;AAAA,QACA,GAAA,KAAA,QAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -114,11 +114,15 @@ const _sfc_main = {
114
114
  return this.isIndeterminate ? "checkbox" : "switch";
115
115
  },
116
116
  toggleClasses() {
117
- return ["d-toggle", TOGGLE_SIZE_MODIFIERS[this.size], {
118
- "d-toggle--checked": this.internalChecked === true,
119
- "d-toggle--disabled": this.disabled,
120
- "d-toggle--indeterminate": this.isIndeterminate
121
- }];
117
+ return [
118
+ "d-toggle",
119
+ TOGGLE_SIZE_MODIFIERS[this.size],
120
+ {
121
+ "d-toggle--checked": this.internalChecked === true,
122
+ "d-toggle--disabled": this.disabled,
123
+ "d-toggle--indeterminate": this.isIndeterminate
124
+ }
125
+ ];
122
126
  }
123
127
  },
124
128
  watch: {
@@ -144,37 +148,29 @@ const _sfc_main = {
144
148
  },
145
149
  validateInputLabels(hasLabel, ariaLabel) {
146
150
  if (!hasLabel && !ariaLabel) {
147
- Vue.util.warn("You must provide an aria-label when there is no label passed", this);
151
+ Vue.util.warn(
152
+ "You must provide an aria-label when there is no label passed",
153
+ this
154
+ );
148
155
  }
149
156
  }
150
157
  }
151
158
  };
152
159
  var _sfc_render = function render() {
153
160
  var _vm = this, _c = _vm._self._c;
154
- return _c("div", {
155
- staticClass: "d-toggle-wrapper"
156
- }, [_vm.$slots.default ? _c("label", _vm._b({
157
- class: _vm.labelClass,
158
- attrs: {
159
- "for": _vm.id,
160
- "data-qa": "toggle-label"
161
- }
162
- }, "label", _vm.labelChildProps, false), [_vm._t("default")], 2) : _vm._e(), _c("button", _vm._g(_vm._b({
163
- class: _vm.toggleClasses,
164
- attrs: {
165
- "id": _vm.id,
166
- "role": _vm.toggleRole,
167
- "type": "button",
168
- "aria-checked": _vm.internalChecked.toString(),
169
- "disabled": _vm.disabled,
170
- "aria-disabled": _vm.disabled.toString()
171
- }
172
- }, "button", _vm.$attrs, false), _vm.inputListeners), [_vm.showIcon ? _c("span", {
173
- staticClass: "d-toggle__inner"
174
- }) : _vm._e()])]);
161
+ return _c("div", { staticClass: "d-toggle-wrapper" }, [_vm.$slots.default ? _c("label", _vm._b({ class: _vm.labelClass, attrs: { "for": _vm.id, "data-qa": "toggle-label" } }, "label", _vm.labelChildProps, false), [_vm._t("default")], 2) : _vm._e(), _c("button", _vm._g(_vm._b({ class: _vm.toggleClasses, attrs: { "id": _vm.id, "role": _vm.toggleRole, "type": "button", "aria-checked": _vm.internalChecked.toString(), "disabled": _vm.disabled, "aria-disabled": _vm.disabled.toString() } }, "button", _vm.$attrs, false), _vm.inputListeners), [_vm.showIcon ? _c("span", { staticClass: "d-toggle__inner" }) : _vm._e()])]);
175
162
  };
176
163
  var _sfc_staticRenderFns = [];
177
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
164
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
165
+ _sfc_main,
166
+ _sfc_render,
167
+ _sfc_staticRenderFns,
168
+ false,
169
+ null,
170
+ null,
171
+ null,
172
+ null
173
+ );
178
174
  const toggle = __component__.exports;
179
175
  exports.DtToggle = toggle;
180
176
  exports.TOGGLE_CHECKED_VALUES = TOGGLE_CHECKED_VALUES;
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.cjs","sources":["../../components/toggle/toggle_constants.js","../../components/toggle/toggle.vue"],"sourcesContent":["export const TOGGLE_SIZE_MODIFIERS = {\n sm: 'd-toggle--small',\n md: '',\n};\n\nexport const TOGGLE_CHECKED_VALUES = [false, true, 'mixed'];\n\nexport default {\n TOGGLE_SIZE_MODIFIERS,\n TOGGLE_CHECKED_VALUES,\n};\n","<template>\n <div class=\"d-toggle-wrapper\">\n <label\n v-if=\"$slots.default\"\n :class=\"labelClass\"\n :for=\"id\"\n v-bind=\"labelChildProps\"\n data-qa=\"toggle-label\"\n >\n <!-- @slot Slot for the main content -->\n <slot />\n </label>\n <button\n :id=\"id\"\n :role=\"toggleRole\"\n type=\"button\"\n :aria-checked=\"internalChecked.toString()\"\n :disabled=\"disabled\"\n :aria-disabled=\"disabled.toString()\"\n :class=\"toggleClasses\"\n v-bind=\"$attrs\"\n v-on=\"inputListeners\"\n >\n <span\n v-if=\"showIcon\"\n class=\"d-toggle__inner\"\n />\n </button>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport utils from '@/common/utils';\nimport { TOGGLE_CHECKED_VALUES, TOGGLE_SIZE_MODIFIERS } from '@/components/toggle/toggle_constants';\n\n/**\n * A toggle (or \"switch\") is a button control element that allows the user to make a binary (on/off) selection.\n * @see https://dialtone.dialpad.com/components/toggle.html\n */\nexport default {\n\n name: 'DtToggle',\n\n inheritAttrs: false,\n\n model: {\n prop: 'checked',\n event: 'change',\n },\n\n props: {\n\n /**\n * The id of the toggle\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Disables the toggle interactions\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Value of the toggle\n * @model checked\n * @values true, false, 'mixed'\n */\n checked: {\n type: [Boolean, String],\n default: false,\n validator: (v) => TOGGLE_CHECKED_VALUES.includes(v),\n },\n\n /**\n * Whether the component toggles on click. If you set this to false it means you will handle the toggling manually\n * via the checked prop or v-model. Change events will still be triggered.\n * @values true, false\n */\n toggleOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The size of the toggle.\n * @values sm, md\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(TOGGLE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Shows the icon\n * @values true, false\n */\n showIcon: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Toggle change event\n *\n * @event change\n * @type {Boolean}\n * @model change\n */\n 'change',\n ],\n\n data () {\n return {\n internalChecked: this.checked,\n };\n },\n\n computed: {\n inputListeners () {\n return {\n ...this.$listeners,\n click: _ => this.toggleCheckedValue(),\n };\n },\n\n isIndeterminate () {\n return this.internalChecked === 'mixed';\n },\n\n toggleRole () {\n return this.isIndeterminate ? 'checkbox' : 'switch';\n },\n\n toggleClasses () {\n return [\n 'd-toggle',\n TOGGLE_SIZE_MODIFIERS[this.size],\n {\n 'd-toggle--checked': this.internalChecked === true,\n 'd-toggle--disabled': this.disabled,\n 'd-toggle--indeterminate': this.isIndeterminate,\n },\n ];\n },\n },\n\n watch: {\n checked (newChecked) {\n this.internalChecked = newChecked;\n },\n },\n\n mounted () {\n this.runValidations();\n },\n\n methods: {\n toggleCheckedValue () {\n this.$emit('change', !this.internalChecked);\n\n if (this.toggleOnClick) {\n this.internalChecked = !this.internalChecked;\n }\n },\n\n hasSlotLabel () {\n return !!(this.$slots.default);\n },\n\n runValidations () {\n this.validateInputLabels(this.hasSlotLabel(), this.$attrs['aria-label']);\n },\n\n validateInputLabels (hasLabel, ariaLabel) {\n if (!hasLabel && !ariaLabel) {\n Vue.util.warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n</script>\n"],"names":["TOGGLE_SIZE_MODIFIERS","sm","md","TOGGLE_CHECKED_VALUES","_sfc_main","name","inheritAttrs","model","prop","event","props","id","type","String","default","utils","getUniqueString","disabled","Boolean","checked","validator","v","includes","toggleOnClick","size","s","Object","keys","showIcon","labelClass","Array","labelChildProps","emits","data","internalChecked","computed","inputListeners","$listeners","click","_","toggleCheckedValue","isIndeterminate","toggleRole","toggleClasses","watch","newChecked","mounted","runValidations","methods","$emit","hasSlotLabel","$slots","validateInputLabels","$attrs","hasLabel","ariaLabel","Vue","util","warn"],"mappings":"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"}
1
+ {"version":3,"file":"toggle.cjs","sources":["../../components/toggle/toggle_constants.js","../../components/toggle/toggle.vue"],"sourcesContent":["export const TOGGLE_SIZE_MODIFIERS = {\n sm: 'd-toggle--small',\n md: '',\n};\n\nexport const TOGGLE_CHECKED_VALUES = [false, true, 'mixed'];\n\nexport default {\n TOGGLE_SIZE_MODIFIERS,\n TOGGLE_CHECKED_VALUES,\n};\n","<template>\n <div class=\"d-toggle-wrapper\">\n <label\n v-if=\"$slots.default\"\n :class=\"labelClass\"\n :for=\"id\"\n v-bind=\"labelChildProps\"\n data-qa=\"toggle-label\"\n >\n <!-- @slot Slot for the main content -->\n <slot />\n </label>\n <button\n :id=\"id\"\n :role=\"toggleRole\"\n type=\"button\"\n :aria-checked=\"internalChecked.toString()\"\n :disabled=\"disabled\"\n :aria-disabled=\"disabled.toString()\"\n :class=\"toggleClasses\"\n v-bind=\"$attrs\"\n v-on=\"inputListeners\"\n >\n <span\n v-if=\"showIcon\"\n class=\"d-toggle__inner\"\n />\n </button>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport utils from '@/common/utils';\nimport { TOGGLE_CHECKED_VALUES, TOGGLE_SIZE_MODIFIERS } from '@/components/toggle/toggle_constants';\n\n/**\n * A toggle (or \"switch\") is a button control element that allows the user to make a binary (on/off) selection.\n * @see https://dialtone.dialpad.com/components/toggle.html\n */\nexport default {\n\n name: 'DtToggle',\n\n inheritAttrs: false,\n\n model: {\n prop: 'checked',\n event: 'change',\n },\n\n props: {\n\n /**\n * The id of the toggle\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Disables the toggle interactions\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Value of the toggle\n * @model checked\n * @values true, false, 'mixed'\n */\n checked: {\n type: [Boolean, String],\n default: false,\n validator: (v) => TOGGLE_CHECKED_VALUES.includes(v),\n },\n\n /**\n * Whether the component toggles on click. If you set this to false it means you will handle the toggling manually\n * via the checked prop or v-model. Change events will still be triggered.\n * @values true, false\n */\n toggleOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The size of the toggle.\n * @values sm, md\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(TOGGLE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Shows the icon\n * @values true, false\n */\n showIcon: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Toggle change event\n *\n * @event change\n * @type {Boolean}\n * @model change\n */\n 'change',\n ],\n\n data () {\n return {\n internalChecked: this.checked,\n };\n },\n\n computed: {\n inputListeners () {\n return {\n ...this.$listeners,\n click: _ => this.toggleCheckedValue(),\n };\n },\n\n isIndeterminate () {\n return this.internalChecked === 'mixed';\n },\n\n toggleRole () {\n return this.isIndeterminate ? 'checkbox' : 'switch';\n },\n\n toggleClasses () {\n return [\n 'd-toggle',\n TOGGLE_SIZE_MODIFIERS[this.size],\n {\n 'd-toggle--checked': this.internalChecked === true,\n 'd-toggle--disabled': this.disabled,\n 'd-toggle--indeterminate': this.isIndeterminate,\n },\n ];\n },\n },\n\n watch: {\n checked (newChecked) {\n this.internalChecked = newChecked;\n },\n },\n\n mounted () {\n this.runValidations();\n },\n\n methods: {\n toggleCheckedValue () {\n this.$emit('change', !this.internalChecked);\n\n if (this.toggleOnClick) {\n this.internalChecked = !this.internalChecked;\n }\n },\n\n hasSlotLabel () {\n return !!(this.$slots.default);\n },\n\n runValidations () {\n this.validateInputLabels(this.hasSlotLabel(), this.$attrs['aria-label']);\n },\n\n validateInputLabels (hasLabel, ariaLabel) {\n if (!hasLabel && !ariaLabel) {\n Vue.util.warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n</script>\n"],"names":["utils"],"mappings":"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"}
@@ -112,11 +112,15 @@ const _sfc_main = {
112
112
  return this.isIndeterminate ? "checkbox" : "switch";
113
113
  },
114
114
  toggleClasses() {
115
- return ["d-toggle", TOGGLE_SIZE_MODIFIERS[this.size], {
116
- "d-toggle--checked": this.internalChecked === true,
117
- "d-toggle--disabled": this.disabled,
118
- "d-toggle--indeterminate": this.isIndeterminate
119
- }];
115
+ return [
116
+ "d-toggle",
117
+ TOGGLE_SIZE_MODIFIERS[this.size],
118
+ {
119
+ "d-toggle--checked": this.internalChecked === true,
120
+ "d-toggle--disabled": this.disabled,
121
+ "d-toggle--indeterminate": this.isIndeterminate
122
+ }
123
+ ];
120
124
  }
121
125
  },
122
126
  watch: {
@@ -142,37 +146,29 @@ const _sfc_main = {
142
146
  },
143
147
  validateInputLabels(hasLabel, ariaLabel) {
144
148
  if (!hasLabel && !ariaLabel) {
145
- Vue.util.warn("You must provide an aria-label when there is no label passed", this);
149
+ Vue.util.warn(
150
+ "You must provide an aria-label when there is no label passed",
151
+ this
152
+ );
146
153
  }
147
154
  }
148
155
  }
149
156
  };
150
157
  var _sfc_render = function render() {
151
158
  var _vm = this, _c = _vm._self._c;
152
- return _c("div", {
153
- staticClass: "d-toggle-wrapper"
154
- }, [_vm.$slots.default ? _c("label", _vm._b({
155
- class: _vm.labelClass,
156
- attrs: {
157
- "for": _vm.id,
158
- "data-qa": "toggle-label"
159
- }
160
- }, "label", _vm.labelChildProps, false), [_vm._t("default")], 2) : _vm._e(), _c("button", _vm._g(_vm._b({
161
- class: _vm.toggleClasses,
162
- attrs: {
163
- "id": _vm.id,
164
- "role": _vm.toggleRole,
165
- "type": "button",
166
- "aria-checked": _vm.internalChecked.toString(),
167
- "disabled": _vm.disabled,
168
- "aria-disabled": _vm.disabled.toString()
169
- }
170
- }, "button", _vm.$attrs, false), _vm.inputListeners), [_vm.showIcon ? _c("span", {
171
- staticClass: "d-toggle__inner"
172
- }) : _vm._e()])]);
159
+ return _c("div", { staticClass: "d-toggle-wrapper" }, [_vm.$slots.default ? _c("label", _vm._b({ class: _vm.labelClass, attrs: { "for": _vm.id, "data-qa": "toggle-label" } }, "label", _vm.labelChildProps, false), [_vm._t("default")], 2) : _vm._e(), _c("button", _vm._g(_vm._b({ class: _vm.toggleClasses, attrs: { "id": _vm.id, "role": _vm.toggleRole, "type": "button", "aria-checked": _vm.internalChecked.toString(), "disabled": _vm.disabled, "aria-disabled": _vm.disabled.toString() } }, "button", _vm.$attrs, false), _vm.inputListeners), [_vm.showIcon ? _c("span", { staticClass: "d-toggle__inner" }) : _vm._e()])]);
173
160
  };
174
161
  var _sfc_staticRenderFns = [];
175
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
162
+ var __component__ = /* @__PURE__ */ normalizeComponent(
163
+ _sfc_main,
164
+ _sfc_render,
165
+ _sfc_staticRenderFns,
166
+ false,
167
+ null,
168
+ null,
169
+ null,
170
+ null
171
+ );
176
172
  const toggle = __component__.exports;
177
173
  export {
178
174
  toggle as DtToggle,
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.js","sources":["../../components/toggle/toggle_constants.js","../../components/toggle/toggle.vue"],"sourcesContent":["export const TOGGLE_SIZE_MODIFIERS = {\n sm: 'd-toggle--small',\n md: '',\n};\n\nexport const TOGGLE_CHECKED_VALUES = [false, true, 'mixed'];\n\nexport default {\n TOGGLE_SIZE_MODIFIERS,\n TOGGLE_CHECKED_VALUES,\n};\n","<template>\n <div class=\"d-toggle-wrapper\">\n <label\n v-if=\"$slots.default\"\n :class=\"labelClass\"\n :for=\"id\"\n v-bind=\"labelChildProps\"\n data-qa=\"toggle-label\"\n >\n <!-- @slot Slot for the main content -->\n <slot />\n </label>\n <button\n :id=\"id\"\n :role=\"toggleRole\"\n type=\"button\"\n :aria-checked=\"internalChecked.toString()\"\n :disabled=\"disabled\"\n :aria-disabled=\"disabled.toString()\"\n :class=\"toggleClasses\"\n v-bind=\"$attrs\"\n v-on=\"inputListeners\"\n >\n <span\n v-if=\"showIcon\"\n class=\"d-toggle__inner\"\n />\n </button>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport utils from '@/common/utils';\nimport { TOGGLE_CHECKED_VALUES, TOGGLE_SIZE_MODIFIERS } from '@/components/toggle/toggle_constants';\n\n/**\n * A toggle (or \"switch\") is a button control element that allows the user to make a binary (on/off) selection.\n * @see https://dialtone.dialpad.com/components/toggle.html\n */\nexport default {\n\n name: 'DtToggle',\n\n inheritAttrs: false,\n\n model: {\n prop: 'checked',\n event: 'change',\n },\n\n props: {\n\n /**\n * The id of the toggle\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Disables the toggle interactions\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Value of the toggle\n * @model checked\n * @values true, false, 'mixed'\n */\n checked: {\n type: [Boolean, String],\n default: false,\n validator: (v) => TOGGLE_CHECKED_VALUES.includes(v),\n },\n\n /**\n * Whether the component toggles on click. If you set this to false it means you will handle the toggling manually\n * via the checked prop or v-model. Change events will still be triggered.\n * @values true, false\n */\n toggleOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The size of the toggle.\n * @values sm, md\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(TOGGLE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Shows the icon\n * @values true, false\n */\n showIcon: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Toggle change event\n *\n * @event change\n * @type {Boolean}\n * @model change\n */\n 'change',\n ],\n\n data () {\n return {\n internalChecked: this.checked,\n };\n },\n\n computed: {\n inputListeners () {\n return {\n ...this.$listeners,\n click: _ => this.toggleCheckedValue(),\n };\n },\n\n isIndeterminate () {\n return this.internalChecked === 'mixed';\n },\n\n toggleRole () {\n return this.isIndeterminate ? 'checkbox' : 'switch';\n },\n\n toggleClasses () {\n return [\n 'd-toggle',\n TOGGLE_SIZE_MODIFIERS[this.size],\n {\n 'd-toggle--checked': this.internalChecked === true,\n 'd-toggle--disabled': this.disabled,\n 'd-toggle--indeterminate': this.isIndeterminate,\n },\n ];\n },\n },\n\n watch: {\n checked (newChecked) {\n this.internalChecked = newChecked;\n },\n },\n\n mounted () {\n this.runValidations();\n },\n\n methods: {\n toggleCheckedValue () {\n this.$emit('change', !this.internalChecked);\n\n if (this.toggleOnClick) {\n this.internalChecked = !this.internalChecked;\n }\n },\n\n hasSlotLabel () {\n return !!(this.$slots.default);\n },\n\n runValidations () {\n this.validateInputLabels(this.hasSlotLabel(), this.$attrs['aria-label']);\n },\n\n validateInputLabels (hasLabel, ariaLabel) {\n if (!hasLabel && !ariaLabel) {\n Vue.util.warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n</script>\n"],"names":["TOGGLE_SIZE_MODIFIERS","sm","md","TOGGLE_CHECKED_VALUES","_sfc_main","name","inheritAttrs","model","prop","event","props","id","type","String","default","utils","getUniqueString","disabled","Boolean","checked","validator","v","includes","toggleOnClick","size","s","Object","keys","showIcon","labelClass","Array","labelChildProps","emits","data","internalChecked","computed","inputListeners","$listeners","click","_","toggleCheckedValue","isIndeterminate","toggleRole","toggleClasses","watch","newChecked","mounted","runValidations","methods","$emit","hasSlotLabel","$slots","validateInputLabels","$attrs","hasLabel","ariaLabel","Vue","util","warn"],"mappings":"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"}
1
+ {"version":3,"file":"toggle.js","sources":["../../components/toggle/toggle_constants.js","../../components/toggle/toggle.vue"],"sourcesContent":["export const TOGGLE_SIZE_MODIFIERS = {\n sm: 'd-toggle--small',\n md: '',\n};\n\nexport const TOGGLE_CHECKED_VALUES = [false, true, 'mixed'];\n\nexport default {\n TOGGLE_SIZE_MODIFIERS,\n TOGGLE_CHECKED_VALUES,\n};\n","<template>\n <div class=\"d-toggle-wrapper\">\n <label\n v-if=\"$slots.default\"\n :class=\"labelClass\"\n :for=\"id\"\n v-bind=\"labelChildProps\"\n data-qa=\"toggle-label\"\n >\n <!-- @slot Slot for the main content -->\n <slot />\n </label>\n <button\n :id=\"id\"\n :role=\"toggleRole\"\n type=\"button\"\n :aria-checked=\"internalChecked.toString()\"\n :disabled=\"disabled\"\n :aria-disabled=\"disabled.toString()\"\n :class=\"toggleClasses\"\n v-bind=\"$attrs\"\n v-on=\"inputListeners\"\n >\n <span\n v-if=\"showIcon\"\n class=\"d-toggle__inner\"\n />\n </button>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport utils from '@/common/utils';\nimport { TOGGLE_CHECKED_VALUES, TOGGLE_SIZE_MODIFIERS } from '@/components/toggle/toggle_constants';\n\n/**\n * A toggle (or \"switch\") is a button control element that allows the user to make a binary (on/off) selection.\n * @see https://dialtone.dialpad.com/components/toggle.html\n */\nexport default {\n\n name: 'DtToggle',\n\n inheritAttrs: false,\n\n model: {\n prop: 'checked',\n event: 'change',\n },\n\n props: {\n\n /**\n * The id of the toggle\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * Disables the toggle interactions\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Value of the toggle\n * @model checked\n * @values true, false, 'mixed'\n */\n checked: {\n type: [Boolean, String],\n default: false,\n validator: (v) => TOGGLE_CHECKED_VALUES.includes(v),\n },\n\n /**\n * Whether the component toggles on click. If you set this to false it means you will handle the toggling manually\n * via the checked prop or v-model. Change events will still be triggered.\n * @values true, false\n */\n toggleOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The size of the toggle.\n * @values sm, md\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(TOGGLE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Shows the icon\n * @values true, false\n */\n showIcon: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Toggle change event\n *\n * @event change\n * @type {Boolean}\n * @model change\n */\n 'change',\n ],\n\n data () {\n return {\n internalChecked: this.checked,\n };\n },\n\n computed: {\n inputListeners () {\n return {\n ...this.$listeners,\n click: _ => this.toggleCheckedValue(),\n };\n },\n\n isIndeterminate () {\n return this.internalChecked === 'mixed';\n },\n\n toggleRole () {\n return this.isIndeterminate ? 'checkbox' : 'switch';\n },\n\n toggleClasses () {\n return [\n 'd-toggle',\n TOGGLE_SIZE_MODIFIERS[this.size],\n {\n 'd-toggle--checked': this.internalChecked === true,\n 'd-toggle--disabled': this.disabled,\n 'd-toggle--indeterminate': this.isIndeterminate,\n },\n ];\n },\n },\n\n watch: {\n checked (newChecked) {\n this.internalChecked = newChecked;\n },\n },\n\n mounted () {\n this.runValidations();\n },\n\n methods: {\n toggleCheckedValue () {\n this.$emit('change', !this.internalChecked);\n\n if (this.toggleOnClick) {\n this.internalChecked = !this.internalChecked;\n }\n },\n\n hasSlotLabel () {\n return !!(this.$slots.default);\n },\n\n runValidations () {\n this.validateInputLabels(this.hasSlotLabel(), this.$attrs['aria-label']);\n },\n\n validateInputLabels (hasLabel, ariaLabel) {\n if (!hasLabel && !ariaLabel) {\n Vue.util.warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n</script>\n"],"names":[],"mappings":"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"}