@dialpad/dialtone-vue 3.120.0 → 3.120.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js +11 -0
  2. package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js.map +1 -0
  3. package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js +10 -0
  4. package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js.map +1 -0
  5. package/dist/chunks/{dropdown-eWOvBvwq.js → dropdown-Hn-TeTvZ.js} +151 -104
  6. package/dist/chunks/{dropdown-UO3UJalk.js.map → dropdown-Hn-TeTvZ.js.map} +1 -1
  7. package/dist/chunks/dropdown-w8Do29L5.js +442 -0
  8. package/dist/chunks/{dropdown-eWOvBvwq.js.map → dropdown-w8Do29L5.js.map} +1 -1
  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-2S_OSQ1t.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-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
  17. package/dist/chunks/index-4qgKeErp.js +446 -0
  18. package/dist/chunks/{index-b4iXYvId.js.map → index-4qgKeErp.js.map} +1 -1
  19. package/dist/chunks/index-b_MgDylR.js +447 -0
  20. package/dist/chunks/{index-6tYeqbgP.js.map → index-b_MgDylR.js.map} +1 -1
  21. package/dist/chunks/{input-4UQWegUk.js → input-NmYDD5bn.js} +83 -60
  22. package/dist/chunks/{input-0Uksk4DP.js.map → input-NmYDD5bn.js.map} +1 -1
  23. package/dist/chunks/input-ttnte8zB.js +295 -0
  24. package/dist/chunks/{input-4UQWegUk.js.map → input-ttnte8zB.js.map} +1 -1
  25. package/dist/chunks/input_group-M-D25pOJ.js +152 -0
  26. package/dist/chunks/{input_group-bBKaq3Wi.js.map → input_group-M-D25pOJ.js.map} +1 -1
  27. package/dist/chunks/{input_group-bBKaq3Wi.js → input_group-jWnq2DJT.js} +27 -24
  28. package/dist/chunks/{input_group-AS760Cp7.js.map → input_group-jWnq2DJT.js.map} +1 -1
  29. package/dist/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
  30. package/dist/chunks/{keyboard_list_navigation-N74Bpdq7.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-F0O8nht0.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  33. package/dist/chunks/link_constants-Huj7D_hm.js +22 -0
  34. package/dist/chunks/{link_constants-Kn6kP4i1.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-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
  37. package/dist/chunks/list_item_constants-EiqkqZvP.js +13 -0
  38. package/dist/chunks/{list_item_constants-Tsz5CO1m.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-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
  41. package/dist/chunks/modal-VgxXAQFP.js +105 -0
  42. package/dist/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
  43. package/dist/chunks/modal-XOr4kiNZ.js +106 -0
  44. package/dist/chunks/{modal-VuMFkZFH.js.map → modal-XOr4kiNZ.js.map} +1 -1
  45. package/dist/chunks/notice_action-WTucGhvr.js +222 -0
  46. package/dist/chunks/{notice_action-tJfD5Qw1.js.map → notice_action-WTucGhvr.js.map} +1 -1
  47. package/dist/chunks/notice_action-p-ePanW_.js +223 -0
  48. package/dist/chunks/{notice_action-jO199emq.js.map → notice_action-p-ePanW_.js.map} +1 -1
  49. package/dist/chunks/notice_constants-7Qt2CQEY.js +7 -0
  50. package/dist/chunks/{notice_constants-mC6al2Dm.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-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
  53. package/dist/chunks/popover_constants-JwBF9h1Z.js +143 -0
  54. package/dist/chunks/{popover_constants-hOEhklvr.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-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
  57. package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js → sr_only_close_button-3EdsV-dH.js} +28 -24
  58. package/dist/chunks/{sr_only_close_button-iD7s1Pbj.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
  59. package/dist/chunks/sr_only_close_button-xGrHFjwA.js +91 -0
  60. package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
  61. package/dist/chunks/stack_constants-HraCekPm.js +15 -0
  62. package/dist/chunks/{stack_constants-m9Ickqw0.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-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
  65. package/dist/chunks/tab-RTDgnD9-.js +391 -0
  66. package/dist/chunks/{tab-at7WWglk.js.map → tab-RTDgnD9-.js.map} +1 -1
  67. package/dist/chunks/tab-qc3f42Yp.js +390 -0
  68. package/dist/chunks/{tab-GQZFMq83.js.map → tab-qc3f42Yp.js.map} +1 -1
  69. package/dist/common/constants.cjs +60 -0
  70. package/dist/{lib → common}/constants.cjs.map +1 -1
  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/{lib → common}/dates.cjs.map +1 -1
  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/{lib → common}/mixins.cjs.map +1 -1
  83. package/dist/common/mixins.js +17 -0
  84. package/dist/common/utils.cjs +243 -0
  85. package/dist/{lib → common}/utils.cjs.map +1 -1
  86. package/dist/common/utils.js +243 -0
  87. package/dist/{lib → common}/utils.js.map +1 -1
  88. package/dist/common/validators.cjs +23 -0
  89. package/dist/{lib → common}/validators.cjs.map +1 -1
  90. package/dist/common/validators.js +23 -0
  91. package/dist/{lib → common}/validators.js.map +1 -1
  92. package/dist/dialtone-vue.cjs +373 -1
  93. package/dist/dialtone-vue.cjs.map +1 -1
  94. package/dist/dialtone-vue.js +328 -327
  95. package/dist/dialtone-vue.js.map +1 -1
  96. package/dist/lib/attachment-carousel.cjs +345 -1
  97. package/dist/lib/attachment-carousel.cjs.map +1 -1
  98. package/dist/lib/attachment-carousel.js +126 -108
  99. package/dist/lib/attachment-carousel.js.map +1 -1
  100. package/dist/lib/avatar.cjs +447 -1
  101. package/dist/lib/avatar.cjs.map +1 -1
  102. package/dist/lib/avatar.js +135 -101
  103. package/dist/lib/avatar.js.map +1 -1
  104. package/dist/lib/badge.cjs +206 -1
  105. package/dist/lib/badge.cjs.map +1 -1
  106. package/dist/lib/badge.js +64 -48
  107. package/dist/lib/badge.js.map +1 -1
  108. package/dist/lib/banner.cjs +242 -2
  109. package/dist/lib/banner.cjs.map +1 -1
  110. package/dist/lib/banner.js +81 -71
  111. package/dist/lib/banner.js.map +1 -1
  112. package/dist/lib/breadcrumbs.cjs +150 -1
  113. package/dist/lib/breadcrumbs.cjs.map +1 -1
  114. package/dist/lib/breadcrumbs.js +60 -52
  115. package/dist/lib/breadcrumbs.js.map +1 -1
  116. package/dist/lib/button-group.cjs +41 -1
  117. package/dist/lib/button-group.cjs.map +1 -1
  118. package/dist/lib/button-group.js +15 -14
  119. package/dist/lib/button-group.js.map +1 -1
  120. package/dist/lib/button.cjs +356 -1
  121. package/dist/lib/button.cjs.map +1 -1
  122. package/dist/lib/button.js +108 -88
  123. package/dist/lib/button.js.map +1 -1
  124. package/dist/lib/callbar-button-with-popover.cjs +322 -1
  125. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  126. package/dist/lib/callbar-button-with-popover.js +101 -83
  127. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  128. package/dist/lib/callbar-button.cjs +200 -1
  129. package/dist/lib/callbar-button.cjs.map +1 -1
  130. package/dist/lib/callbar-button.js +52 -45
  131. package/dist/lib/callbar-button.js.map +1 -1
  132. package/dist/lib/callbox.cjs +217 -1
  133. package/dist/lib/callbox.cjs.map +1 -1
  134. package/dist/lib/callbox.js +80 -67
  135. package/dist/lib/callbox.js.map +1 -1
  136. package/dist/lib/card.cjs +91 -1
  137. package/dist/lib/card.cjs.map +1 -1
  138. package/dist/lib/card.js +27 -27
  139. package/dist/lib/card.js.map +1 -1
  140. package/dist/lib/checkbox-group.cjs +115 -1
  141. package/dist/lib/checkbox-group.cjs.map +1 -1
  142. package/dist/lib/checkbox-group.js +34 -23
  143. package/dist/lib/checkbox-group.js.map +1 -1
  144. package/dist/lib/checkbox.cjs +156 -1
  145. package/dist/lib/checkbox.cjs.map +1 -1
  146. package/dist/lib/checkbox.js +72 -60
  147. package/dist/lib/checkbox.js.map +1 -1
  148. package/dist/lib/chip.cjs +235 -1
  149. package/dist/lib/chip.cjs.map +1 -1
  150. package/dist/lib/chip.js +84 -67
  151. package/dist/lib/chip.js.map +1 -1
  152. package/dist/lib/codeblock.cjs +23 -2
  153. package/dist/lib/codeblock.cjs.map +1 -1
  154. package/dist/lib/codeblock.js +13 -13
  155. package/dist/lib/codeblock.js.map +1 -1
  156. package/dist/lib/collapsible.cjs +398 -1
  157. package/dist/lib/collapsible.cjs.map +1 -1
  158. package/dist/lib/collapsible.js +123 -100
  159. package/dist/lib/collapsible.js.map +1 -1
  160. package/dist/lib/combobox-multi-select.cjs +589 -1
  161. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  162. package/dist/lib/combobox-multi-select.js +270 -177
  163. package/dist/lib/combobox-multi-select.js.map +1 -1
  164. package/dist/lib/combobox-with-popover.cjs +452 -1
  165. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  166. package/dist/lib/combobox-with-popover.js +172 -127
  167. package/dist/lib/combobox-with-popover.js.map +1 -1
  168. package/dist/lib/combobox.cjs +18 -1
  169. package/dist/lib/combobox.cjs.map +1 -1
  170. package/dist/lib/combobox.js +9 -9
  171. package/dist/lib/contact-info.cjs +205 -1
  172. package/dist/lib/contact-info.cjs.map +1 -1
  173. package/dist/lib/contact-info.js +69 -60
  174. package/dist/lib/contact-info.js.map +1 -1
  175. package/dist/lib/contact-row.cjs +246 -1
  176. package/dist/lib/contact-row.cjs.map +1 -1
  177. package/dist/lib/contact-row.js +67 -63
  178. package/dist/lib/contact-row.js.map +1 -1
  179. package/dist/lib/datepicker.cjs +854 -1
  180. package/dist/lib/datepicker.cjs.map +1 -1
  181. package/dist/lib/datepicker.js +585 -441
  182. package/dist/lib/datepicker.js.map +1 -1
  183. package/dist/lib/description-list.cjs +116 -1
  184. package/dist/lib/description-list.cjs.map +1 -1
  185. package/dist/lib/description-list.js +56 -24
  186. package/dist/lib/description-list.js.map +1 -1
  187. package/dist/lib/dropdown.cjs +36 -1
  188. package/dist/lib/dropdown.cjs.map +1 -1
  189. package/dist/lib/dropdown.js +22 -21
  190. package/dist/lib/dropdown.js.map +1 -1
  191. package/dist/lib/editor.cjs +711 -1
  192. package/dist/lib/editor.cjs.map +1 -1
  193. package/dist/lib/editor.js +271 -235
  194. package/dist/lib/editor.js.map +1 -1
  195. package/dist/lib/emoji-picker.cjs +1277 -1
  196. package/dist/lib/emoji-picker.cjs.map +1 -1
  197. package/dist/lib/emoji-picker.js +859 -569
  198. package/dist/lib/emoji-picker.js.map +1 -1
  199. package/dist/lib/emoji-row.cjs +128 -1
  200. package/dist/lib/emoji-row.cjs.map +1 -1
  201. package/dist/lib/emoji-row.js +89 -75
  202. package/dist/lib/emoji-row.js.map +1 -1
  203. package/dist/lib/emoji-text-wrapper.cjs +102 -1
  204. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  205. package/dist/lib/emoji-text-wrapper.js +42 -31
  206. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  207. package/dist/lib/emoji.cjs +158 -1
  208. package/dist/lib/emoji.cjs.map +1 -1
  209. package/dist/lib/emoji.js +153 -6
  210. package/dist/lib/emoji.js.map +1 -1
  211. package/dist/lib/feed-item-row.cjs +296 -1
  212. package/dist/lib/feed-item-row.cjs.map +1 -1
  213. package/dist/lib/feed-item-row.js +119 -100
  214. package/dist/lib/feed-item-row.js.map +1 -1
  215. package/dist/lib/feed-pill.cjs +173 -1
  216. package/dist/lib/feed-pill.cjs.map +1 -1
  217. package/dist/lib/feed-pill.js +70 -57
  218. package/dist/lib/feed-pill.js.map +1 -1
  219. package/dist/lib/general-row.cjs +518 -1
  220. package/dist/lib/general-row.cjs.map +1 -1
  221. package/dist/lib/general-row.js +186 -148
  222. package/dist/lib/general-row.js.map +1 -1
  223. package/dist/lib/group-row.cjs +116 -1
  224. package/dist/lib/group-row.cjs.map +1 -1
  225. package/dist/lib/group-row.js +37 -35
  226. package/dist/lib/group-row.js.map +1 -1
  227. package/dist/lib/grouped-chip.cjs +96 -1
  228. package/dist/lib/grouped-chip.cjs.map +1 -1
  229. package/dist/lib/grouped-chip.js +51 -46
  230. package/dist/lib/grouped-chip.js.map +1 -1
  231. package/dist/lib/hovercard.cjs +223 -1
  232. package/dist/lib/hovercard.cjs.map +1 -1
  233. package/dist/lib/hovercard.js +115 -80
  234. package/dist/lib/hovercard.js.map +1 -1
  235. package/dist/lib/icon.cjs +58 -1
  236. package/dist/lib/icon.cjs.map +1 -1
  237. package/dist/lib/icon.js +20 -20
  238. package/dist/lib/icon.js.map +1 -1
  239. package/dist/lib/image-viewer.cjs +243 -1
  240. package/dist/lib/image-viewer.cjs.map +1 -1
  241. package/dist/lib/image-viewer.js +104 -80
  242. package/dist/lib/image-viewer.js.map +1 -1
  243. package/dist/lib/input-group.cjs +91 -1
  244. package/dist/lib/input-group.cjs.map +1 -1
  245. package/dist/lib/input-group.js +41 -39
  246. package/dist/lib/input-group.js.map +1 -1
  247. package/dist/lib/input.cjs +578 -1
  248. package/dist/lib/input.cjs.map +1 -1
  249. package/dist/lib/input.js +185 -137
  250. package/dist/lib/input.js.map +1 -1
  251. package/dist/lib/item-layout.cjs +91 -1
  252. package/dist/lib/item-layout.cjs.map +1 -1
  253. package/dist/lib/item-layout.js +45 -39
  254. package/dist/lib/item-layout.js.map +1 -1
  255. package/dist/lib/ivr-node.cjs +263 -1
  256. package/dist/lib/ivr-node.cjs.map +1 -1
  257. package/dist/lib/ivr-node.js +130 -112
  258. package/dist/lib/ivr-node.js.map +1 -1
  259. package/dist/lib/keyboard-shortcut.cjs +119 -1
  260. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  261. package/dist/lib/keyboard-shortcut.js +58 -48
  262. package/dist/lib/keyboard-shortcut.js.map +1 -1
  263. package/dist/lib/lazy-show.cjs +82 -1
  264. package/dist/lib/lazy-show.cjs.map +1 -1
  265. package/dist/lib/lazy-show.js +21 -19
  266. package/dist/lib/lazy-show.js.map +1 -1
  267. package/dist/lib/link.cjs +43 -1
  268. package/dist/lib/link.cjs.map +1 -1
  269. package/dist/lib/link.js +20 -19
  270. package/dist/lib/link.js.map +1 -1
  271. package/dist/lib/list-item-group.cjs +67 -1
  272. package/dist/lib/list-item-group.cjs.map +1 -1
  273. package/dist/lib/list-item-group.js +24 -22
  274. package/dist/lib/list-item-group.js.map +1 -1
  275. package/dist/lib/list-item.cjs +216 -1
  276. package/dist/lib/list-item.cjs.map +1 -1
  277. package/dist/lib/list-item.js +71 -60
  278. package/dist/lib/list-item.js.map +1 -1
  279. package/dist/lib/message-input.cjs +708 -1
  280. package/dist/lib/message-input.cjs.map +1 -1
  281. package/dist/lib/message-input.js +232 -206
  282. package/dist/lib/message-input.js.map +1 -1
  283. package/dist/lib/modal.cjs +444 -2
  284. package/dist/lib/modal.cjs.map +1 -1
  285. package/dist/lib/modal.js +153 -120
  286. package/dist/lib/modal.js.map +1 -1
  287. package/dist/lib/notice.cjs +197 -1
  288. package/dist/lib/notice.cjs.map +1 -1
  289. package/dist/lib/notice.js +66 -63
  290. package/dist/lib/notice.js.map +1 -1
  291. package/dist/lib/pagination.cjs +205 -1
  292. package/dist/lib/pagination.cjs.map +1 -1
  293. package/dist/lib/pagination.js +96 -81
  294. package/dist/lib/pagination.js.map +1 -1
  295. package/dist/lib/popover.cjs +1080 -1
  296. package/dist/lib/popover.cjs.map +1 -1
  297. package/dist/lib/popover.js +447 -267
  298. package/dist/lib/popover.js.map +1 -1
  299. package/dist/lib/presence.cjs +70 -1
  300. package/dist/lib/presence.cjs.map +1 -1
  301. package/dist/lib/presence.js +33 -27
  302. package/dist/lib/presence.js.map +1 -1
  303. package/dist/lib/radio-group.cjs +88 -1
  304. package/dist/lib/radio-group.cjs.map +1 -1
  305. package/dist/lib/radio-group.js +18 -18
  306. package/dist/lib/radio-group.js.map +1 -1
  307. package/dist/lib/radio.cjs +162 -1
  308. package/dist/lib/radio.cjs.map +1 -1
  309. package/dist/lib/radio.js +66 -57
  310. package/dist/lib/radio.js.map +1 -1
  311. package/dist/lib/rich-text-editor.cjs +1137 -1
  312. package/dist/lib/rich-text-editor.cjs.map +1 -1
  313. package/dist/lib/rich-text-editor.js +567 -386
  314. package/dist/lib/rich-text-editor.js.map +1 -1
  315. package/dist/lib/root-layout.cjs +158 -1
  316. package/dist/lib/root-layout.cjs.map +1 -1
  317. package/dist/lib/root-layout.js +33 -31
  318. package/dist/lib/root-layout.js.map +1 -1
  319. package/dist/lib/scroller.cjs +1090 -1
  320. package/dist/lib/scroller.cjs.map +1 -1
  321. package/dist/lib/scroller.js +668 -345
  322. package/dist/lib/scroller.js.map +1 -1
  323. package/dist/lib/select-menu.cjs +312 -1
  324. package/dist/lib/select-menu.cjs.map +1 -1
  325. package/dist/lib/select-menu.js +124 -79
  326. package/dist/lib/select-menu.js.map +1 -1
  327. package/dist/lib/settings-menu-button.cjs +77 -1
  328. package/dist/lib/settings-menu-button.cjs.map +1 -1
  329. package/dist/lib/settings-menu-button.js +31 -30
  330. package/dist/lib/settings-menu-button.js.map +1 -1
  331. package/dist/lib/skeleton.cjs +635 -1
  332. package/dist/lib/skeleton.cjs.map +1 -1
  333. package/dist/lib/skeleton.js +189 -152
  334. package/dist/lib/skeleton.js.map +1 -1
  335. package/dist/lib/stack.cjs +123 -1
  336. package/dist/lib/stack.cjs.map +1 -1
  337. package/dist/lib/stack.js +61 -53
  338. package/dist/lib/stack.js.map +1 -1
  339. package/dist/lib/tabs.cjs +102 -1
  340. package/dist/lib/tabs.cjs.map +1 -1
  341. package/dist/lib/tabs.js +47 -41
  342. package/dist/lib/tabs.js.map +1 -1
  343. package/dist/lib/time-pill.cjs +41 -1
  344. package/dist/lib/time-pill.cjs.map +1 -1
  345. package/dist/lib/time-pill.js +18 -14
  346. package/dist/lib/time-pill.js.map +1 -1
  347. package/dist/lib/toast.cjs +281 -1
  348. package/dist/lib/toast.cjs.map +1 -1
  349. package/dist/lib/toast.js +96 -74
  350. package/dist/lib/toast.js.map +1 -1
  351. package/dist/lib/toggle.cjs +192 -1
  352. package/dist/lib/toggle.cjs.map +1 -1
  353. package/dist/lib/toggle.js +60 -49
  354. package/dist/lib/toggle.js.map +1 -1
  355. package/dist/lib/tooltip-directive.cjs +84 -1
  356. package/dist/lib/tooltip-directive.cjs.map +1 -1
  357. package/dist/lib/tooltip-directive.js +56 -42
  358. package/dist/lib/tooltip-directive.js.map +1 -1
  359. package/dist/lib/tooltip.cjs +460 -1
  360. package/dist/lib/tooltip.cjs.map +1 -1
  361. package/dist/lib/tooltip.js +162 -103
  362. package/dist/lib/tooltip.js.map +1 -1
  363. package/dist/lib/top-banner-info.cjs +71 -1
  364. package/dist/lib/top-banner-info.cjs.map +1 -1
  365. package/dist/lib/top-banner-info.js +27 -22
  366. package/dist/lib/top-banner-info.js.map +1 -1
  367. package/dist/lib/unread-pill.cjs +73 -1
  368. package/dist/lib/unread-pill.cjs.map +1 -1
  369. package/dist/lib/unread-pill.js +28 -25
  370. package/dist/lib/unread-pill.js.map +1 -1
  371. package/dist/lib/validation-messages.cjs +89 -1
  372. package/dist/lib/validation-messages.cjs.map +1 -1
  373. package/dist/lib/validation-messages.js +41 -36
  374. package/dist/lib/validation-messages.js.map +1 -1
  375. package/dist/style.css +1257 -1
  376. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
  377. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
  378. package/package.json +30 -29
  379. package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js +0 -2
  380. package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +0 -1
  381. package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js +0 -10
  382. package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js.map +0 -1
  383. package/dist/chunks/dropdown-UO3UJalk.js +0 -2
  384. package/dist/chunks/dropdown_constants-EUcDxBrX.js +0 -9
  385. package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
  386. package/dist/chunks/dropdown_constants-KHFvVI2L.js +0 -2
  387. package/dist/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
  388. package/dist/chunks/icon_constants-2S_OSQ1t.js +0 -2
  389. package/dist/chunks/index-6tYeqbgP.js +0 -3
  390. package/dist/chunks/index-IBtQ5jRJ.js +0 -2
  391. package/dist/chunks/index-IBtQ5jRJ.js.map +0 -1
  392. package/dist/chunks/index-b4iXYvId.js +0 -399
  393. package/dist/chunks/index-mRmwpCBG.js +0 -256
  394. package/dist/chunks/index-mRmwpCBG.js.map +0 -1
  395. package/dist/chunks/input-0Uksk4DP.js +0 -2
  396. package/dist/chunks/input_group-AS760Cp7.js +0 -2
  397. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
  398. package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
  399. package/dist/chunks/link_constants-Kn6kP4i1.js +0 -2
  400. package/dist/chunks/link_constants-vIUB92L4.js +0 -16
  401. package/dist/chunks/list_item_constants-LTUc74pD.js +0 -13
  402. package/dist/chunks/list_item_constants-Tsz5CO1m.js +0 -2
  403. package/dist/chunks/modal-VuMFkZFH.js +0 -82
  404. package/dist/chunks/modal-qEzlo0Sj.js +0 -2
  405. package/dist/chunks/notice_action-jO199emq.js +0 -2
  406. package/dist/chunks/notice_action-tJfD5Qw1.js +0 -209
  407. package/dist/chunks/notice_constants-c--hBFQw.js +0 -6
  408. package/dist/chunks/notice_constants-mC6al2Dm.js +0 -2
  409. package/dist/chunks/popover_constants-hOEhklvr.js +0 -2
  410. package/dist/chunks/popover_constants-qjlEkroB.js +0 -114
  411. package/dist/chunks/sr_only_close_button-iD7s1Pbj.js +0 -3
  412. package/dist/chunks/stack_constants-m9Ickqw0.js +0 -2
  413. package/dist/chunks/stack_constants-u7tNqGtc.js +0 -13
  414. package/dist/chunks/tab-GQZFMq83.js +0 -367
  415. package/dist/chunks/tab-at7WWglk.js +0 -2
  416. package/dist/lib/constants.cjs +0 -2
  417. package/dist/lib/dates.cjs +0 -2
  418. package/dist/lib/dates.js +0 -57
  419. package/dist/lib/mixins.cjs +0 -2
  420. package/dist/lib/mixins.js +0 -17
  421. package/dist/lib/utils.cjs +0 -2
  422. package/dist/lib/utils.js +0 -171
  423. package/dist/lib/validators.cjs +0 -2
  424. package/dist/lib/validators.js +0 -12
  425. /package/dist/{lib → common}/mixins.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"codeblock.cjs","sources":["../../components/codeblock/codeblock.vue"],"sourcesContent":["<template>\n <pre>\n <code\n class=\"d-codeblock\"\n >{{ text }}</code>\n </pre>\n</template>\n\n<script>\nexport default {\n name: 'DtCodeblock',\n\n props: {\n text: {\n type: String,\n required: true,\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_hoisted_1","_createElementBlock","_createElementVNode","_toDisplayString","$props"],"mappings":"oKASKA,EAAU,CACb,KAAM,cAEN,MAAO,CACL,KAAM,CACJ,KAAM,OACN,SAAU,EACX,CACF,CACH,EAfMC,EAAA,CAAA,MAAM,aAAa,+CAFvBC,qBAIM,MAAA,KAAA,mBAJD,MACH,EAAAC,EAEkB,mBAAA,OAFlBF,EAEkBG,EAAAA,gBAAdC,EAAI,IAAA,EAAA,CAAA,oBAAU;AAAA,GACpB"}
1
+ {"version":3,"file":"codeblock.cjs","sources":["../../components/codeblock/codeblock.vue"],"sourcesContent":["<template>\n <pre>\n <code\n class=\"d-codeblock\"\n >{{ text }}</code>\n </pre>\n</template>\n\n<script>\nexport default {\n name: 'DtCodeblock',\n\n props: {\n text: {\n type: String,\n required: true,\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":";;;;AASA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACF;AACH;AAfM,MAAA,aAAA,EAAA,OAAM,cAAa;;0BAFvBA,uBAIM,OAAA,MAAA;AAAA,wBAJD,MACH;AAAA,IAAAC,IAEkB,mBAAA,QAFlB,YAEkBC,IAAAA,gBAAd,OAAI,IAAA,GAAA,CAAA;AAAA,wBAAU,MACpB;AAAA;;;;"}
@@ -1,24 +1,24 @@
1
- import { openBlock as o, createElementBlock as c, createTextVNode as e, createElementVNode as r, toDisplayString as n } from "vue";
2
- import { _ as s } from "../chunks/_plugin-vue_export-helper-hUChTQA_.js";
3
- const d = {
1
+ import { openBlock, createElementBlock, createTextVNode, createElementVNode, toDisplayString } from "vue";
2
+ import { _export_sfc } from "../chunks/_plugin-vue_export-helper-caHeSgYY.js";
3
+ const _sfc_main = {
4
4
  name: "DtCodeblock",
5
5
  props: {
6
6
  text: {
7
7
  type: String,
8
- required: !0
8
+ required: true
9
9
  }
10
10
  }
11
- }, a = { class: "d-codeblock" };
12
- function l(p, _, t, i, m, f) {
13
- return o(), c("pre", null, [
14
- e(" "),
15
- r("code", a, n(t.text), 1),
16
- e(`
17
- `)
11
+ };
12
+ const _hoisted_1 = { class: "d-codeblock" };
13
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
14
+ return openBlock(), createElementBlock("pre", null, [
15
+ createTextVNode(" "),
16
+ createElementVNode("code", _hoisted_1, toDisplayString($props.text), 1),
17
+ createTextVNode("\n ")
18
18
  ]);
19
19
  }
20
- const x = /* @__PURE__ */ s(d, [["render", l]]);
20
+ const codeblock = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
21
21
  export {
22
- x as DtCodeblock
22
+ codeblock as DtCodeblock
23
23
  };
24
24
  //# sourceMappingURL=codeblock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeblock.js","sources":["../../components/codeblock/codeblock.vue"],"sourcesContent":["<template>\n <pre>\n <code\n class=\"d-codeblock\"\n >{{ text }}</code>\n </pre>\n</template>\n\n<script>\nexport default {\n name: 'DtCodeblock',\n\n props: {\n text: {\n type: String,\n required: true,\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_hoisted_1","_createElementBlock","_createElementVNode","_toDisplayString","$props"],"mappings":";;AASA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACF;AACH,GAfMC,IAAA,EAAA,OAAM,cAAa;;cAFvBC,EAIM,OAAA,MAAA;AAAA,MAJD,MACH;AAAA,IAAAC,EAEkB,QAFlBF,GAEkBG,EAAdC,EAAI,IAAA,GAAA,CAAA;AAAA,MAAU;AAAA,GACpB;AAAA;;;"}
1
+ {"version":3,"file":"codeblock.js","sources":["../../components/codeblock/codeblock.vue"],"sourcesContent":["<template>\n <pre>\n <code\n class=\"d-codeblock\"\n >{{ text }}</code>\n </pre>\n</template>\n\n<script>\nexport default {\n name: 'DtCodeblock',\n\n props: {\n text: {\n type: String,\n required: true,\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":";;AASA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACF;AACH;AAfM,MAAA,aAAA,EAAA,OAAM,cAAa;;sBAFvBA,mBAIM,OAAA,MAAA;AAAA,oBAJD,MACH;AAAA,IAAAC,mBAEkB,QAFlB,YAEkBC,gBAAd,OAAI,IAAA,GAAA,CAAA;AAAA,oBAAU,MACpB;AAAA;;;"}
@@ -1,2 +1,399 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./utils.cjs"),e=require("vue"),i=require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js"),u=require("./button.cjs"),p=require("./lazy-show.cjs"),f=require("./icon.cjs");require("./constants.cjs");require("../chunks/link_constants-Kn6kP4i1.js");require("@dialpad/dialtone-icons/vue3");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");const m={name:"DtCollapsibleLazyShow",inheritAttrs:!1,props:{show:{type:Boolean,default:null},appear:{type:Boolean,default:!1},elementType:{type:String,default:"div"}},data(){return{initialized:!!this.show}},computed:{isCSSEnabled(){return process.env.NODE_ENV!=="test"}},watch:{show:function(t){!t||this.initialized||(this.initialized=!0)}},methods:{beforeEnter(t){requestAnimationFrame(()=>{t.style.height||(t.style.height="0px")})},enter(t){requestAnimationFrame(()=>{requestAnimationFrame(()=>{t.style.height=`${t.scrollHeight}px`})})},afterEnter(t){t.style.height=null},beforeLeave(t){requestAnimationFrame(()=>{t.style.height||(t.style.height=`${t.offsetHeight}px`)})},leave(t){requestAnimationFrame(()=>{requestAnimationFrame(()=>{t.style.height="0px"})})},afterLeave(t){t.style.height=null}}};function y(t,o,n,s,l,a){return e.openBlock(),e.createBlock(e.Transition,e.mergeProps({appear:n.appear,"enter-active-class":"enter-active","leave-active-class":"leave-active"},t.$attrs,{css:a.isCSSEnabled,onBeforeEnter:a.beforeEnter,onEnter:a.enter,onAfterEnter:a.afterEnter,onBeforeLeave:a.beforeLeave,onLeave:a.leave,onAfterLeave:a.afterLeave}),{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.elementType),e.normalizeProps(e.guardReactiveProps(t.$attrs)),{default:e.withCtx(()=>[l.initialized?e.renderSlot(t.$slots,"default",{key:0}):e.createCommentVNode("",!0)]),_:3},16)),[[e.vShow,n.show]])]),_:3},16,["appear","css","onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave"])}const b=i._(m,[["render",y]]),g={name:"DtCollapsible",components:{DtButton:u.DtButton,DtCollapsibleLazyShow:b,DtLazyShow:p.DtLazyShow,DtIcon:f.DtIcon},props:{anchorText:{type:String,default:null},open:{type:Boolean,default:null},id:{type:String,default(){return r.getUniqueString()}},elementType:{type:String,default:"div"},contentElementType:{type:String,default:"div"},anchorClass:{type:[String,Array,Object],default:null},contentClass:{type:[String,Array,Object],default:null},maxWidth:{type:String,default:null},maxHeight:{type:String,default:null},ariaLabel:{type:String,default:null},ariaLabelledBy:{type:String,default:null}},emits:["update:open","opened"],data(){return{isOpen:!0}},computed:{labelledBy(){return this.ariaLabelledBy||!this.ariaLabel&&r.getUniqueString("DtCollapsible__anchor")},collapsibleListeners(){return r.extractVueListeners(this.$attrs)}},watch:{open:{handler:function(t){t!==null&&(this.isOpen=t)},immediate:!0}},created(){this.validateProperAnchor()},methods:{onLeaveTransitionComplete(){this.$emit("opened",!1),this.open!==null&&this.$emit("update:open",!1)},onEnterTransitionComplete(){this.$emit("opened",!0,this.$refs.content),this.open!==null&&this.$emit("update:open",!0)},defaultToggleOpen(){this.open===null&&this.toggleOpen()},toggleOpen(){this.isOpen=!this.isOpen},validateProperAnchor(){!this.anchorText&&!r.hasSlotContent(this.$slots.anchor)&&console.error("anchor text and anchor slot content cannot both be falsy")}}},_=["id"],v=["title"];function S(t,o,n,s,l,a){const c=e.resolveComponent("dt-icon"),d=e.resolveComponent("dt-button"),h=e.resolveComponent("dt-collapsible-lazy-show");return e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.elementType),e.mergeProps({ref:"collapsible"},e.toHandlers(a.collapsibleListeners)),{default:e.withCtx(()=>[e.createElementVNode("div",{id:!n.ariaLabelledBy&&a.labelledBy,ref:"anchor",class:e.normalizeClass(n.anchorClass)},[e.renderSlot(t.$slots,"anchor",{attrs:{"aria-controls":n.id,"aria-expanded":l.isOpen.toString(),role:"button"}},()=>[e.createVNode(d,{importance:"clear",kind:"muted","aria-controls":n.id,"aria-expanded":`${l.isOpen}`,style:e.normalizeStyle({width:n.maxWidth}),onClick:a.defaultToggleOpen},{default:e.withCtx(()=>[e.createVNode(c,{name:l.isOpen?"chevron-down":"chevron-right",class:"d-collapsible__icon",size:"300"},null,8,["name"]),e.createElementVNode("span",{class:"d-collapsible__anchor-text",title:n.anchorText},e.toDisplayString(n.anchorText),9,v)]),_:1},8,["aria-controls","aria-expanded","style","onClick"])])],10,_),e.createVNode(h,e.mergeProps({id:n.id,ref:"contentWrapper","aria-hidden":`${!l.isOpen}`,"aria-labelledby":a.labelledBy,"aria-label":n.ariaLabel,show:l.isOpen,"element-type":n.contentElementType,class:n.contentClass,style:{"max-height":n.maxHeight,"max-width":n.maxWidth},"data-qa":"dt-collapsible--content",tabindex:"-1",appear:""},e.toHandlers(a.collapsibleListeners),{onAfterLeave:a.onLeaveTransitionComplete,onAfterEnter:a.onEnterTransitionComplete}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"content")]),_:3},16,["id","aria-hidden","aria-labelledby","aria-label","show","element-type","class","style","onAfterLeave","onAfterEnter"])]),_:3},16)}const C=i._(g,[["render",S]]);exports.DtCollapsible=C;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const common_utils = require("../common/utils.cjs");
4
+ const vue = require("vue");
5
+ const _pluginVue_exportHelper = require("../chunks/_plugin-vue_export-helper-fhnQq0tA.js");
6
+ const lib_button = require("./button.cjs");
7
+ const lib_lazyShow = require("./lazy-show.cjs");
8
+ const lib_icon = require("./icon.cjs");
9
+ require("../common/constants.cjs");
10
+ require("../chunks/link_constants-Huj7D_hm.js");
11
+ require("@dialpad/dialtone-icons/vue3");
12
+ require("../chunks/icon_constants-QYpmdE0R.js");
13
+ require("@dialpad/dialtone-icons/icons.json");
14
+ const _sfc_main$1 = {
15
+ name: "DtCollapsibleLazyShow",
16
+ inheritAttrs: false,
17
+ /******************
18
+ * PROPS *
19
+ ******************/
20
+ props: {
21
+ /**
22
+ * Whether the child slot is shown.
23
+ */
24
+ show: {
25
+ type: Boolean,
26
+ default: null
27
+ },
28
+ /**
29
+ * Enable/Disable transition animation
30
+ */
31
+ appear: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ /**
36
+ * HTML element type (tag name) of the content wrapper element.
37
+ */
38
+ elementType: {
39
+ type: String,
40
+ default: "div"
41
+ }
42
+ },
43
+ /******************
44
+ * DATA *
45
+ ******************/
46
+ data() {
47
+ return {
48
+ initialized: !!this.show
49
+ };
50
+ },
51
+ /******************
52
+ * COMPUTED *
53
+ ******************/
54
+ computed: {
55
+ /**
56
+ * Set the css property to false when running tests only.
57
+ * Refer to: https://vuejs.org/guide/built-ins/transition.html#javascript-hooks for details about
58
+ * transition `css` property
59
+ * @returns {boolean}
60
+ */
61
+ isCSSEnabled() {
62
+ return process.env.NODE_ENV !== "test";
63
+ }
64
+ },
65
+ /******************
66
+ * WATCH *
67
+ ******************/
68
+ watch: {
69
+ show: function(newValue) {
70
+ if (!newValue || this.initialized)
71
+ return;
72
+ this.initialized = true;
73
+ }
74
+ },
75
+ methods: {
76
+ /**
77
+ * @param {HTMLElement} element
78
+ */
79
+ beforeEnter(element) {
80
+ requestAnimationFrame(() => {
81
+ if (!element.style.height) {
82
+ element.style.height = "0px";
83
+ }
84
+ });
85
+ },
86
+ /**
87
+ * @param {HTMLElement} element
88
+ */
89
+ enter(element) {
90
+ requestAnimationFrame(() => {
91
+ requestAnimationFrame(() => {
92
+ element.style.height = `${element.scrollHeight}px`;
93
+ });
94
+ });
95
+ },
96
+ /**
97
+ * @param {HTMLElement} element
98
+ */
99
+ afterEnter(element) {
100
+ element.style.height = null;
101
+ },
102
+ /**
103
+ * @param {HTMLElement} element
104
+ */
105
+ beforeLeave(element) {
106
+ requestAnimationFrame(() => {
107
+ if (!element.style.height) {
108
+ element.style.height = `${element.offsetHeight}px`;
109
+ }
110
+ });
111
+ },
112
+ /**
113
+ * @param {HTMLElement} element
114
+ */
115
+ leave(element) {
116
+ requestAnimationFrame(() => {
117
+ requestAnimationFrame(() => {
118
+ element.style.height = "0px";
119
+ });
120
+ });
121
+ },
122
+ /**
123
+ * @param {HTMLElement} element
124
+ */
125
+ afterLeave(element) {
126
+ element.style.height = null;
127
+ }
128
+ }
129
+ };
130
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
131
+ return vue.openBlock(), vue.createBlock(vue.Transition, vue.mergeProps({
132
+ appear: $props.appear,
133
+ "enter-active-class": "enter-active",
134
+ "leave-active-class": "leave-active"
135
+ }, _ctx.$attrs, {
136
+ css: $options.isCSSEnabled,
137
+ onBeforeEnter: $options.beforeEnter,
138
+ onEnter: $options.enter,
139
+ onAfterEnter: $options.afterEnter,
140
+ onBeforeLeave: $options.beforeLeave,
141
+ onLeave: $options.leave,
142
+ onAfterLeave: $options.afterLeave
143
+ }), {
144
+ default: vue.withCtx(() => [
145
+ vue.withDirectives((vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.elementType), vue.normalizeProps(vue.guardReactiveProps(_ctx.$attrs)), {
146
+ default: vue.withCtx(() => [
147
+ $data.initialized ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : vue.createCommentVNode("", true)
148
+ ]),
149
+ _: 3
150
+ }, 16)), [
151
+ [vue.vShow, $props.show]
152
+ ])
153
+ ]),
154
+ _: 3
155
+ }, 16, ["appear", "css", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"]);
156
+ }
157
+ const DtCollapsibleLazyShow = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
158
+ const _sfc_main = {
159
+ name: "DtCollapsible",
160
+ components: {
161
+ DtButton: lib_button.DtButton,
162
+ DtCollapsibleLazyShow,
163
+ DtLazyShow: lib_lazyShow.DtLazyShow,
164
+ DtIcon: lib_icon.DtIcon
165
+ },
166
+ props: {
167
+ /**
168
+ * Text that is displayed on the anchor if nothing is passed in the slot.
169
+ * Ignored if the anchor slot is used.
170
+ */
171
+ anchorText: {
172
+ type: String,
173
+ default: null
174
+ },
175
+ /**
176
+ * Controls whether the collapsible is shown. Leaving this null will have the collapsible start
177
+ * expanded and trigger on click by default. If you set this value, the default trigger
178
+ * behavior will be disabled, and you can control it as you need.
179
+ * Supports .sync modifier
180
+ * @values null, true, false
181
+ */
182
+ open: {
183
+ type: Boolean,
184
+ default: null
185
+ },
186
+ /**
187
+ * The id of the content wrapper.
188
+ */
189
+ id: {
190
+ type: String,
191
+ default() {
192
+ return common_utils.getUniqueString();
193
+ }
194
+ },
195
+ /**
196
+ * HTML element type (tag name) of the root element of the component.
197
+ */
198
+ elementType: {
199
+ type: String,
200
+ default: "div"
201
+ },
202
+ /**
203
+ * HTML element type (tag name) of the content wrapper element.
204
+ */
205
+ contentElementType: {
206
+ type: String,
207
+ default: "div"
208
+ },
209
+ /**
210
+ * Additional class name for the anchor wrapper element.
211
+ */
212
+ anchorClass: {
213
+ type: [String, Array, Object],
214
+ default: null
215
+ },
216
+ /**
217
+ * Additional class name for the content wrapper element.
218
+ */
219
+ contentClass: {
220
+ type: [String, Array, Object],
221
+ default: null
222
+ },
223
+ /**
224
+ * The maximum width of the anchor and collapsible element.
225
+ * Possible units rem|px|%|em
226
+ */
227
+ maxWidth: {
228
+ type: String,
229
+ default: null
230
+ },
231
+ /**
232
+ * The maximum height of the collapsible element.
233
+ * Possible units rem|px|%|em
234
+ */
235
+ maxHeight: {
236
+ type: String,
237
+ default: null
238
+ },
239
+ /**
240
+ * Label on the collapsible content. Should provide this or ariaLabelledBy but not both.
241
+ */
242
+ ariaLabel: {
243
+ type: String,
244
+ default: null
245
+ },
246
+ /**
247
+ * Id of the element that labels the collapsible content. Defaults to the anchor element.
248
+ * Should provide this or ariaLabel but not both.
249
+ */
250
+ ariaLabelledBy: {
251
+ type: String,
252
+ default: null
253
+ }
254
+ },
255
+ emits: [
256
+ /**
257
+ * Event fired to sync the open prop with the parent component
258
+ * @event update:open
259
+ */
260
+ "update:open",
261
+ /**
262
+ * Event fired when the content is shown or hidden
263
+ *
264
+ * @event opened
265
+ * @type {Boolean}
266
+ */
267
+ "opened"
268
+ ],
269
+ data() {
270
+ return {
271
+ isOpen: true
272
+ };
273
+ },
274
+ computed: {
275
+ labelledBy() {
276
+ return this.ariaLabelledBy || !this.ariaLabel && common_utils.getUniqueString("DtCollapsible__anchor");
277
+ },
278
+ collapsibleListeners() {
279
+ return common_utils.extractVueListeners(this.$attrs);
280
+ }
281
+ },
282
+ watch: {
283
+ open: {
284
+ handler: function(open) {
285
+ if (open !== null) {
286
+ this.isOpen = open;
287
+ }
288
+ },
289
+ immediate: true
290
+ }
291
+ },
292
+ created() {
293
+ this.validateProperAnchor();
294
+ },
295
+ methods: {
296
+ onLeaveTransitionComplete() {
297
+ this.$emit("opened", false);
298
+ if (this.open !== null) {
299
+ this.$emit("update:open", false);
300
+ }
301
+ },
302
+ onEnterTransitionComplete() {
303
+ this.$emit("opened", true, this.$refs.content);
304
+ if (this.open !== null) {
305
+ this.$emit("update:open", true);
306
+ }
307
+ },
308
+ defaultToggleOpen() {
309
+ if (this.open === null) {
310
+ this.toggleOpen();
311
+ }
312
+ },
313
+ toggleOpen() {
314
+ this.isOpen = !this.isOpen;
315
+ },
316
+ validateProperAnchor() {
317
+ if (!this.anchorText && !common_utils.hasSlotContent(this.$slots.anchor)) {
318
+ console.error("anchor text and anchor slot content cannot both be falsy");
319
+ }
320
+ }
321
+ }
322
+ };
323
+ const _hoisted_1 = ["id"];
324
+ const _hoisted_2 = ["title"];
325
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
326
+ const _component_dt_icon = vue.resolveComponent("dt-icon");
327
+ const _component_dt_button = vue.resolveComponent("dt-button");
328
+ const _component_dt_collapsible_lazy_show = vue.resolveComponent("dt-collapsible-lazy-show");
329
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.elementType), vue.mergeProps({ ref: "collapsible" }, vue.toHandlers($options.collapsibleListeners)), {
330
+ default: vue.withCtx(() => [
331
+ vue.createElementVNode("div", {
332
+ id: !$props.ariaLabelledBy && $options.labelledBy,
333
+ ref: "anchor",
334
+ class: vue.normalizeClass($props.anchorClass)
335
+ }, [
336
+ vue.renderSlot(_ctx.$slots, "anchor", {
337
+ attrs: {
338
+ "aria-controls": $props.id,
339
+ "aria-expanded": $data.isOpen.toString(),
340
+ "role": "button"
341
+ }
342
+ }, () => [
343
+ vue.createVNode(_component_dt_button, {
344
+ importance: "clear",
345
+ kind: "muted",
346
+ "aria-controls": $props.id,
347
+ "aria-expanded": `${$data.isOpen}`,
348
+ style: vue.normalizeStyle({
349
+ "width": $props.maxWidth
350
+ }),
351
+ onClick: $options.defaultToggleOpen
352
+ }, {
353
+ default: vue.withCtx(() => [
354
+ vue.createVNode(_component_dt_icon, {
355
+ name: $data.isOpen ? "chevron-down" : "chevron-right",
356
+ class: "d-collapsible__icon",
357
+ size: "300"
358
+ }, null, 8, ["name"]),
359
+ vue.createElementVNode("span", {
360
+ class: "d-collapsible__anchor-text",
361
+ title: $props.anchorText
362
+ }, vue.toDisplayString($props.anchorText), 9, _hoisted_2)
363
+ ]),
364
+ _: 1
365
+ }, 8, ["aria-controls", "aria-expanded", "style", "onClick"])
366
+ ])
367
+ ], 10, _hoisted_1),
368
+ vue.createVNode(_component_dt_collapsible_lazy_show, vue.mergeProps({
369
+ id: $props.id,
370
+ ref: "contentWrapper",
371
+ "aria-hidden": `${!$data.isOpen}`,
372
+ "aria-labelledby": $options.labelledBy,
373
+ "aria-label": $props.ariaLabel,
374
+ show: $data.isOpen,
375
+ "element-type": $props.contentElementType,
376
+ class: $props.contentClass,
377
+ style: {
378
+ "max-height": $props.maxHeight,
379
+ "max-width": $props.maxWidth
380
+ },
381
+ "data-qa": "dt-collapsible--content",
382
+ tabindex: "-1",
383
+ appear: ""
384
+ }, vue.toHandlers($options.collapsibleListeners), {
385
+ onAfterLeave: $options.onLeaveTransitionComplete,
386
+ onAfterEnter: $options.onEnterTransitionComplete
387
+ }), {
388
+ default: vue.withCtx(() => [
389
+ vue.renderSlot(_ctx.$slots, "content")
390
+ ]),
391
+ _: 3
392
+ }, 16, ["id", "aria-hidden", "aria-labelledby", "aria-label", "show", "element-type", "class", "style", "onAfterLeave", "onAfterEnter"])
393
+ ]),
394
+ _: 3
395
+ }, 16);
396
+ }
397
+ const DtCollapsible = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
398
+ exports.DtCollapsible = DtCollapsible;
2
399
  //# sourceMappingURL=collapsible.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapsible.cjs","sources":["../../components/collapsible/collapsible_lazy_show.vue","../../components/collapsible/collapsible.vue"],"sourcesContent":["<template>\n <!-- applies the transition on initial render -->\n <transition\n :appear=\"appear\"\n enter-active-class=\"enter-active\"\n leave-active-class=\"leave-active\"\n v-bind=\"$attrs\"\n :css=\"isCSSEnabled\"\n @before-enter=\"beforeEnter\"\n @enter=\"enter\"\n @after-enter=\"afterEnter\"\n @before-leave=\"beforeLeave\"\n @leave=\"leave\"\n @after-leave=\"afterLeave\"\n >\n <component\n :is=\"elementType\"\n v-show=\"show\"\n v-bind=\"$attrs\"\n >\n <!-- @slot slot for Content within collapsible -->\n <slot v-if=\"initialized\" />\n </component>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DtCollapsibleLazyShow',\n\n inheritAttrs: false,\n\n /******************\n * PROPS *\n ******************/\n props: {\n /**\n * Whether the child slot is shown.\n */\n show: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Enable/Disable transition animation\n */\n appear: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n },\n\n /******************\n * DATA *\n ******************/\n data () {\n return {\n initialized: !!this.show,\n };\n },\n\n /******************\n * COMPUTED *\n ******************/\n computed: {\n /**\n * Set the css property to false when running tests only.\n * Refer to: https://vuejs.org/guide/built-ins/transition.html#javascript-hooks for details about\n * transition `css` property\n * @returns {boolean}\n */\n isCSSEnabled () {\n return process.env.NODE_ENV !== 'test';\n },\n },\n\n /******************\n * WATCH *\n ******************/\n watch: {\n show: function (newValue) {\n if (!newValue || this.initialized) return;\n\n this.initialized = true;\n },\n },\n\n methods: {\n /**\n * @param {HTMLElement} element\n */\n beforeEnter (element) {\n requestAnimationFrame(() => {\n if (!element.style.height) {\n element.style.height = '0px';\n }\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n enter (element) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n element.style.height = `${element.scrollHeight}px`;\n });\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n afterEnter (element) {\n element.style.height = null;\n },\n\n /**\n * @param {HTMLElement} element\n */\n beforeLeave (element) {\n requestAnimationFrame(() => {\n if (!element.style.height) {\n element.style.height = `${element.offsetHeight}px`;\n }\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n leave (element) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n element.style.height = '0px';\n });\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n afterLeave (element) {\n element.style.height = null;\n },\n },\n};\n</script>\n\n<style>\n .enter-active,\n .leave-active {\n overflow: hidden;\n transition: height var(--td300) var(--ttf-out-quint);\n }\n</style>\n","<template>\n <component\n :is=\"elementType\"\n ref=\"collapsible\"\n v-on=\"collapsibleListeners\"\n >\n <!-- Element for capturing keypress events -->\n <div\n :id=\"!ariaLabelledBy && labelledBy\"\n ref=\"anchor\"\n :class=\"anchorClass\"\n >\n <!-- @slot Slot for the anchor element that toggles the collapsible content -->\n <slot\n name=\"anchor\"\n :attrs=\"{\n 'aria-controls': id,\n 'aria-expanded': isOpen.toString(),\n 'role': 'button',\n }\"\n >\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-controls=\"id\"\n :aria-expanded=\"`${isOpen}`\"\n :style=\"{\n 'width': maxWidth,\n }\"\n @click=\"defaultToggleOpen\"\n >\n <dt-icon\n :name=\" isOpen ? 'chevron-down' : 'chevron-right'\"\n class=\"d-collapsible__icon\"\n size=\"300\"\n />\n <span\n class=\"d-collapsible__anchor-text\"\n :title=\"anchorText\"\n >\n {{ anchorText }}\n </span>\n </dt-button>\n </slot>\n </div>\n <dt-collapsible-lazy-show\n :id=\"id\"\n ref=\"contentWrapper\"\n :aria-hidden=\"`${!isOpen}`\"\n :aria-labelledby=\"labelledBy\"\n :aria-label=\"ariaLabel\"\n :show=\"isOpen\"\n :element-type=\"contentElementType\"\n :class=\"contentClass\"\n :style=\"{\n 'max-height': maxHeight,\n 'max-width': maxWidth,\n }\"\n data-qa=\"dt-collapsible--content\"\n tabindex=\"-1\"\n appear\n v-on=\"collapsibleListeners\"\n @after-leave=\"onLeaveTransitionComplete\"\n @after-enter=\"onEnterTransitionComplete\"\n >\n <!-- @slot Slot for the collapsible element that is expanded by the anchor -->\n <slot\n name=\"content\"\n />\n </dt-collapsible-lazy-show>\n </component>\n</template>\n\n<script>\nimport { extractVueListeners, getUniqueString, hasSlotContent } from '@/common/utils';\nimport DtCollapsibleLazyShow from './collapsible_lazy_show.vue';\nimport { DtButton } from '@/components/button';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtIcon } from '@/components/icon';\n\n/**\n * A collapsible is a component consisting of an interactive anchor that toggled the expandable/collapsible element.\n * @see https://dialtone.dialpad.com/components/collapsible.html\n */\nexport default {\n name: 'DtCollapsible',\n\n components: {\n DtButton,\n DtCollapsibleLazyShow,\n DtLazyShow,\n DtIcon,\n },\n\n props: {\n /**\n * Text that is displayed on the anchor if nothing is passed in the slot.\n * Ignored if the anchor slot is used.\n */\n anchorText: {\n type: String,\n default: null,\n },\n\n /**\n * Controls whether the collapsible is shown. Leaving this null will have the collapsible start\n * expanded and trigger on click by default. If you set this value, the default trigger\n * behavior will be disabled, and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * The id of the content wrapper.\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * HTML element type (tag name) of the root element of the component.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n contentElementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * Additional class name for the anchor wrapper element.\n */\n anchorClass: {\n type: [String, Array, Object],\n default: null,\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: null,\n },\n\n /**\n * The maximum width of the anchor and collapsible element.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: null,\n },\n\n /**\n * The maximum height of the collapsible element.\n * Possible units rem|px|%|em\n */\n maxHeight: {\n type: String,\n default: null,\n },\n\n /**\n * Label on the collapsible content. Should provide this or ariaLabelledBy but not both.\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Id of the element that labels the collapsible content. Defaults to the anchor element.\n * Should provide this or ariaLabel but not both.\n */\n ariaLabelledBy: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when the content is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n ],\n\n data () {\n return {\n isOpen: true,\n };\n },\n\n computed: {\n labelledBy () {\n // aria-labelledby should be set only if aria-labelledby is passed as a prop, or if\n // there is no aria-label and the labelledby should point to the anchor\n return this.ariaLabelledBy || (!this.ariaLabel && getUniqueString('DtCollapsible__anchor'));\n },\n\n collapsibleListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n\n watch: {\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n created () {\n this.validateProperAnchor();\n },\n\n methods: {\n onLeaveTransitionComplete () {\n this.$emit('opened', false);\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n onEnterTransitionComplete () {\n this.$emit('opened', true, this.$refs.content);\n if (this.open !== null) {\n this.$emit('update:open', true);\n }\n },\n\n defaultToggleOpen () {\n if (this.open === null) {\n this.toggleOpen();\n }\n },\n\n toggleOpen () {\n this.isOpen = !this.isOpen;\n },\n\n validateProperAnchor () {\n if (!this.anchorText && !hasSlotContent(this.$slots.anchor)) {\n console.error('anchor text and anchor slot content cannot both be falsy');\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","newValue","element","_openBlock","_createBlock","_Transition","_mergeProps","$props","_ctx","$options","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps","$data","_renderSlot","DtButton","DtCollapsibleLazyShow","DtLazyShow","DtIcon","getUniqueString","extractVueListeners","open","hasSlotContent","_toHandlers","_createElementVNode","_createVNode","_component_dt_button","_normalizeStyle","_component_dt_icon","_hoisted_2","_component_dt_collapsible_lazy_show"],"mappings":"6dA2BA,MAAKA,EAAU,CACb,KAAM,wBAEN,aAAc,GAKd,MAAO,CAIL,KAAM,CACJ,KAAM,QACN,QAAS,IACV,EAKD,OAAQ,CACN,KAAM,QACN,QAAS,EACV,EAKD,YAAa,CACX,KAAM,OACN,QAAS,KACV,CACF,EAKD,MAAQ,CACN,MAAO,CACL,YAAa,CAAC,CAAC,KAAK,KAEvB,EAKD,SAAU,CAOR,cAAgB,CACd,OAAO,QAAQ,IAAI,WAAa,MACjC,CACF,EAKD,MAAO,CACL,KAAM,SAAUC,EAAU,CACpB,CAACA,GAAY,KAAK,cAEtB,KAAK,YAAc,GACpB,CACF,EAED,QAAS,CAIP,YAAaC,EAAS,CACpB,sBAAsB,IAAM,CACrBA,EAAQ,MAAM,SACjBA,EAAQ,MAAM,OAAS,MAE3B,CAAC,CACF,EAKD,MAAOA,EAAS,CACd,sBAAsB,IAAM,CAC1B,sBAAsB,IAAM,CAC1BA,EAAQ,MAAM,OAAS,GAAGA,EAAQ,YAAY,IAChD,CAAC,CACH,CAAC,CACF,EAKD,WAAYA,EAAS,CACnBA,EAAQ,MAAM,OAAS,IACxB,EAKD,YAAaA,EAAS,CACpB,sBAAsB,IAAM,CACrBA,EAAQ,MAAM,SACjBA,EAAQ,MAAM,OAAS,GAAGA,EAAQ,YAAY,KAElD,CAAC,CACF,EAKD,MAAOA,EAAS,CACd,sBAAsB,IAAM,CAC1B,sBAAsB,IAAM,CAC1BA,EAAQ,MAAM,OAAS,KACzB,CAAC,CACH,CAAC,CACF,EAKD,WAAYA,EAAS,CACnBA,EAAQ,MAAM,OAAS,IACxB,CACF,CACH,0BAzJE,OAAAC,YAAA,EAAAC,cAqBaC,EAAAA,WArBbC,EAAAA,WAqBa,CApBV,OAAQC,EAAM,OACf,qBAAmB,eACnB,qBAAmB,gBACXC,EAAM,OAAA,CACb,IAAKC,EAAY,aACjB,cAAcA,EAAW,YACzB,QAAOA,EAAK,MACZ,aAAaA,EAAU,WACvB,cAAcA,EAAW,YACzB,QAAOA,EAAK,MACZ,aAAaA,EAAU,gCAExB,IAOY,iCAPZL,EAOY,YAAAM,EAAA,wBANLH,EAAW,WAAA,EAAAI,EAAA,eAAAC,EAAA,mBAERJ,EAAM,MAAA,CAAA,EAAA,mBAGd,IAA2B,CAAfK,EAAW,YAAvBC,EAA2B,WAAAN,EAAA,OAAA,UAAA,CAAA,IAAA,EAAA,oDAJnBD,EAAI,IAAA,gJCmEbP,EAAU,CACb,KAAM,gBAEN,WAAY,CACV,SAAAe,EAAQ,SACR,sBAAAC,aACAC,EAAU,WACV,OAAAC,EAAM,MACP,EAED,MAAO,CAKL,WAAY,CACV,KAAM,OACN,QAAS,IACV,EASD,KAAM,CACJ,KAAM,QACN,QAAS,IACV,EAKD,GAAI,CACF,KAAM,OACN,SAAW,CAAE,OAAOC,EAAe,gBAAA,CAAK,CACzC,EAKD,YAAa,CACX,KAAM,OACN,QAAS,KACV,EAKD,mBAAoB,CAClB,KAAM,OACN,QAAS,KACV,EAKD,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IACV,EAKD,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IACV,EAMD,SAAU,CACR,KAAM,OACN,QAAS,IACV,EAMD,UAAW,CACT,KAAM,OACN,QAAS,IACV,EAKD,UAAW,CACT,KAAM,OACN,QAAS,IACV,EAMD,eAAgB,CACd,KAAM,OACN,QAAS,IACV,CACF,EAED,MAAO,CAKL,cAQA,QACD,EAED,MAAQ,CACN,MAAO,CACL,OAAQ,GAEX,EAED,SAAU,CACR,YAAc,CAGZ,OAAO,KAAK,gBAAmB,CAAC,KAAK,WAAaA,EAAe,gBAAC,uBAAuB,CAC1F,EAED,sBAAwB,CACtB,OAAOC,EAAmB,oBAAC,KAAK,MAAM,CACvC,CACF,EAED,MAAO,CACL,KAAM,CACJ,QAAS,SAAUC,EAAM,CACnBA,IAAS,OACX,KAAK,OAASA,EAEjB,EAED,UAAW,EACZ,CACF,EAED,SAAW,CACT,KAAK,qBAAoB,CAC1B,EAED,QAAS,CACP,2BAA6B,CAC3B,KAAK,MAAM,SAAU,EAAK,EACtB,KAAK,OAAS,MAChB,KAAK,MAAM,cAAe,EAAK,CAElC,EAED,2BAA6B,CAC3B,KAAK,MAAM,SAAU,GAAM,KAAK,MAAM,OAAO,EACzC,KAAK,OAAS,MAChB,KAAK,MAAM,cAAe,EAAI,CAEjC,EAED,mBAAqB,CACf,KAAK,OAAS,MAChB,KAAK,WAAU,CAElB,EAED,YAAc,CACZ,KAAK,OAAS,CAAC,KAAK,MACrB,EAED,sBAAwB,CAClB,CAAC,KAAK,YAAc,CAACC,EAAc,eAAC,KAAK,OAAO,MAAM,GACxD,QAAQ,MAAM,0DAA0D,CAE3E,CACF,CACH,6LAhRElB,EAqEY,YAAAM,EAAA,wBApELH,EAAW,WAAA,EADlBD,EAAAA,WAqEY,CAnEV,IAAI,aAAa,EACjBiB,EAAAA,WAA2Bd,EAAD,oBAAA,CAAA,EAAA,mBAG1B,IAqCM,CArCNe,EAAAA,mBAqCM,MAAA,CApCH,GAAE,CAAGjB,EAAc,gBAAIE,EAAU,WAClC,IAAI,SACH,uBAAOF,EAAW,WAAA,IAGnBO,aA8BON,EAAA,OAAA,SAAA,CA5BJ,MAAK,iBAA+BD,EAAE,GAA6B,gBAAAM,EAAA,OAAO,SAAQ,kBAFrF,IA8BO,CAtBLY,EAAAA,YAqBYC,EAAA,CApBV,WAAW,QACX,KAAK,QACJ,gBAAenB,EAAE,GACjB,mBAAkBM,EAAM,MAAA,GACxB,MAAKc,EAAAA,eAAA,OAAyBpB,EAAQ,WAGtC,QAAOE,EAAiB,sCAEzB,IAIE,CAJFgB,EAAAA,YAIEG,EAAA,CAHC,KAAOf,EAAM,OAAA,eAAA,gBACd,MAAM,sBACN,KAAK,wBAEPW,EAAAA,mBAKO,OAAA,CAJL,MAAM,6BACL,MAAOjB,EAAU,8BAEfA,EAAU,UAAA,EAAA,EAAAsB,CAAA,yEAKrBJ,EAAA,YAwB2BK,EAxB3BxB,aAwB2B,CAvBxB,GAAIC,EAAE,GACP,IAAI,iBACH,kBAAiBM,EAAM,MAAA,GACvB,kBAAiBJ,EAAU,WAC3B,aAAYF,EAAS,UACrB,KAAMM,EAAM,OACZ,eAAcN,EAAkB,mBAChC,MAAOA,EAAY,aACnB,MAAK,cAA0BA,EAAS,sBAAuBA,EAAQ,UAIxE,UAAQ,0BACR,SAAS,KACT,OAAA,EACA,EAAAgB,EAAA,WAAMd,EAAoB,oBAAA,EAAA,CACzB,aAAaA,EAAyB,0BACtC,aAAaA,EAAyB,+CAGvC,IAEE,CAFFK,aAEEN,EAAA,OAAA,SAAA"}
1
+ {"version":3,"file":"collapsible.cjs","sources":["../../components/collapsible/collapsible_lazy_show.vue","../../components/collapsible/collapsible.vue"],"sourcesContent":["<template>\n <!-- applies the transition on initial render -->\n <transition\n :appear=\"appear\"\n enter-active-class=\"enter-active\"\n leave-active-class=\"leave-active\"\n v-bind=\"$attrs\"\n :css=\"isCSSEnabled\"\n @before-enter=\"beforeEnter\"\n @enter=\"enter\"\n @after-enter=\"afterEnter\"\n @before-leave=\"beforeLeave\"\n @leave=\"leave\"\n @after-leave=\"afterLeave\"\n >\n <component\n :is=\"elementType\"\n v-show=\"show\"\n v-bind=\"$attrs\"\n >\n <!-- @slot slot for Content within collapsible -->\n <slot v-if=\"initialized\" />\n </component>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DtCollapsibleLazyShow',\n\n inheritAttrs: false,\n\n /******************\n * PROPS *\n ******************/\n props: {\n /**\n * Whether the child slot is shown.\n */\n show: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Enable/Disable transition animation\n */\n appear: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n },\n\n /******************\n * DATA *\n ******************/\n data () {\n return {\n initialized: !!this.show,\n };\n },\n\n /******************\n * COMPUTED *\n ******************/\n computed: {\n /**\n * Set the css property to false when running tests only.\n * Refer to: https://vuejs.org/guide/built-ins/transition.html#javascript-hooks for details about\n * transition `css` property\n * @returns {boolean}\n */\n isCSSEnabled () {\n return process.env.NODE_ENV !== 'test';\n },\n },\n\n /******************\n * WATCH *\n ******************/\n watch: {\n show: function (newValue) {\n if (!newValue || this.initialized) return;\n\n this.initialized = true;\n },\n },\n\n methods: {\n /**\n * @param {HTMLElement} element\n */\n beforeEnter (element) {\n requestAnimationFrame(() => {\n if (!element.style.height) {\n element.style.height = '0px';\n }\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n enter (element) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n element.style.height = `${element.scrollHeight}px`;\n });\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n afterEnter (element) {\n element.style.height = null;\n },\n\n /**\n * @param {HTMLElement} element\n */\n beforeLeave (element) {\n requestAnimationFrame(() => {\n if (!element.style.height) {\n element.style.height = `${element.offsetHeight}px`;\n }\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n leave (element) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n element.style.height = '0px';\n });\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n afterLeave (element) {\n element.style.height = null;\n },\n },\n};\n</script>\n\n<style>\n .enter-active,\n .leave-active {\n overflow: hidden;\n transition: height var(--td300) var(--ttf-out-quint);\n }\n</style>\n","<template>\n <component\n :is=\"elementType\"\n ref=\"collapsible\"\n v-on=\"collapsibleListeners\"\n >\n <!-- Element for capturing keypress events -->\n <div\n :id=\"!ariaLabelledBy && labelledBy\"\n ref=\"anchor\"\n :class=\"anchorClass\"\n >\n <!-- @slot Slot for the anchor element that toggles the collapsible content -->\n <slot\n name=\"anchor\"\n :attrs=\"{\n 'aria-controls': id,\n 'aria-expanded': isOpen.toString(),\n 'role': 'button',\n }\"\n >\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-controls=\"id\"\n :aria-expanded=\"`${isOpen}`\"\n :style=\"{\n 'width': maxWidth,\n }\"\n @click=\"defaultToggleOpen\"\n >\n <dt-icon\n :name=\" isOpen ? 'chevron-down' : 'chevron-right'\"\n class=\"d-collapsible__icon\"\n size=\"300\"\n />\n <span\n class=\"d-collapsible__anchor-text\"\n :title=\"anchorText\"\n >\n {{ anchorText }}\n </span>\n </dt-button>\n </slot>\n </div>\n <dt-collapsible-lazy-show\n :id=\"id\"\n ref=\"contentWrapper\"\n :aria-hidden=\"`${!isOpen}`\"\n :aria-labelledby=\"labelledBy\"\n :aria-label=\"ariaLabel\"\n :show=\"isOpen\"\n :element-type=\"contentElementType\"\n :class=\"contentClass\"\n :style=\"{\n 'max-height': maxHeight,\n 'max-width': maxWidth,\n }\"\n data-qa=\"dt-collapsible--content\"\n tabindex=\"-1\"\n appear\n v-on=\"collapsibleListeners\"\n @after-leave=\"onLeaveTransitionComplete\"\n @after-enter=\"onEnterTransitionComplete\"\n >\n <!-- @slot Slot for the collapsible element that is expanded by the anchor -->\n <slot\n name=\"content\"\n />\n </dt-collapsible-lazy-show>\n </component>\n</template>\n\n<script>\nimport { extractVueListeners, getUniqueString, hasSlotContent } from '@/common/utils';\nimport DtCollapsibleLazyShow from './collapsible_lazy_show.vue';\nimport { DtButton } from '@/components/button';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtIcon } from '@/components/icon';\n\n/**\n * A collapsible is a component consisting of an interactive anchor that toggled the expandable/collapsible element.\n * @see https://dialtone.dialpad.com/components/collapsible.html\n */\nexport default {\n name: 'DtCollapsible',\n\n components: {\n DtButton,\n DtCollapsibleLazyShow,\n DtLazyShow,\n DtIcon,\n },\n\n props: {\n /**\n * Text that is displayed on the anchor if nothing is passed in the slot.\n * Ignored if the anchor slot is used.\n */\n anchorText: {\n type: String,\n default: null,\n },\n\n /**\n * Controls whether the collapsible is shown. Leaving this null will have the collapsible start\n * expanded and trigger on click by default. If you set this value, the default trigger\n * behavior will be disabled, and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * The id of the content wrapper.\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * HTML element type (tag name) of the root element of the component.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n contentElementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * Additional class name for the anchor wrapper element.\n */\n anchorClass: {\n type: [String, Array, Object],\n default: null,\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: null,\n },\n\n /**\n * The maximum width of the anchor and collapsible element.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: null,\n },\n\n /**\n * The maximum height of the collapsible element.\n * Possible units rem|px|%|em\n */\n maxHeight: {\n type: String,\n default: null,\n },\n\n /**\n * Label on the collapsible content. Should provide this or ariaLabelledBy but not both.\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Id of the element that labels the collapsible content. Defaults to the anchor element.\n * Should provide this or ariaLabel but not both.\n */\n ariaLabelledBy: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when the content is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n ],\n\n data () {\n return {\n isOpen: true,\n };\n },\n\n computed: {\n labelledBy () {\n // aria-labelledby should be set only if aria-labelledby is passed as a prop, or if\n // there is no aria-label and the labelledby should point to the anchor\n return this.ariaLabelledBy || (!this.ariaLabel && getUniqueString('DtCollapsible__anchor'));\n },\n\n collapsibleListeners () {\n return extractVueListeners(this.$attrs);\n },\n },\n\n watch: {\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n created () {\n this.validateProperAnchor();\n },\n\n methods: {\n onLeaveTransitionComplete () {\n this.$emit('opened', false);\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n onEnterTransitionComplete () {\n this.$emit('opened', true, this.$refs.content);\n if (this.open !== null) {\n this.$emit('update:open', true);\n }\n },\n\n defaultToggleOpen () {\n if (this.open === null) {\n this.toggleOpen();\n }\n },\n\n toggleOpen () {\n this.isOpen = !this.isOpen;\n },\n\n validateProperAnchor () {\n if (!this.anchorText && !hasSlotContent(this.$slots.anchor)) {\n console.error('anchor text and anchor slot content cannot both be falsy');\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_openBlock","_createBlock","_Transition","_mergeProps","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps","_renderSlot","DtButton","DtLazyShow","DtIcon","getUniqueString","extractVueListeners","hasSlotContent","_toHandlers","_createElementVNode","_createVNode","_normalizeStyle"],"mappings":"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"}