@dialpad/dialtone-vue 2.125.0 → 2.125.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 (282) 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 +354 -10368
  39. package/dist/dialtone-vue.js.map +1 -1
  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 -12
  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 -14
  99. package/dist/lib/emoji-text-wrapper.js.map +1 -0
  100. package/dist/lib/emoji.js +11 -0
  101. package/dist/{emoji.js.map → lib/emoji.js.map} +1 -1
  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 -56
  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 -18
  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/skeleton/skeleton-list-item.vue.d.ts +1 -1
  227. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
  228. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
  229. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +8 -3
  230. package/dist/types/components/skeleton/skeleton-text.vue.d.ts.map +1 -1
  231. package/dist/types/components/skeleton/skeleton.vue.d.ts +1 -1
  232. package/dist/types/components/toggle/toggle.vue.d.ts +1 -1
  233. package/dist/types/components/tooltip/tooltip.vue.d.ts +2 -2
  234. package/dist/types/index.d.ts +36 -29
  235. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +1 -1
  236. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +2 -2
  237. package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  238. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
  239. package/package.json +18 -58
  240. package/CHANGELOG.json +0 -1
  241. package/CHANGELOG.md +0 -2904
  242. package/dist/dialtone-vue.cjs +0 -6
  243. package/dist/dialtone-vue.cjs.map +0 -1
  244. package/dist/directives.cjs +0 -2
  245. package/dist/directives.cjs.map +0 -1
  246. package/dist/directives.js.map +0 -1
  247. package/dist/emoji.cjs +0 -2
  248. package/dist/emoji.cjs.map +0 -1
  249. package/dist/emoji.js +0 -36
  250. package/dist/emoji_picker-kiTOKaq8.js.map +0 -1
  251. package/dist/emoji_picker-njWWAm6V.cjs +0 -2
  252. package/dist/emoji_picker-njWWAm6V.cjs.map +0 -1
  253. package/dist/emoji_text_wrapper-48ClwKvf.js.map +0 -1
  254. package/dist/emoji_text_wrapper-ZlynvHnd.cjs +0 -2
  255. package/dist/emoji_text_wrapper-ZlynvHnd.cjs.map +0 -1
  256. package/dist/index-OF94C6nQ.js +0 -142834
  257. package/dist/index-OF94C6nQ.js.map +0 -1
  258. package/dist/index-Wx7Jagcr.cjs +0 -2
  259. package/dist/index-Wx7Jagcr.cjs.map +0 -1
  260. package/dist/message_input.cjs +0 -2
  261. package/dist/message_input.cjs.map +0 -1
  262. package/dist/message_input.js.map +0 -1
  263. package/dist/rich_text_editor-RVMsCB8N.cjs +0 -98
  264. package/dist/rich_text_editor-RVMsCB8N.cjs.map +0 -1
  265. package/dist/rich_text_editor-eMvTs_Gp.js +0 -16479
  266. package/dist/rich_text_editor-eMvTs_Gp.js.map +0 -1
  267. package/dist/tooltip-88U5vFMA.js +0 -2517
  268. package/dist/tooltip-88U5vFMA.js.map +0 -1
  269. package/dist/tooltip-i2wxFIIi.cjs +0 -22
  270. package/dist/tooltip-i2wxFIIi.cjs.map +0 -1
  271. package/dist/types/common/constants.d.ts.map +0 -1
  272. package/dist/types/common/dates.d.ts.map +0 -1
  273. package/dist/types/common/utils.d.ts.map +0 -1
  274. package/dist/types/common/validators.d.ts.map +0 -1
  275. package/dist/types/components/emoji_picker/emojis/index.d.ts +0 -50
  276. package/dist/types/components/emoji_picker/emojis/index.d.ts.map +0 -1
  277. package/dist/types/directives.d.ts +0 -2
  278. package/dist/types/directives.d.ts.map +0 -1
  279. package/dist/types/emoji.d.ts +0 -5
  280. package/dist/types/emoji.d.ts.map +0 -1
  281. package/dist/types/message_input.d.ts +0 -3
  282. package/dist/types/message_input.d.ts.map +0 -1
@@ -0,0 +1,114 @@
1
+ import a, { sticky as l } from "tippy.js";
2
+ const c = (e) => ({
3
+ name: "arrowDetected",
4
+ enabled: !0,
5
+ phase: "main",
6
+ fn: e,
7
+ requiresIfExists: ["offset"]
8
+ }), o = [
9
+ "bottom",
10
+ "bottom-start",
11
+ "bottom-end",
12
+ "right",
13
+ "right-start",
14
+ "right-end",
15
+ "left",
16
+ "left-start",
17
+ "left-end",
18
+ "top",
19
+ "top-start",
20
+ "top-end"
21
+ ], d = [!0, !1, "reference", "popper"], E = (e, t) => {
22
+ const { contentElement: n } = { ...t };
23
+ return delete t.contentElement, a(e, {
24
+ ...t,
25
+ plugins: [l],
26
+ render: () => p(n)
27
+ });
28
+ }, P = ({
29
+ boundary: e = "clippingParents",
30
+ fallbackPlacements: t = [],
31
+ onChangePlacement: n = () => {
32
+ },
33
+ hasHideModifierEnabled: i = !1,
34
+ // If set to false the dialog will display over top of the anchor when there is insufficient space.
35
+ // if set to true it will never move from its position relative to the anchor and will clip instead.
36
+ tether: s = !0
37
+ } = {}) => ({
38
+ modifiers: [
39
+ {
40
+ name: "flip",
41
+ options: {
42
+ fallbackPlacements: t,
43
+ boundary: e
44
+ }
45
+ },
46
+ {
47
+ name: "hide",
48
+ enabled: i
49
+ },
50
+ {
51
+ name: "preventOverflow",
52
+ options: {
53
+ altAxis: !s,
54
+ tether: s
55
+ }
56
+ },
57
+ c(({ state: r }) => {
58
+ n(r.placement);
59
+ })
60
+ ]
61
+ }), O = (e) => {
62
+ const t = document.createElement("span");
63
+ return t.innerText = e.innerText || "", e.innerText = "", e.appendChild(t), t;
64
+ }, T = (e) => {
65
+ const t = e == null ? void 0 : e.children[0];
66
+ return t || O(e);
67
+ }, p = (e) => {
68
+ const t = document.createElement("div");
69
+ return t.className = "tippy-box d-ps-absolute", t.appendChild(e), {
70
+ popper: t
71
+ };
72
+ }, I = [
73
+ ...o
74
+ ], m = 300, S = {
75
+ hover: "d-tooltip--hover",
76
+ show: "d-tooltip--show",
77
+ inverted: "d-tooltip--inverted",
78
+ hide: "d-tooltip--hide"
79
+ }, u = [
80
+ ...d
81
+ ], f = [!0, !1, "toggle"], A = {
82
+ none: void 0,
83
+ small: "d-p4",
84
+ medium: "d-p8",
85
+ large: "d-p16"
86
+ }, g = {
87
+ none: void 0,
88
+ small: "d-pl4",
89
+ medium: "d-pl8",
90
+ large: "d-pl16"
91
+ }, R = ["dialog", "menu", "listbox", "tree", "grid"], D = ["", "anchor"], C = ["none", "dialog", "first"], L = ["parent", "body"], N = [
92
+ ...d
93
+ ], V = [
94
+ ...o
95
+ ];
96
+ export {
97
+ A as P,
98
+ I as T,
99
+ g as a,
100
+ R as b,
101
+ D as c,
102
+ C as d,
103
+ L as e,
104
+ N as f,
105
+ V as g,
106
+ m as h,
107
+ S as i,
108
+ u as j,
109
+ f as k,
110
+ P as l,
111
+ T as m,
112
+ E as n
113
+ };
114
+ //# sourceMappingURL=popover_constants-qjlEkroB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover_constants-qjlEkroB.js","sources":["../../components/tooltip/modifiers.js","../../components/popover/tippy_utils.js","../../components/tooltip/tooltip_constants.js","../../components/popover/popover_constants.js"],"sourcesContent":["export const getArrowDetected = fn => ({\n name: 'arrowDetected',\n enabled: true,\n phase: 'main',\n fn,\n requiresIfExists: ['offset'],\n});\n","import tippy, { sticky } from 'tippy.js';\nimport { getArrowDetected } from '../tooltip/modifiers';\n\nexport const BASE_TIPPY_DIRECTIONS = [\n 'bottom', 'bottom-start', 'bottom-end',\n 'right', 'right-start', 'right-end',\n 'left', 'left-start', 'left-end',\n 'top', 'top-start', 'top-end',\n];\n\nexport const TIPPY_STICKY_VALUES = [true, false, 'reference', 'popper'];\n\nexport const createTippy = (anchorElement, options) => {\n const { contentElement } = { ...options };\n delete options.contentElement;\n return tippy(anchorElement, {\n ...options,\n plugins: [sticky],\n render: () => getContentWrapper(contentElement),\n });\n};\n\nexport const getPopperOptions = ({\n boundary = 'clippingParents',\n fallbackPlacements = [],\n onChangePlacement = () => {},\n hasHideModifierEnabled = false,\n // If set to false the dialog will display over top of the anchor when there is insufficient space.\n // if set to true it will never move from its position relative to the anchor and will clip instead.\n tether = true,\n} = {}) => {\n return {\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements,\n boundary,\n },\n },\n {\n name: 'hide',\n enabled: hasHideModifierEnabled,\n },\n {\n name: 'preventOverflow',\n options: {\n altAxis: !tether,\n tether,\n },\n },\n getArrowDetected(({ state }) => {\n onChangePlacement(state.placement);\n }),\n ],\n };\n};\n\nconst createAnchor = (anchorWrapper) => {\n const span = document.createElement('span');\n span.innerText = anchorWrapper.innerText || '';\n anchorWrapper.innerText = '';\n anchorWrapper.appendChild(span);\n return span;\n};\n\nexport const getAnchor = (anchorWrapper) => {\n const anchor = anchorWrapper?.children[0];\n if (!anchor) return createAnchor(anchorWrapper);\n return anchor;\n};\n\nexport const getContentWrapper = content => {\n // The recommended structure is to use the popper as an outer wrapper\n const popper = document.createElement('div');\n popper.className = 'tippy-box d-ps-absolute';\n popper.appendChild(content);\n return {\n popper,\n };\n};\n","/*\n* Tippy directions - https://atomiks.github.io/tippyjs/v6/all-props/#placement\n* */\nimport { BASE_TIPPY_DIRECTIONS, TIPPY_STICKY_VALUES } from '@/components/popover/tippy_utils';\n\nexport const TOOLTIP_DIRECTIONS = [\n ...BASE_TIPPY_DIRECTIONS,\n];\n\nexport const TOOLTIP_DELAY_MS = 300;\n\nexport const TOOLTIP_KIND_MODIFIERS = {\n hover: `d-tooltip--hover`,\n show: `d-tooltip--show`,\n inverted: `d-tooltip--inverted`,\n hide: `d-tooltip--hide`,\n};\n\nexport const TOOLTIP_STICKY_VALUES = [\n ...TIPPY_STICKY_VALUES,\n];\n\nexport const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];\n\nexport default {\n TOOLTIP_DIRECTIONS,\n TOOLTIP_DELAY_MS,\n TOOLTIP_KIND_MODIFIERS,\n TOOLTIP_STICKY_VALUES,\n TOOLTIP_HIDE_ON_CLICK_VARIANTS,\n};\n","import { BASE_TIPPY_DIRECTIONS, TIPPY_STICKY_VALUES } from './tippy_utils';\n\nexport const POPOVER_PADDING_CLASSES = {\n none: undefined,\n small: 'd-p4',\n medium: 'd-p8',\n large: 'd-p16',\n};\nexport const POPOVER_HEADER_FOOTER_PADDING_CLASSES = {\n none: undefined,\n small: 'd-pl4',\n medium: 'd-pl8',\n large: 'd-pl16',\n};\nexport const POPOVER_ROLES = ['dialog', 'menu', 'listbox', 'tree', 'grid'];\nexport const POPOVER_CONTENT_WIDTHS = ['', 'anchor'];\nexport const POPOVER_INITIAL_FOCUS_STRINGS = ['none', 'dialog', 'first'];\nexport const POPOVER_APPEND_TO_VALUES = ['parent', 'body'];\nexport const POPOVER_STICKY_VALUES = [\n ...TIPPY_STICKY_VALUES,\n];\nexport const POPOVER_DIRECTIONS = [\n ...BASE_TIPPY_DIRECTIONS,\n];\n\nexport default {\n POPOVER_PADDING_CLASSES,\n POPOVER_HEADER_FOOTER_PADDING_CLASSES,\n POPOVER_ROLES,\n POPOVER_CONTENT_WIDTHS,\n POPOVER_INITIAL_FOCUS_STRINGS,\n POPOVER_APPEND_TO_VALUES,\n POPOVER_STICKY_VALUES,\n POPOVER_DIRECTIONS,\n};\n"],"names":["getArrowDetected","fn","BASE_TIPPY_DIRECTIONS","TIPPY_STICKY_VALUES","createTippy","anchorElement","options","contentElement","tippy","sticky","getContentWrapper","getPopperOptions","boundary","fallbackPlacements","onChangePlacement","hasHideModifierEnabled","tether","state","createAnchor","anchorWrapper","span","getAnchor","anchor","content","popper","TOOLTIP_DIRECTIONS","TOOLTIP_DELAY_MS","TOOLTIP_KIND_MODIFIERS","TOOLTIP_STICKY_VALUES","TOOLTIP_HIDE_ON_CLICK_VARIANTS","POPOVER_PADDING_CLASSES","POPOVER_HEADER_FOOTER_PADDING_CLASSES","POPOVER_ROLES","POPOVER_CONTENT_WIDTHS","POPOVER_INITIAL_FOCUS_STRINGS","POPOVER_APPEND_TO_VALUES","POPOVER_STICKY_VALUES","POPOVER_DIRECTIONS"],"mappings":";AAAO,MAAMA,IAAmB,CAAAC,OAAO;AAAA,EACrC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,IAAAA;AAAA,EACA,kBAAkB,CAAC,QAAQ;AAC7B,ICHaC,IAAwB;AAAA,EACnC;AAAA,EAAU;AAAA,EAAgB;AAAA,EAC1B;AAAA,EAAS;AAAA,EAAe;AAAA,EACxB;AAAA,EAAQ;AAAA,EAAc;AAAA,EACtB;AAAA,EAAO;AAAA,EAAa;AACtB,GAEaC,IAAsB,CAAC,IAAM,IAAO,aAAa,QAAQ,GAEzDC,IAAc,CAACC,GAAeC,MAAY;AACrD,QAAM,EAAE,gBAAAC,EAAc,IAAK,EAAE,GAAGD,EAAO;AACvC,gBAAOA,EAAQ,gBACRE,EAAMH,GAAe;AAAA,IAC1B,GAAGC;AAAA,IACH,SAAS,CAACG,CAAM;AAAA,IAChB,QAAQ,MAAMC,EAAkBH,CAAc;AAAA,EAClD,CAAG;AACH,GAEaI,IAAmB,CAAC;AAAA,EAC/B,UAAAC,IAAW;AAAA,EACX,oBAAAC,IAAqB,CAAE;AAAA,EACvB,mBAAAC,IAAoB,MAAM;AAAA,EAAE;AAAA,EAC5B,wBAAAC,IAAyB;AAAA;AAAA;AAAA,EAGzB,QAAAC,IAAS;AACX,IAAI,QACK;AAAA,EACL,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,QACP,oBAAAH;AAAA,QACA,UAAAD;AAAA,MACD;AAAA,IACF;AAAA,IACD;AAAA,MACE,MAAM;AAAA,MACN,SAASG;AAAA,IACV;AAAA,IACD;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,QACP,SAAS,CAACC;AAAA,QACV,QAAAA;AAAA,MACD;AAAA,IACF;AAAA,IACDhB,EAAiB,CAAC,EAAE,OAAAiB,QAAY;AAC9B,MAAAH,EAAkBG,EAAM,SAAS;AAAA,IACzC,CAAO;AAAA,EACF;AACL,IAGMC,IAAe,CAACC,MAAkB;AACtC,QAAMC,IAAO,SAAS,cAAc,MAAM;AAC1C,SAAAA,EAAK,YAAYD,EAAc,aAAa,IAC5CA,EAAc,YAAY,IAC1BA,EAAc,YAAYC,CAAI,GACvBA;AACT,GAEaC,IAAY,CAACF,MAAkB;AAC1C,QAAMG,IAASH,KAAA,gBAAAA,EAAe,SAAS;AACvC,SAAKG,KAAeJ,EAAaC,CAAa;AAEhD,GAEaT,IAAoB,CAAAa,MAAW;AAE1C,QAAMC,IAAS,SAAS,cAAc,KAAK;AAC3C,SAAAA,EAAO,YAAY,2BACnBA,EAAO,YAAYD,CAAO,GACnB;AAAA,IACL,QAAAC;AAAA,EACJ;AACA,GC3EaC,IAAqB;AAAA,EAChC,GAAGvB;AACL,GAEawB,IAAmB,KAEnBC,IAAyB;AAAA,EACpC,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AACR,GAEaC,IAAwB;AAAA,EACnC,GAAGzB;AACL,GAEa0B,IAAiC,CAAC,IAAM,IAAO,QAAQ,GCpBvDC,IAA0B;AAAA,EACrC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT,GACaC,IAAwC;AAAA,EACnD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT,GACaC,IAAgB,CAAC,UAAU,QAAQ,WAAW,QAAQ,MAAM,GAC5DC,IAAyB,CAAC,IAAI,QAAQ,GACtCC,IAAgC,CAAC,QAAQ,UAAU,OAAO,GAC1DC,IAA2B,CAAC,UAAU,MAAM,GAC5CC,IAAwB;AAAA,EACnC,GAAGjC;AACL,GACakC,IAAqB;AAAA,EAChC,GAAGnC;AACL;"}
@@ -0,0 +1,86 @@
1
+ import { n as o } from "./_plugin-vue2_normalizer-u6G_3nkj.js";
2
+ import { DtIcon as t } from "../lib/icon.js";
3
+ import { DtButton as n } from "../lib/button.js";
4
+ const m = {
5
+ props: {
6
+ /**
7
+ * If true, a hidden close button is included for screen readers
8
+ * @values true, false
9
+ */
10
+ visuallyHiddenClose: {
11
+ type: Boolean,
12
+ default: !1
13
+ },
14
+ /**
15
+ * Label for the visually hidden close button
16
+ * Required if visuallyHiddenClose is set to `true`
17
+ */
18
+ visuallyHiddenCloseLabel: {
19
+ type: String,
20
+ default: null
21
+ }
22
+ },
23
+ watch: {
24
+ $props: {
25
+ immediate: !0,
26
+ deep: !0,
27
+ handler() {
28
+ this.validateVisuallyHiddenCloseProps();
29
+ }
30
+ }
31
+ },
32
+ computed: {
33
+ showVisuallyHiddenClose() {
34
+ return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;
35
+ }
36
+ },
37
+ methods: {
38
+ validateVisuallyHiddenCloseProps() {
39
+ this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel && console.error(`If visuallyHiddenClose prop is true, the component includes
40
+ a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);
41
+ }
42
+ }
43
+ }, i = {
44
+ name: "SrOnlyCloseButton",
45
+ components: {
46
+ DtIcon: t,
47
+ DtButton: n
48
+ },
49
+ props: {
50
+ /**
51
+ * Label for the visually hidden close button
52
+ * Required if visuallyHiddenClose is set to `true`
53
+ */
54
+ visuallyHiddenCloseLabel: {
55
+ type: String,
56
+ default: null
57
+ }
58
+ },
59
+ emits: ["close"],
60
+ methods: {
61
+ close() {
62
+ this.$emit("close");
63
+ }
64
+ }
65
+ };
66
+ var a = function() {
67
+ var e = this, s = e._self._c;
68
+ return s("dt-button", { staticClass: "d-vi-visible-sr", attrs: { id: "sr-only-close-button", "data-qa": "dt-sr-only-close-button", "aria-label": e.visuallyHiddenCloseLabel }, on: { click: e.close, keydown: function(l) {
69
+ return !l.type.indexOf("key") && e._k(l.keyCode, "space", 32, l.key, [" ", "Spacebar"]) ? null : (l.preventDefault(), l.stopPropagation(), e.close.apply(null, arguments));
70
+ } } }, [s("dt-icon", { attrs: { name: "close" } })], 1);
71
+ }, r = [], d = /* @__PURE__ */ o(
72
+ i,
73
+ a,
74
+ r,
75
+ !1,
76
+ null,
77
+ null,
78
+ null,
79
+ null
80
+ );
81
+ const f = d.exports;
82
+ export {
83
+ f as S,
84
+ m as a
85
+ };
86
+ //# sourceMappingURL=sr_only_close_button-JGole5Xi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sr_only_close_button-JGole5Xi.js","sources":["../../common/mixins/sr_only_close_button.js","../../common/sr_only_close_button.vue"],"sourcesContent":["/**\n * @displayName Sr-Only close button mixin\n */\nexport default {\n props: {\n /**\n * If true, a hidden close button is included for screen readers\n * @values true, false\n */\n visuallyHiddenClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n handler () {\n this.validateVisuallyHiddenCloseProps();\n },\n },\n },\n\n computed: {\n showVisuallyHiddenClose () {\n return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;\n },\n },\n\n methods: {\n validateVisuallyHiddenCloseProps () {\n if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {\n console.error(`If visuallyHiddenClose prop is true, the component includes\n a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);\n }\n },\n },\n};\n","<template>\n <dt-button\n id=\"sr-only-close-button\"\n data-qa=\"dt-sr-only-close-button\"\n class=\"d-vi-visible-sr\"\n :aria-label=\"visuallyHiddenCloseLabel\"\n @click=\"close\"\n @keydown.space.prevent.stop=\"close\"\n >\n <dt-icon name=\"close\" />\n </dt-button>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nexport default {\n name: 'SrOnlyCloseButton',\n components: {\n DtIcon,\n DtButton,\n },\n\n props: {\n /**\n * Label for the visually hidden close button\n * Required if visuallyHiddenClose is set to `true`\n */\n visuallyHiddenCloseLabel: {\n type: String,\n default: null,\n },\n },\n\n emits: ['close'],\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["SrOnlyCloseButtonMixin","_sfc_main","DtIcon","DtButton"],"mappings":";;;AAGA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,0BAA0B;AAAA,MACxB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,MACN,UAAW;AACT,aAAK,iCAAgC;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAAA,EAED,UAAU;AAAA,IACR,0BAA2B;AACzB,aAAO,KAAK,uBAAuB,KAAK,4BAA4B;AAAA,IACrE;AAAA,EACF;AAAA,EAED,SAAS;AAAA,IACP,mCAAoC;AAClC,MAAI,KAAK,uBAAuB,CAAC,KAAK,4BACpC,QAAQ,MAAM;AAAA,8FACwE;AAAA,IAEzF;AAAA,EACF;AACH,GC/BAC,IAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,0BAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,OAAA;AAAA,EAEA,SAAA;AAAA,IACA,QAAA;AACA,WAAA,MAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,13 @@
1
+ const e = {
2
+ default: "column",
3
+ column: "column",
4
+ row: "row",
5
+ "row-reverse": "row-reverse",
6
+ "column-reverse": "column-reverse"
7
+ }, o = ["sm", "md", "lg", "xl"], r = ["0", "100", "200", "300", "400", "450", "500", "600"];
8
+ export {
9
+ e as D,
10
+ o as a,
11
+ r as b
12
+ };
13
+ //# sourceMappingURL=stack_constants-u7tNqGtc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack_constants-u7tNqGtc.js","sources":["../../components/stack/stack_constants.js"],"sourcesContent":["export const DT_STACK_DIRECTION = {\n default: 'column',\n column: 'column',\n row: 'row',\n 'row-reverse': 'row-reverse',\n 'column-reverse': 'column-reverse',\n};\n\nexport const DT_STACK_RESPONSIVE_BREAKPOINTS = ['sm', 'md', 'lg', 'xl'];\n\nexport const DT_STACK_GAP = ['0', '100', '200', '300', '400', '450', '500', '600'];\n\nexport default {\n DT_STACK_DIRECTION,\n DT_STACK_RESPONSIVE_BREAKPOINTS,\n DT_STACK_GAP,\n};\n"],"names":["DT_STACK_DIRECTION","DT_STACK_RESPONSIVE_BREAKPOINTS","DT_STACK_GAP"],"mappings":"AAAY,MAACA,IAAqB;AAAA,EAChC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,eAAe;AAAA,EACf,kBAAkB;AACpB,GAEaC,IAAkC,CAAC,MAAM,MAAM,MAAM,IAAI,GAEzDC,IAAe,CAAC,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;"}
@@ -0,0 +1,346 @@
1
+ import { n as a } from "./_plugin-vue2_normalizer-u6G_3nkj.js";
2
+ import { DtButton as l } from "../lib/button.js";
3
+ const i = ["default", "sm"], d = {
4
+ sm: "d-tablist--sm"
5
+ }, r = {
6
+ inverted: "d-tablist--inverted"
7
+ }, o = {
8
+ borderless: "d-tablist--no-border"
9
+ }, u = {
10
+ selected: "d-tab--selected"
11
+ }, c = {
12
+ name: "DtTabGroup",
13
+ provide() {
14
+ return {
15
+ groupContext: this.provideObj,
16
+ changeContentPanel: this.changeContentPanel,
17
+ setFocus: this.setFocus
18
+ };
19
+ },
20
+ props: {
21
+ /**
22
+ * Identifies the tab group
23
+ */
24
+ label: {
25
+ type: String,
26
+ default: ""
27
+ },
28
+ /**
29
+ * The id of the selected tab panel which should be displayed
30
+ */
31
+ selected: {
32
+ type: String,
33
+ default: ""
34
+ },
35
+ /**
36
+ * If true, disables the tab group
37
+ * @values true, false
38
+ */
39
+ disabled: {
40
+ type: Boolean,
41
+ default: !1
42
+ },
43
+ /**
44
+ * If true, applies inverted styles to the tab group
45
+ * @values true, false
46
+ */
47
+ inverted: {
48
+ type: Boolean,
49
+ default: !1
50
+ },
51
+ /**
52
+ * If true, applies borderless styles to the tab group
53
+ * @values true, false
54
+ */
55
+ borderless: {
56
+ type: Boolean,
57
+ default: !1
58
+ },
59
+ /**
60
+ * If provided, applies size styles to the tab group
61
+ * @values default, sm
62
+ */
63
+ size: {
64
+ type: String,
65
+ default: "default",
66
+ validate(t) {
67
+ return i.includes(t);
68
+ }
69
+ },
70
+ /**
71
+ * Pass through classes, used to customize the tab list
72
+ */
73
+ tabListClass: {
74
+ type: [String, Array, Object],
75
+ default: ""
76
+ },
77
+ /**
78
+ * Pass through props, used to customize the tab list
79
+ */
80
+ tabListChildProps: {
81
+ type: Object,
82
+ default: () => ({})
83
+ }
84
+ },
85
+ emits: [
86
+ /**
87
+ * Change tab event with the arguments: selected id of the current tab and disabled value
88
+ *
89
+ * @event change
90
+ * @type {Object}
91
+ */
92
+ "change"
93
+ ],
94
+ data() {
95
+ return {
96
+ provideObj: {
97
+ selected: "",
98
+ // the currently displayed tab id
99
+ disabled: !1
100
+ // disable group
101
+ },
102
+ focusId: null,
103
+ tabs: [],
104
+ TAB_LIST_SIZE_MODIFIERS: d,
105
+ TAB_LIST_KIND_MODIFIERS: r,
106
+ TAB_LIST_IMPORTANCE_MODIFIERS: o
107
+ };
108
+ },
109
+ watch: {
110
+ disabled: {
111
+ immediate: !0,
112
+ handler() {
113
+ this.provideObj.disabled = this.disabled;
114
+ }
115
+ },
116
+ selected: {
117
+ immediate: !0,
118
+ handler() {
119
+ this.provideObj.selected = this.selected;
120
+ }
121
+ }
122
+ },
123
+ mounted() {
124
+ this.updateSelected();
125
+ },
126
+ beforeUpdate() {
127
+ this.updateSelected();
128
+ },
129
+ methods: {
130
+ updateSelected() {
131
+ this.provideObj.selected || (this.provideObj.selected = this.selected), this.tabs = this.getTabChildren();
132
+ },
133
+ setFocus(t) {
134
+ this.focusId = t;
135
+ },
136
+ getTabChildren() {
137
+ return Array.from(this.$el.querySelectorAll(".d-tab")).map((t) => {
138
+ var e, n;
139
+ return {
140
+ context: t,
141
+ panelId: (e = t.getAttribute("aria-controls")) == null ? void 0 : e.replace("dt-panel-", ""),
142
+ id: (n = t.getAttribute("id")) == null ? void 0 : n.replace("dt-tab-", ""),
143
+ isSelected: t.getAttribute("aria-selected") === "true"
144
+ };
145
+ });
146
+ },
147
+ onChange() {
148
+ this.$emit("change", { ...this.provideObj });
149
+ },
150
+ changeContentPanel({ selected: t, selectOverride: e }) {
151
+ this.provideObj.selected = t, e || this.onChange();
152
+ },
153
+ tabLeft() {
154
+ const { index: t, tabs: e } = this.getIndexAndTabs();
155
+ if (t === -1)
156
+ return;
157
+ const n = t - 1 < 0 ? e.length - 1 : t - 1;
158
+ this.selectFocusOnTab(n, e);
159
+ },
160
+ tabRight() {
161
+ const { index: t, tabs: e } = this.getIndexAndTabs();
162
+ if (t === -1)
163
+ return;
164
+ const n = t + 1 > e.length - 1 ? 0 : t + 1;
165
+ this.selectFocusOnTab(n, e);
166
+ },
167
+ selectFocusOnTab(t, e) {
168
+ const { context: n } = e[t];
169
+ n.focus();
170
+ },
171
+ selectTab() {
172
+ const { tabs: t, index: e } = this.getIndexAndTabs();
173
+ this.selectTabByIndex(e, t);
174
+ },
175
+ selectTabByIndex(t, e) {
176
+ const { context: n, panelId: s } = e[t];
177
+ this.provideObj.selected = s, n.focus();
178
+ },
179
+ getIndexAndTabs() {
180
+ const t = this.tabs.findIndex((e) => this.focusId ? e.id === `${this.focusId}` : e.isSelected);
181
+ return {
182
+ tabs: this.tabs,
183
+ index: t
184
+ };
185
+ },
186
+ onHomeButton() {
187
+ var t, e;
188
+ this.tabs.length !== 0 && ((e = (t = this.tabs[0]) == null ? void 0 : t.context) == null || e.focus());
189
+ },
190
+ onEndButton() {
191
+ var t, e;
192
+ this.tabs.length !== 0 && ((e = (t = this.tabs[this.tabs.length - 1]) == null ? void 0 : t.context) == null || e.focus());
193
+ }
194
+ }
195
+ };
196
+ var b = function() {
197
+ var e = this, n = e._self._c;
198
+ return n("div", { attrs: { "data-qa": "dt-tab-group" } }, [n("div", e._b({ class: [
199
+ "d-tablist",
200
+ e.TAB_LIST_SIZE_MODIFIERS[e.size],
201
+ {
202
+ [e.TAB_LIST_KIND_MODIFIERS.inverted]: e.inverted,
203
+ [e.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: e.borderless
204
+ },
205
+ e.tabListClass
206
+ ], attrs: { role: "tablist", "aria-label": e.label }, on: { keyup: [function(s) {
207
+ return !s.type.indexOf("key") && e._k(s.keyCode, "left", 37, s.key, ["Left", "ArrowLeft"]) || "button" in s && s.button !== 0 ? null : e.tabLeft.apply(null, arguments);
208
+ }, function(s) {
209
+ return !s.type.indexOf("key") && e._k(s.keyCode, "right", 39, s.key, ["Right", "ArrowRight"]) || "button" in s && s.button !== 2 ? null : e.tabRight.apply(null, arguments);
210
+ }, function(s) {
211
+ return !s.type.indexOf("key") && e._k(s.keyCode, "enter", 13, s.key, "Enter") ? null : e.selectTab.apply(null, arguments);
212
+ }, function(s) {
213
+ return !s.type.indexOf("key") && e._k(s.keyCode, "space", 32, s.key, [" ", "Spacebar"]) ? null : e.selectTab.apply(null, arguments);
214
+ }], keydown: [function(s) {
215
+ return !s.type.indexOf("key") && e._k(s.keyCode, "home", void 0, s.key, void 0) ? null : e.onHomeButton.apply(null, arguments);
216
+ }, function(s) {
217
+ return !s.type.indexOf("key") && e._k(s.keyCode, "end", void 0, s.key, void 0) ? null : e.onEndButton.apply(null, arguments);
218
+ }] } }, "div", e.tabListChildProps, !1), [e._t("tabs")], 2), e._t("default")], 2);
219
+ }, f = [], p = /* @__PURE__ */ a(
220
+ c,
221
+ b,
222
+ f,
223
+ !1,
224
+ null,
225
+ null,
226
+ null,
227
+ null
228
+ );
229
+ const S = p.exports, h = {
230
+ name: "DtTab",
231
+ components: {
232
+ DtButton: l
233
+ },
234
+ inject: ["changeContentPanel", "groupContext", "setFocus"],
235
+ inheritAttrs: !1,
236
+ props: {
237
+ /**
238
+ * Id of the tab
239
+ */
240
+ id: {
241
+ type: String,
242
+ required: !0
243
+ },
244
+ /**
245
+ * Id of the associated content panel
246
+ */
247
+ panelId: {
248
+ type: String,
249
+ required: !0
250
+ },
251
+ /**
252
+ * Describes the tab
253
+ */
254
+ label: {
255
+ type: String,
256
+ default: ""
257
+ },
258
+ /**
259
+ * Controls the state of the tab
260
+ * @values true, false
261
+ */
262
+ selected: {
263
+ type: Boolean,
264
+ default: !1
265
+ },
266
+ /**
267
+ * If true, disables the tab
268
+ * @values true, false
269
+ */
270
+ disabled: {
271
+ type: Boolean,
272
+ default: !1
273
+ },
274
+ /**
275
+ * Used to customize the tab element
276
+ */
277
+ tabClass: {
278
+ type: [String, Array, Object],
279
+ default: ""
280
+ }
281
+ },
282
+ data() {
283
+ return {
284
+ TAB_IMPORTANCE_MODIFIERS: u
285
+ };
286
+ },
287
+ computed: {
288
+ isSelected() {
289
+ return this.groupContext.selected === this.panelId;
290
+ },
291
+ tabListeners() {
292
+ return {
293
+ ...this.$listeners,
294
+ click: (t) => {
295
+ this.selectPanel(), this.$emit("click", t);
296
+ },
297
+ focus: (t) => {
298
+ this.setFocus(this.id), this.$emit("focus", t);
299
+ }
300
+ };
301
+ }
302
+ },
303
+ mounted() {
304
+ this.setSelectedPanelByDefault();
305
+ },
306
+ methods: {
307
+ setSelectedPanelByDefault() {
308
+ this.selected && this.selectPanel(!0);
309
+ },
310
+ selectPanel(t = !1) {
311
+ this.changeContentPanel({
312
+ selected: this.panelId,
313
+ selectOverride: t
314
+ });
315
+ }
316
+ }
317
+ };
318
+ var _ = function() {
319
+ var e = this, n = e._self._c;
320
+ return n("dt-button", e._g(e._b({ class: [
321
+ "d-tab",
322
+ {
323
+ [e.TAB_IMPORTANCE_MODIFIERS.selected]: e.isSelected
324
+ },
325
+ e.tabClass
326
+ ], attrs: { id: `dt-tab-${e.id}`, role: "tab", "aria-selected": `${e.isSelected}`, "aria-controls": `dt-panel-${e.panelId}`, "aria-label": e.label, "data-qa": "dt-tab", tabindex: e.isSelected ? "0" : "-1", disabled: e.groupContext.disabled || e.disabled } }, "dt-button", e.$attrs, !1), e.tabListeners), [e._t("default")], 2);
327
+ }, y = [], I = /* @__PURE__ */ a(
328
+ h,
329
+ _,
330
+ y,
331
+ !1,
332
+ null,
333
+ null,
334
+ null,
335
+ null
336
+ );
337
+ const T = I.exports;
338
+ export {
339
+ S as D,
340
+ r as T,
341
+ T as a,
342
+ i as b,
343
+ o as c,
344
+ u as d
345
+ };
346
+ //# sourceMappingURL=tab-Qm9LVkYj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-Qm9LVkYj.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n return Array.from(this.$el.querySelectorAll('.d-tab'))\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n\n tabListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["TAB_LIST_SIZES","TAB_LIST_SIZE_MODIFIERS","TAB_LIST_KIND_MODIFIERS","TAB_LIST_IMPORTANCE_MODIFIERS","TAB_IMPORTANCE_MODIFIERS","_sfc_main","size","focusId","el","_a","_b","selected","selectOverride","index","tabs","indexElement","context","panelId","DtButton","event"],"mappings":"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"}