@dialpad/dialtone-vue 2.124.0 → 2.125.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js +33 -0
  2. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js.map +1 -0
  3. package/dist/chunks/dropdown-SMWaTWyF.js +357 -0
  4. package/dist/chunks/dropdown-SMWaTWyF.js.map +1 -0
  5. package/dist/chunks/dropdown_constants-EUcDxBrX.js +9 -0
  6. package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +1 -0
  7. package/dist/chunks/icon_constants-OpYAAKwF.js +16 -0
  8. package/dist/chunks/icon_constants-OpYAAKwF.js.map +1 -0
  9. package/dist/chunks/index-nIyl_PL6.js +372 -0
  10. package/dist/chunks/index-nIyl_PL6.js.map +1 -0
  11. package/dist/chunks/index-o4OMWMuv.js +244 -0
  12. package/dist/chunks/index-o4OMWMuv.js.map +1 -0
  13. package/dist/chunks/input-1tm09l_-.js +273 -0
  14. package/dist/chunks/input-1tm09l_-.js.map +1 -0
  15. package/dist/chunks/input_group-zcAq3DQl.js +141 -0
  16. package/dist/chunks/input_group-zcAq3DQl.js.map +1 -0
  17. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +197 -0
  18. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js.map +1 -0
  19. package/dist/chunks/link_constants-vIUB92L4.js +16 -0
  20. package/dist/chunks/link_constants-vIUB92L4.js.map +1 -0
  21. package/dist/chunks/list_item_constants-LTUc74pD.js +13 -0
  22. package/dist/chunks/list_item_constants-LTUc74pD.js.map +1 -0
  23. package/dist/chunks/modal-VuMFkZFH.js +82 -0
  24. package/dist/chunks/modal-VuMFkZFH.js.map +1 -0
  25. package/dist/chunks/notice_action-9NmtQRai.js +182 -0
  26. package/dist/chunks/notice_action-9NmtQRai.js.map +1 -0
  27. package/dist/chunks/notice_constants-c--hBFQw.js +6 -0
  28. package/dist/chunks/notice_constants-c--hBFQw.js.map +1 -0
  29. package/dist/chunks/popover_constants-qjlEkroB.js +114 -0
  30. package/dist/chunks/popover_constants-qjlEkroB.js.map +1 -0
  31. package/dist/chunks/sr_only_close_button-JGole5Xi.js +86 -0
  32. package/dist/chunks/sr_only_close_button-JGole5Xi.js.map +1 -0
  33. package/dist/chunks/stack_constants-u7tNqGtc.js +13 -0
  34. package/dist/chunks/stack_constants-u7tNqGtc.js.map +1 -0
  35. package/dist/chunks/tab-Qm9LVkYj.js +346 -0
  36. package/dist/chunks/tab-Qm9LVkYj.js.map +1 -0
  37. package/dist/component-documentation.json +1 -1
  38. package/dist/dialtone-vue.js +356 -10364
  39. package/dist/dialtone-vue.js.map +1 -0
  40. package/dist/lib/attachment-carousel.js +250 -0
  41. package/dist/lib/attachment-carousel.js.map +1 -0
  42. package/dist/lib/avatar.js +369 -0
  43. package/dist/lib/avatar.js.map +1 -0
  44. package/dist/lib/badge.js +169 -0
  45. package/dist/lib/badge.js.map +1 -0
  46. package/dist/lib/banner.js +200 -0
  47. package/dist/lib/banner.js.map +1 -0
  48. package/dist/lib/breadcrumbs.js +138 -0
  49. package/dist/lib/breadcrumbs.js.map +1 -0
  50. package/dist/lib/button-group.js +45 -0
  51. package/dist/lib/button-group.js.map +1 -0
  52. package/dist/lib/button.js +328 -0
  53. package/dist/lib/button.js.map +1 -0
  54. package/dist/lib/callbar-button-with-popover.js +235 -0
  55. package/dist/lib/callbar-button-with-popover.js.map +1 -0
  56. package/dist/lib/callbar-button.js +175 -0
  57. package/dist/lib/callbar-button.js.map +1 -0
  58. package/dist/lib/callbox.js +142 -0
  59. package/dist/lib/callbox.js.map +1 -0
  60. package/dist/lib/card.js +72 -0
  61. package/dist/lib/card.js.map +1 -0
  62. package/dist/lib/checkbox-group.js +117 -0
  63. package/dist/lib/checkbox-group.js.map +1 -0
  64. package/dist/lib/checkbox.js +117 -0
  65. package/dist/lib/checkbox.js.map +1 -0
  66. package/dist/lib/chip.js +186 -0
  67. package/dist/lib/chip.js.map +1 -0
  68. package/dist/lib/codeblock.js +29 -0
  69. package/dist/lib/codeblock.js.map +1 -0
  70. package/dist/lib/collapsible.js +313 -0
  71. package/dist/lib/collapsible.js.map +1 -0
  72. package/dist/lib/combobox-multi-select.js +433 -0
  73. package/dist/lib/combobox-multi-select.js.map +1 -0
  74. package/dist/lib/combobox-with-popover.js +341 -0
  75. package/dist/lib/combobox-with-popover.js.map +1 -0
  76. package/dist/lib/combobox.js +19 -0
  77. package/dist/lib/combobox.js.map +1 -0
  78. package/dist/lib/constants.js +53 -0
  79. package/dist/lib/constants.js.map +1 -0
  80. package/dist/lib/contact-info.js +145 -0
  81. package/dist/lib/contact-info.js.map +1 -0
  82. package/dist/lib/contact-row.js +203 -0
  83. package/dist/lib/contact-row.js.map +1 -0
  84. package/dist/lib/datepicker.js +552 -0
  85. package/dist/lib/datepicker.js.map +1 -0
  86. package/dist/lib/dates.js +57 -0
  87. package/dist/lib/dates.js.map +1 -0
  88. package/dist/lib/description-list.js +83 -0
  89. package/dist/lib/description-list.js.map +1 -0
  90. package/dist/lib/dropdown.js +45 -0
  91. package/dist/lib/dropdown.js.map +1 -0
  92. package/dist/lib/editor.js +527 -0
  93. package/dist/lib/editor.js.map +1 -0
  94. package/dist/{emoji_picker-kiTOKaq8.js → lib/emoji-picker.js} +30 -11
  95. package/dist/lib/emoji-picker.js.map +1 -0
  96. package/dist/lib/emoji-row.js +83 -0
  97. package/dist/lib/emoji-row.js.map +1 -0
  98. package/dist/{emoji_text_wrapper-48ClwKvf.js → lib/emoji-text-wrapper.js} +19 -13
  99. package/dist/lib/emoji-text-wrapper.js.map +1 -0
  100. package/dist/lib/emoji.js +11 -0
  101. package/dist/lib/emoji.js.map +1 -0
  102. package/dist/lib/feed-item-row.js +207 -0
  103. package/dist/lib/feed-item-row.js.map +1 -0
  104. package/dist/lib/feed-pill.js +142 -0
  105. package/dist/lib/feed-pill.js.map +1 -0
  106. package/dist/lib/general-row.js +379 -0
  107. package/dist/lib/general-row.js.map +1 -0
  108. package/dist/lib/group-row.js +115 -0
  109. package/dist/lib/group-row.js.map +1 -0
  110. package/dist/lib/grouped-chip.js +45 -0
  111. package/dist/lib/grouped-chip.js.map +1 -0
  112. package/dist/lib/hovercard.js +194 -0
  113. package/dist/lib/hovercard.js.map +1 -0
  114. package/dist/lib/icon.js +82 -0
  115. package/dist/lib/icon.js.map +1 -0
  116. package/dist/lib/image-viewer.js +171 -0
  117. package/dist/lib/image-viewer.js.map +1 -0
  118. package/dist/lib/input-group.js +90 -0
  119. package/dist/lib/input-group.js.map +1 -0
  120. package/dist/lib/input.js +455 -0
  121. package/dist/lib/input.js.map +1 -0
  122. package/dist/lib/item-layout.js +39 -0
  123. package/dist/lib/item-layout.js.map +1 -0
  124. package/dist/lib/ivr-node.js +195 -0
  125. package/dist/lib/ivr-node.js.map +1 -0
  126. package/dist/lib/keyboard-shortcut.js +100 -0
  127. package/dist/lib/keyboard-shortcut.js.map +1 -0
  128. package/dist/lib/lazy-show.js +77 -0
  129. package/dist/lib/lazy-show.js.map +1 -0
  130. package/dist/lib/link.js +69 -0
  131. package/dist/lib/link.js.map +1 -0
  132. package/dist/lib/list-item-group.js +59 -0
  133. package/dist/lib/list-item-group.js.map +1 -0
  134. package/dist/lib/list-item.js +195 -0
  135. package/dist/lib/list-item.js.map +1 -0
  136. package/dist/{message_input.js → lib/message-input.js} +107 -55
  137. package/dist/lib/message-input.js.map +1 -0
  138. package/dist/lib/mixins.js +17 -0
  139. package/dist/lib/mixins.js.map +1 -0
  140. package/dist/lib/modal.js +324 -0
  141. package/dist/lib/modal.js.map +1 -0
  142. package/dist/lib/notice.js +158 -0
  143. package/dist/lib/notice.js.map +1 -0
  144. package/dist/lib/pagination.js +142 -0
  145. package/dist/lib/pagination.js.map +1 -0
  146. package/dist/lib/popover.js +779 -0
  147. package/dist/lib/popover.js.map +1 -0
  148. package/dist/lib/presence.js +60 -0
  149. package/dist/lib/presence.js.map +1 -0
  150. package/dist/lib/radio-group.js +97 -0
  151. package/dist/lib/radio-group.js.map +1 -0
  152. package/dist/lib/radio.js +111 -0
  153. package/dist/lib/radio.js.map +1 -0
  154. package/dist/lib/rich-text-editor.js +920 -0
  155. package/dist/lib/rich-text-editor.js.map +1 -0
  156. package/dist/lib/root-layout.js +127 -0
  157. package/dist/lib/root-layout.js.map +1 -0
  158. package/dist/lib/select-menu.js +243 -0
  159. package/dist/lib/select-menu.js.map +1 -0
  160. package/dist/lib/settings-menu-button.js +65 -0
  161. package/dist/lib/settings-menu-button.js.map +1 -0
  162. package/dist/lib/skeleton.js +574 -0
  163. package/dist/lib/skeleton.js.map +1 -0
  164. package/dist/lib/stack.js +118 -0
  165. package/dist/lib/stack.js.map +1 -0
  166. package/dist/lib/tabs.js +93 -0
  167. package/dist/lib/tabs.js.map +1 -0
  168. package/dist/lib/time-pill.js +43 -0
  169. package/dist/lib/time-pill.js.map +1 -0
  170. package/dist/lib/toast.js +226 -0
  171. package/dist/lib/toast.js.map +1 -0
  172. package/dist/lib/toggle.js +169 -0
  173. package/dist/lib/toggle.js.map +1 -0
  174. package/dist/{directives.js → lib/tooltip-directive.js} +24 -17
  175. package/dist/lib/tooltip-directive.js.map +1 -0
  176. package/dist/lib/tooltip.js +376 -0
  177. package/dist/lib/tooltip.js.map +1 -0
  178. package/dist/lib/top-banner-info.js +60 -0
  179. package/dist/lib/top-banner-info.js.map +1 -0
  180. package/dist/lib/unread-pill.js +61 -0
  181. package/dist/lib/unread-pill.js.map +1 -0
  182. package/dist/lib/utils.js +175 -0
  183. package/dist/lib/utils.js.map +1 -0
  184. package/dist/lib/validation-messages.js +83 -0
  185. package/dist/lib/validation-messages.js.map +1 -0
  186. package/dist/lib/validators.js +12 -0
  187. package/dist/lib/validators.js.map +1 -0
  188. package/dist/style.css +1 -1
  189. package/dist/types/common/{constants.d.ts → constants/index.d.ts} +1 -1
  190. package/dist/types/common/constants/index.d.ts.map +1 -0
  191. package/dist/types/common/{dates.d.ts → dates/index.d.ts} +1 -1
  192. package/dist/types/common/dates/index.d.ts.map +1 -0
  193. package/dist/types/common/{emoji.d.ts → emoji/index.d.ts} +1 -1
  194. package/dist/types/common/{emoji.d.ts.map → emoji/index.d.ts.map} +1 -1
  195. package/dist/types/common/{utils.d.ts → utils/index.d.ts} +1 -1
  196. package/dist/types/common/utils/index.d.ts.map +1 -0
  197. package/dist/types/common/{validators.d.ts → validators/index.d.ts} +1 -1
  198. package/dist/types/common/validators/index.d.ts.map +1 -0
  199. package/dist/types/components/avatar/avatar.vue.d.ts +1 -1
  200. package/dist/types/components/button/button.vue.d.ts +2 -2
  201. package/dist/types/components/card/card.vue.d.ts +1 -1
  202. package/dist/types/components/checkbox/checkbox.vue.d.ts +7 -7
  203. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  204. package/dist/types/components/chip/chip.vue.d.ts +2 -2
  205. package/dist/types/components/collapsible/collapsible.vue.d.ts +3 -3
  206. package/dist/types/components/combobox/combobox.vue.d.ts +7 -8
  207. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  208. package/dist/types/components/dropdown/dropdown.vue.d.ts +1 -1
  209. package/dist/types/components/emoji/emoji.vue.d.ts +1 -1
  210. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +1 -219
  211. package/dist/types/components/icon/icon.vue.d.ts +20 -16
  212. package/dist/types/components/icon/icon.vue.d.ts.map +1 -1
  213. package/dist/types/components/icon/icon_constants.d.ts +2 -0
  214. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  215. package/dist/types/components/icon/index.d.ts +1 -1
  216. package/dist/types/components/input_group/input_group.vue.d.ts +15 -6
  217. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  218. package/dist/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
  219. package/dist/types/components/modal/modal.vue.d.ts +7 -2
  220. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  221. package/dist/types/components/notice/notice_action.vue.d.ts +3 -1
  222. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  223. package/dist/types/components/popover/popover_header_footer.vue.d.ts +1 -1
  224. package/dist/types/components/radio/radio.vue.d.ts +2 -12
  225. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  226. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +1 -1
  227. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
  228. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
  229. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
  230. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +8 -3
  231. package/dist/types/components/skeleton/skeleton-text.vue.d.ts.map +1 -1
  232. package/dist/types/components/skeleton/skeleton.vue.d.ts +1 -1
  233. package/dist/types/components/toggle/toggle.vue.d.ts +1 -1
  234. package/dist/types/components/tooltip/tooltip.vue.d.ts +2 -2
  235. package/dist/types/index.d.ts +36 -29
  236. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +1 -1
  237. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +2 -2
  238. package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  239. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
  240. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +9 -0
  241. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  242. package/package.json +19 -59
  243. package/CHANGELOG.json +0 -1
  244. package/CHANGELOG.md +0 -2890
  245. package/dist/dialtone-vue.cjs +0 -5
  246. package/dist/directives.cjs +0 -1
  247. package/dist/emoji.cjs +0 -1
  248. package/dist/emoji.js +0 -35
  249. package/dist/emoji_picker-njWWAm6V.cjs +0 -1
  250. package/dist/emoji_text_wrapper-ZlynvHnd.cjs +0 -1
  251. package/dist/index-OF94C6nQ.js +0 -142833
  252. package/dist/index-Wx7Jagcr.cjs +0 -1
  253. package/dist/message_input.cjs +0 -1
  254. package/dist/rich_text_editor-9sMob7ck.js +0 -16478
  255. package/dist/rich_text_editor-Eh5kYokw.cjs +0 -97
  256. package/dist/tooltip-88U5vFMA.js +0 -2516
  257. package/dist/tooltip-i2wxFIIi.cjs +0 -21
  258. package/dist/types/common/constants.d.ts.map +0 -1
  259. package/dist/types/common/dates.d.ts.map +0 -1
  260. package/dist/types/common/utils.d.ts.map +0 -1
  261. package/dist/types/common/validators.d.ts.map +0 -1
  262. package/dist/types/components/emoji_picker/emojis/index.d.ts +0 -50
  263. package/dist/types/components/emoji_picker/emojis/index.d.ts.map +0 -1
  264. package/dist/types/directives.d.ts +0 -2
  265. package/dist/types/directives.d.ts.map +0 -1
  266. package/dist/types/emoji.d.ts +0 -5
  267. package/dist/types/emoji.d.ts.map +0 -1
  268. package/dist/types/message_input.d.ts +0 -3
  269. package/dist/types/message_input.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-layout.js","sources":["../../components/item_layout/item_layout.vue"],"sourcesContent":["<template>\n <component\n :is=\"as\"\n :class=\"unstyled ? 'dt-item-layout--custom' : 'dt-item-layout'\"\n >\n <section\n v-if=\"$slots.left\"\n data-qa=\"dt-item-layout-left-wrapper\"\n class=\"dt-item-layout--left\"\n >\n <!-- @slot Slot for left content -->\n <slot name=\"left\" />\n </section>\n <section\n data-qa=\"dt-item-layout-content-wrapper\"\n class=\"dt-item-layout--content\"\n >\n <div\n v-if=\"$slots.default\"\n data-qa=\"dt-item-layout-title-wrapper\"\n class=\"dt-item-layout--title\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </div>\n <div\n v-if=\"$slots.subtitle\"\n data-qa=\"dt-item-layout-subtitle-wrapper\"\n :class=\"['dt-item-layout--subtitle', { 'dt-item-layout--subtitle--with-title': $slots.default }]\"\n >\n <!-- @slot Slot for content below main content -->\n <slot name=\"subtitle\" />\n </div>\n <div\n v-if=\"$slots.bottom\"\n data-qa=\"dt-item-layout-bottom-wrapper\"\n class=\"dt-item-layout--bottom\"\n >\n <!-- @slot Slot for content below subtitle -->\n <slot name=\"bottom\" />\n </div>\n </section>\n <section\n v-if=\"$slots.right\"\n data-qa=\"dt-item-layout-right-wrapper\"\n class=\"dt-item-layout--right\"\n >\n <!-- @slot Slot for right content -->\n <slot name=\"right\" />\n </section>\n <section\n v-if=\"$slots.selected\"\n data-qa=\"dt-item-layout-selected-wrapper\"\n class=\"dt-item-layout--selected\"\n >\n <!-- @slot Slot for selected icon -->\n <slot name=\"selected\" />\n </section>\n </component>\n</template>\n\n/**\n * Custom layout to enable developer to use list-item like stack.\n * It is used as base for `dt-list-item` component\n * @see https://dialtone.dialpad.com/components/item_layout.html\n */\n<script>\nexport default {\n name: 'DtItemLayout',\n props: {\n /**\n * Set this prop to render layout as a specific HTML element.\n */\n as: {\n type: String,\n default: 'div',\n },\n\n /**\n * Set this prop to remove the default styling.\n * @values true, false\n */\n unstyled: {\n type: Boolean,\n default: false,\n },\n },\n};\n</script>\n"],"names":["_sfc_main"],"mappings":";AAmEA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;"}
@@ -0,0 +1,195 @@
1
+ import { n as _ } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
2
+ import { DtCard as m } from "./card.js";
3
+ import { DtButton as f } from "./button.js";
4
+ import { D as O } from "../chunks/dropdown-SMWaTWyF.js";
5
+ import { DtIcon as b } from "./icon.js";
6
+ import "vue";
7
+ import "../chunks/link_constants-vIUB92L4.js";
8
+ import "../chunks/keyboard_list_navigation-F0O8nht0.js";
9
+ import "../chunks/dropdown_constants-EUcDxBrX.js";
10
+ import "./utils.js";
11
+ import "./constants.js";
12
+ import "../chunks/sr_only_close_button-JGole5Xi.js";
13
+ import "./popover.js";
14
+ import "../chunks/popover_constants-qjlEkroB.js";
15
+ import "tippy.js";
16
+ import "@linusborg/vue-simple-portal";
17
+ import "../chunks/modal-VuMFkZFH.js";
18
+ import "./lazy-show.js";
19
+ import "@dialpad/dialtone-icons/vue2";
20
+ import "../chunks/icon_constants-OpYAAKwF.js";
21
+ import "@dialpad/dialtone-icons/icons.json";
22
+ import "./skeleton.js";
23
+ import "../chunks/list_item_constants-LTUc74pD.js";
24
+ const c = "promptmenu", s = "promptcollect", a = "promptplay", d = "gotoexpert", r = "goto", i = "branch", l = "transfer", p = "hangup", R = {
25
+ [c]: "keypad",
26
+ [s]: "dialer",
27
+ [a]: "volume-2",
28
+ [d]: "expert-node",
29
+ [i]: "branch",
30
+ [r]: "call-merge",
31
+ [l]: "transfer",
32
+ [p]: "phone-hang-up"
33
+ }, $ = {
34
+ [c]: "Menu",
35
+ [s]: "Collect",
36
+ [a]: "Play",
37
+ [d]: "Expert",
38
+ [i]: "Branch",
39
+ [r]: "Go-to",
40
+ [l]: "Transfer",
41
+ [p]: "Hangup"
42
+ }, o = {
43
+ PROMPT: {
44
+ normal: "d-bc-blue-200",
45
+ selected: "d-bc-blue-300"
46
+ },
47
+ LOGIC: {
48
+ normal: "d-bc-purple-200",
49
+ selected: "d-bc-purple-400"
50
+ },
51
+ TERMINAL: {
52
+ normal: "d-bc-red-100",
53
+ selected: "d-bc-red-200"
54
+ }
55
+ }, v = {
56
+ [c]: o.PROMPT,
57
+ [s]: o.PROMPT,
58
+ [a]: o.PROMPT,
59
+ [d]: o.LOGIC,
60
+ [i]: o.LOGIC,
61
+ [r]: o.LOGIC,
62
+ [l]: o.TERMINAL,
63
+ [p]: o.TERMINAL
64
+ }, y = {
65
+ name: "DtRecipeIvrNode",
66
+ components: {
67
+ DtCard: m,
68
+ DtButton: f,
69
+ DtDropdown: O,
70
+ DtIcon: b
71
+ },
72
+ props: {
73
+ /**
74
+ * type of IVR Node.
75
+ */
76
+ nodeType: {
77
+ type: String,
78
+ required: !0
79
+ },
80
+ /**
81
+ * Descriptive label for the node name.
82
+ */
83
+ nodeLabel: {
84
+ type: String,
85
+ required: !0
86
+ },
87
+ /**
88
+ * Selected state of the node
89
+ */
90
+ isSelected: {
91
+ type: Boolean,
92
+ default: !1
93
+ },
94
+ /**
95
+ * Translated aria-label for header menu button
96
+ */
97
+ menuButtonAriaLabel: {
98
+ type: String,
99
+ required: !0
100
+ },
101
+ /**
102
+ * DTMF input
103
+ */
104
+ dtmfKey: {
105
+ type: String,
106
+ default: null
107
+ }
108
+ },
109
+ emits: [
110
+ /**
111
+ * Add node click event
112
+ *
113
+ * @event click
114
+ * @type {PointerEvent | KeyboardEvent}
115
+ */
116
+ "click"
117
+ ],
118
+ data() {
119
+ return {
120
+ isOpen: !1
121
+ };
122
+ },
123
+ computed: {
124
+ nodeIcon() {
125
+ return R[this.nodeType];
126
+ },
127
+ headerColor() {
128
+ const { normal: u, selected: t } = v[this.nodeType];
129
+ return this.isSelected ? t : u;
130
+ },
131
+ isGotoNode() {
132
+ return this.nodeType === r;
133
+ }
134
+ },
135
+ methods: {
136
+ openMenu() {
137
+ this.isOpen = !0;
138
+ }
139
+ }
140
+ };
141
+ var I = function() {
142
+ var t = this, e = t._self._c;
143
+ return e("div", t._g({ staticClass: "ivr_node" }, t.$listeners), [t.dtmfKey ? e("div", { staticClass: "ivr-connector ivr-connector--dtmf", class: { "ivr-connector--dtmf--selected": t.isSelected }, attrs: { "data-qa": "dt-top-connector-dtmf" } }, [t._v(" " + t._s(t.dtmfKey) + " ")]) : t._e(), t.$slots.connector ? t._t("connector") : t._e(), !t.dtmfKey && !t.$slots.connector ? e("div", { staticClass: "ivr-connector", class: { "ivr-connector--selected": t.isSelected }, attrs: { "data-qa": "dt-top-connector" } }) : t._e(), e("dt-card", { attrs: { "content-class": "d-bt d-bc-black-300 d-px12 d-pt8 d-pb12", "container-class": [
144
+ "d-w100p",
145
+ { "d-ba d-bar8 d-baw4": t.isSelected },
146
+ t.headerColor
147
+ ], "header-class": [
148
+ "d-mtn1",
149
+ "d-bt",
150
+ "d-btw4",
151
+ "d-p0",
152
+ t.headerColor,
153
+ { "d-btr4": !t.isSelected }
154
+ ] }, scopedSlots: t._u([{ key: "header", fn: function() {
155
+ return [e("div", { staticClass: "ivr_node__header-left" }, [e("dt-button", { attrs: { "aria-label": t.nodeType, importance: "clear", kind: "muted", "data-qa": "dt-ivr-node-icon" }, scopedSlots: t._u([{ key: "icon", fn: function() {
156
+ return [e("dt-icon", { class: ["", { ivr_node__goto_icon: t.isGotoNode }], attrs: { name: t.nodeIcon, size: "200" } })];
157
+ }, proxy: !0 }]) }), e("p", { staticClass: "ivr_node__label", attrs: { "data-qa": "ivr-node-label" } }, [t._v(" " + t._s(t.nodeLabel) + " ")])], 1), e("dt-dropdown", { attrs: { placement: "bottom", open: t.isOpen }, on: { "update:open": function(n) {
158
+ t.isOpen = n;
159
+ } }, scopedSlots: t._u([{ key: "anchor", fn: function() {
160
+ return [e("dt-button", { attrs: { importance: "clear", kind: "muted", "aria-label": t.menuButtonAriaLabel }, on: { click: function(n) {
161
+ return n.stopPropagation(), n.preventDefault(), t.openMenu.apply(null, arguments);
162
+ } }, scopedSlots: t._u([{ key: "icon", fn: function() {
163
+ return [e("dt-icon", { attrs: { name: "more-vertical", size: "200" } })];
164
+ }, proxy: !0 }]) })];
165
+ }, proxy: !0 }, { key: "list", fn: function({ close: n }) {
166
+ return [e("div", { staticClass: "ivr_node__dropdown-list" }, [t._t("menuItems", null, { close: n })], 2)];
167
+ } }], null, !0) })];
168
+ }, proxy: !0 }, { key: "content", fn: function() {
169
+ return [t._t("content")];
170
+ }, proxy: !0 }], null, !0) })], 2);
171
+ }, N = [], E = /* @__PURE__ */ _(
172
+ y,
173
+ I,
174
+ N,
175
+ !1,
176
+ null,
177
+ null,
178
+ null,
179
+ null
180
+ );
181
+ const X = E.exports;
182
+ export {
183
+ X as DtRecipeIvrNode,
184
+ i as IVR_NODE_BRANCH,
185
+ d as IVR_NODE_EXPERT,
186
+ r as IVR_NODE_GO_TO,
187
+ p as IVR_NODE_HANGUP,
188
+ R as IVR_NODE_ICON_TYPES,
189
+ $ as IVR_NODE_LABELS,
190
+ s as IVR_NODE_PROMPT_COLLECT,
191
+ c as IVR_NODE_PROMPT_MENU,
192
+ a as IVR_NODE_PROMPT_PLAY,
193
+ l as IVR_NODE_TRANSFER
194
+ };
195
+ //# sourceMappingURL=ivr-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ivr-node.js","sources":["../../recipes/cards/ivr_node/ivr_node_constants.js","../../recipes/cards/ivr_node/ivr_node.vue"],"sourcesContent":["export const IVR_NODE_PROMPT_MENU = 'promptmenu';\nexport const IVR_NODE_PROMPT_COLLECT = 'promptcollect';\nexport const IVR_NODE_PROMPT_PLAY = 'promptplay';\nexport const IVR_NODE_EXPERT = 'gotoexpert';\nexport const IVR_NODE_GO_TO = 'goto';\nexport const IVR_NODE_BRANCH = 'branch';\nexport const IVR_NODE_TRANSFER = 'transfer';\nexport const IVR_NODE_HANGUP = 'hangup';\n\nexport const IVR_NODE_ICON_TYPES = {\n [IVR_NODE_PROMPT_MENU]: 'keypad',\n [IVR_NODE_PROMPT_COLLECT]: 'dialer',\n [IVR_NODE_PROMPT_PLAY]: 'volume-2',\n [IVR_NODE_EXPERT]: 'expert-node',\n [IVR_NODE_BRANCH]: 'branch',\n [IVR_NODE_GO_TO]: 'call-merge',\n [IVR_NODE_TRANSFER]: 'transfer',\n [IVR_NODE_HANGUP]: 'phone-hang-up',\n};\n\nexport const IVR_NODE_LABELS = {\n [IVR_NODE_PROMPT_MENU]: 'Menu',\n [IVR_NODE_PROMPT_COLLECT]: 'Collect',\n [IVR_NODE_PROMPT_PLAY]: 'Play',\n [IVR_NODE_EXPERT]: 'Expert',\n [IVR_NODE_BRANCH]: 'Branch',\n [IVR_NODE_GO_TO]: 'Go-to',\n [IVR_NODE_TRANSFER]: 'Transfer',\n [IVR_NODE_HANGUP]: 'Hangup',\n};\n\nconst IVR_NODE_COLORS = {\n PROMPT: {\n normal: 'd-bc-blue-200',\n selected: 'd-bc-blue-300',\n },\n LOGIC: {\n normal: 'd-bc-purple-200',\n selected: 'd-bc-purple-400',\n },\n TERMINAL: {\n normal: 'd-bc-red-100',\n selected: 'd-bc-red-200',\n },\n};\n\nexport const IVR_NODE_COLOR_MAPPING = {\n [IVR_NODE_PROMPT_MENU]: IVR_NODE_COLORS.PROMPT,\n [IVR_NODE_PROMPT_COLLECT]: IVR_NODE_COLORS.PROMPT,\n [IVR_NODE_PROMPT_PLAY]: IVR_NODE_COLORS.PROMPT,\n [IVR_NODE_EXPERT]: IVR_NODE_COLORS.LOGIC,\n [IVR_NODE_BRANCH]: IVR_NODE_COLORS.LOGIC,\n [IVR_NODE_GO_TO]: IVR_NODE_COLORS.LOGIC,\n [IVR_NODE_TRANSFER]: IVR_NODE_COLORS.TERMINAL,\n [IVR_NODE_HANGUP]: IVR_NODE_COLORS.TERMINAL,\n};\n","<template>\n <div\n class=\"ivr_node\"\n v-on=\"$listeners\"\n >\n <div\n v-if=\"dtmfKey\"\n data-qa=\"dt-top-connector-dtmf\"\n class=\"ivr-connector ivr-connector--dtmf\"\n :class=\"{ 'ivr-connector--dtmf--selected': isSelected }\"\n >\n {{ dtmfKey }}\n </div>\n <slot\n v-if=\"$slots.connector\"\n name=\"connector\"\n />\n <div\n v-if=\"!dtmfKey && !$slots.connector\"\n data-qa=\"dt-top-connector\"\n class=\"ivr-connector\"\n :class=\"{ 'ivr-connector--selected': isSelected }\"\n />\n <dt-card\n content-class=\"d-bt d-bc-black-300 d-px12 d-pt8 d-pb12\"\n :container-class=\"[\n 'd-w100p',\n { 'd-ba d-bar8 d-baw4': isSelected },\n headerColor,\n ]\"\n :header-class=\"[\n 'd-mtn1',\n 'd-bt',\n 'd-btw4',\n 'd-p0',\n headerColor,\n { 'd-btr4': !isSelected },\n ]\"\n >\n <template #header>\n <!-- node label and icon section on left of the header -->\n <div class=\"ivr_node__header-left\">\n <dt-button\n :aria-label=\"nodeType\"\n importance=\"clear\"\n kind=\"muted\"\n data-qa=\"dt-ivr-node-icon\"\n >\n <template #icon>\n <dt-icon\n :name=\"nodeIcon\"\n size=\"200\"\n :class=\"['', { 'ivr_node__goto_icon': isGotoNode }]\"\n />\n </template>\n </dt-button>\n <p\n class=\"ivr_node__label\"\n data-qa=\"ivr-node-label\"\n >\n {{ nodeLabel }}\n </p>\n </div>\n <!-- node menu for actions like edit, copy, delete -->\n <dt-dropdown\n placement=\"bottom\"\n :open.sync=\"isOpen\"\n >\n <template #anchor>\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-label=\"menuButtonAriaLabel\"\n @click.stop.prevent=\"openMenu\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n <template #list=\"{ close }\">\n <div class=\"ivr_node__dropdown-list\">\n <slot\n name=\"menuItems\"\n :close=\"close\"\n />\n </div>\n </template>\n </dt-dropdown>\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n </dt-card>\n </div>\n</template>\n\n<script>\nimport { DtCard } from '@/components/card';\nimport { DtButton } from '@/components/button';\nimport { DtDropdown } from '@/components/dropdown';\nimport { DtIcon } from '@/components/icon';\nimport {\n IVR_NODE_ICON_TYPES, IVR_NODE_COLOR_MAPPING, IVR_NODE_GO_TO,\n} from './ivr_node_constants';\n\nexport default {\n name: 'DtRecipeIvrNode',\n\n components: {\n DtCard,\n DtButton,\n DtDropdown,\n DtIcon,\n },\n\n props: {\n\n /**\n * type of IVR Node.\n */\n nodeType: {\n type: String,\n required: true,\n },\n\n /**\n * Descriptive label for the node name.\n */\n\n nodeLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Selected state of the node\n */\n isSelected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Translated aria-label for header menu button\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * DTMF input\n */\n dtmfKey: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Add node click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n isOpen: false,\n };\n },\n\n computed: {\n nodeIcon () {\n return IVR_NODE_ICON_TYPES[this.nodeType];\n },\n\n headerColor () {\n const { normal, selected } = IVR_NODE_COLOR_MAPPING[this.nodeType];\n return this.isSelected ? selected : normal;\n },\n\n isGotoNode () {\n return this.nodeType === IVR_NODE_GO_TO;\n },\n },\n\n methods: {\n openMenu () {\n this.isOpen = true;\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.ivr_node {\n width: 280px;\n display: flex;\n flex-direction: column;\n align-items: center;\n cursor: pointer;\n\n &__header-left {\n display: flex;\n align-items: center;\n }\n\n &__label {\n font-size: var(--dt-font-size-200);\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__dropdown-list {\n width: var(--dt-size-825);\n }\n}\n\n.ivr_node__goto_icon {\n transform: rotate(90deg);\n}\n\n.ivr-connector {\n z-index: var(--zi-base);\n display: flex;\n justify-content: center;\n align-items: center;\n border-color: var(--dt-color-purple-600);\n background-color: var(--dt-color-purple-600);\n width: var(--dt-size-400);\n height: var(--dt-size-400);\n border-radius: var(--dt-size-radius-circle);\n margin-bottom: var(--dt-space-300-negative);\n\n &--selected {\n margin-bottom: var(--dt-space-400-negative);\n }\n\n &.ivr-connector--dtmf {\n width: var(--dt-size-550);\n height: var(--dt-size-550);\n margin-bottom: var(--dt-space-450-negative);\n color: var(--dt-color-neutral-white);\n font-size: var(--dt-font-size-200);\n\n &--selected {\n margin-bottom: var(--dt-space-500-negative);\n }\n }\n}\n</style>\n"],"names":["IVR_NODE_PROMPT_MENU","IVR_NODE_PROMPT_COLLECT","IVR_NODE_PROMPT_PLAY","IVR_NODE_EXPERT","IVR_NODE_GO_TO","IVR_NODE_BRANCH","IVR_NODE_TRANSFER","IVR_NODE_HANGUP","IVR_NODE_ICON_TYPES","IVR_NODE_LABELS","IVR_NODE_COLORS","IVR_NODE_COLOR_MAPPING","_sfc_main","DtCard","DtButton","DtDropdown","DtIcon","normal","selected"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAY,MAACA,IAAuB,cACvBC,IAA0B,iBAC1BC,IAAuB,cACvBC,IAAkB,cAClBC,IAAiB,QACjBC,IAAkB,UAClBC,IAAoB,YACpBC,IAAkB,UAElBC,IAAsB;AAAA,EACjC,CAACR,CAAoB,GAAG;AAAA,EACxB,CAACC,CAAuB,GAAG;AAAA,EAC3B,CAACC,CAAoB,GAAG;AAAA,EACxB,CAACC,CAAe,GAAG;AAAA,EACnB,CAACE,CAAe,GAAG;AAAA,EACnB,CAACD,CAAc,GAAG;AAAA,EAClB,CAACE,CAAiB,GAAG;AAAA,EACrB,CAACC,CAAe,GAAG;AACrB,GAEaE,IAAkB;AAAA,EAC7B,CAACT,CAAoB,GAAG;AAAA,EACxB,CAACC,CAAuB,GAAG;AAAA,EAC3B,CAACC,CAAoB,GAAG;AAAA,EACxB,CAACC,CAAe,GAAG;AAAA,EACnB,CAACE,CAAe,GAAG;AAAA,EACnB,CAACD,CAAc,GAAG;AAAA,EAClB,CAACE,CAAiB,GAAG;AAAA,EACrB,CAACC,CAAe,GAAG;AACrB,GAEMG,IAAkB;AAAA,EACtB,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,EACX;AAAA,EACD,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,UAAU;AAAA,EACX;AAAA,EACD,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,EACX;AACH,GAEaC,IAAyB;AAAA,EACpC,CAACX,CAAoB,GAAGU,EAAgB;AAAA,EACxC,CAACT,CAAuB,GAAGS,EAAgB;AAAA,EAC3C,CAACR,CAAoB,GAAGQ,EAAgB;AAAA,EACxC,CAACP,CAAe,GAAGO,EAAgB;AAAA,EACnC,CAACL,CAAe,GAAGK,EAAgB;AAAA,EACnC,CAACN,CAAc,GAAGM,EAAgB;AAAA,EAClC,CAACJ,CAAiB,GAAGI,EAAgB;AAAA,EACrC,CAACH,CAAe,GAAGG,EAAgB;AACrC,GCsDAE,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,QAAAC;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,WAAA;AACA,aAAAR,EAAA,KAAA,QAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,YAAA,EAAA,QAAAS,GAAA,UAAAC,EAAA,IAAAP,EAAA,KAAA,QAAA;AACA,aAAA,KAAA,aAAAO,IAAAD;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,KAAA,aAAAb;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,WAAA;AACA,WAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,100 @@
1
+ import { n as a } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
2
+ import { DtIcon as c } from "./icon.js";
3
+ import "@dialpad/dialtone-icons/vue2";
4
+ import "../chunks/icon_constants-OpYAAKwF.js";
5
+ import "@dialpad/dialtone-icons/icons.json";
6
+ import "./skeleton.js";
7
+ const e = {
8
+ "{win}": "layout-grid",
9
+ "{arrow-right}": "arrow-right",
10
+ "{arrow-left}": "arrow-left",
11
+ "{arrow-up}": "arrow-up",
12
+ "{arrow-down}": "arrow-down",
13
+ "{cmd}": "command"
14
+ }, i = {
15
+ "{plus}": "plus"
16
+ }, b = Object.keys(e), d = {
17
+ name: "DtKeyboardShortcut",
18
+ components: {
19
+ DtIcon: c
20
+ },
21
+ props: {
22
+ /**
23
+ * If true, applies inverted styles.
24
+ * @values true, false
25
+ */
26
+ inverted: {
27
+ type: Boolean,
28
+ default: !1
29
+ },
30
+ /**
31
+ * Include any of these tokens in your string to render the corresponding symbol:
32
+ * {cmd} {win} {arrow-right} {arrow-left} {arrow-up} {arrow-down}
33
+ */
34
+ shortcut: {
35
+ type: String,
36
+ required: !0
37
+ },
38
+ /**
39
+ * Text entered here will be read by assistive technology. If null this component will be ignored by AT.
40
+ */
41
+ screenReaderText: {
42
+ type: String,
43
+ default: null
44
+ }
45
+ },
46
+ data() {
47
+ return {
48
+ SHORTCUTS_ICON_ALIASES: e,
49
+ separator: /\+/gi
50
+ };
51
+ },
52
+ computed: {
53
+ icons() {
54
+ return { ...e, ...i };
55
+ },
56
+ shortcutWithSeparator() {
57
+ return this.shortcut.replace(this.separator, "{plus}");
58
+ },
59
+ formattedShortcut() {
60
+ return Object.keys(e).reduce((o, r) => o.replace(new RegExp("{" + r + "}", "gi"), e[r]), this.shortcutWithSeparator);
61
+ },
62
+ // Splits any icon based aliases into their own array items.
63
+ formattedShortcutSplit() {
64
+ const o = Object.keys(this.icons).join("|"), r = new RegExp(`(${o})`, "gi");
65
+ return this.formattedShortcut.split(r).filter(Boolean);
66
+ }
67
+ }
68
+ };
69
+ var u = function() {
70
+ var r = this, n = r._self._c;
71
+ return n("kbd", { class: [
72
+ "d-keyboard-shortcut",
73
+ { "d-keyboard-shortcut--inverted": r.inverted }
74
+ ] }, [r.screenReaderText ? n("span", { staticClass: "sr-only" }, [r._v(" " + r._s(r.screenReaderText) + " ")]) : r._e(), r._l(r.formattedShortcutSplit, function(t, s) {
75
+ return [r.icons[t] ? n("dt-icon", { key: `${s}-${t}`, class: [
76
+ "d-keyboard-shortcut__icon",
77
+ { "d-keyboard-shortcut__icon--inverted": r.inverted }
78
+ ], attrs: { name: r.icons[t], size: "100", "aria-hidden": "true" } }) : n("span", { key: `${s}-${t}`, class: [
79
+ "d-keyboard-shortcut__item",
80
+ { "d-keyboard-shortcut__item--inverted": r.inverted }
81
+ ], attrs: { "aria-hidden": "true" }, domProps: { innerHTML: r._s(t) } })];
82
+ })], 2);
83
+ }, l = [], p = /* @__PURE__ */ a(
84
+ d,
85
+ u,
86
+ l,
87
+ !1,
88
+ null,
89
+ null,
90
+ null,
91
+ null
92
+ );
93
+ const v = p.exports;
94
+ export {
95
+ v as DtKeyboardShortcut,
96
+ b as SHORTCUTS_ALIASES_LIST,
97
+ e as SHORTCUTS_ICON_ALIASES,
98
+ i as SHORTCUTS_ICON_SEPARATOR
99
+ };
100
+ //# sourceMappingURL=keyboard-shortcut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard-shortcut.js","sources":["../../components/keyboard_shortcut/keyboard_shortcut_constants.js","../../components/keyboard_shortcut/keyboard_shortcut.vue"],"sourcesContent":["export const SHORTCUTS_ICON_ALIASES = {\n '{win}': 'layout-grid',\n '{arrow-right}': 'arrow-right',\n '{arrow-left}': 'arrow-left',\n '{arrow-up}': 'arrow-up',\n '{arrow-down}': 'arrow-down',\n '{cmd}': 'command',\n};\n\nexport const SHORTCUTS_ICON_SEPARATOR = {\n '{plus}': 'plus',\n};\n\nexport const SHORTCUTS_ALIASES_LIST = Object.keys(SHORTCUTS_ICON_ALIASES);\n","<!-- eslint-disable vue/no-v-html -->\n<template>\n <kbd\n :class=\"[\n 'd-keyboard-shortcut',\n { 'd-keyboard-shortcut--inverted': inverted },\n ]\"\n >\n <span\n v-if=\"screenReaderText\"\n class=\"sr-only\"\n >\n {{ screenReaderText }}\n </span>\n <template\n v-for=\"(item, i) in formattedShortcutSplit\"\n >\n <dt-icon\n v-if=\"icons[item]\"\n :key=\"`${i}-${item}`\"\n :name=\"icons[item]\"\n size=\"100\"\n aria-hidden=\"true\"\n :class=\"[\n 'd-keyboard-shortcut__icon',\n { 'd-keyboard-shortcut__icon--inverted': inverted },\n ]\"\n />\n <span\n v-else\n :key=\"`${i}-${item}`\"\n aria-hidden=\"true\"\n :class=\"[\n 'd-keyboard-shortcut__item',\n { 'd-keyboard-shortcut__item--inverted': inverted },\n ]\"\n v-html=\"item\"\n />\n </template>\n </kbd>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { SHORTCUTS_ICON_ALIASES, SHORTCUTS_ICON_SEPARATOR } from './keyboard_shortcut_constants';\n\n/**\n * This component displays a visual representation of a keyboard shortcut to the user.\n * @see https://dialtone.dialpad.com/components/keyboard_shortcut.html\n */\nexport default {\n name: 'DtKeyboardShortcut',\n\n components: {\n DtIcon,\n },\n\n props: {\n /**\n * If true, applies inverted styles.\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Include any of these tokens in your string to render the corresponding symbol:\n * {cmd} {win} {arrow-right} {arrow-left} {arrow-up} {arrow-down}\n */\n shortcut: {\n type: String,\n required: true,\n },\n\n /**\n * Text entered here will be read by assistive technology. If null this component will be ignored by AT.\n */\n screenReaderText: {\n type: String,\n default: null,\n },\n },\n\n data () {\n return {\n SHORTCUTS_ICON_ALIASES,\n separator: /\\+/gi,\n };\n },\n\n computed: {\n icons () {\n return { ...SHORTCUTS_ICON_ALIASES, ...SHORTCUTS_ICON_SEPARATOR };\n },\n\n shortcutWithSeparator () {\n return this.shortcut.replace(this.separator, '{plus}');\n },\n\n formattedShortcut () {\n return Object.keys(SHORTCUTS_ICON_ALIASES).reduce((result, key) => {\n return result.replace(new RegExp('{' + key + '}', 'gi'), SHORTCUTS_ICON_ALIASES[key]);\n }, this.shortcutWithSeparator);\n },\n\n // Splits any icon based aliases into their own array items.\n formattedShortcutSplit () {\n const iconAliasString = Object.keys(this.icons).join('|');\n\n /*\n The regexp splits a given string with icon alias and is filtered by empty strings after:\n if {win} is our delimiter AKA shortcut icon alias\n '{win} + D K + {win}' returned value will be [{win}, ' ', '{plus}', ' D K ', '{plus}', ' ', {win}]\n */\n const regex = new RegExp(`(${iconAliasString})`, 'gi');\n return this.formattedShortcut.split(regex).filter(Boolean);\n },\n },\n};\n</script>\n"],"names":["SHORTCUTS_ICON_ALIASES","SHORTCUTS_ICON_SEPARATOR","SHORTCUTS_ALIASES_LIST","_sfc_main","DtIcon","result","key","iconAliasString","regex"],"mappings":";;;;;;AAAY,MAACA,IAAyB;AAAA,EACpC,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,SAAS;AACX,GAEaC,IAA2B;AAAA,EACtC,UAAU;AACZ,GAEaC,IAAyB,OAAO,KAAKF,CAAsB,GCqCxEG,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,QAAAC;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,wBAAAJ;AAAA,MACA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,QAAA;AACA,aAAA,EAAA,GAAAA,GAAA,GAAAC;IACA;AAAA,IAEA,wBAAA;AACA,aAAA,KAAA,SAAA,QAAA,KAAA,WAAA,QAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,OAAA,KAAAD,CAAA,EAAA,OAAA,CAAAK,GAAAC,MACAD,EAAA,QAAA,IAAA,OAAA,MAAAC,IAAA,KAAA,IAAA,GAAAN,EAAAM,CAAA,CAAA,GACA,KAAA,qBAAA;AAAA,IACA;AAAA;AAAA,IAGA,yBAAA;AACA,YAAAC,IAAA,OAAA,KAAA,KAAA,KAAA,EAAA,KAAA,GAAA,GAOAC,IAAA,IAAA,OAAA,IAAAD,CAAA,KAAA,IAAA;AACA,aAAA,KAAA,kBAAA,MAAAC,CAAA,EAAA,OAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,77 @@
1
+ import { n as a } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
2
+ const s = {
3
+ name: "DtLazyShow",
4
+ /******************
5
+ * PROPS *
6
+ ******************/
7
+ props: {
8
+ /**
9
+ * Whether the child slot is shown.
10
+ * @values true, false
11
+ */
12
+ show: {
13
+ type: Boolean,
14
+ default: !1
15
+ },
16
+ /**
17
+ * A valid Vue enter/leave CSS transition name.
18
+ */
19
+ transition: {
20
+ type: String,
21
+ default: null
22
+ },
23
+ /**
24
+ * Enable/Disable transition animation
25
+ * @values true, false
26
+ */
27
+ appear: {
28
+ type: Boolean,
29
+ default: !1
30
+ }
31
+ },
32
+ /******************
33
+ * DATA *
34
+ ******************/
35
+ data() {
36
+ return {
37
+ initialized: !!this.show
38
+ };
39
+ },
40
+ computed: {
41
+ /**
42
+ * Set the css property to false when running tests only.
43
+ * Refer to: https://vuejs.org/guide/built-ins/transition.html#javascript-hooks for details about
44
+ * transition `css` property
45
+ * @returns {boolean}
46
+ */
47
+ isCSSEnabled() {
48
+ return process.env.NODE_ENV !== "test";
49
+ }
50
+ },
51
+ /******************
52
+ * WATCH *
53
+ ******************/
54
+ watch: {
55
+ show: function(t) {
56
+ !t || this.initialized || (this.initialized = !0);
57
+ }
58
+ }
59
+ };
60
+ var i = function() {
61
+ var e = this, n = e._self._c;
62
+ return n("transition", e._g({ attrs: { name: e.transition, appear: e.appear, css: e.isCSSEnabled } }, e.$listeners), [n("div", e._g({ directives: [{ name: "show", rawName: "v-show", value: e.show, expression: "show" }] }, e.$listeners), [e.initialized ? e._t("default") : e._e()], 2)]);
63
+ }, r = [], o = /* @__PURE__ */ a(
64
+ s,
65
+ i,
66
+ r,
67
+ !1,
68
+ null,
69
+ null,
70
+ null,
71
+ null
72
+ );
73
+ const p = o.exports;
74
+ export {
75
+ p as DtLazyShow
76
+ };
77
+ //# sourceMappingURL=lazy-show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-show.js","sources":["../../components/lazy_show/lazy_show.vue"],"sourcesContent":["<template>\n <!-- applies the transition on initial render -->\n <transition\n :name=\"transition\"\n :appear=\"appear\"\n :css=\"isCSSEnabled\"\n v-on=\"$listeners\"\n >\n <div\n v-show=\"show\"\n v-on=\"$listeners\"\n >\n <!-- @slot Slot for main content -->\n <slot v-if=\"initialized\" />\n </div>\n </transition>\n</template>\n\n<script>\n/**\n * Lazy Show is a utility component that prevents its children from being rendered until the first time it is shown.\n * @see https://dialtone.dialpad.com/components/lazy_show.html\n */\nexport default {\n name: 'DtLazyShow',\n\n /******************\n * PROPS *\n ******************/\n props: {\n /**\n * Whether the child slot is shown.\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * A valid Vue enter/leave CSS transition name.\n */\n transition: {\n type: String,\n default: null,\n },\n\n /**\n * Enable/Disable transition animation\n * @values true, false\n */\n appear: {\n type: Boolean,\n default: false,\n },\n },\n\n /******************\n * DATA *\n ******************/\n data () {\n return {\n initialized: !!this.show,\n };\n },\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</script>\n"],"names":["_sfc_main","newValue"],"mappings":";AAuBA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA;AACA,WAAA;AAAA,MACA,aAAA,CAAA,CAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,eAAA;AACA,aAAA,QAAA,IAAA,aAAA;AAAA,IACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA;AAAA,IACA,MAAA,SAAAC,GAAA;AACA,MAAA,CAAAA,KAAA,KAAA,gBAEA,KAAA,cAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;"}
@@ -0,0 +1,69 @@
1
+ import { L as a, a as e } from "../chunks/link_constants-vIUB92L4.js";
2
+ import { n as s } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
3
+ const i = {
4
+ name: "DtLink",
5
+ props: {
6
+ /**
7
+ * Applies the link variant styles
8
+ * @values null, danger, warning, success, muted, inverted, mention
9
+ */
10
+ kind: {
11
+ type: String,
12
+ default: "",
13
+ validator(n) {
14
+ return a.includes(n);
15
+ }
16
+ }
17
+ },
18
+ emits: [
19
+ /**
20
+ * Native click event
21
+ *
22
+ * @event click
23
+ * @type {PointerEvent | KeyboardEvent}
24
+ */
25
+ "click",
26
+ /**
27
+ * Native focus in event
28
+ *
29
+ * @event focusin
30
+ * @type {FocusEvent}
31
+ */
32
+ "focusin",
33
+ /**
34
+ * Native focus out event
35
+ *
36
+ * @event focusout
37
+ * @type {FocusEvent}
38
+ */
39
+ "focusout"
40
+ ],
41
+ data() {
42
+ return {
43
+ LINK_KIND_MODIFIERS: e
44
+ };
45
+ }
46
+ };
47
+ var _ = function() {
48
+ var t = this, r = t._self._c;
49
+ return r("a", t._g({ class: [
50
+ "d-link",
51
+ t.LINK_KIND_MODIFIERS[t.kind]
52
+ ], attrs: { "data-qa": "dt-link", href: "href" in t.$attrs ? t.$attrs.href : "javascript:void(0)" } }, t.$listeners), [t._t("default")], 2);
53
+ }, l = [], o = /* @__PURE__ */ s(
54
+ i,
55
+ _,
56
+ l,
57
+ !1,
58
+ null,
59
+ null,
60
+ null,
61
+ null
62
+ );
63
+ const d = o.exports;
64
+ export {
65
+ d as DtLink,
66
+ e as LINK_KIND_MODIFIERS,
67
+ a as LINK_VARIANTS
68
+ };
69
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sources":["../../components/link/link.vue"],"sourcesContent":["<template>\n <a\n :class=\"[\n 'd-link',\n LINK_KIND_MODIFIERS[kind],\n ]\"\n data-qa=\"dt-link\"\n :href=\"'href' in $attrs ? $attrs.href : 'javascript:void(0)'\"\n v-on=\"$listeners\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </a>\n</template>\n\n<script>\nimport { LINK_VARIANTS, LINK_KIND_MODIFIERS } from './link_constants';\n\n/**\n * A link is a navigational element that can be found on its own, within other text, or directly following content.\n * @property {String} href attribute\n * @property {String} rel attribute\n * @see https://dialtone.dialpad.com/components/link.html\n */\nexport default {\n name: 'DtLink',\n\n props: {\n /**\n * Applies the link variant styles\n * @values null, danger, warning, success, muted, inverted, mention\n */\n kind: {\n type: String,\n default: '',\n validator (kind) {\n return LINK_VARIANTS.includes(kind);\n },\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n LINK_KIND_MODIFIERS,\n };\n },\n};\n</script>\n"],"names":["_sfc_main","kind","LINK_VARIANTS","LINK_KIND_MODIFIERS"],"mappings":";;AAwBA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAAC,GAAA;AACA,eAAAC,EAAA,SAAAD,CAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,qBAAAE;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,59 @@
1
+ import { getUniqueString as r } from "./utils.js";
2
+ import { n as a } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
3
+ import "./constants.js";
4
+ import "vue";
5
+ const i = {
6
+ name: "DtListItemGroup",
7
+ props: {
8
+ /**
9
+ * Id of the List Item Group
10
+ */
11
+ id: {
12
+ type: String,
13
+ default() {
14
+ return r();
15
+ }
16
+ },
17
+ /**
18
+ * List's heading.
19
+ */
20
+ heading: {
21
+ type: String,
22
+ default: ""
23
+ },
24
+ /**
25
+ * Additional class to style the heading
26
+ */
27
+ headingClass: {
28
+ type: [String, Array, Object],
29
+ default: ""
30
+ },
31
+ /**
32
+ * Additional class for the wrapper list element.
33
+ */
34
+ listClass: {
35
+ type: [String, Array, Object],
36
+ default: ""
37
+ }
38
+ }
39
+ };
40
+ var n = function() {
41
+ var t = this, e = t._self._c;
42
+ return e("ul", { class: ["d-list-item-group", t.listClass], attrs: { id: t.id, role: "group", "data-qa": "dt-dropdown-list-wrapper", "aria-labelledby": `${t.id}-heading` } }, [t.heading ? e("li", { class: ["dt-dropdown-list--header", t.headingClass], attrs: { id: `${t.id}-heading`, role: "presentation", "data-qa": "dt-dropdown-list-heading" } }, [t._t("headingSlot", function() {
43
+ return [t._v(" " + t._s(t.heading) + " ")];
44
+ })], 2) : t._e(), t._t("default")], 2);
45
+ }, s = [], d = /* @__PURE__ */ a(
46
+ i,
47
+ n,
48
+ s,
49
+ !1,
50
+ null,
51
+ null,
52
+ null,
53
+ null
54
+ );
55
+ const g = d.exports;
56
+ export {
57
+ g as DtListItemGroup
58
+ };
59
+ //# sourceMappingURL=list-item-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-item-group.js","sources":["../../components/list_item_group/list_item_group.vue"],"sourcesContent":["<template>\n <ul\n :id=\"id\"\n :class=\"['d-list-item-group', listClass]\"\n role=\"group\"\n data-qa=\"dt-dropdown-list-wrapper\"\n :aria-labelledby=\"`${id}-heading`\"\n >\n <li\n v-if=\"heading\"\n :id=\"`${id}-heading`\"\n role=\"presentation\"\n data-qa=\"dt-dropdown-list-heading\"\n :class=\"['dt-dropdown-list--header', headingClass]\"\n >\n <!-- @slot Slot for heading, will override heading prop. -->\n <slot name=\"headingSlot\">\n {{ heading }}\n </slot>\n </li>\n <!-- @slot Slot for the list component -->\n <slot />\n </ul>\n</template>\n\n<script>\nimport {} from './list_item_group_constants';\nimport { getUniqueString } from '@/common/utils';\n\nexport default {\n name: 'DtListItemGroup',\n\n props: {\n /**\n * Id of the List Item Group\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * List's heading.\n */\n heading: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class to style the heading\n */\n headingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n};\n</script>\n"],"names":["_sfc_main","getUniqueString"],"mappings":";;;;AA6BA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,eAAAC,EAAA;AAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}