@dialpad/dialtone-vue 2.126.0 → 2.127.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 (425) hide show
  1. package/dist/chunks/_plugin-vue2_normalizer-1aBeR4AK.js +59 -0
  2. package/dist/chunks/_plugin-vue2_normalizer-1aBeR4AK.js.map +1 -0
  3. package/dist/chunks/_plugin-vue2_normalizer-sOSkiPF3.js +60 -0
  4. package/dist/chunks/_plugin-vue2_normalizer-sOSkiPF3.js.map +1 -0
  5. package/dist/chunks/{dropdown-SMWaTWyF.js → dropdown-DTtcQEFC.js} +131 -84
  6. package/dist/chunks/{dropdown-SMWaTWyF.js.map → dropdown-DTtcQEFC.js.map} +1 -1
  7. package/dist/chunks/dropdown-IaLNHmVd.js +403 -0
  8. package/dist/chunks/dropdown-IaLNHmVd.js.map +1 -0
  9. package/dist/chunks/dropdown_constants-2pGCXy7m.js +8 -0
  10. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
  11. package/dist/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
  12. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
  13. package/dist/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
  14. package/dist/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
  15. package/dist/chunks/icon_constants-QYpmdE0R.js +16 -0
  16. package/dist/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  17. package/dist/chunks/index-DUr1xHR0.js +442 -0
  18. package/dist/chunks/{index-nIyl_PL6.js.map → index-DUr1xHR0.js.map} +1 -1
  19. package/dist/chunks/index-IA-Z8fgm.js +441 -0
  20. package/dist/chunks/index-IA-Z8fgm.js.map +1 -0
  21. package/dist/chunks/{input-1tm09l_-.js → input-6kbd8Pju.js} +83 -60
  22. package/dist/chunks/{input-1tm09l_-.js.map → input-6kbd8Pju.js.map} +1 -1
  23. package/dist/chunks/input-Axw-wFj2.js +295 -0
  24. package/dist/chunks/input-Axw-wFj2.js.map +1 -0
  25. package/dist/chunks/input_group-m3cWYUfI.js +143 -0
  26. package/dist/chunks/{input_group-zcAq3DQl.js.map → input_group-m3cWYUfI.js.map} +1 -1
  27. package/dist/chunks/{input_group-zcAq3DQl.js → input_group-qVZaS5Bb.js} +27 -24
  28. package/dist/chunks/input_group-qVZaS5Bb.js.map +1 -0
  29. package/dist/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
  30. package/dist/chunks/{keyboard_list_navigation-F0O8nht0.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  31. package/dist/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
  32. package/dist/chunks/keyboard_list_navigation-fJnl_Iox.js.map +1 -0
  33. package/dist/chunks/link_constants-Huj7D_hm.js +22 -0
  34. package/dist/chunks/{link_constants-vIUB92L4.js.map → link_constants-Huj7D_hm.js.map} +1 -1
  35. package/dist/chunks/link_constants-nWVlXQBs.js +23 -0
  36. package/dist/chunks/link_constants-nWVlXQBs.js.map +1 -0
  37. package/dist/chunks/list_item_constants-EiqkqZvP.js +13 -0
  38. package/dist/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
  39. package/dist/chunks/list_item_constants-u1xcN9Dd.js +14 -0
  40. package/dist/chunks/list_item_constants-u1xcN9Dd.js.map +1 -0
  41. package/dist/chunks/modal-VgxXAQFP.js +105 -0
  42. package/dist/chunks/{modal-VuMFkZFH.js.map → modal-VgxXAQFP.js.map} +1 -1
  43. package/dist/chunks/modal-XOr4kiNZ.js +106 -0
  44. package/dist/chunks/modal-XOr4kiNZ.js.map +1 -0
  45. package/dist/chunks/notice_action-IRUoLX2d.js +196 -0
  46. package/dist/chunks/{notice_action-9NmtQRai.js.map → notice_action-IRUoLX2d.js.map} +1 -1
  47. package/dist/chunks/notice_action-P6uDyE9x.js +195 -0
  48. package/dist/chunks/notice_action-P6uDyE9x.js.map +1 -0
  49. package/dist/chunks/notice_constants-7Qt2CQEY.js +7 -0
  50. package/dist/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
  51. package/dist/chunks/notice_constants-UXo9e3bS.js +6 -0
  52. package/dist/chunks/notice_constants-UXo9e3bS.js.map +1 -0
  53. package/dist/chunks/popover_constants-JwBF9h1Z.js +143 -0
  54. package/dist/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-JwBF9h1Z.js.map} +1 -1
  55. package/dist/chunks/popover_constants-Qkpb0yh2.js +144 -0
  56. package/dist/chunks/popover_constants-Qkpb0yh2.js.map +1 -0
  57. package/dist/chunks/sr_only_close_button-81bHIpPu.js +95 -0
  58. package/dist/chunks/{sr_only_close_button-JGole5Xi.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
  59. package/dist/chunks/sr_only_close_button-ZaGdAHz7.js +94 -0
  60. package/dist/chunks/sr_only_close_button-ZaGdAHz7.js.map +1 -0
  61. package/dist/chunks/stack_constants-HraCekPm.js +15 -0
  62. package/dist/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-HraCekPm.js.map} +1 -1
  63. package/dist/chunks/stack_constants-SMzMWnAQ.js +14 -0
  64. package/dist/chunks/stack_constants-SMzMWnAQ.js.map +1 -0
  65. package/dist/chunks/tab-FcsV5VmK.js +386 -0
  66. package/dist/chunks/tab-FcsV5VmK.js.map +1 -0
  67. package/dist/chunks/tab-V4cb44Ry.js +387 -0
  68. package/dist/chunks/{tab-Qm9LVkYj.js.map → tab-V4cb44Ry.js.map} +1 -1
  69. package/dist/common/constants.cjs +60 -0
  70. package/dist/common/constants.cjs.map +1 -0
  71. package/dist/{lib → common}/constants.js +25 -18
  72. package/dist/{lib → common}/constants.js.map +1 -1
  73. package/dist/common/dates.cjs +72 -0
  74. package/dist/common/dates.cjs.map +1 -0
  75. package/dist/common/dates.js +72 -0
  76. package/dist/{lib → common}/dates.js.map +1 -1
  77. package/dist/common/emoji.cjs +163 -0
  78. package/dist/common/emoji.cjs.map +1 -0
  79. package/dist/common/emoji.js +168 -0
  80. package/dist/common/emoji.js.map +1 -0
  81. package/dist/common/mixins.cjs +17 -0
  82. package/dist/common/mixins.cjs.map +1 -0
  83. package/dist/common/mixins.js +17 -0
  84. package/dist/common/utils.cjs +237 -0
  85. package/dist/common/utils.cjs.map +1 -0
  86. package/dist/common/utils.js +237 -0
  87. package/dist/{lib → common}/utils.js.map +1 -1
  88. package/dist/common/validators.cjs +23 -0
  89. package/dist/common/validators.cjs.map +1 -0
  90. package/dist/common/validators.js +23 -0
  91. package/dist/{lib → common}/validators.js.map +1 -1
  92. package/dist/component-documentation.json +1 -1
  93. package/dist/dialtone-vue.cjs +373 -0
  94. package/dist/dialtone-vue.cjs.map +1 -0
  95. package/dist/dialtone-vue.js +325 -324
  96. package/dist/dialtone-vue.js.map +1 -1
  97. package/dist/lib/attachment-carousel.cjs +261 -0
  98. package/dist/lib/attachment-carousel.cjs.map +1 -0
  99. package/dist/lib/attachment-carousel.js +96 -85
  100. package/dist/lib/attachment-carousel.js.map +1 -1
  101. package/dist/lib/avatar.cjs +400 -0
  102. package/dist/lib/avatar.cjs.map +1 -0
  103. package/dist/lib/avatar.js +111 -80
  104. package/dist/lib/avatar.js.map +1 -1
  105. package/dist/lib/badge.cjs +183 -0
  106. package/dist/lib/badge.cjs.map +1 -0
  107. package/dist/lib/badge.js +53 -39
  108. package/dist/lib/badge.js.map +1 -1
  109. package/dist/lib/banner.cjs +210 -0
  110. package/dist/lib/banner.cjs.map +1 -0
  111. package/dist/lib/banner.js +58 -48
  112. package/dist/lib/banner.js.map +1 -1
  113. package/dist/lib/breadcrumbs.cjs +147 -0
  114. package/dist/lib/breadcrumbs.cjs.map +1 -0
  115. package/dist/lib/breadcrumbs.js +57 -48
  116. package/dist/lib/breadcrumbs.js.map +1 -1
  117. package/dist/lib/button-group.cjs +48 -0
  118. package/dist/lib/button-group.cjs.map +1 -0
  119. package/dist/lib/button-group.js +21 -18
  120. package/dist/lib/button-group.js.map +1 -1
  121. package/dist/lib/button.cjs +350 -0
  122. package/dist/lib/button.cjs.map +1 -0
  123. package/dist/lib/button.js +98 -76
  124. package/dist/lib/button.js.map +1 -1
  125. package/dist/lib/callbar-button-with-popover.cjs +250 -0
  126. package/dist/lib/callbar-button-with-popover.cjs.map +1 -0
  127. package/dist/lib/callbar-button-with-popover.js +66 -51
  128. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  129. package/dist/lib/callbar-button.cjs +183 -0
  130. package/dist/lib/callbar-button.cjs.map +1 -0
  131. package/dist/lib/callbar-button.js +42 -34
  132. package/dist/lib/callbar-button.js.map +1 -1
  133. package/dist/lib/callbox.cjs +147 -0
  134. package/dist/lib/callbox.cjs.map +1 -0
  135. package/dist/lib/callbox.js +38 -33
  136. package/dist/lib/callbox.js.map +1 -1
  137. package/dist/lib/card.cjs +74 -0
  138. package/dist/lib/card.cjs.map +1 -0
  139. package/dist/lib/card.js +22 -20
  140. package/dist/lib/card.js.map +1 -1
  141. package/dist/lib/checkbox-group.cjs +130 -0
  142. package/dist/lib/checkbox-group.cjs.map +1 -0
  143. package/dist/lib/checkbox-group.js +42 -29
  144. package/dist/lib/checkbox-group.js.map +1 -1
  145. package/dist/lib/checkbox.cjs +128 -0
  146. package/dist/lib/checkbox.cjs.map +1 -0
  147. package/dist/lib/checkbox.js +46 -35
  148. package/dist/lib/checkbox.js.map +1 -1
  149. package/dist/lib/chip.cjs +199 -0
  150. package/dist/lib/chip.cjs.map +1 -0
  151. package/dist/lib/chip.js +59 -46
  152. package/dist/lib/chip.js.map +1 -1
  153. package/dist/lib/codeblock.cjs +30 -0
  154. package/dist/lib/codeblock.cjs.map +1 -0
  155. package/dist/lib/codeblock.js +15 -14
  156. package/dist/lib/codeblock.js.map +1 -1
  157. package/dist/lib/collapsible.cjs +335 -0
  158. package/dist/lib/collapsible.cjs.map +1 -0
  159. package/dist/lib/collapsible.js +91 -69
  160. package/dist/lib/collapsible.js.map +1 -1
  161. package/dist/lib/combobox-multi-select.cjs +520 -0
  162. package/dist/lib/combobox-multi-select.cjs.map +1 -0
  163. package/dist/lib/combobox-multi-select.js +223 -136
  164. package/dist/lib/combobox-multi-select.js.map +1 -1
  165. package/dist/lib/combobox-with-popover.cjs +385 -0
  166. package/dist/lib/combobox-with-popover.cjs.map +1 -0
  167. package/dist/lib/combobox-with-popover.js +131 -87
  168. package/dist/lib/combobox-with-popover.js.map +1 -1
  169. package/dist/lib/combobox.cjs +19 -0
  170. package/dist/lib/combobox.cjs.map +1 -0
  171. package/dist/lib/combobox.js +9 -9
  172. package/dist/lib/contact-info.cjs +146 -0
  173. package/dist/lib/contact-info.cjs.map +1 -0
  174. package/dist/lib/contact-info.js +34 -33
  175. package/dist/lib/contact-info.js.map +1 -1
  176. package/dist/lib/contact-row.cjs +206 -0
  177. package/dist/lib/contact-row.cjs.map +1 -0
  178. package/dist/lib/contact-row.js +42 -39
  179. package/dist/lib/contact-row.js.map +1 -1
  180. package/dist/lib/datepicker.cjs +663 -0
  181. package/dist/lib/datepicker.cjs.map +1 -0
  182. package/dist/lib/datepicker.js +330 -219
  183. package/dist/lib/datepicker.js.map +1 -1
  184. package/dist/lib/description-list.cjs +115 -0
  185. package/dist/lib/description-list.cjs.map +1 -0
  186. package/dist/lib/description-list.js +51 -19
  187. package/dist/lib/description-list.js.map +1 -1
  188. package/dist/lib/dropdown.cjs +46 -0
  189. package/dist/lib/dropdown.cjs.map +1 -0
  190. package/dist/lib/dropdown.js +27 -26
  191. package/dist/lib/dropdown.js.map +1 -1
  192. package/dist/lib/editor.cjs +556 -0
  193. package/dist/lib/editor.cjs.map +1 -0
  194. package/dist/lib/editor.js +191 -162
  195. package/dist/lib/editor.js.map +1 -1
  196. package/dist/lib/emoji-picker.cjs +1064 -0
  197. package/dist/lib/emoji-picker.cjs.map +1 -0
  198. package/dist/lib/emoji-picker.js +638 -375
  199. package/dist/lib/emoji-picker.js.map +1 -1
  200. package/dist/lib/emoji-row.cjs +89 -0
  201. package/dist/lib/emoji-row.cjs.map +1 -0
  202. package/dist/lib/emoji-row.js +46 -40
  203. package/dist/lib/emoji-row.js.map +1 -1
  204. package/dist/lib/emoji-text-wrapper.cjs +110 -0
  205. package/dist/lib/emoji-text-wrapper.cjs.map +1 -0
  206. package/dist/lib/emoji-text-wrapper.js +49 -35
  207. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  208. package/dist/lib/emoji.cjs +146 -0
  209. package/dist/lib/emoji.cjs.map +1 -0
  210. package/dist/lib/emoji.js +140 -5
  211. package/dist/lib/emoji.js.map +1 -1
  212. package/dist/lib/feed-item-row.cjs +214 -0
  213. package/dist/lib/feed-item-row.cjs.map +1 -0
  214. package/dist/lib/feed-item-row.js +71 -64
  215. package/dist/lib/feed-item-row.js.map +1 -1
  216. package/dist/lib/feed-pill.cjs +150 -0
  217. package/dist/lib/feed-pill.cjs.map +1 -0
  218. package/dist/lib/feed-pill.js +60 -52
  219. package/dist/lib/feed-pill.js.map +1 -1
  220. package/dist/lib/general-row.cjs +406 -0
  221. package/dist/lib/general-row.cjs.map +1 -0
  222. package/dist/lib/general-row.js +133 -106
  223. package/dist/lib/general-row.js.map +1 -1
  224. package/dist/lib/group-row.cjs +118 -0
  225. package/dist/lib/group-row.cjs.map +1 -0
  226. package/dist/lib/group-row.js +34 -31
  227. package/dist/lib/group-row.js.map +1 -1
  228. package/dist/lib/grouped-chip.cjs +46 -0
  229. package/dist/lib/grouped-chip.cjs.map +1 -0
  230. package/dist/lib/grouped-chip.js +28 -27
  231. package/dist/lib/grouped-chip.js.map +1 -1
  232. package/dist/lib/hovercard.cjs +228 -0
  233. package/dist/lib/hovercard.cjs.map +1 -0
  234. package/dist/lib/hovercard.js +98 -64
  235. package/dist/lib/hovercard.js.map +1 -1
  236. package/dist/lib/icon.cjs +60 -0
  237. package/dist/lib/icon.cjs.map +1 -0
  238. package/dist/lib/icon.js +22 -44
  239. package/dist/lib/icon.js.map +1 -1
  240. package/dist/lib/image-viewer.cjs +191 -0
  241. package/dist/lib/image-viewer.cjs.map +1 -0
  242. package/dist/lib/image-viewer.js +83 -63
  243. package/dist/lib/image-viewer.js.map +1 -1
  244. package/dist/lib/input-group.cjs +92 -0
  245. package/dist/lib/input-group.cjs.map +1 -0
  246. package/dist/lib/input-group.js +29 -27
  247. package/dist/lib/input-group.js.map +1 -1
  248. package/dist/lib/input.cjs +493 -0
  249. package/dist/lib/input.cjs.map +1 -0
  250. package/dist/lib/input.js +127 -89
  251. package/dist/lib/input.js.map +1 -1
  252. package/dist/lib/item-layout.cjs +41 -0
  253. package/dist/lib/item-layout.cjs.map +1 -0
  254. package/dist/lib/item-layout.js +15 -13
  255. package/dist/lib/item-layout.js.map +1 -1
  256. package/dist/lib/ivr-node.cjs +210 -0
  257. package/dist/lib/ivr-node.cjs.map +1 -0
  258. package/dist/lib/ivr-node.js +115 -100
  259. package/dist/lib/ivr-node.js.map +1 -1
  260. package/dist/lib/keyboard-shortcut.cjs +107 -0
  261. package/dist/lib/keyboard-shortcut.cjs.map +1 -0
  262. package/dist/lib/keyboard-shortcut.js +42 -35
  263. package/dist/lib/keyboard-shortcut.js.map +1 -1
  264. package/dist/lib/lazy-show.cjs +81 -0
  265. package/dist/lib/lazy-show.cjs.map +1 -0
  266. package/dist/lib/lazy-show.js +20 -16
  267. package/dist/lib/lazy-show.js.map +1 -1
  268. package/dist/lib/link.cjs +71 -0
  269. package/dist/lib/link.cjs.map +1 -0
  270. package/dist/lib/link.js +22 -20
  271. package/dist/lib/link.js.map +1 -1
  272. package/dist/lib/list-item-group.cjs +61 -0
  273. package/dist/lib/list-item-group.cjs.map +1 -0
  274. package/dist/lib/list-item-group.js +19 -17
  275. package/dist/lib/list-item-group.js.map +1 -1
  276. package/dist/lib/list-item.cjs +205 -0
  277. package/dist/lib/list-item.cjs.map +1 -0
  278. package/dist/lib/list-item.js +67 -57
  279. package/dist/lib/list-item.js.map +1 -1
  280. package/dist/lib/message-input.cjs +555 -0
  281. package/dist/lib/message-input.cjs.map +1 -0
  282. package/dist/lib/message-input.js +211 -147
  283. package/dist/lib/message-input.js.map +1 -1
  284. package/dist/lib/modal.cjs +351 -0
  285. package/dist/lib/modal.cjs.map +1 -0
  286. package/dist/lib/modal.js +118 -91
  287. package/dist/lib/modal.js.map +1 -1
  288. package/dist/lib/notice.cjs +160 -0
  289. package/dist/lib/notice.cjs.map +1 -0
  290. package/dist/lib/notice.js +46 -44
  291. package/dist/lib/notice.js.map +1 -1
  292. package/dist/lib/pagination.cjs +153 -0
  293. package/dist/lib/pagination.cjs.map +1 -0
  294. package/dist/lib/pagination.js +60 -49
  295. package/dist/lib/pagination.js.map +1 -1
  296. package/dist/lib/popover.cjs +957 -0
  297. package/dist/lib/popover.cjs.map +1 -0
  298. package/dist/lib/popover.js +401 -222
  299. package/dist/lib/popover.js.map +1 -1
  300. package/dist/lib/presence.cjs +66 -0
  301. package/dist/lib/presence.cjs.map +1 -0
  302. package/dist/lib/presence.js +32 -26
  303. package/dist/lib/presence.js.map +1 -1
  304. package/dist/lib/radio-group.cjs +99 -0
  305. package/dist/lib/radio-group.cjs.map +1 -0
  306. package/dist/lib/radio-group.js +24 -22
  307. package/dist/lib/radio-group.js.map +1 -1
  308. package/dist/lib/radio.cjs +119 -0
  309. package/dist/lib/radio.cjs.map +1 -0
  310. package/dist/lib/radio.js +43 -35
  311. package/dist/lib/radio.js.map +1 -1
  312. package/dist/lib/rich-text-editor.cjs +1139 -0
  313. package/dist/lib/rich-text-editor.cjs.map +1 -0
  314. package/dist/lib/rich-text-editor.js +611 -392
  315. package/dist/lib/rich-text-editor.js.map +1 -1
  316. package/dist/lib/root-layout.cjs +131 -0
  317. package/dist/lib/root-layout.cjs.map +1 -0
  318. package/dist/lib/root-layout.js +28 -24
  319. package/dist/lib/root-layout.js.map +1 -1
  320. package/dist/lib/select-menu.cjs +283 -0
  321. package/dist/lib/select-menu.cjs.map +1 -0
  322. package/dist/lib/select-menu.js +101 -61
  323. package/dist/lib/select-menu.js.map +1 -1
  324. package/dist/lib/settings-menu-button.cjs +66 -0
  325. package/dist/lib/settings-menu-button.cjs.map +1 -0
  326. package/dist/lib/settings-menu-button.js +26 -25
  327. package/dist/lib/settings-menu-button.js.map +1 -1
  328. package/dist/lib/skeleton.cjs +613 -0
  329. package/dist/lib/skeleton.cjs.map +1 -0
  330. package/dist/lib/skeleton.js +174 -135
  331. package/dist/lib/skeleton.js.map +1 -1
  332. package/dist/lib/stack.cjs +128 -0
  333. package/dist/lib/stack.cjs.map +1 -0
  334. package/dist/lib/stack.js +66 -56
  335. package/dist/lib/stack.js.map +1 -1
  336. package/dist/lib/tabs.cjs +100 -0
  337. package/dist/lib/tabs.cjs.map +1 -0
  338. package/dist/lib/tabs.js +42 -35
  339. package/dist/lib/tabs.js.map +1 -1
  340. package/dist/lib/time-pill.cjs +48 -0
  341. package/dist/lib/time-pill.cjs.map +1 -0
  342. package/dist/lib/time-pill.js +21 -16
  343. package/dist/lib/time-pill.js.map +1 -1
  344. package/dist/lib/toast.cjs +248 -0
  345. package/dist/lib/toast.cjs.map +1 -0
  346. package/dist/lib/toast.js +78 -56
  347. package/dist/lib/toast.js.map +1 -1
  348. package/dist/lib/toggle.cjs +178 -0
  349. package/dist/lib/toggle.cjs.map +1 -0
  350. package/dist/lib/toggle.js +46 -37
  351. package/dist/lib/toggle.js.map +1 -1
  352. package/dist/lib/tooltip-directive.cjs +88 -0
  353. package/dist/lib/tooltip-directive.cjs.map +1 -0
  354. package/dist/lib/tooltip-directive.js +55 -41
  355. package/dist/lib/tooltip-directive.js.map +1 -1
  356. package/dist/lib/tooltip.cjs +437 -0
  357. package/dist/lib/tooltip.cjs.map +1 -0
  358. package/dist/lib/tooltip.js +152 -90
  359. package/dist/lib/tooltip.js.map +1 -1
  360. package/dist/lib/top-banner-info.cjs +64 -0
  361. package/dist/lib/top-banner-info.cjs.map +1 -0
  362. package/dist/lib/top-banner-info.js +22 -18
  363. package/dist/lib/top-banner-info.js.map +1 -1
  364. package/dist/lib/unread-pill.cjs +64 -0
  365. package/dist/lib/unread-pill.cjs.map +1 -0
  366. package/dist/lib/unread-pill.js +25 -22
  367. package/dist/lib/unread-pill.js.map +1 -1
  368. package/dist/lib/validation-messages.cjs +86 -0
  369. package/dist/lib/validation-messages.cjs.map +1 -0
  370. package/dist/lib/validation-messages.js +32 -29
  371. package/dist/lib/validation-messages.js.map +1 -1
  372. package/dist/style.css +1214 -1
  373. package/dist/types/components/avatar/avatar.vue.d.ts +1 -1
  374. package/dist/types/components/button/button.vue.d.ts +2 -2
  375. package/dist/types/components/card/card.vue.d.ts +1 -1
  376. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  377. package/dist/types/components/collapsible/collapsible.vue.d.ts +2 -2
  378. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  379. package/dist/types/components/dropdown/dropdown.vue.d.ts +1 -1
  380. package/dist/types/components/emoji/emoji.vue.d.ts +1 -1
  381. package/dist/types/components/icon/icon.vue.d.ts +2 -22
  382. package/dist/types/components/icon/icon.vue.d.ts.map +1 -1
  383. package/dist/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
  384. package/dist/types/components/modal/modal.vue.d.ts +2 -2
  385. package/dist/types/components/popover/popover_header_footer.vue.d.ts +1 -1
  386. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
  387. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
  388. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +91 -1
  389. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  390. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
  391. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
  392. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
  393. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +2 -2
  394. package/dist/types/components/skeleton/skeleton.vue.d.ts +1 -1
  395. package/dist/types/components/tooltip/tooltip.vue.d.ts +2 -2
  396. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
  397. package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  398. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
  399. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +90 -0
  400. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  401. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
  402. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
  403. package/package.json +37 -35
  404. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js +0 -33
  405. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js.map +0 -1
  406. package/dist/chunks/dropdown_constants-EUcDxBrX.js +0 -9
  407. package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
  408. package/dist/chunks/index-YkSDT8-g.js +0 -244
  409. package/dist/chunks/index-YkSDT8-g.js.map +0 -1
  410. package/dist/chunks/index-nIyl_PL6.js +0 -372
  411. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
  412. package/dist/chunks/link_constants-vIUB92L4.js +0 -16
  413. package/dist/chunks/list_item_constants-LTUc74pD.js +0 -13
  414. package/dist/chunks/modal-VuMFkZFH.js +0 -82
  415. package/dist/chunks/notice_action-9NmtQRai.js +0 -182
  416. package/dist/chunks/notice_constants-c--hBFQw.js +0 -6
  417. package/dist/chunks/popover_constants-qjlEkroB.js +0 -114
  418. package/dist/chunks/sr_only_close_button-JGole5Xi.js +0 -86
  419. package/dist/chunks/stack_constants-u7tNqGtc.js +0 -13
  420. package/dist/chunks/tab-Qm9LVkYj.js +0 -346
  421. package/dist/lib/dates.js +0 -57
  422. package/dist/lib/mixins.js +0 -17
  423. package/dist/lib/utils.js +0 -175
  424. package/dist/lib/validators.js +0 -12
  425. /package/dist/{lib → common}/mixins.js.map +0 -0
package/dist/lib/modal.js CHANGED
@@ -1,39 +1,41 @@
1
- import { M as i } from "../chunks/modal-VuMFkZFH.js";
2
- import { getUniqueString as n } from "./utils.js";
3
- import { EVENT_KEYNAMES as s } from "./constants.js";
4
- import { S as d, a as c } from "../chunks/sr_only_close_button-JGole5Xi.js";
5
- import { n as u } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
6
- import { DtLazyShow as m } from "./lazy-show.js";
7
- import { DtButton as f } from "./button.js";
8
- import { DtIcon as p } from "./icon.js";
9
- import { N as _ } from "../chunks/notice_constants-c--hBFQw.js";
1
+ import { Modal } from "../chunks/modal-XOr4kiNZ.js";
2
+ import { getUniqueString } from "../common/utils.js";
3
+ import { EVENT_KEYNAMES } from "../common/constants.js";
4
+ import { SrOnlyCloseButton, SrOnlyCloseButtonMixin } from "../chunks/sr_only_close_button-81bHIpPu.js";
5
+ import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
6
+ import { DtLazyShow } from "./lazy-show.js";
7
+ import { DtButton } from "./button.js";
8
+ import { DtIcon } from "./icon.js";
9
+ import { NOTICE_KINDS } from "../chunks/notice_constants-7Qt2CQEY.js";
10
10
  import "vue";
11
- import "../chunks/link_constants-vIUB92L4.js";
11
+ import "../chunks/link_constants-nWVlXQBs.js";
12
12
  import "@dialpad/dialtone-icons/vue2";
13
- import "../chunks/icon_constants-OpYAAKwF.js";
13
+ import "../chunks/icon_constants-Dy4MEUJL.js";
14
14
  import "@dialpad/dialtone-icons/icons.json";
15
- import "./skeleton.js";
16
- const o = {
15
+ const MODAL_KIND_MODIFIERS = {
17
16
  default: "",
18
17
  danger: "d-modal--danger"
19
- }, l = {
18
+ };
19
+ const MODAL_SIZE_MODIFIERS = {
20
20
  default: "",
21
21
  full: "d-modal--full"
22
- }, r = {
22
+ };
23
+ const MODAL_BANNER_KINDS = {
23
24
  error: "d-modal__banner--critical",
24
25
  info: "d-modal__banner--info",
25
26
  success: "d-modal__banner--success",
26
27
  warning: "d-modal__banner--warning",
27
28
  base: "d-modal__banner--general"
28
- }, h = {
29
+ };
30
+ const _sfc_main = {
29
31
  name: "DtModal",
30
32
  components: {
31
- DtLazyShow: m,
32
- DtButton: f,
33
- DtIcon: p,
34
- SrOnlyCloseButton: d
33
+ DtLazyShow,
34
+ DtButton,
35
+ DtIcon,
36
+ SrOnlyCloseButton
35
37
  },
36
- mixins: [i, c],
38
+ mixins: [Modal, SrOnlyCloseButtonMixin],
37
39
  props: {
38
40
  /**
39
41
  * A set of props to be passed into the modal's close button.
@@ -41,8 +43,10 @@ const o = {
41
43
  */
42
44
  closeButtonProps: {
43
45
  type: Object,
44
- required: !0,
45
- validator: (t) => !!t.ariaLabel
46
+ required: true,
47
+ validator: (props) => {
48
+ return !!props.ariaLabel;
49
+ }
46
50
  },
47
51
  /**
48
52
  * Body text to display as the modal's main content.
@@ -66,7 +70,7 @@ const o = {
66
70
  labelledById: {
67
71
  type: String,
68
72
  default: function() {
69
- return n();
73
+ return getUniqueString();
70
74
  }
71
75
  },
72
76
  /**
@@ -76,7 +80,7 @@ const o = {
76
80
  */
77
81
  show: {
78
82
  type: Boolean,
79
- default: !1
83
+ default: false
80
84
  },
81
85
  /**
82
86
  * Title text to display in the modal header.
@@ -99,7 +103,7 @@ const o = {
99
103
  kind: {
100
104
  type: String,
101
105
  default: "default",
102
- validator: (t) => Object.keys(o).includes(t)
106
+ validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k)
103
107
  },
104
108
  /**
105
109
  * The size of the modal. size - default or full,
@@ -108,7 +112,7 @@ const o = {
108
112
  size: {
109
113
  type: String,
110
114
  default: "default",
111
- validator: (t) => Object.keys(l).includes(t)
115
+ validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s)
112
116
  },
113
117
  /**
114
118
  * Additional class name for the root modal element.
@@ -144,8 +148,8 @@ const o = {
144
148
  bannerKind: {
145
149
  type: String,
146
150
  default: "warning",
147
- validate(t) {
148
- return _.includes(t);
151
+ validate(kind) {
152
+ return NOTICE_KINDS.includes(kind);
149
153
  }
150
154
  },
151
155
  /**
@@ -163,7 +167,7 @@ const o = {
163
167
  */
164
168
  hideClose: {
165
169
  type: Boolean,
166
- default: !1
170
+ default: false
167
171
  },
168
172
  /**
169
173
  * Whether the modal will close when you click outside of the dialog on the overlay.
@@ -171,7 +175,7 @@ const o = {
171
175
  */
172
176
  closeOnClick: {
173
177
  type: Boolean,
174
- default: !0
178
+ default: true
175
179
  },
176
180
  /**
177
181
  * Scrollable modal that allows scroll the modal content keeping the header and footer fixed
@@ -179,7 +183,7 @@ const o = {
179
183
  */
180
184
  fixedHeaderFooter: {
181
185
  type: Boolean,
182
- default: !0
186
+ default: true
183
187
  },
184
188
  /**
185
189
  * The element that is focused when the modal is opened. This can be an
@@ -191,7 +195,9 @@ const o = {
191
195
  initialFocusElement: {
192
196
  type: [String, HTMLElement],
193
197
  default: "first",
194
- validator: (t) => t === "first" || t instanceof HTMLElement || t.startsWith("#")
198
+ validator: (initialFocusElement) => {
199
+ return initialFocusElement === "first" || initialFocusElement instanceof HTMLElement || initialFocusElement.startsWith("#");
200
+ }
195
201
  }
196
202
  },
197
203
  emits: [
@@ -206,33 +212,37 @@ const o = {
206
212
  ],
207
213
  data() {
208
214
  return {
209
- MODAL_KIND_MODIFIERS: o,
210
- MODAL_SIZE_MODIFIERS: l,
211
- MODAL_BANNER_KINDS: r,
212
- EVENT_KEYNAMES: s
215
+ MODAL_KIND_MODIFIERS,
216
+ MODAL_SIZE_MODIFIERS,
217
+ MODAL_BANNER_KINDS,
218
+ EVENT_KEYNAMES
213
219
  };
214
220
  },
215
221
  computed: {
216
222
  modalListeners() {
217
223
  return {
218
224
  ...this.$listeners,
219
- click: (t) => {
220
- this.closeOnClick && (t.target === t.currentTarget && this.close(), this.$emit("click", t));
225
+ click: (event) => {
226
+ if (!this.closeOnClick)
227
+ return;
228
+ event.target === event.currentTarget && this.close();
229
+ this.$emit("click", event);
221
230
  },
222
- keydown: (t) => {
223
- switch (t.code) {
224
- case s.esc:
225
- case s.escape:
231
+ keydown: (event) => {
232
+ switch (event.code) {
233
+ case EVENT_KEYNAMES.esc:
234
+ case EVENT_KEYNAMES.escape:
226
235
  this.close();
227
236
  break;
228
- case s.tab:
229
- this.trapFocus(t);
237
+ case EVENT_KEYNAMES.tab:
238
+ this.trapFocus(event);
230
239
  break;
231
240
  }
232
- this.$emit("keydown", t);
241
+ this.$emit("keydown", event);
233
242
  },
234
- "after-enter": (t) => {
235
- this.$emit("update:show", !0), t.target === t.currentTarget && this.setFocusAfterTransition();
243
+ "after-enter": (event) => {
244
+ this.$emit("update:show", true);
245
+ event.target === event.currentTarget && this.setFocusAfterTransition();
236
246
  }
237
247
  };
238
248
  },
@@ -243,20 +253,25 @@ const o = {
243
253
  return !!this.$slots.footer;
244
254
  },
245
255
  bannerKindClass() {
246
- return r[this.bannerKind];
256
+ return MODAL_BANNER_KINDS[this.bannerKind];
247
257
  }
248
258
  },
249
259
  watch: {
250
260
  show: {
251
- immediate: !0,
252
- handler(t) {
253
- var e;
254
- t ? this.previousActiveElement = document.activeElement : ((e = this.previousActiveElement) == null || e.focus(), this.previousActiveElement = null);
261
+ immediate: true,
262
+ handler(isShowing) {
263
+ var _a;
264
+ if (isShowing) {
265
+ this.previousActiveElement = document.activeElement;
266
+ } else {
267
+ (_a = this.previousActiveElement) == null ? void 0 : _a.focus();
268
+ this.previousActiveElement = null;
269
+ }
255
270
  }
256
271
  },
257
272
  $props: {
258
- immediate: !0,
259
- deep: !0,
273
+ immediate: true,
274
+ deep: true,
260
275
  handler() {
261
276
  this.validateProps();
262
277
  }
@@ -264,61 +279,73 @@ const o = {
264
279
  },
265
280
  methods: {
266
281
  close() {
267
- this.$emit("update:show", !1);
282
+ this.$emit("update:show", false);
268
283
  },
269
284
  setFocusAfterTransition() {
270
- this.initialFocusElement === "first" ? this.focusFirstElement() : this.initialFocusElement.startsWith("#") ? this.focusElementById(this.initialFocusElement) : this.initialFocusElement instanceof HTMLElement && this.initialFocusElement.focus();
285
+ if (this.initialFocusElement === "first") {
286
+ this.focusFirstElement();
287
+ } else if (this.initialFocusElement.startsWith("#")) {
288
+ this.focusElementById(this.initialFocusElement);
289
+ } else if (this.initialFocusElement instanceof HTMLElement) {
290
+ this.initialFocusElement.focus();
291
+ }
271
292
  },
272
- trapFocus(t) {
273
- this.show && this.focusTrappedTabPress(t);
293
+ trapFocus(e) {
294
+ if (this.show) {
295
+ this.focusTrappedTabPress(e);
296
+ }
274
297
  },
275
298
  validateProps() {
276
- this.hideClose && !this.visuallyHiddenClose && console.error(`If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props
299
+ if (this.hideClose && !this.visuallyHiddenClose) {
300
+ console.error(`If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props
277
301
  need to be set so the component always includes a close button`);
302
+ }
278
303
  }
279
304
  }
280
305
  };
281
- var b = function() {
282
- var e = this, a = e._self._c;
283
- return a("dt-lazy-show", e._g({ class: [
306
+ var _sfc_render = function render() {
307
+ var _vm = this, _c = _vm._self._c;
308
+ return _c("dt-lazy-show", _vm._g({ class: [
284
309
  "d-modal",
285
- e.MODAL_KIND_MODIFIERS[e.kind],
286
- e.MODAL_SIZE_MODIFIERS[e.size],
287
- e.modalClass
288
- ], attrs: { transition: "d-zoom", show: e.show, "data-qa": "dt-modal", "aria-hidden": e.open } }, e.modalListeners), [e.show && (e.$slots.banner || e.bannerTitle) ? a("div", { class: [
310
+ _vm.MODAL_KIND_MODIFIERS[_vm.kind],
311
+ _vm.MODAL_SIZE_MODIFIERS[_vm.size],
312
+ _vm.modalClass
313
+ ], attrs: { "transition": "d-zoom", "show": _vm.show, "data-qa": "dt-modal", "aria-hidden": _vm.open } }, _vm.modalListeners), [_vm.show && (_vm.$slots.banner || _vm.bannerTitle) ? _c("div", { class: [
289
314
  "d-modal__banner",
290
- e.bannerClass,
291
- e.bannerKindClass
292
- ], attrs: { "data-qa": "dt-modal-banner" } }, [e._t("banner", function() {
293
- return [e._v(" " + e._s(e.bannerTitle) + " ")];
294
- })], 2) : e._e(), a("transition", { attrs: { appear: "", name: "d-modal__dialog" } }, [a("div", { directives: [{ name: "show", rawName: "v-show", value: e.show, expression: "show" }], class: [
315
+ _vm.bannerClass,
316
+ _vm.bannerKindClass
317
+ ], attrs: { "data-qa": "dt-modal-banner" } }, [_vm._t("banner", function() {
318
+ return [_vm._v(" " + _vm._s(_vm.bannerTitle) + " ")];
319
+ })], 2) : _vm._e(), _c("transition", { attrs: { "appear": "", "name": "d-modal__dialog" } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.show, expression: "show" }], class: [
295
320
  "d-modal__dialog",
296
- { "d-modal__dialog--scrollable": e.fixedHeaderFooter },
297
- e.dialogClass
298
- ], attrs: { role: "dialog", "aria-modal": "true", "aria-describedby": e.describedById, "aria-labelledby": e.labelledById } }, [e.$slots.header ? a("div", { staticClass: "d-modal__header", attrs: { id: e.labelledById, "data-qa": "dt-modal-title" } }, [e._t("header")], 2) : a("h2", { staticClass: "d-modal__header", attrs: { id: e.labelledById, "data-qa": "dt-modal-title" } }, [e._v(" " + e._s(e.title) + " ")]), e.$slots.default ? a("div", { class: [
321
+ { "d-modal__dialog--scrollable": _vm.fixedHeaderFooter },
322
+ _vm.dialogClass
323
+ ], attrs: { "role": "dialog", "aria-modal": "true", "aria-describedby": _vm.describedById, "aria-labelledby": _vm.labelledById } }, [_vm.$slots.header ? _c("div", { staticClass: "d-modal__header", attrs: { "id": _vm.labelledById, "data-qa": "dt-modal-title" } }, [_vm._t("header")], 2) : _c("h2", { staticClass: "d-modal__header", attrs: { "id": _vm.labelledById, "data-qa": "dt-modal-title" } }, [_vm._v(" " + _vm._s(_vm.title) + " ")]), _vm.$slots.default ? _c("div", { class: [
299
324
  "d-modal__content",
300
- e.contentClass
301
- ], attrs: { "data-qa": "dt-modal-copy" } }, [e._t("default")], 2) : a("p", { class: [
325
+ _vm.contentClass
326
+ ], attrs: { "data-qa": "dt-modal-copy" } }, [_vm._t("default")], 2) : _c("p", { class: [
302
327
  "d-modal__content",
303
- e.contentClass
304
- ], attrs: { "data-qa": "dt-modal-copy" } }, [e._v(" " + e._s(e.copy) + " ")]), e.hasFooterSlot ? a("footer", { staticClass: "d-modal__footer" }, [e._t("footer")], 2) : e._e(), e.hideClose ? e._e() : a("dt-button", e._b({ staticClass: "d-modal__close", attrs: { circle: "", size: "lg", importance: "clear", "aria-label": e.closeButtonProps.ariaLabel }, on: { click: e.close }, scopedSlots: e._u([{ key: "icon", fn: function() {
305
- return [a("dt-icon", { attrs: { name: "close", size: "400" } })];
306
- }, proxy: !0 }], null, !1, 1709155279) }, "dt-button", e.closeButtonProps, !1)), e.showVisuallyHiddenClose ? a("sr-only-close-button", { attrs: { "visually-hidden-close-label": e.visuallyHiddenCloseLabel }, on: { close: e.close } }) : e._e()], 1)])], 1);
307
- }, y = [], g = /* @__PURE__ */ u(
308
- h,
309
- b,
310
- y,
311
- !1,
328
+ _vm.contentClass
329
+ ], attrs: { "data-qa": "dt-modal-copy" } }, [_vm._v(" " + _vm._s(_vm.copy) + " ")]), _vm.hasFooterSlot ? _c("footer", { staticClass: "d-modal__footer" }, [_vm._t("footer")], 2) : _vm._e(), !_vm.hideClose ? _c("dt-button", _vm._b({ staticClass: "d-modal__close", attrs: { "circle": "", "size": "lg", "importance": "clear", "aria-label": _vm.closeButtonProps.ariaLabel }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
330
+ return [_c("dt-icon", { attrs: { "name": "close", "size": "400" } })];
331
+ }, proxy: true }], null, false, 1709155279) }, "dt-button", _vm.closeButtonProps, false)) : _vm._e(), _vm.showVisuallyHiddenClose ? _c("sr-only-close-button", { attrs: { "visually-hidden-close-label": _vm.visuallyHiddenCloseLabel }, on: { "close": _vm.close } }) : _vm._e()], 1)])], 1);
332
+ };
333
+ var _sfc_staticRenderFns = [];
334
+ var __component__ = /* @__PURE__ */ normalizeComponent(
335
+ _sfc_main,
336
+ _sfc_render,
337
+ _sfc_staticRenderFns,
338
+ false,
312
339
  null,
313
340
  null,
314
341
  null,
315
342
  null
316
343
  );
317
- const N = g.exports;
344
+ const modal = __component__.exports;
318
345
  export {
319
- N as DtModal,
320
- r as MODAL_BANNER_KINDS,
321
- o as MODAL_KIND_MODIFIERS,
322
- l as MODAL_SIZE_MODIFIERS
346
+ modal as DtModal,
347
+ MODAL_BANNER_KINDS,
348
+ MODAL_KIND_MODIFIERS,
349
+ MODAL_SIZE_MODIFIERS
323
350
  };
324
351
  //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../../components/modal/modal_constants.js","../../components/modal/modal.vue"],"sourcesContent":["// Modal style modifiers\nexport const MODAL_KIND_MODIFIERS = {\n default: '',\n danger: 'd-modal--danger',\n};\n\n// Modal size modifiers\nexport const MODAL_SIZE_MODIFIERS = {\n default: '',\n full: 'd-modal--full',\n};\n\nexport const MODAL_BANNER_KINDS = {\n error: 'd-modal__banner--critical',\n info: 'd-modal__banner--info',\n success: 'd-modal__banner--success',\n warning: 'd-modal__banner--warning',\n base: 'd-modal__banner--general',\n};\n","<template>\n <dt-lazy-show\n transition=\"d-zoom\"\n :show=\"show\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-hidden=\"open\"\n v-on=\"modalListeners\"\n >\n <div\n v-if=\"show && ($slots.banner || bannerTitle)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerTitle prop -->\n <slot name=\"banner\">\n {{ bannerTitle }}\n </slot>\n </div>\n <transition\n appear\n name=\"d-modal__dialog\"\n >\n <div\n v-show=\"show\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-describedby=\"describedById\"\n :aria-labelledby=\"labelledById\"\n >\n <div\n v-if=\"$slots.header\"\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"title\" text prop -->\n <slot name=\"header\" />\n </div>\n <h2\n v-else\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ title }}\n </h2>\n <div\n v-if=\"$slots.default\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n class=\"d-modal__footer\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <dt-button\n v-if=\"!hideClose\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n :aria-label=\"closeButtonProps.ariaLabel\"\n v-bind=\"closeButtonProps\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"400\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n @close=\"close\"\n />\n </div>\n </transition>\n </dt-lazy-show>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtIcon } from '@/components/icon';\nimport Modal from '@/common/mixins/modal';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\n\n/**\n * Modals focus the user’s attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n name: 'DtModal',\n\n components: {\n DtLazyShow,\n DtButton,\n DtIcon,\n SrOnlyCloseButton,\n },\n\n mixins: [Modal, SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * A set of props to be passed into the modal's close button.\n * Requires an 'ariaLabel' property.\n */\n closeButtonProps: {\n type: Object,\n required: true,\n validator: (props) => {\n return !!props.ariaLabel;\n },\n },\n\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title text to display in the modal header.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Title text to display in the modal banner.\n */\n bannerTitle: {\n type: String,\n default: '',\n },\n\n /**\n * The theme of the modal. kind - default or danger,\n * @values default, danger\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, error, info, success, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Hides the close button on the modal\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n },\n\n emits: [\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:show\n * @type {Boolean}\n */\n 'update:show',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n EVENT_KEYNAMES,\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n if (!this.closeOnClick) return;\n (event.target === event.currentTarget) && this.close();\n this.$emit('click', event);\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n\n 'after-enter': event => {\n this.$emit('update:show', true);\n (event.target === event.currentTarget) && this.setFocusAfterTransition();\n },\n };\n },\n\n open () {\n return `${!this.show}`;\n },\n\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n },\n\n watch: {\n show: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n $props: {\n immediate: true,\n deep: true,\n handler () {\n this.validateProps();\n },\n },\n },\n\n methods: {\n close () {\n this.$emit('update:show', false);\n },\n\n setFocusAfterTransition () {\n if (this.initialFocusElement === 'first') {\n this.focusFirstElement();\n } else if (this.initialFocusElement.startsWith('#')) {\n this.focusElementById(this.initialFocusElement);\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n\n trapFocus (e) {\n if (this.show) {\n this.focusTrappedTabPress(e);\n }\n },\n\n validateProps () {\n if (this.hideClose && !this.visuallyHiddenClose) {\n console.error(`If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props\n need to be set so the component always includes a close button`);\n }\n },\n },\n};\n</script>\n"],"names":["MODAL_KIND_MODIFIERS","MODAL_SIZE_MODIFIERS","MODAL_BANNER_KINDS","_sfc_main","DtLazyShow","DtButton","DtIcon","SrOnlyCloseButton","Modal","SrOnlyCloseButtonMixin","props","getUniqueString","k","s","kind","NOTICE_KINDS","initialFocusElement","EVENT_KEYNAMES","event","isShowing","_a","e"],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sources":["../../components/modal/modal_constants.js","../../components/modal/modal.vue"],"sourcesContent":["// Modal style modifiers\nexport const MODAL_KIND_MODIFIERS = {\n default: '',\n danger: 'd-modal--danger',\n};\n\n// Modal size modifiers\nexport const MODAL_SIZE_MODIFIERS = {\n default: '',\n full: 'd-modal--full',\n};\n\nexport const MODAL_BANNER_KINDS = {\n error: 'd-modal__banner--critical',\n info: 'd-modal__banner--info',\n success: 'd-modal__banner--success',\n warning: 'd-modal__banner--warning',\n base: 'd-modal__banner--general',\n};\n","<template>\n <dt-lazy-show\n transition=\"d-zoom\"\n :show=\"show\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-hidden=\"open\"\n v-on=\"modalListeners\"\n >\n <div\n v-if=\"show && ($slots.banner || bannerTitle)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerTitle prop -->\n <slot name=\"banner\">\n {{ bannerTitle }}\n </slot>\n </div>\n <transition\n appear\n name=\"d-modal__dialog\"\n >\n <div\n v-show=\"show\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-describedby=\"describedById\"\n :aria-labelledby=\"labelledById\"\n >\n <div\n v-if=\"$slots.header\"\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"title\" text prop -->\n <slot name=\"header\" />\n </div>\n <h2\n v-else\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ title }}\n </h2>\n <div\n v-if=\"$slots.default\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n class=\"d-modal__footer\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <dt-button\n v-if=\"!hideClose\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n :aria-label=\"closeButtonProps.ariaLabel\"\n v-bind=\"closeButtonProps\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"400\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n @close=\"close\"\n />\n </div>\n </transition>\n </dt-lazy-show>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtIcon } from '@/components/icon';\nimport Modal from '@/common/mixins/modal';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\n\n/**\n * Modals focus the user’s attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n name: 'DtModal',\n\n components: {\n DtLazyShow,\n DtButton,\n DtIcon,\n SrOnlyCloseButton,\n },\n\n mixins: [Modal, SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * A set of props to be passed into the modal's close button.\n * Requires an 'ariaLabel' property.\n */\n closeButtonProps: {\n type: Object,\n required: true,\n validator: (props) => {\n return !!props.ariaLabel;\n },\n },\n\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title text to display in the modal header.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Title text to display in the modal banner.\n */\n bannerTitle: {\n type: String,\n default: '',\n },\n\n /**\n * The theme of the modal. kind - default or danger,\n * @values default, danger\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, error, info, success, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Hides the close button on the modal\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n },\n\n emits: [\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:show\n * @type {Boolean}\n */\n 'update:show',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n EVENT_KEYNAMES,\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n if (!this.closeOnClick) return;\n (event.target === event.currentTarget) && this.close();\n this.$emit('click', event);\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n\n 'after-enter': event => {\n this.$emit('update:show', true);\n (event.target === event.currentTarget) && this.setFocusAfterTransition();\n },\n };\n },\n\n open () {\n return `${!this.show}`;\n },\n\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n },\n\n watch: {\n show: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n $props: {\n immediate: true,\n deep: true,\n handler () {\n this.validateProps();\n },\n },\n },\n\n methods: {\n close () {\n this.$emit('update:show', false);\n },\n\n setFocusAfterTransition () {\n if (this.initialFocusElement === 'first') {\n this.focusFirstElement();\n } else if (this.initialFocusElement.startsWith('#')) {\n this.focusElementById(this.initialFocusElement);\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n\n trapFocus (e) {\n if (this.show) {\n this.focusTrappedTabPress(e);\n }\n },\n\n validateProps () {\n if (this.hideClose && !this.visuallyHiddenClose) {\n console.error(`If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props\n need to be set so the component always includes a close button`);\n }\n },\n },\n};\n</script>\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const notice_action = require("../chunks/notice_action-P6uDyE9x.js");
4
+ const notice_constants = require("../chunks/notice_constants-UXo9e3bS.js");
5
+ const sr_only_close_button = require("../chunks/sr_only_close_button-ZaGdAHz7.js");
6
+ const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
7
+ require("./icon.cjs");
8
+ require("@dialpad/dialtone-icons/vue2");
9
+ require("../chunks/icon_constants-QYpmdE0R.js");
10
+ require("@dialpad/dialtone-icons/icons.json");
11
+ require("./button.cjs");
12
+ require("vue");
13
+ require("../chunks/link_constants-Huj7D_hm.js");
14
+ const _sfc_main = {
15
+ name: "DtNotice",
16
+ components: {
17
+ DtNoticeIcon: notice_action.DtNoticeIcon,
18
+ DtNoticeContent: notice_action.DtNoticeContent,
19
+ DtNoticeAction: notice_action.DtNoticeAction
20
+ },
21
+ mixins: [sr_only_close_button.SrOnlyCloseButtonMixin],
22
+ props: {
23
+ /**
24
+ * Sets an ID on the title element of the component. Useful for aria-describedby
25
+ * or aria-labelledby or any other reason you may need an id to refer to the title.
26
+ */
27
+ titleId: {
28
+ type: String,
29
+ default: void 0
30
+ },
31
+ /**
32
+ * Sets an ID on the content element of the component. Useful for aria-describedby
33
+ * or aria-labelledby or any other reason you may need an id to refer to the content.
34
+ */
35
+ contentId: {
36
+ type: String,
37
+ default: void 0
38
+ },
39
+ /**
40
+ * Title header of the notice. This can be left blank to remove the title from the notice entirely.
41
+ */
42
+ title: {
43
+ type: String,
44
+ default: ""
45
+ },
46
+ /**
47
+ * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an
48
+ * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an
49
+ * important message that does contain interactive elements.
50
+ * @values alert, alertdialog, status
51
+ */
52
+ role: {
53
+ type: String,
54
+ default: "status",
55
+ validate(role) {
56
+ return notice_constants.NOTICE_ROLES.includes(role);
57
+ }
58
+ },
59
+ /**
60
+ * Used in scenarios where the message needs to visually dominate the screen.
61
+ * This will also change the aria role from status to alert.
62
+ * @values true, false
63
+ */
64
+ important: {
65
+ type: Boolean,
66
+ default: false
67
+ },
68
+ /**
69
+ * Severity level of the notice, sets the icon and background
70
+ * @values base, error, info, success, warning
71
+ */
72
+ kind: {
73
+ type: String,
74
+ default: "base",
75
+ validate(kind) {
76
+ return notice_constants.NOTICE_KINDS.includes(kind);
77
+ }
78
+ },
79
+ /**
80
+ * Props for the notice close button.
81
+ */
82
+ closeButtonProps: {
83
+ type: Object,
84
+ default: () => ({})
85
+ },
86
+ /**
87
+ * Hides the close button from the notice
88
+ * @values true, false
89
+ */
90
+ hideClose: {
91
+ type: Boolean,
92
+ default: false
93
+ },
94
+ /**
95
+ * Hides the icon from the notice
96
+ * @values true, false
97
+ */
98
+ hideIcon: {
99
+ type: Boolean,
100
+ default: false
101
+ },
102
+ /**
103
+ * Hides the action from the notice
104
+ * @values true, false
105
+ */
106
+ hideAction: {
107
+ type: Boolean,
108
+ default: false
109
+ }
110
+ },
111
+ emits: [
112
+ /**
113
+ * Close button click event
114
+ *
115
+ * @event close
116
+ */
117
+ "close"
118
+ ],
119
+ computed: {
120
+ noticeClass() {
121
+ const noticeKinds = {
122
+ error: "d-notice--error",
123
+ info: "d-notice--info",
124
+ success: "d-notice--success",
125
+ warning: "d-notice--warning",
126
+ base: "d-notice--base"
127
+ };
128
+ return [
129
+ "d-notice",
130
+ noticeKinds[this.kind],
131
+ { "d-notice--important": this.important }
132
+ ];
133
+ }
134
+ }
135
+ };
136
+ var _sfc_render = function render() {
137
+ var _vm = this, _c = _vm._self._c;
138
+ return _c("aside", { class: _vm.noticeClass, attrs: { "data-qa": "notice" } }, [!_vm.hideIcon ? _c("dt-notice-icon", { attrs: { "kind": _vm.kind } }, [_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() {
139
+ return [_vm._t("titleOverride")];
140
+ }, proxy: true }], null, true) }, _vm.$listeners), [_vm._t("default")], 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.$listeners), [_vm._t("action")], 2)], 1);
141
+ };
142
+ var _sfc_staticRenderFns = [];
143
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
144
+ _sfc_main,
145
+ _sfc_render,
146
+ _sfc_staticRenderFns,
147
+ false,
148
+ null,
149
+ null,
150
+ null,
151
+ null
152
+ );
153
+ const notice = __component__.exports;
154
+ exports.DtNoticeAction = notice_action.DtNoticeAction;
155
+ exports.DtNoticeContent = notice_action.DtNoticeContent;
156
+ exports.DtNoticeIcon = notice_action.DtNoticeIcon;
157
+ exports.NOTICE_KINDS = notice_constants.NOTICE_KINDS;
158
+ exports.NOTICE_ROLES = notice_constants.NOTICE_ROLES;
159
+ exports.DtNotice = notice;
160
+ //# sourceMappingURL=notice.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notice.cjs","sources":["../../components/notice/notice.vue"],"sourcesContent":["<template>\n <aside\n :class=\"noticeClass\"\n data-qa=\"notice\"\n >\n <dt-notice-icon\n v-if=\"!hideIcon\"\n :kind=\"kind\"\n >\n <!-- @slot Slot for custom icon -->\n <slot name=\"icon\" />\n </dt-notice-icon>\n <dt-notice-content\n :title-id=\"titleId\"\n :content-id=\"contentId\"\n :title=\"title\"\n :role=\"role\"\n v-on=\"$listeners\"\n >\n <template #titleOverride>\n <!-- @slot Allows you to override the title, only use this if you need\n to override with something other than text. Otherwise use the \"title\" prop. -->\n <slot name=\"titleOverride\" />\n </template>\n <!-- @slot the main textual content of the notice -->\n <slot />\n </dt-notice-content>\n <dt-notice-action\n :hide-action=\"hideAction\"\n :hide-close=\"hideClose\"\n :close-button-props=\"closeButtonProps\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n v-on=\"$listeners\"\n >\n <!-- @slot Enter a possible action for the user to take, such as a link to another page -->\n <slot name=\"action\" />\n </dt-notice-action>\n </aside>\n</template>\n\n<script>\nimport DtNoticeIcon from './notice_icon.vue';\nimport DtNoticeContent from './notice_content.vue';\nimport DtNoticeAction from './notice_action.vue';\nimport { NOTICE_KINDS, NOTICE_ROLES } from './notice_constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\n/**\n * A notice is an informational and assistive message that appears inline with content.\n * @see https://dialtone.dialpad.com/components/notice.html\n */\nexport default {\n name: 'DtNotice',\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: undefined,\n },\n\n /**\n * Sets an ID on the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Title header of the notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an\n * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an\n * important message that does contain interactive elements.\n * @values alert, alertdialog, status\n */\n role: {\n type: String,\n default: 'status',\n validate (role) {\n return NOTICE_ROLES.includes(role);\n },\n },\n\n /**\n * Used in scenarios where the message needs to visually dominate the screen.\n * This will also change the aria role from status to alert.\n * @values true, false\n */\n important: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Severity level of the notice, sets the icon and background\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Props for the notice close button.\n */\n closeButtonProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Hides the close button from the notice\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the icon from the notice\n * @values true, false\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n ],\n\n computed: {\n noticeClass () {\n const noticeKinds = {\n error: 'd-notice--error',\n info: 'd-notice--info',\n success: 'd-notice--success',\n warning: 'd-notice--warning',\n base: 'd-notice--base',\n };\n return [\n 'd-notice',\n noticeKinds[this.kind],\n { 'd-notice--important': this.important },\n ];\n },\n },\n};\n</script>\n"],"names":["DtNoticeIcon","DtNoticeContent","DtNoticeAction","SrOnlyCloseButtonMixin","NOTICE_ROLES","NOTICE_KINDS"],"mappings":";;;;;;;;;;;;;AAoDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,cAAAA,cAAA;AAAA,IACA,iBAAAC,cAAA;AAAA,IACA,gBAAAC,cAAA;AAAA,EACA;AAAA,EAEA,QAAA,CAAAC,qBAAAA,sBAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA,MAAA;AACA,eAAAC,iBAAA,aAAA,SAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA,MAAA;AACA,eAAAC,iBAAA,aAAA,SAAA,IAAA;AAAA,MACA;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,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,cAAA;AACA,YAAA,cAAA;AAAA,QACA,OAAA;AAAA,QACA,MAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,MACA;AACA,aAAA;AAAA,QACA;AAAA,QACA,YAAA,KAAA,IAAA;AAAA,QACA,EAAA,uBAAA,KAAA,UAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;"}