@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,399 +0,0 @@
1
- import { K as E } from "./keyboard_list_navigation-F0O8nht0.js";
2
- import { getUniqueString as _, hasSlotContent as v } from "../lib/utils.js";
3
- import { resolveComponent as r, openBlock as o, createElementBlock as h, Fragment as S, renderList as H, createVNode as u, withCtx as y, renderSlot as m, normalizeClass as K, createElementVNode as I, toDisplayString as M, withKeys as l, withModifiers as a, createBlock as L, normalizeProps as R, mergeProps as b, createCommentVNode as O } from "vue";
4
- import { _ as f } from "./_plugin-vue_export-helper-hUChTQA_.js";
5
- import { DtListItem as x } from "../lib/list-item.js";
6
- import { DtSkeleton as w } from "../lib/skeleton.js";
7
- const C = {
8
- name: "ComboboxLoadingList",
9
- components: { DtListItem: x, DtSkeleton: w }
10
- }, k = {
11
- class: "d-combobox__loading-list",
12
- "aria-busy": "true"
13
- };
14
- function B(e, t, n, c, g, i) {
15
- const d = r("dt-skeleton"), p = r("dt-list-item");
16
- return o(), h("ol", k, [
17
- (o(), h(S, null, H(7, (s) => u(p, {
18
- key: s,
19
- role: "option",
20
- "navigation-type": "none"
21
- }, {
22
- default: y(() => [
23
- u(d, {
24
- "text-option": { type: "body" },
25
- offset: 0
26
- })
27
- ]),
28
- _: 2
29
- }, 1024)), 64))
30
- ]);
31
- }
32
- const P = /* @__PURE__ */ f(C, [["render", B]]), V = {
33
- name: "ComboboxEmptyList",
34
- components: { DtListItem: x },
35
- props: {
36
- /**
37
- * Message to display when list is empty
38
- */
39
- message: {
40
- type: String,
41
- required: !0
42
- },
43
- /**
44
- * Additional class name for the empty list element.
45
- * Can accept all of String, Object, and Array, i.e. has the
46
- * same api as Vue's built-in handling of the class attribute.
47
- */
48
- itemClass: {
49
- type: [String, Object, Array],
50
- default: ""
51
- }
52
- }
53
- }, A = {
54
- class: "d-combobox__empty-list",
55
- "data-qa": "dt-combobox-empty-list"
56
- };
57
- function q(e, t, n, c, g, i) {
58
- const d = r("dt-list-item");
59
- return o(), h("ol", A, [
60
- m(e.$slots, "default", {}, () => [
61
- u(d, {
62
- role: "option",
63
- "navigation-type": "none",
64
- type: "custom",
65
- class: K(["dt-empty-list-item", n.itemClass])
66
- }, {
67
- default: y(() => [
68
- I("span", null, M(n.message), 1)
69
- ]),
70
- _: 1
71
- }, 8, ["class"])
72
- ])
73
- ]);
74
- }
75
- const D = /* @__PURE__ */ f(V, [["render", q]]), T = {
76
- EXTRA_SMALL: "xs",
77
- SMALL: "sm",
78
- DEFAULT: "md",
79
- LARGE: "lg",
80
- EXTRA_LARGE: "xl"
81
- }, j = {
82
- name: "DtCombobox",
83
- components: {
84
- ComboboxLoadingList: P,
85
- ComboboxEmptyList: D
86
- },
87
- mixins: [
88
- E({
89
- indexKey: "highlightIndex",
90
- idKey: "highlightId",
91
- listElementKey: "getListElement",
92
- afterHighlightMethod: "afterHighlight",
93
- beginningOfListMethod: "beginningOfListMethod",
94
- endOfListMethod: "endOfListMethod",
95
- activeItemKey: "activeItemEl"
96
- })
97
- ],
98
- props: {
99
- /**
100
- * String to use for the input label.
101
- */
102
- label: {
103
- type: String,
104
- required: !0
105
- },
106
- /**
107
- * Determines visibility of input label.
108
- * @values true, false
109
- */
110
- labelVisible: {
111
- type: Boolean,
112
- default: !0
113
- },
114
- /**
115
- * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`
116
- * @values null, xs, sm, md, lg, xl
117
- */
118
- size: {
119
- type: String,
120
- default: null,
121
- validator: (e) => Object.values(T).includes(e)
122
- },
123
- /**
124
- * Description for the input
125
- */
126
- description: {
127
- type: String,
128
- default: ""
129
- },
130
- /**
131
- * Sets an ID on the list element of the component. Used by several aria attributes
132
- * as well as when deriving the IDs for each item.
133
- */
134
- listId: {
135
- type: String,
136
- default() {
137
- return _();
138
- }
139
- },
140
- /**
141
- * A method that will be called when the selection goes past the beginning of the list.
142
- */
143
- onBeginningOfList: {
144
- type: Function,
145
- default: null
146
- },
147
- /**
148
- * A method that will be called when the selection goes past the end of the list.
149
- */
150
- onEndOfList: {
151
- type: Function,
152
- default: null
153
- },
154
- /**
155
- * Determines when to show the list element and also controls the aria-expanded attribute.
156
- * @values true, false
157
- */
158
- showList: {
159
- type: Boolean,
160
- default: !1
161
- },
162
- /**
163
- * If the list is rendered outside the component, like when using popover as the list wrapper.
164
- * @values true, false
165
- */
166
- listRenderedOutside: {
167
- type: Boolean,
168
- default: !1
169
- },
170
- /**
171
- * Determines when to show the skeletons and also controls aria-busy attribute.
172
- * @values true, false
173
- */
174
- loading: {
175
- type: Boolean,
176
- default: !1
177
- },
178
- /**
179
- * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.
180
- * @values true, false
181
- */
182
- emptyList: {
183
- type: Boolean,
184
- default: !1
185
- },
186
- /**
187
- * Message to show when the list is empty
188
- */
189
- emptyStateMessage: {
190
- type: String,
191
- default: ""
192
- },
193
- /**
194
- * Additional class name for the empty list element.
195
- * Can accept all of String, Object, and Array, i.e. has the
196
- * same api as Vue's built-in handling of the class attribute.
197
- */
198
- emptyStateClass: {
199
- type: [String, Object, Array],
200
- default: ""
201
- },
202
- /**
203
- * Programmatically click on the active list item element when a selection
204
- * comes from keyboard navigation, i.e. pressing the "Enter" key.
205
- * @values true, false
206
- */
207
- clickOnSelect: {
208
- type: Boolean,
209
- default: !1
210
- }
211
- },
212
- emits: [
213
- /**
214
- * Event fired when item selected
215
- *
216
- * @event select
217
- * @type {Number}
218
- */
219
- "select",
220
- /**
221
- * Event fired when pressing escape
222
- *
223
- * @event escape
224
- */
225
- "escape",
226
- /**
227
- * Event fired when the highlight changes
228
- *
229
- * @event highlight
230
- * @type {Number}
231
- */
232
- "highlight",
233
- /**
234
- * Event fired when list is shown or hidden
235
- *
236
- * @event opened
237
- * @type {Boolean}
238
- */
239
- "opened"
240
- ],
241
- data() {
242
- return {
243
- // If the list is rendered at the root, rather than as a child
244
- // of this component, this is the ref to that dom element. Set
245
- // by the onOpen method.
246
- outsideRenderedListRef: null,
247
- hasSlotContent: v
248
- };
249
- },
250
- computed: {
251
- inputProps() {
252
- return {
253
- label: this.label,
254
- labelVisible: this.labelVisible,
255
- size: this.size,
256
- description: this.description,
257
- role: "combobox",
258
- "aria-label": this.label,
259
- "aria-expanded": this.showList.toString(),
260
- "aria-owns": this.listId,
261
- "aria-haspopup": "listbox",
262
- "aria-activedescendant": this.activeItemId,
263
- "aria-controls": this.listId
264
- };
265
- },
266
- listProps() {
267
- return {
268
- role: "listbox",
269
- id: this.listId,
270
- // The list has to be positioned relatively so that the auto-scroll can
271
- // calculate the correct offset for the list items.
272
- class: "d-ps-relative",
273
- "aria-label": this.label
274
- };
275
- },
276
- beginningOfListMethod() {
277
- return this.onBeginningOfList || this.jumpToEnd;
278
- },
279
- endOfListMethod() {
280
- return this.onEndOfList || this.jumpToBeginning;
281
- },
282
- activeItemId() {
283
- if (!(!this.showList || this.highlightIndex < 0 || this.loading))
284
- return this.highlightId;
285
- },
286
- activeItemEl() {
287
- return this.highlightId ? this.getListElement().querySelector("#" + this.highlightId) : "";
288
- }
289
- },
290
- watch: {
291
- showList(e) {
292
- this.listRenderedOutside || (this.setInitialHighlightIndex(), this.$emit("opened", e)), !e && this.outsideRenderedListRef && (this.outsideRenderedListRef.removeEventListener("mousemove", this.onMouseHighlight), this.outsideRenderedListRef = null);
293
- },
294
- loading(e) {
295
- this.$nextTick(() => {
296
- this.setInitialHighlightIndex();
297
- });
298
- },
299
- $props: {
300
- deep: !0,
301
- immediate: !0,
302
- handler() {
303
- this.validateEmptyListProps();
304
- }
305
- }
306
- },
307
- created() {
308
- this.validateEmptyListProps();
309
- },
310
- methods: {
311
- onMouseHighlight(e) {
312
- if (this.loading)
313
- return;
314
- const t = e.target.closest("li");
315
- t && this.highlightId !== t.id && this.setHighlightId(t.id);
316
- },
317
- getListElement() {
318
- var e;
319
- return this.outsideRenderedListRef ?? ((e = this.$refs.listWrapper) == null ? void 0 : e.querySelector(`#${this.listId}`));
320
- },
321
- clearHighlightIndex() {
322
- this.showList && this.setHighlightIndex(-1);
323
- },
324
- afterHighlight() {
325
- this.loading || this.$emit("highlight", this.highlightIndex);
326
- },
327
- onEnterKey() {
328
- var e;
329
- this.loading || this.emptyList || this.highlightIndex >= 0 && (this.$emit("select", this.highlightIndex), this.clickOnSelect && ((e = this.activeItemEl) == null || e.click()));
330
- },
331
- onEscapeKey() {
332
- this.$emit("escape");
333
- },
334
- onOpen(e, t) {
335
- var n;
336
- this.outsideRenderedListRef = t, (n = this.outsideRenderedListRef) == null || n.addEventListener("mousemove", this.onMouseHighlight), this.$emit("opened", e), e && this.setInitialHighlightIndex();
337
- },
338
- onKeyValidation(e, t) {
339
- !this.showList || !this.getListElement() || this[t](e);
340
- },
341
- setInitialHighlightIndex() {
342
- this.showList && this.$nextTick(() => {
343
- this.setHighlightIndex(this.loading ? -1 : 0);
344
- });
345
- },
346
- validateEmptyListProps() {
347
- this.$slots.emptyListItem || (this.emptyList && !this.emptyStateMessage || !this.emptyList && this.emptyStateMessage) && console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the
348
- empty message.`);
349
- }
350
- }
351
- }, z = { "data-qa": "dt-combobox-input-wrapper" };
352
- function F(e, t, n, c, g, i) {
353
- const d = r("combobox-loading-list"), p = r("combobox-empty-list");
354
- return o(), h("div", {
355
- onKeydown: [
356
- t[3] || (t[3] = l(a((s) => i.onKeyValidation(s, "onEscapeKey"), ["stop"]), ["esc"])),
357
- t[4] || (t[4] = l(a((s) => i.onKeyValidation(s, "onEnterKey"), ["exact"]), ["enter"])),
358
- t[5] || (t[5] = l(a((s) => i.onKeyValidation(s, "onUpKey"), ["stop", "prevent"]), ["up"])),
359
- t[6] || (t[6] = l(a((s) => i.onKeyValidation(s, "onDownKey"), ["stop", "prevent"]), ["down"])),
360
- t[7] || (t[7] = l(a((s) => i.onKeyValidation(s, "onHomeKey"), ["stop", "prevent"]), ["home"])),
361
- t[8] || (t[8] = l(a((s) => i.onKeyValidation(s, "onEndKey"), ["stop", "prevent"]), ["end"]))
362
- ]
363
- }, [
364
- I("div", z, [
365
- m(e.$slots, "input", { inputProps: i.inputProps })
366
- ]),
367
- n.showList ? (o(), h("div", {
368
- key: 0,
369
- ref: "listWrapper",
370
- "data-qa": "dt-combobox-list-wrapper",
371
- onMouseleave: t[0] || (t[0] = (...s) => i.clearHighlightIndex && i.clearHighlightIndex(...s)),
372
- onFocusout: t[1] || (t[1] = (...s) => i.clearHighlightIndex && i.clearHighlightIndex(...s)),
373
- onMousemoveCapture: t[2] || (t[2] = (...s) => i.onMouseHighlight && i.onMouseHighlight(...s))
374
- }, [
375
- n.loading && !n.listRenderedOutside ? (o(), L(d, R(b({ key: 0 }, i.listProps)), null, 16)) : n.emptyList && (n.emptyStateMessage || g.hasSlotContent(e.$slots.emptyListItem)) && !n.listRenderedOutside ? (o(), L(p, b({ key: 1 }, i.listProps, {
376
- message: n.emptyStateMessage,
377
- "item-class": n.emptyStateClass
378
- }), {
379
- default: y(() => [
380
- m(e.$slots, "emptyListItem")
381
- ]),
382
- _: 3
383
- }, 16, ["message", "item-class"])) : m(e.$slots, "list", {
384
- key: 2,
385
- listProps: i.listProps,
386
- opened: i.onOpen,
387
- clearHighlightIndex: i.clearHighlightIndex
388
- })
389
- ], 544)) : O("", !0)
390
- ], 32);
391
- }
392
- const Z = /* @__PURE__ */ f(j, [["render", F]]);
393
- export {
394
- P as C,
395
- Z as D,
396
- T as L,
397
- D as a
398
- };
399
- //# sourceMappingURL=index-b4iXYvId.js.map
@@ -1,256 +0,0 @@
1
- import _ from "emoji-regex";
2
- import { emojisIndexed as L } from "@dialpad/dialtone-emojis";
3
- import { resolveComponent as k, openBlock as b, createElementBlock as v, withDirectives as c, createVNode as C, normalizeClass as u, vShow as d, createElementVNode as x } from "vue";
4
- import { _ as A } from "./_plugin-vue_export-helper-hUChTQA_.js";
5
- import { DtSkeleton as I } from "../lib/skeleton.js";
6
- import { I as f } from "./icon_constants-OpYAAKwF.js";
7
- const w = "8.0", j = "https://cdn.jsdelivr.net/joypixels/assets/" + w + "/png/unicode/32/";
8
- let h = null, g = j, E = ".png", S = j, p = ".png";
9
- const m = L;
10
- function P() {
11
- return m;
12
- }
13
- function H(e, t = ".png") {
14
- e.endsWith("/") || (e = e + "/"), g = e, E = t;
15
- }
16
- function Q(e, t = ".svg") {
17
- e.endsWith("/") || (e = e + "/"), S = e, p = t;
18
- }
19
- function X(e) {
20
- h = e;
21
- }
22
- function Y(e) {
23
- z(e);
24
- }
25
- function z(e) {
26
- const t = ["extension", "custom"], o = [
27
- "name",
28
- "category",
29
- "shortname",
30
- "extension",
31
- "custom"
32
- ], n = (s, i, a) => {
33
- if (s[i] === void 0) {
34
- if (!t.includes(i))
35
- return;
36
- s[i] = a;
37
- } else
38
- Array.isArray(s[i]) ? s[i] = s[i].concat(a) : s[i] = a;
39
- };
40
- Object.entries(e).forEach((s) => {
41
- const [i, a] = s;
42
- if (i in m) {
43
- const r = m[i];
44
- for (const l in a) {
45
- const D = a[l];
46
- n(r, l, D);
47
- }
48
- } else
49
- o.every((l) => a[l] !== void 0) ? m[i] = a : console.error(
50
- "The following custom emoji doesn't contain the required properties:",
51
- a
52
- );
53
- });
54
- }
55
- function y(e) {
56
- function t(n, s) {
57
- if (!(!n || typeof n != "object")) {
58
- if ("shortname" in n && (n.shortname === e || n.shortname_alternates.includes(e)))
59
- return n.key = s, o = n, !0;
60
- Object.keys(n).some(function(i) {
61
- return t(n[i], i);
62
- });
63
- }
64
- }
65
- let o;
66
- return t(P(), null), o;
67
- }
68
- function U(e) {
69
- let t = "";
70
- for (const o of e) {
71
- const n = o.codePointAt(0).toString(16).padStart(4, "0");
72
- ["200d", "fe0f"].includes(n) || (t !== "" && (t = t + "-"), t = t + n);
73
- }
74
- return t;
75
- }
76
- function V(e) {
77
- const t = e.split("-");
78
- let o = "";
79
- return t.forEach((n) => {
80
- o = o + String.fromCodePoint(parseInt(n, 16));
81
- }), o;
82
- }
83
- function q(e) {
84
- if (e.startsWith(":") && e.endsWith(":"))
85
- return y(e);
86
- {
87
- const t = U(e), o = m[t];
88
- return o && (o.key = t), o;
89
- }
90
- }
91
- function N(e) {
92
- const t = e.match(/:\w+:/g);
93
- return O(t);
94
- }
95
- function O(e) {
96
- const t = e ? e.filter((o) => y(o)) : [];
97
- return new Set(t);
98
- }
99
- function $(e) {
100
- const t = [...e.matchAll(_())], o = t.length ? t.map((n) => n[0]) : [];
101
- return new Set(o);
102
- }
103
- const R = {
104
- name: "DtEmoji",
105
- components: {
106
- DtSkeleton: I
107
- },
108
- props: {
109
- /**
110
- * Supports shortcode ex: :smile: or unicode ex: 😄. Will display the resulting emoji.
111
- * <a class="d-link" href="https://emojipedia.org/joypixels/" target="_blank">JoyPixels</a>
112
- * for all supported shortcode/unicode or the docs for setting up custom emojis.
113
- */
114
- code: {
115
- type: String,
116
- required: !0
117
- },
118
- /**
119
- * The size of the emoji. Can be any of the icon size utility classes from
120
- * <a class="d-link" href="https://dialtone.dialpad.com/components/icon.html" target="_blank"> Dialpad Icon Size</a>
121
- * @values 100, 200, 300, 400, 500, 600, 700, 800
122
- */
123
- size: {
124
- type: String,
125
- default: "500",
126
- validator: (e) => Object.keys(f).includes(e)
127
- },
128
- /**
129
- * Additional class name for the emoji img element.
130
- * Can accept String, Object, and Array, i.e. has the
131
- * same API as Vue's built-in handling of the class attribute.
132
- */
133
- imgClass: {
134
- type: [String, Object, Array],
135
- default: ""
136
- },
137
- /**
138
- * Will be read out on a screen reader for this emoji. You must use this prop if you want your emoji to be i18n
139
- * Compatible as Dialtone Vue will not translate it by itself. If you do not set this prop the aria-label will
140
- * be set to the english description of the emoji. You can retrieve the description for an emoji yourself via the
141
- * getEmojiData() function
142
- */
143
- ariaLabel: {
144
- type: String,
145
- default: null
146
- },
147
- /**
148
- * Shows a skeleton loader while the emoji asset is loading.
149
- * @values true, false
150
- */
151
- showSkeleton: {
152
- type: Boolean,
153
- default: !0
154
- }
155
- },
156
- data() {
157
- return {
158
- emojiData: null,
159
- imgLoading: !1
160
- };
161
- },
162
- computed: {
163
- emojiDataValid() {
164
- return !!this.emojiData;
165
- },
166
- emojiSrc() {
167
- var e;
168
- return this.emojiDataValid ? (e = this.emojiData) != null && e.custom ? h + this.emojiData.key + this.emojiData.extension : ["100", "200"].includes(this.size) ? g + this.emojiData.key + E : S + this.emojiData.key + p : "invalid";
169
- },
170
- emojiAlt() {
171
- if (this.emojiDataValid)
172
- return this.emojiData.unicode_output ? V(this.emojiData.unicode_output) : this.emojiData.name;
173
- },
174
- emojiLabel() {
175
- return this.emojiDataValid ? this.ariaLabel ? this.ariaLabel : this.emojiData.name : "Invalid Emoji";
176
- },
177
- emojiSize() {
178
- return f[this.size];
179
- }
180
- },
181
- watch: {
182
- code: {
183
- handler: function() {
184
- this.getEmojiData();
185
- },
186
- immediate: !0
187
- },
188
- emojiSrc: {
189
- handler: async function() {
190
- this.imgLoading = !0;
191
- },
192
- immediate: !0
193
- }
194
- },
195
- methods: {
196
- getEmojiData() {
197
- this.emojiData = q(this.code);
198
- },
199
- imageLoaded() {
200
- this.imgLoading = !1;
201
- },
202
- imageErrored() {
203
- this.imgLoading = !1;
204
- }
205
- }
206
- }, T = { class: "d-emoji__wrapper" }, W = ["aria-label", "alt", "title", "src"];
207
- function B(e, t, o, n, s, i) {
208
- const a = k("dt-skeleton");
209
- return b(), v("span", T, [
210
- c(C(a, {
211
- offset: 0,
212
- class: u(["d-icon", i.emojiSize]),
213
- "shape-option": { shape: "circle", size: "100%" }
214
- }, null, 8, ["class"]), [
215
- [d, s.imgLoading && o.showSkeleton]
216
- ]),
217
- c(x("img", {
218
- ref: "emojiImg",
219
- class: u(["d-icon", i.emojiSize, o.imgClass]),
220
- "aria-label": i.emojiLabel,
221
- alt: i.emojiAlt,
222
- title: i.emojiLabel,
223
- src: i.emojiSrc,
224
- onLoad: t[0] || (t[0] = (...r) => i.imageLoaded && i.imageLoaded(...r)),
225
- onError: t[1] || (t[1] = (...r) => i.imageErrored && i.imageErrored(...r))
226
- }, null, 42, W), [
227
- [d, !s.imgLoading]
228
- ])
229
- ]);
230
- }
231
- const ee = /* @__PURE__ */ A(R, [["render", B]]);
232
- export {
233
- ee as D,
234
- g as a,
235
- E as b,
236
- h as c,
237
- j as d,
238
- w as e,
239
- S as f,
240
- p as g,
241
- m as h,
242
- P as i,
243
- Q as j,
244
- X as k,
245
- Y as l,
246
- y as m,
247
- V as n,
248
- q as o,
249
- N as p,
250
- O as q,
251
- $ as r,
252
- H as s,
253
- U as u,
254
- z as v
255
- };
256
- //# sourceMappingURL=index-mRmwpCBG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-mRmwpCBG.js","sources":["../../common/emoji/index.js","../../components/emoji/emoji.vue"],"sourcesContent":["import emojiRegex from 'emoji-regex';\nimport { emojisIndexed } from '@dialpad/dialtone-emojis';\n\nexport const emojiVersion = '8.0';\nexport const defaultEmojiAssetUrl = 'https://cdn.jsdelivr.net/joypixels/assets/' + emojiVersion + '/png/unicode/32/';\nexport let customEmojiAssetUrl = null;\n\n// Used for emoji 16px and smaller\nexport let emojiImageUrlSmall = defaultEmojiAssetUrl;\nexport let emojiFileExtensionSmall = '.png';\n\n// Used for emoji larger than 16px\nexport let emojiImageUrlLarge = defaultEmojiAssetUrl;\nexport let emojiFileExtensionLarge = '.png';\n\nexport const emojiJson = emojisIndexed;\n\nexport function getEmojiData () {\n return emojiJson;\n}\n\nexport function setEmojiAssetUrlSmall (url, fileExtension = '.png') {\n if (!url.endsWith('/')) {\n url = url + '/';\n }\n emojiImageUrlSmall = url;\n emojiFileExtensionSmall = fileExtension;\n}\n\nexport function setEmojiAssetUrlLarge (url, fileExtension = '.svg') {\n if (!url.endsWith('/')) {\n url = url + '/';\n }\n emojiImageUrlLarge = url;\n emojiFileExtensionLarge = fileExtension;\n}\n\nexport function setCustomEmojiUrl (url) {\n customEmojiAssetUrl = url;\n}\n\nexport function setCustomEmojiJson (json) {\n validateCustomEmojiJson(json);\n}\n\n/**\n * Validate custom emoji json\n */\nexport function validateCustomEmojiJson (json) {\n const customEmojiProps = ['extension', 'custom'];\n const customEmojiRequiredProps = [\n 'name',\n 'category',\n 'shortname',\n 'extension',\n 'custom',\n ];\n\n /**\n * Update single emoji properties.\n * If the property exists in emojiData, it'll add the values if the property is an array, otherwise will overwrite.\n * If not exists, will add the property to the emojiData object.\n */\n const _updateNativeEmojiData = (emojiData, propName, propValue) => {\n if (emojiData[propName] === undefined) {\n if (!customEmojiProps.includes(propName)) {\n return;\n }\n\n // new property to add\n emojiData[propName] = propValue;\n } else {\n if (Array.isArray(emojiData[propName])) {\n emojiData[propName] = emojiData[propName].concat(propValue);\n } else {\n emojiData[propName] = propValue;\n }\n }\n };\n\n Object.entries(json).forEach((item) => {\n const [customEmojiKey, customEmojiValue] = item;\n\n if (customEmojiKey in emojiJson) {\n // custom emoji exists in emoji json which means to update some data in the native emoji\n const emojiData = emojiJson[customEmojiKey];\n\n for (const customEmojiPropertyName in customEmojiValue) {\n const customEmojiPropertyValue = customEmojiValue[customEmojiPropertyName];\n\n _updateNativeEmojiData(emojiData, customEmojiPropertyName, customEmojiPropertyValue);\n }\n } else {\n // new custom emoji\n const _validateRequiredProps = () =>\n customEmojiRequiredProps.every((val) => {\n return customEmojiValue[val] !== undefined;\n });\n\n if (_validateRequiredProps()) {\n emojiJson[customEmojiKey] = customEmojiValue;\n } else {\n console.error(\n 'The following custom emoji doesn\\'t contain the required properties:',\n customEmojiValue,\n );\n }\n }\n });\n}\n\n// recursively searches the emoji data object containing data for all emojis\n// and returns the object with the specified shortcode.\nexport function shortcodeToEmojiData (shortcode) {\n // eslint-disable-next-line complexity\n function f (o, key) {\n if (!o || typeof o !== 'object') {\n return;\n }\n if ('shortname' in o) {\n if (o.shortname === shortcode || o.shortname_alternates.includes(shortcode)) {\n o.key = key;\n reference = o;\n return true;\n }\n }\n Object.keys(o).some(function (k) {\n return f(o[k], k);\n });\n }\n\n let reference;\n f(getEmojiData(), null);\n return reference;\n}\n\n// Takes in an emoji unicode character(s) and converts it to an emoji string in the format the emoji data object expects\n// as a key. There can be multiple unicode characters in an emoji to denote the emoji itself, skin tone, gender\n// and such. Note that this function does NOT return variation selectors (fe0f) or zero width joiners (200d), as these\n// are not included as part of the key in the emoji.json.\n//\n// Example:\n// return value for smile emoji (no skin tone): 1f600\n// return value for left facing fist (light skin tone): 1f91b-1f3fb\nexport function unicodeToString (emoji) {\n let key = '';\n for (const codePoint of emoji) {\n const codepoint = codePoint.codePointAt(0).toString(16).padStart(4, '0');\n\n // skip 200d and fe0f as these are not included in emoji_strategy.json keys\n if (['200d', 'fe0f'].includes(codepoint)) continue;\n if (key !== '') { key = key + '-'; }\n key = key + codepoint;\n }\n return key;\n}\n\n// Takes in unicode in string form ex: '1f91b-1f3fb' and converts it to an actual unicode character.\nexport function stringToUnicode (str) {\n const uChars = str.split('-');\n let result = '';\n uChars.forEach((uChar) => {\n result = result + String.fromCodePoint(parseInt(uChar, 16));\n });\n return result;\n}\n\n// Takes in a code (which could be unicode or shortcode) and returns the emoji data for it.\nexport function codeToEmojiData (code) {\n if (code.startsWith(':') && code.endsWith(':')) {\n return shortcodeToEmojiData(code);\n } else {\n const unicodeString = unicodeToString(code);\n\n const result = emojiJson[unicodeString];\n if (result) result.key = unicodeString;\n return result;\n }\n}\n\n// Finds every shortcode in slot text\n// filters only the existing codes in emojiJson\n// removes duplicates.\n// @returns {string[]}\nexport function findShortCodes (textContent) {\n const shortcodes = textContent.match(/:\\w+:/g);\n return filterValidShortCodes(shortcodes);\n}\n\nexport function filterValidShortCodes (shortcodes) {\n const filtered = shortcodes ? shortcodes.filter(code => shortcodeToEmojiData(code)) : [];\n return new Set(filtered);\n}\n\n// Finds every emoji in slot text\n// removes duplicates\n// @returns {string[]}\nexport function findEmojis (textContent) {\n const matches = [...textContent.matchAll(emojiRegex())];\n const emojis = matches.length ? matches.map(match => match[0]) : [];\n return new Set(emojis);\n}\n","<template>\n <span class=\"d-emoji__wrapper\">\n <dt-skeleton\n v-show=\"imgLoading && showSkeleton\"\n :offset=\"0\"\n :class=\"['d-icon', emojiSize]\"\n :shape-option=\"{ shape: 'circle', size: '100%' }\"\n />\n <img\n v-show=\"!imgLoading\"\n ref=\"emojiImg\"\n :class=\"['d-icon', emojiSize, imgClass]\"\n :aria-label=\"emojiLabel\"\n :alt=\"emojiAlt\"\n :title=\"emojiLabel\"\n :src=\"emojiSrc\"\n @load=\"imageLoaded\"\n @error=\"imageErrored\"\n >\n </span>\n</template>\n\n<script>\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport {\n codeToEmojiData,\n stringToUnicode,\n emojiImageUrlSmall,\n emojiFileExtensionSmall,\n emojiImageUrlLarge,\n emojiFileExtensionLarge,\n customEmojiAssetUrl,\n} from '@/common/emoji';\nimport { DtSkeleton } from '@/components/skeleton';\n\n/**\n * Renders an emoji from a shortcode such as :smile: or unicode character such as 😄\n * @see https://dialtone.dialpad.com/components/emoji.html\n */\nexport default {\n name: 'DtEmoji',\n\n components: {\n DtSkeleton,\n },\n\n props: {\n /**\n * Supports shortcode ex: :smile: or unicode ex: 😄. Will display the resulting emoji.\n * <a class=\"d-link\" href=\"https://emojipedia.org/joypixels/\" target=\"_blank\">JoyPixels</a>\n * for all supported shortcode/unicode or the docs for setting up custom emojis.\n */\n code: {\n type: String,\n required: true,\n },\n\n /**\n * The size of the emoji. Can be any of the icon size utility classes from\n * <a class=\"d-link\" href=\"https://dialtone.dialpad.com/components/icon.html\" target=\"_blank\"> Dialpad Icon Size</a>\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n\n /**\n * Additional class name for the emoji img 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 imgClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Will be read out on a screen reader for this emoji. You must use this prop if you want your emoji to be i18n\n * Compatible as Dialtone Vue will not translate it by itself. If you do not set this prop the aria-label will\n * be set to the english description of the emoji. You can retrieve the description for an emoji yourself via the\n * getEmojiData() function\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Shows a skeleton loader while the emoji asset is loading.\n * @values true, false\n */\n showSkeleton: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n emojiData: null,\n imgLoading: false,\n };\n },\n\n computed: {\n emojiDataValid () {\n return !!this.emojiData;\n },\n\n emojiSrc () {\n if (!this.emojiDataValid) { return 'invalid'; }\n\n // custom emoji\n if (this.emojiData?.custom) {\n return customEmojiAssetUrl + this.emojiData.key + this.emojiData.extension;\n }\n\n if (['100', '200'].includes(this.size)) {\n return emojiImageUrlSmall + this.emojiData.key + emojiFileExtensionSmall;\n } else {\n return emojiImageUrlLarge + this.emojiData.key + emojiFileExtensionLarge;\n }\n },\n\n emojiAlt () {\n if (!this.emojiDataValid) { return undefined; }\n return this.emojiData.unicode_output ? stringToUnicode(this.emojiData.unicode_output) : this.emojiData.name;\n },\n\n emojiLabel () {\n if (!this.emojiDataValid) { return 'Invalid Emoji'; }\n return this.ariaLabel ? this.ariaLabel : this.emojiData.name;\n },\n\n emojiSize () {\n return ICON_SIZE_MODIFIERS[this.size];\n },\n },\n\n watch: {\n code: {\n handler: function () {\n this.getEmojiData();\n },\n\n immediate: true,\n },\n\n emojiSrc: {\n handler: async function () {\n this.imgLoading = true;\n },\n\n immediate: true,\n },\n },\n\n methods: {\n getEmojiData () {\n this.emojiData = codeToEmojiData(this.code);\n },\n\n imageLoaded () {\n this.imgLoading = false;\n },\n\n imageErrored () {\n this.imgLoading = false;\n },\n },\n};\n</script>\n"],"names":["emojiVersion","defaultEmojiAssetUrl","customEmojiAssetUrl","emojiImageUrlSmall","emojiFileExtensionSmall","emojiImageUrlLarge","emojiFileExtensionLarge","emojiJson","emojisIndexed","getEmojiData","setEmojiAssetUrlSmall","url","fileExtension","setEmojiAssetUrlLarge","setCustomEmojiUrl","setCustomEmojiJson","json","validateCustomEmojiJson","customEmojiProps","customEmojiRequiredProps","_updateNativeEmojiData","emojiData","propName","propValue","item","customEmojiKey","customEmojiValue","customEmojiPropertyName","customEmojiPropertyValue","val","shortcodeToEmojiData","shortcode","f","o","key","reference","k","unicodeToString","emoji","codePoint","codepoint","stringToUnicode","str","uChars","result","uChar","codeToEmojiData","code","unicodeString","findShortCodes","textContent","shortcodes","filterValidShortCodes","filtered","findEmojis","matches","emojiRegex","emojis","match","_sfc_main","DtSkeleton","t","ICON_SIZE_MODIFIERS","_a","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_dt_skeleton","$options","_vShow","$data","$props","_createElementVNode","_normalizeClass","args"],"mappings":";;;;;;AAGY,MAACA,IAAe,OACfC,IAAuB,+CAA+CD,IAAe;AACxF,IAACE,IAAsB,MAGtBC,IAAqBF,GACrBG,IAA0B,QAG1BC,IAAqBJ,GACrBK,IAA0B;AAEzB,MAACC,IAAYC;AAElB,SAASC,IAAgB;AAC9B,SAAOF;AACT;AAEO,SAASG,EAAuBC,GAAKC,IAAgB,QAAQ;AAClE,EAAKD,EAAI,SAAS,GAAG,MACnBA,IAAMA,IAAM,MAEdR,IAAqBQ,GACrBP,IAA0BQ;AAC5B;AAEO,SAASC,EAAuBF,GAAKC,IAAgB,QAAQ;AAClE,EAAKD,EAAI,SAAS,GAAG,MACnBA,IAAMA,IAAM,MAEdN,IAAqBM,GACrBL,IAA0BM;AAC5B;AAEO,SAASE,EAAmBH,GAAK;AACtC,EAAAT,IAAsBS;AACxB;AAEO,SAASI,EAAoBC,GAAM;AACxC,EAAAC,EAAwBD,CAAI;AAC9B;AAKO,SAASC,EAAyBD,GAAM;AAC7C,QAAME,IAAmB,CAAC,aAAa,QAAQ,GACzCC,IAA2B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAOQC,IAAyB,CAACC,GAAWC,GAAUC,MAAc;AACjE,QAAIF,EAAUC,CAAQ,MAAM,QAAW;AACrC,UAAI,CAACJ,EAAiB,SAASI,CAAQ;AACrC;AAIF,MAAAD,EAAUC,CAAQ,IAAIC;AAAA,IAC5B;AACM,MAAI,MAAM,QAAQF,EAAUC,CAAQ,CAAC,IACnCD,EAAUC,CAAQ,IAAID,EAAUC,CAAQ,EAAE,OAAOC,CAAS,IAE1DF,EAAUC,CAAQ,IAAIC;AAAA,EAG9B;AAEE,SAAO,QAAQP,CAAI,EAAE,QAAQ,CAACQ,MAAS;AACrC,UAAM,CAACC,GAAgBC,CAAgB,IAAIF;AAE3C,QAAIC,KAAkBlB,GAAW;AAE/B,YAAMc,IAAYd,EAAUkB,CAAc;AAE1C,iBAAWE,KAA2BD,GAAkB;AACtD,cAAME,IAA2BF,EAAiBC,CAAuB;AAEzE,QAAAP,EAAuBC,GAAWM,GAAyBC,CAAwB;AAAA,MACpF;AAAA,IACP;AAOM,MAJET,EAAyB,MAAM,CAACU,MACvBH,EAAiBG,CAAG,MAAM,MAClC,IAGDtB,EAAUkB,CAAc,IAAIC,IAE5B,QAAQ;AAAA,QACN;AAAA,QACAA;AAAA,MACV;AAAA,EAGA,CAAG;AACH;AAIO,SAASI,EAAsBC,GAAW;AAE/C,WAASC,EAAGC,GAAGC,GAAK;AAClB,QAAI,GAACD,KAAK,OAAOA,KAAM,WAGvB;AAAA,UAAI,eAAeA,MACbA,EAAE,cAAcF,KAAaE,EAAE,qBAAqB,SAASF,CAAS;AACxE,eAAAE,EAAE,MAAMC,GACRC,IAAYF,GACL;AAGX,aAAO,KAAKA,CAAC,EAAE,KAAK,SAAUG,GAAG;AAC/B,eAAOJ,EAAEC,EAAEG,CAAC,GAAGA,CAAC;AAAA,MACtB,CAAK;AAAA;AAAA,EACF;AAED,MAAID;AACJ,SAAAH,EAAEvB,KAAgB,IAAI,GACf0B;AACT;AAUO,SAASE,EAAiBC,GAAO;AACtC,MAAIJ,IAAM;AACV,aAAWK,KAAaD,GAAO;AAC7B,UAAME,IAAYD,EAAU,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAGvE,IAAI,CAAC,QAAQ,MAAM,EAAE,SAASC,CAAS,MACnCN,MAAQ,OAAMA,IAAMA,IAAM,MAC9BA,IAAMA,IAAMM;AAAA,EACb;AACD,SAAON;AACT;AAGO,SAASO,EAAiBC,GAAK;AACpC,QAAMC,IAASD,EAAI,MAAM,GAAG;AAC5B,MAAIE,IAAS;AACb,SAAAD,EAAO,QAAQ,CAACE,MAAU;AACxB,IAAAD,IAASA,IAAS,OAAO,cAAc,SAASC,GAAO,EAAE,CAAC;AAAA,EAC9D,CAAG,GACMD;AACT;AAGO,SAASE,EAAiBC,GAAM;AACrC,MAAIA,EAAK,WAAW,GAAG,KAAKA,EAAK,SAAS,GAAG;AAC3C,WAAOjB,EAAqBiB,CAAI;AAC3B;AACL,UAAMC,IAAgBX,EAAgBU,CAAI,GAEpCH,IAASrC,EAAUyC,CAAa;AACtC,WAAIJ,MAAQA,EAAO,MAAMI,IAClBJ;AAAA,EACR;AACH;AAMO,SAASK,EAAgBC,GAAa;AAC3C,QAAMC,IAAaD,EAAY,MAAM,QAAQ;AAC7C,SAAOE,EAAsBD,CAAU;AACzC;AAEO,SAASC,EAAuBD,GAAY;AACjD,QAAME,IAAWF,IAAaA,EAAW,OAAO,CAAAJ,MAAQjB,EAAqBiB,CAAI,CAAC,IAAI;AACtF,SAAO,IAAI,IAAIM,CAAQ;AACzB;AAKO,SAASC,EAAYJ,GAAa;AACvC,QAAMK,IAAU,CAAC,GAAGL,EAAY,SAASM,EAAY,CAAA,CAAC,GAChDC,IAASF,EAAQ,SAASA,EAAQ,IAAI,CAAAG,MAASA,EAAM,CAAC,CAAC,IAAI;AACjE,SAAO,IAAI,IAAID,CAAM;AACvB;AClKA,MAAKE,IAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAAC;AAAA,EACD;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAACC,MAAM,OAAO,KAAKC,CAAmB,EAAE,SAASD,CAAC;AAAA,IAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,QAAQ,KAAK;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,WAAW;AAAA,MACX,YAAY;AAAA;EAEf;AAAA,EAED,UAAU;AAAA,IACR,iBAAkB;AAChB,aAAO,CAAC,CAAC,KAAK;AAAA,IACf;AAAA,IAED,WAAY;;AACV,aAAK,KAAK,kBAGNE,IAAA,KAAK,cAAL,QAAAA,EAAgB,SACX7D,IAAsB,KAAK,UAAU,MAAM,KAAK,UAAU,YAG/D,CAAC,OAAO,KAAK,EAAE,SAAS,KAAK,IAAI,IAC5BC,IAAqB,KAAK,UAAU,MAAMC,IAE1CC,IAAqB,KAAK,UAAU,MAAMC,IAVhB;AAAA,IAYpC;AAAA,IAED,WAAY;AACV,UAAK,KAAK;AACV,eAAO,KAAK,UAAU,iBAAiBmC,EAAgB,KAAK,UAAU,cAAc,IAAI,KAAK,UAAU;AAAA,IACxG;AAAA,IAED,aAAc;AACZ,aAAK,KAAK,iBACH,KAAK,YAAY,KAAK,YAAY,KAAK,UAAU,OADrB;AAAA,IAEpC;AAAA,IAED,YAAa;AACX,aAAOqB,EAAoB,KAAK,IAAI;AAAA,IACrC;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,SAAS,WAAY;AACnB,aAAK,aAAY;AAAA,MAClB;AAAA,MAED,WAAW;AAAA,IACZ;AAAA,IAED,UAAU;AAAA,MACR,SAAS,iBAAkB;AACzB,aAAK,aAAa;AAAA,MACnB;AAAA,MAED,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EAED,SAAS;AAAA,IACP,eAAgB;AACd,WAAK,YAAYhB,EAAgB,KAAK,IAAI;AAAA,IAC3C;AAAA,IAED,cAAe;AACb,WAAK,aAAa;AAAA,IACnB;AAAA,IAED,eAAgB;AACd,WAAK,aAAa;AAAA,IACnB;AAAA,EACF;AACH,GA3KQkB,IAAA,EAAA,OAAM,mBAAkB;;;AAA9B,SAAAC,EAAA,GAAAC,EAkBO,QAlBPF,GAkBO;AAAA,MAjBLG,EAKEC,GAAA;AAAA,MAHC,QAAQ;AAAA,MACR,oBAAkBC,EAAS,SAAA,CAAA;AAAA,MAC3B,gBAAc,EAAiC,OAAA,UAAA,MAAA,OAAA;AAAA;MAHxC,CAAAC,GAAAC,EAAA,cAAcC,EAAY,YAAA;AAAA;MAKpCC,EAUC,OAAA;AAAA,MARC,KAAI;AAAA,MACH,OAAKC,EAAA,CAAA,UAAaL,EAAS,WAAEG,EAAQ,QAAA,CAAA;AAAA,MACrC,cAAYH,EAAU;AAAA,MACtB,KAAKA,EAAQ;AAAA,MACb,OAAOA,EAAU;AAAA,MACjB,KAAKA,EAAQ;AAAA,MACb,kCAAMA,EAAW,eAAAA,EAAA,YAAA,GAAAM,CAAA;AAAA,MACjB,mCAAON,EAAY,gBAAAA,EAAA,aAAA,GAAAM,CAAA;AAAA;WARXJ,EAAU,UAAA;AAAA;;;;"}