@dialpad/dialtone-vue 3.218.3 → 3.219.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/dist/common/constants/index.cjs +1 -1
  2. package/dist/common/constants/index.cjs.map +1 -1
  3. package/dist/common/constants/index.js +37 -20
  4. package/dist/common/constants/index.js.map +1 -1
  5. package/dist/common/constants/sizes.cjs +2 -0
  6. package/dist/common/constants/sizes.cjs.map +1 -0
  7. package/dist/common/constants/sizes.js +20 -0
  8. package/dist/common/constants/sizes.js.map +1 -0
  9. package/dist/common/mixins/index.cjs +1 -1
  10. package/dist/common/mixins/index.js +9 -7
  11. package/dist/common/mixins/index.js.map +1 -1
  12. package/dist/common/mixins/mode.cjs +2 -0
  13. package/dist/common/mixins/mode.cjs.map +1 -0
  14. package/dist/common/mixins/mode.js +82 -0
  15. package/dist/common/mixins/mode.js.map +1 -0
  16. package/dist/component-documentation.json +1 -1
  17. package/dist/dialtone-vue.cjs +1 -1
  18. package/dist/dialtone-vue.js +464 -408
  19. package/dist/dialtone-vue.js.map +1 -1
  20. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  21. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  22. package/dist/lib/attachment-carousel/attachment-carousel.js +8 -8
  23. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  24. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  25. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  26. package/dist/lib/avatar/avatar-constants.js +169 -43
  27. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  28. package/dist/lib/avatar/avatar.cjs +1 -1
  29. package/dist/lib/avatar/avatar.cjs.map +1 -1
  30. package/dist/lib/avatar/avatar.js +186 -100
  31. package/dist/lib/avatar/avatar.js.map +1 -1
  32. package/dist/lib/avatar/index.cjs +1 -1
  33. package/dist/lib/avatar/index.js +16 -10
  34. package/dist/lib/badge/badge.cjs +1 -1
  35. package/dist/lib/badge/badge.cjs.map +1 -1
  36. package/dist/lib/badge/badge.js +47 -35
  37. package/dist/lib/badge/badge.js.map +1 -1
  38. package/dist/lib/banner/banner.cjs +1 -1
  39. package/dist/lib/banner/banner.cjs.map +1 -1
  40. package/dist/lib/banner/banner.js +19 -18
  41. package/dist/lib/banner/banner.js.map +1 -1
  42. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  43. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  44. package/dist/lib/breadcrumbs/breadcrumb-item.js +4 -1
  45. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  46. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  47. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  48. package/dist/lib/breadcrumbs/breadcrumbs.js +22 -18
  49. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  50. package/dist/lib/button/button-constants.cjs +1 -1
  51. package/dist/lib/button/button-constants.cjs.map +1 -1
  52. package/dist/lib/button/button-constants.js +33 -15
  53. package/dist/lib/button/button-constants.js.map +1 -1
  54. package/dist/lib/button/button.cjs +1 -1
  55. package/dist/lib/button/button.cjs.map +1 -1
  56. package/dist/lib/button/button.js +195 -78
  57. package/dist/lib/button/button.js.map +1 -1
  58. package/dist/lib/button-group/button-group.cjs.map +1 -1
  59. package/dist/lib/button-group/button-group.js +1 -0
  60. package/dist/lib/button-group/button-group.js.map +1 -1
  61. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  62. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  63. package/dist/lib/callbar-button/callbar-button.js +14 -15
  64. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  65. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  66. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  67. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +44 -32
  68. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  69. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  70. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  71. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +40 -28
  72. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  73. package/dist/lib/callbox/callbox.cjs +1 -1
  74. package/dist/lib/callbox/callbox.cjs.map +1 -1
  75. package/dist/lib/callbox/callbox.js +48 -48
  76. package/dist/lib/callbox/callbox.js.map +1 -1
  77. package/dist/lib/checkbox/checkbox.cjs +1 -1
  78. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  79. package/dist/lib/checkbox/checkbox.js +97 -43
  80. package/dist/lib/checkbox/checkbox.js.map +1 -1
  81. package/dist/lib/chip/chip-constants.cjs +1 -1
  82. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  83. package/dist/lib/chip/chip-constants.js +17 -2
  84. package/dist/lib/chip/chip-constants.js.map +1 -1
  85. package/dist/lib/chip/chip.cjs +1 -1
  86. package/dist/lib/chip/chip.cjs.map +1 -1
  87. package/dist/lib/chip/chip.js +17 -17
  88. package/dist/lib/chip/chip.js.map +1 -1
  89. package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
  90. package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
  91. package/dist/lib/codeblock/codeblock-constants.js +12 -0
  92. package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
  93. package/dist/lib/codeblock/codeblock.cjs +1 -2
  94. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  95. package/dist/lib/codeblock/codeblock.js +38 -12
  96. package/dist/lib/codeblock/codeblock.js.map +1 -1
  97. package/dist/lib/collapsible/collapsible.cjs +1 -1
  98. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  99. package/dist/lib/collapsible/collapsible.js +1 -1
  100. package/dist/lib/collapsible/collapsible.js.map +1 -1
  101. package/dist/lib/combobox/combobox.cjs +2 -2
  102. package/dist/lib/combobox/combobox.cjs.map +1 -1
  103. package/dist/lib/combobox/combobox.js +22 -21
  104. package/dist/lib/combobox/combobox.js.map +1 -1
  105. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
  106. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  107. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +16 -6
  108. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  109. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  110. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  111. package/dist/lib/combobox-multi-select/combobox-multi-select.js +48 -46
  112. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  113. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  114. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  115. package/dist/lib/combobox-with-popover/combobox-with-popover.js +37 -29
  116. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  117. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  118. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  119. package/dist/lib/contact-centers-row/contact-centers-row.js +36 -36
  120. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  121. package/dist/lib/contact-info/contact-info.cjs +1 -1
  122. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  123. package/dist/lib/contact-info/contact-info.js +56 -56
  124. package/dist/lib/contact-info/contact-info.js.map +1 -1
  125. package/dist/lib/contact-row/contact-row.cjs +1 -1
  126. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  127. package/dist/lib/contact-row/contact-row.js +3 -3
  128. package/dist/lib/contact-row/contact-row.js.map +1 -1
  129. package/dist/lib/datepicker/datepicker.cjs +1 -1
  130. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  131. package/dist/lib/datepicker/datepicker.js +93 -95
  132. package/dist/lib/datepicker/datepicker.js.map +1 -1
  133. package/dist/lib/description-list/description-list.cjs +1 -1
  134. package/dist/lib/description-list/description-list.cjs.map +1 -1
  135. package/dist/lib/description-list/description-list.js +2 -2
  136. package/dist/lib/description-list/description-list.js.map +1 -1
  137. package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
  138. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  139. package/dist/lib/dropdown/dropdown-constants.js +2 -2
  140. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  141. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  142. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  143. package/dist/lib/dropdown/dropdown-list.js +29 -18
  144. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  145. package/dist/lib/dropdown/dropdown.cjs +1 -1
  146. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  147. package/dist/lib/dropdown/dropdown.js +27 -19
  148. package/dist/lib/dropdown/dropdown.js.map +1 -1
  149. package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
  150. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  151. package/dist/lib/editor/EditorToolbarButton.js +6 -6
  152. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  153. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
  154. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  155. package/dist/lib/editor/EditorToolbarDropdownButton.js +3 -3
  156. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  157. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
  158. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  159. package/dist/lib/editor/EditorToolbarPopoverButton.js +3 -3
  160. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  161. package/dist/lib/editor/editor.cjs +1 -1
  162. package/dist/lib/editor/editor.cjs.map +1 -1
  163. package/dist/lib/editor/editor.js +48 -48
  164. package/dist/lib/editor/editor.js.map +1 -1
  165. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  166. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  167. package/dist/lib/emoji-picker/emoji-picker.js +62 -59
  168. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  169. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  170. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  171. package/dist/lib/emoji-row/emoji-row.js +10 -10
  172. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  173. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  174. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js +2 -1
  175. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  176. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  177. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  178. package/dist/lib/empty-state/empty-state-constants.js +54 -12
  179. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  180. package/dist/lib/empty-state/empty-state.cjs +1 -1
  181. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  182. package/dist/lib/empty-state/empty-state.js +60 -36
  183. package/dist/lib/empty-state/empty-state.js.map +1 -1
  184. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  185. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  186. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  187. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  188. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  189. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  190. package/dist/lib/feed-item-row/feed-item-row.js +12 -12
  191. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  192. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  193. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  194. package/dist/lib/filter-pill/filter-pill.js +569 -0
  195. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  196. package/dist/lib/filter-pill/index.cjs +2 -0
  197. package/dist/lib/filter-pill/index.cjs.map +1 -0
  198. package/dist/lib/filter-pill/index.js +5 -0
  199. package/dist/lib/filter-pill/index.js.map +1 -0
  200. package/dist/lib/general-row/general-row.cjs +1 -1
  201. package/dist/lib/general-row/general-row.cjs.map +1 -1
  202. package/dist/lib/general-row/general-row.js +154 -100
  203. package/dist/lib/general-row/general-row.js.map +1 -1
  204. package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  205. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  206. package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
  207. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  208. package/dist/lib/group-row/group-row.cjs +1 -1
  209. package/dist/lib/group-row/group-row.cjs.map +1 -1
  210. package/dist/lib/group-row/group-row.js +2 -2
  211. package/dist/lib/group-row/group-row.js.map +1 -1
  212. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  213. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  214. package/dist/lib/grouped-chip/grouped-chip.js +33 -33
  215. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  216. package/dist/lib/hovercard/hovercard.cjs +1 -1
  217. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  218. package/dist/lib/hovercard/hovercard.js +37 -28
  219. package/dist/lib/hovercard/hovercard.js.map +1 -1
  220. package/dist/lib/icon/icon.cjs +1 -1
  221. package/dist/lib/icon/icon.cjs.map +1 -1
  222. package/dist/lib/icon/icon.js +1 -1
  223. package/dist/lib/icon/icon.js.map +1 -1
  224. package/dist/lib/illustration/illustration.cjs +1 -1
  225. package/dist/lib/illustration/illustration.cjs.map +1 -1
  226. package/dist/lib/illustration/illustration.js +1 -1
  227. package/dist/lib/illustration/illustration.js.map +1 -1
  228. package/dist/lib/image-viewer/image-viewer.cjs +1 -1
  229. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  230. package/dist/lib/image-viewer/image-viewer.js +28 -27
  231. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  232. package/dist/lib/input/input-constants.cjs +1 -1
  233. package/dist/lib/input/input-constants.cjs.map +1 -1
  234. package/dist/lib/input/input-constants.js +43 -22
  235. package/dist/lib/input/input-constants.js.map +1 -1
  236. package/dist/lib/input/input.cjs +1 -1
  237. package/dist/lib/input/input.cjs.map +1 -1
  238. package/dist/lib/input/input.js +165 -79
  239. package/dist/lib/input/input.js.map +1 -1
  240. package/dist/lib/input-group/input-group.cjs +1 -1
  241. package/dist/lib/input-group/input-group.cjs.map +1 -1
  242. package/dist/lib/input-group/input-group.js +35 -28
  243. package/dist/lib/input-group/input-group.js.map +1 -1
  244. package/dist/lib/item-layout/item-layout.cjs +3 -3
  245. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout/item-layout.js +74 -39
  247. package/dist/lib/item-layout/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node/ivr-node.cjs +1 -1
  249. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node/ivr-node.js +1 -1
  251. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  253. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +57 -43
  255. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  257. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  258. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  259. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  260. package/dist/lib/link/link.cjs +1 -1
  261. package/dist/lib/link/link.cjs.map +1 -1
  262. package/dist/lib/link/link.js +22 -12
  263. package/dist/lib/link/link.js.map +1 -1
  264. package/dist/lib/list-item/list-item.cjs +1 -1
  265. package/dist/lib/list-item/list-item.cjs.map +1 -1
  266. package/dist/lib/list-item/list-item.js +27 -16
  267. package/dist/lib/list-item/list-item.js.map +1 -1
  268. package/dist/lib/message-input/message-input-button.cjs +1 -1
  269. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  270. package/dist/lib/message-input/message-input-button.js +4 -4
  271. package/dist/lib/message-input/message-input-button.js.map +1 -1
  272. package/dist/lib/message-input/message-input-link.cjs +1 -1
  273. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  274. package/dist/lib/message-input/message-input-link.js +12 -12
  275. package/dist/lib/message-input/message-input-link.js.map +1 -1
  276. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  277. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  278. package/dist/lib/message-input/message-input-topbar.js +2 -2
  279. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  280. package/dist/lib/message-input/message-input.cjs +1 -1
  281. package/dist/lib/message-input/message-input.cjs.map +1 -1
  282. package/dist/lib/message-input/message-input.js +52 -52
  283. package/dist/lib/message-input/message-input.js.map +1 -1
  284. package/dist/lib/modal/modal.cjs +1 -1
  285. package/dist/lib/modal/modal.cjs.map +1 -1
  286. package/dist/lib/modal/modal.js +120 -106
  287. package/dist/lib/modal/modal.js.map +1 -1
  288. package/dist/lib/mode-directive/index.cjs +2 -0
  289. package/dist/lib/mode-directive/index.cjs.map +1 -0
  290. package/dist/lib/mode-directive/index.js +5 -0
  291. package/dist/lib/mode-directive/index.js.map +1 -0
  292. package/dist/lib/mode-directive/mode.cjs +2 -0
  293. package/dist/lib/mode-directive/mode.cjs.map +1 -0
  294. package/dist/lib/mode-directive/mode.js +75 -0
  295. package/dist/lib/mode-directive/mode.js.map +1 -0
  296. package/dist/lib/mode-island/index.cjs +2 -0
  297. package/dist/lib/mode-island/index.cjs.map +1 -0
  298. package/dist/lib/mode-island/index.js +7 -0
  299. package/dist/lib/mode-island/index.js.map +1 -0
  300. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  301. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  302. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  303. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  304. package/dist/lib/mode-island/mode-island.cjs +2 -0
  305. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  306. package/dist/lib/mode-island/mode-island.js +130 -0
  307. package/dist/lib/mode-island/mode-island.js.map +1 -0
  308. package/dist/lib/mode-island/utils.cjs +2 -0
  309. package/dist/lib/mode-island/utils.cjs.map +1 -0
  310. package/dist/lib/mode-island/utils.js +32 -0
  311. package/dist/lib/mode-island/utils.js.map +1 -0
  312. package/dist/lib/mode-island/validators.cjs +2 -0
  313. package/dist/lib/mode-island/validators.cjs.map +1 -0
  314. package/dist/lib/mode-island/validators.js +12 -0
  315. package/dist/lib/mode-island/validators.js.map +1 -0
  316. package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
  317. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  318. package/dist/lib/motion-text/motion-text-constants.js +18 -8
  319. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  320. package/dist/lib/motion-text/motion-text.cjs +1 -1
  321. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  322. package/dist/lib/motion-text/motion-text.js +17 -17
  323. package/dist/lib/motion-text/motion-text.js.map +1 -1
  324. package/dist/lib/notice/notice-action.cjs +1 -1
  325. package/dist/lib/notice/notice-action.cjs.map +1 -1
  326. package/dist/lib/notice/notice-action.js +9 -9
  327. package/dist/lib/notice/notice-action.js.map +1 -1
  328. package/dist/lib/notice/notice-content.cjs +1 -1
  329. package/dist/lib/notice/notice-content.cjs.map +1 -1
  330. package/dist/lib/notice/notice-content.js +38 -21
  331. package/dist/lib/notice/notice-content.js.map +1 -1
  332. package/dist/lib/notice/notice-icon.cjs +1 -1
  333. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  334. package/dist/lib/notice/notice-icon.js +1 -1
  335. package/dist/lib/notice/notice-icon.js.map +1 -1
  336. package/dist/lib/notice/notice.cjs +1 -1
  337. package/dist/lib/notice/notice.cjs.map +1 -1
  338. package/dist/lib/notice/notice.js +20 -19
  339. package/dist/lib/notice/notice.js.map +1 -1
  340. package/dist/lib/pagination/pagination.cjs +1 -1
  341. package/dist/lib/pagination/pagination.cjs.map +1 -1
  342. package/dist/lib/pagination/pagination.js +16 -15
  343. package/dist/lib/pagination/pagination.js.map +1 -1
  344. package/dist/lib/popover/popover-constants.cjs +1 -1
  345. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  346. package/dist/lib/popover/popover-constants.js +16 -16
  347. package/dist/lib/popover/popover-constants.js.map +1 -1
  348. package/dist/lib/popover/popover-header-footer.cjs +1 -1
  349. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  350. package/dist/lib/popover/popover-header-footer.js +19 -12
  351. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  352. package/dist/lib/popover/popover.cjs +1 -1
  353. package/dist/lib/popover/popover.cjs.map +1 -1
  354. package/dist/lib/popover/popover.js +80 -62
  355. package/dist/lib/popover/popover.js.map +1 -1
  356. package/dist/lib/radio/radio.cjs +1 -1
  357. package/dist/lib/radio/radio.cjs.map +1 -1
  358. package/dist/lib/radio/radio.js +103 -41
  359. package/dist/lib/radio/radio.js.map +1 -1
  360. package/dist/lib/rich-text-editor/rich-text-editor.cjs +3 -3
  361. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  362. package/dist/lib/rich-text-editor/rich-text-editor.js +637 -590
  363. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  364. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  365. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  366. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  367. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  368. package/dist/lib/root-layout/root-layout.cjs +1 -1
  369. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  370. package/dist/lib/root-layout/root-layout.js +15 -13
  371. package/dist/lib/root-layout/root-layout.js.map +1 -1
  372. package/dist/lib/segmented-control/index.cjs +2 -0
  373. package/dist/lib/segmented-control/index.cjs.map +1 -0
  374. package/dist/lib/segmented-control/index.js +20 -0
  375. package/dist/lib/segmented-control/index.js.map +1 -0
  376. package/dist/lib/segmented-control/segmented-control-constants.cjs +2 -0
  377. package/dist/lib/segmented-control/segmented-control-constants.cjs.map +1 -0
  378. package/dist/lib/segmented-control/segmented-control-constants.js +45 -0
  379. package/dist/lib/segmented-control/segmented-control-constants.js.map +1 -0
  380. package/dist/lib/segmented-control/segmented-control-item.cjs +2 -0
  381. package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -0
  382. package/dist/lib/segmented-control/segmented-control-item.js +124 -0
  383. package/dist/lib/segmented-control/segmented-control-item.js.map +1 -0
  384. package/dist/lib/segmented-control/segmented-control.cjs +2 -0
  385. package/dist/lib/segmented-control/segmented-control.cjs.map +1 -0
  386. package/dist/lib/segmented-control/segmented-control.js +236 -0
  387. package/dist/lib/segmented-control/segmented-control.js.map +1 -0
  388. package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
  389. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  390. package/dist/lib/select-menu/select-menu-constants.js +13 -6
  391. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  392. package/dist/lib/select-menu/select-menu.cjs +1 -1
  393. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  394. package/dist/lib/select-menu/select-menu.js +133 -67
  395. package/dist/lib/select-menu/select-menu.js.map +1 -1
  396. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  397. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  398. package/dist/lib/settings-menu-button/settings-menu-button.js +20 -20
  399. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  400. package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
  401. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  402. package/dist/lib/skeleton/skeleton-constants.js +26 -14
  403. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  404. package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
  405. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  406. package/dist/lib/skeleton/skeleton-list-item.js +3 -3
  407. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  408. package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
  409. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  410. package/dist/lib/skeleton/skeleton-shape.js +11 -11
  411. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  412. package/dist/lib/split-button/split-button-constants.cjs +1 -1
  413. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  414. package/dist/lib/split-button/split-button-constants.js +7 -0
  415. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  416. package/dist/lib/split-button/split-button-end.cjs +2 -0
  417. package/dist/lib/split-button/split-button-end.cjs.map +1 -0
  418. package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +16 -16
  419. package/dist/lib/split-button/split-button-end.js.map +1 -0
  420. package/dist/lib/split-button/split-button-start.cjs +2 -0
  421. package/dist/lib/split-button/split-button-start.cjs.map +1 -0
  422. package/dist/lib/split-button/split-button-start.js +231 -0
  423. package/dist/lib/split-button/split-button-start.js.map +1 -0
  424. package/dist/lib/split-button/split-button.cjs +1 -1
  425. package/dist/lib/split-button/split-button.cjs.map +1 -1
  426. package/dist/lib/split-button/split-button.js +337 -101
  427. package/dist/lib/split-button/split-button.js.map +1 -1
  428. package/dist/lib/stack/stack-constants.cjs +1 -1
  429. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  430. package/dist/lib/stack/stack-constants.js +1 -1
  431. package/dist/lib/stack/stack-constants.js.map +1 -1
  432. package/dist/lib/stack/stack.cjs.map +1 -1
  433. package/dist/lib/stack/stack.js +5 -3
  434. package/dist/lib/stack/stack.js.map +1 -1
  435. package/dist/lib/tab/index.cjs +1 -1
  436. package/dist/lib/tab/index.js +14 -11
  437. package/dist/lib/tab/tab-group.cjs +1 -1
  438. package/dist/lib/tab/tab-group.cjs.map +1 -1
  439. package/dist/lib/tab/tab-group.js +171 -56
  440. package/dist/lib/tab/tab-group.js.map +1 -1
  441. package/dist/lib/tab/tab.cjs +1 -1
  442. package/dist/lib/tab/tab.cjs.map +1 -1
  443. package/dist/lib/tab/tab.js +105 -31
  444. package/dist/lib/tab/tab.js.map +1 -1
  445. package/dist/lib/tab/tabs-constants.cjs +1 -1
  446. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  447. package/dist/lib/tab/tabs-constants.js +31 -10
  448. package/dist/lib/tab/tabs-constants.js.map +1 -1
  449. package/dist/lib/text/index.cjs +2 -0
  450. package/dist/lib/text/index.cjs.map +1 -0
  451. package/dist/lib/text/index.js +20 -0
  452. package/dist/lib/text/index.js.map +1 -0
  453. package/dist/lib/text/text-constants.cjs +2 -0
  454. package/dist/lib/text/text-constants.cjs.map +1 -0
  455. package/dist/lib/text/text-constants.js +78 -0
  456. package/dist/lib/text/text-constants.js.map +1 -0
  457. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  458. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  459. package/dist/lib/text/text-tone-tokens.js +33 -0
  460. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  461. package/dist/lib/text/text.cjs +2 -0
  462. package/dist/lib/text/text.cjs.map +1 -0
  463. package/dist/lib/text/text.js +206 -0
  464. package/dist/lib/text/text.js.map +1 -0
  465. package/dist/lib/toast/toast.cjs +1 -1
  466. package/dist/lib/toast/toast.cjs.map +1 -1
  467. package/dist/lib/toast/toast.js +12 -11
  468. package/dist/lib/toast/toast.js.map +1 -1
  469. package/dist/lib/toggle/toggle-constants.cjs +1 -1
  470. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  471. package/dist/lib/toggle/toggle-constants.js +6 -2
  472. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  473. package/dist/lib/toggle/toggle.cjs +1 -1
  474. package/dist/lib/toggle/toggle.cjs.map +1 -1
  475. package/dist/lib/toggle/toggle.js +39 -35
  476. package/dist/lib/toggle/toggle.js.map +1 -1
  477. package/dist/lib/tooltip/tooltip.cjs +2 -2
  478. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  479. package/dist/lib/tooltip/tooltip.js +31 -26
  480. package/dist/lib/tooltip/tooltip.js.map +1 -1
  481. package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
  482. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  483. package/dist/lib/tooltip-directive/tooltip.js +40 -39
  484. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  485. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  486. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  487. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  488. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  489. package/dist/lib/unread-pill/unread-pill.cjs +1 -1
  490. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  491. package/dist/lib/unread-pill/unread-pill.js +1 -1
  492. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  493. package/dist/localization/en-US.cjs +5 -0
  494. package/dist/localization/en-US.cjs.map +1 -1
  495. package/dist/localization/en-US.js +5 -0
  496. package/dist/localization/en-US.js.map +1 -1
  497. package/dist/mode_constants-C1GFodVj.js +14 -0
  498. package/dist/mode_constants-C1GFodVj.js.map +1 -0
  499. package/dist/mode_constants-DeLSnTcQ.cjs +2 -0
  500. package/dist/mode_constants-DeLSnTcQ.cjs.map +1 -0
  501. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  502. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  503. package/dist/shared/sr_only_close_button.cjs +1 -1
  504. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  505. package/dist/shared/sr_only_close_button.js +1 -1
  506. package/dist/shared/sr_only_close_button.js.map +1 -1
  507. package/dist/style.css +1 -1
  508. package/dist/types/common/constants/index.d.ts +25 -19
  509. package/dist/types/common/constants/index.d.ts.map +1 -1
  510. package/dist/types/common/constants/sizes.d.ts +22 -0
  511. package/dist/types/common/constants/sizes.d.ts.map +1 -0
  512. package/dist/types/common/mixins/index.d.ts +1 -0
  513. package/dist/types/common/mixins/mode.d.ts +25 -0
  514. package/dist/types/common/mixins/mode.d.ts.map +1 -0
  515. package/dist/types/common/mode_constants.d.ts +37 -0
  516. package/dist/types/common/mode_constants.d.ts.map +1 -0
  517. package/dist/types/common/sr_only_close_button.vue.d.ts +53 -7
  518. package/dist/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  519. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  520. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  521. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  522. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  523. package/dist/types/components/avatar/index.d.ts +1 -1
  524. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  525. package/dist/types/components/banner/banner.vue.d.ts +246 -15
  526. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  527. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  528. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  529. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  530. package/dist/types/components/button/button.vue.d.ts +53 -7
  531. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  532. package/dist/types/components/button/button_constants.d.ts +28 -19
  533. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  534. package/dist/types/components/checkbox/checkbox.vue.d.ts +178 -4
  535. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  536. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +138 -0
  537. package/dist/types/components/chip/chip.vue.d.ts +58 -12
  538. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  539. package/dist/types/components/chip/chip_constants.d.ts +24 -21
  540. package/dist/types/components/chip/chip_constants.d.ts.map +1 -1
  541. package/dist/types/components/codeblock/codeblock.vue.d.ts +25 -2
  542. package/dist/types/components/codeblock/codeblock.vue.d.ts.map +1 -1
  543. package/dist/types/components/codeblock/codeblock_constants.d.ts +9 -0
  544. package/dist/types/components/codeblock/codeblock_constants.d.ts.map +1 -0
  545. package/dist/types/components/collapsible/collapsible.vue.d.ts +53 -7
  546. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  547. package/dist/types/components/combobox/combobox.vue.d.ts +109 -34
  548. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  549. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +40 -7
  550. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  551. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +64 -22
  552. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  553. package/dist/types/components/combobox_multi_select/combobox_multi_select_constants.d.ts +16 -13
  554. package/dist/types/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
  555. package/dist/types/components/combobox_with_popover/combobox_with_popover.vue.d.ts +388 -82
  556. package/dist/types/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  557. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  558. package/dist/types/components/dropdown/dropdown.vue.d.ts +170 -14
  559. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  560. package/dist/types/components/emoji/emoji.vue.d.ts +24 -15
  561. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +196 -6
  562. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +196 -6
  563. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  564. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  565. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +24 -15
  566. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  567. package/dist/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  568. package/dist/types/components/empty_state/empty_state_constants.d.ts +52 -31
  569. package/dist/types/components/empty_state/empty_state_constants.d.ts.map +1 -1
  570. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +4487 -0
  571. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  572. package/dist/types/components/filter_pill/index.d.ts +2 -0
  573. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  574. package/dist/types/components/hovercard/hovercard.vue.d.ts +368 -29
  575. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  576. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +131 -14
  577. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  578. package/dist/types/components/input/input.vue.d.ts +187 -5
  579. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  580. package/dist/types/components/input/input_constants.d.ts +44 -46
  581. package/dist/types/components/input/input_constants.d.ts.map +1 -1
  582. package/dist/types/components/input_group/input_group.vue.d.ts +138 -0
  583. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  584. package/dist/types/components/item_layout/item_layout.vue.d.ts +37 -6
  585. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  586. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +138 -0
  587. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  588. package/dist/types/components/link/link.vue.d.ts +9 -0
  589. package/dist/types/components/list_item/list_item.vue.d.ts +40 -7
  590. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  591. package/dist/types/components/modal/modal.vue.d.ts +271 -16
  592. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  593. package/dist/types/components/mode_island/index.d.ts +3 -0
  594. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  595. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  596. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  597. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  598. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  599. package/dist/types/components/mode_island/utils.d.ts +12 -0
  600. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  601. package/dist/types/components/mode_island/validators.d.ts +6 -0
  602. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  603. package/dist/types/components/motion_text/motion_text_constants.d.ts +27 -23
  604. package/dist/types/components/motion_text/motion_text_constants.d.ts.map +1 -1
  605. package/dist/types/components/notice/notice.vue.d.ts +246 -15
  606. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  607. package/dist/types/components/notice/notice_action.vue.d.ts +106 -14
  608. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  609. package/dist/types/components/notice/notice_content.vue.d.ts +140 -1
  610. package/dist/types/components/notice/notice_content.vue.d.ts.map +1 -1
  611. package/dist/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  612. package/dist/types/components/pagination/pagination.vue.d.ts +53 -7
  613. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  614. package/dist/types/components/popover/popover.vue.d.ts +159 -14
  615. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  616. package/dist/types/components/popover/popover_header_footer.vue.d.ts +62 -7
  617. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  618. package/dist/types/components/radio/radio.vue.d.ts +173 -0
  619. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  620. package/dist/types/components/radio_group/radio_group.vue.d.ts +138 -0
  621. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  622. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  623. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  624. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +24 -15
  625. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +24 -15
  626. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  627. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +209 -25
  628. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  629. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +140 -1
  630. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  631. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
  632. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  633. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +399 -26
  634. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  635. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  636. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  637. package/dist/types/components/segmented_control/index.d.ts +4 -0
  638. package/dist/types/components/segmented_control/index.d.ts.map +1 -0
  639. package/dist/types/components/segmented_control/segmented_control.vue.d.ts +224 -0
  640. package/dist/types/components/segmented_control/segmented_control.vue.d.ts.map +1 -0
  641. package/dist/types/components/segmented_control/segmented_control_constants.d.ts +41 -0
  642. package/dist/types/components/segmented_control/segmented_control_constants.d.ts.map +1 -0
  643. package/dist/types/components/segmented_control/segmented_control_item.vue.d.ts +35 -0
  644. package/dist/types/components/segmented_control/segmented_control_item.vue.d.ts.map +1 -0
  645. package/dist/types/components/select_menu/select_menu.vue.d.ts +182 -18
  646. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  647. package/dist/types/components/select_menu/select_menu_constants.d.ts +12 -7
  648. package/dist/types/components/select_menu/select_menu_constants.d.ts.map +1 -1
  649. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +13 -10
  650. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -0
  651. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  652. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +3 -0
  653. package/dist/types/components/skeleton/skeleton.vue.d.ts +24 -15
  654. package/dist/types/components/skeleton/skeleton_constants.d.ts +18 -13
  655. package/dist/types/components/skeleton/skeleton_constants.d.ts.map +1 -1
  656. package/dist/types/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +64 -13
  657. package/dist/types/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
  658. package/dist/types/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +125 -11
  659. package/dist/types/components/split_button/split_button-start.vue.d.ts.map +1 -0
  660. package/dist/types/components/split_button/split_button.vue.d.ts +589 -66
  661. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  662. package/dist/types/components/split_button/split_button_constants.d.ts +12 -7
  663. package/dist/types/components/split_button/split_button_constants.d.ts.map +1 -1
  664. package/dist/types/components/stack/stack_constants.d.ts.map +1 -1
  665. package/dist/types/components/tab/index.d.ts +1 -1
  666. package/dist/types/components/tab/tab.vue.d.ts +85 -11
  667. package/dist/types/components/tab/tab.vue.d.ts.map +1 -1
  668. package/dist/types/components/tab/tab_group.vue.d.ts +91 -5
  669. package/dist/types/components/tab/tab_group.vue.d.ts.map +1 -1
  670. package/dist/types/components/tab/tabs_constants.d.ts +23 -5
  671. package/dist/types/components/tab/tabs_constants.d.ts.map +1 -1
  672. package/dist/types/components/text/index.d.ts +3 -0
  673. package/dist/types/components/text/index.d.ts.map +1 -0
  674. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  675. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  676. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  677. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  678. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  679. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  680. package/dist/types/components/text/text.vue.d.ts +141 -0
  681. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  682. package/dist/types/components/text/text_constants.d.ts +82 -0
  683. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  684. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  685. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  686. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +246 -15
  687. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  688. package/dist/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  689. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +246 -15
  690. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  691. package/dist/types/components/toast/toast.vue.d.ts +1033 -109
  692. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  693. package/dist/types/components/toggle/toggle.vue.d.ts +14 -6
  694. package/dist/types/components/toggle/toggle.vue.d.ts.map +1 -1
  695. package/dist/types/components/toggle/toggle_constants.d.ts +6 -4
  696. package/dist/types/components/toggle/toggle_constants.d.ts.map +1 -1
  697. package/dist/types/components/tooltip/tooltip.vue.d.ts +27 -1
  698. package/dist/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
  699. package/dist/types/directives/mode_directive/index.d.ts +2 -0
  700. package/dist/types/directives/mode_directive/index.d.ts.map +1 -0
  701. package/dist/types/directives/mode_directive/mode.d.ts +6 -0
  702. package/dist/types/directives/mode_directive/mode.d.ts.map +1 -0
  703. package/dist/types/directives/tooltip_directive/tooltip.d.ts.map +1 -1
  704. package/dist/types/index.d.ts +5 -0
  705. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +80 -8
  706. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  707. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +303 -29
  708. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  709. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +293 -30
  710. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  711. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +223 -21
  712. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  713. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +58 -12
  714. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  715. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +237 -28
  716. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  717. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +184 -21
  718. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  719. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +53 -7
  720. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +223 -21
  721. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  722. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +212 -21
  723. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  724. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +128 -38
  725. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  726. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +90 -13
  727. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  728. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +111 -32
  729. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  730. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +90 -13
  731. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  732. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +218 -8
  733. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  734. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +617 -34
  735. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  736. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +218 -8
  737. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  738. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +53 -7
  739. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  740. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +108 -31
  741. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  742. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  743. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  744. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +77 -22
  745. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  746. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +557 -64
  747. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  748. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +462 -24
  749. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  750. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  751. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +462 -24
  752. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  753. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  754. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  755. package/package.json +6 -5
  756. package/dist/lib/split-button/split-button-alpha.cjs +0 -2
  757. package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
  758. package/dist/lib/split-button/split-button-alpha.js +0 -138
  759. package/dist/lib/split-button/split-button-alpha.js.map +0 -1
  760. package/dist/lib/split-button/split-button-omega.cjs +0 -2
  761. package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
  762. package/dist/lib/split-button/split-button-omega.js.map +0 -1
  763. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.js","sources":["../../../components/datepicker/composables/useMonthYearPicker.js","../../../components/datepicker/modules/month-year-picker.vue","../../../components/datepicker/composables/useCalendar.js","../../../components/datepicker/modules/calendar.vue","../../../components/datepicker/datepicker.vue"],"sourcesContent":["import { computed, ref, watch } from 'vue';\nimport { addMonths, endOfMonth, getDate, getMonth, getYear, set, startOfDay, startOfMonth, subMonths } from 'date-fns';\nimport { formatMonth, getCalendarDays } from '../utils.js';\nimport { INTL_MONTH_FORMAT } from '../datepicker_constants';\nimport { returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport function useMonthYearPicker (props, emits) {\n const selectMonth = ref(getMonth(props.selectedDate));\n const selectYear = ref(getYear(props.selectedDate));\n const highlightedDay = ref(null);\n const focusPicker = ref(0);\n const focusRefs = ref([]);\n const i18n = new DialtoneLocalization();\n\n const calendarDays = computed(() => {\n return getCalendarDays(\n selectMonth.value, selectYear.value, highlightedDay.value,\n props.minDate, props.maxDate, props.weekStartsOn,\n );\n });\n\n const isPrevMonthDisabled = computed(() => {\n if (!props.minDate) return false;\n const prevMonth = subMonths(new Date(selectYear.value, selectMonth.value, 1), 1);\n return endOfMonth(prevMonth) < startOfDay(props.minDate);\n });\n\n const isNextMonthDisabled = computed(() => {\n if (!props.maxDate) return false;\n const nextMonth = addMonths(new Date(selectYear.value, selectMonth.value, 1), 1);\n return startOfMonth(nextMonth) > startOfDay(props.maxDate);\n });\n\n const isPrevYearDisabled = computed(() => {\n if (!props.minDate) return false;\n const prevYearMonth = new Date(selectYear.value - 1, selectMonth.value, 1);\n return endOfMonth(prevYearMonth) < startOfDay(props.minDate);\n });\n\n const isNextYearDisabled = computed(() => {\n if (!props.maxDate) return false;\n const nextYearMonth = new Date(selectYear.value + 1, selectMonth.value, 1);\n return startOfMonth(nextYearMonth) > startOfDay(props.maxDate);\n });\n\n watch(selectMonth, () => {\n highlightDay();\n emits('calendar-days', calendarDays.value);\n }, { immediate: true });\n\n watch(selectYear, () => {\n highlightDay();\n emits('calendar-days', calendarDays.value);\n }, { immediate: true });\n\n watch(() => props.minDate, () => {\n emits('calendar-days', calendarDays.value);\n });\n\n watch(() => props.maxDate, () => {\n emits('calendar-days', calendarDays.value);\n });\n\n function formattedMonth (month) {\n return formatMonth(month, INTL_MONTH_FORMAT, i18n.currentLocale);\n }\n\n function setDayRef (el) {\n if (!focusRefs.value.includes(el)) {\n focusRefs.value.push(el);\n }\n }\n\n function focusMonthYearPicker () {\n returnFirstEl(focusRefs.value[0].$el).focus();\n }\n\n function handleKeyDown (event) {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n if (focusPicker.value === 0) {\n focusPicker.value = 3;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n } else {\n focusPicker.value--;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n }\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n if (focusPicker.value === 3) {\n focusPicker.value = 0;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n } else {\n focusPicker.value++;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n }\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n emits('focus-first-day');\n break;\n\n case 'Tab':\n event.preventDefault();\n emits('focus-first-day');\n break;\n\n case 'Escape':\n emits('close-datepicker');\n break;\n }\n }\n\n function highlightDay () {\n const year = getYear(props.selectedDate);\n const month = getMonth(props.selectedDate);\n\n if (year !== selectYear.value || month !== selectMonth.value) {\n highlightedDay.value = null;\n } else {\n highlightedDay.value = getDate(props.selectedDate);\n }\n }\n\n function changeMonth (value) {\n if (value === -1 && isPrevMonthDisabled.value) return;\n if (value === 1 && isNextMonthDisabled.value) return;\n\n // Adjust year when changing from January to December or vice versa\n if ((selectMonth.value === 0 && value === -1) || (selectMonth.value === 11 && value === 1)) {\n selectYear.value += value;\n }\n\n // Calculate the new date by adding or subtracting months\n const initialDate = set(props.selectedDate, { month: selectMonth.value, year: selectYear.value });\n const newDate = value === 1 ? addMonths(initialDate, 1) : subMonths(initialDate, 1);\n\n // Update the selected month\n selectMonth.value = getMonth(newDate);\n }\n\n function changeYear (value) {\n if (value === -1 && isPrevYearDisabled.value) return;\n if (value === 1 && isNextYearDisabled.value) return;\n\n selectYear.value = selectYear.value + value;\n }\n\n function goToNextMonth () {\n changeMonth(1);\n }\n\n function goToPrevMonth () {\n changeMonth(-1);\n }\n\n function previousYearAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_YEAR')} ${selectYear.value - 1}`;\n }\n\n function previousMonthAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_MONTH')} ${formattedMonth(selectMonth.value - 1)}`;\n }\n\n function nextYearAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_NEXT_YEAR')} ${selectYear.value + 1}`;\n }\n\n function nextMonthAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_NEXT_MONTH')} ${formattedMonth(selectMonth.value + 1)}`;\n }\n\n return {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\n isPrevMonthDisabled,\n isNextMonthDisabled,\n isPrevYearDisabled,\n isNextYearDisabled,\n previousYearAriaLabel,\n previousMonthAriaLabel,\n nextYearAriaLabel,\n nextMonthAriaLabel,\n };\n}\n","<template>\n <dt-stack\n class=\"d-datepicker__month-year\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-stack\n as=\"nav\"\n class=\"d-datepicker__nav\"\n direction=\"row\"\n gap=\"200\"\n >\n <dt-tooltip\n :fallback-placements=\"['top-start', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_YEAR')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"prevYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"previousYearAriaLabel()\"\n :circle=\"true\"\n :disabled=\"isPrevYearDisabled\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n type=\"button\"\n @click=\"changeYear(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon-chevrons-left\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :fallback-placements=\"['top-start', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_MONTH')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"prevMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"previousMonthAriaLabel()\"\n :circle=\"true\"\n :disabled=\"isPrevMonthDisabled\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n type=\"button\"\n @click=\"changeMonth(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon-chevron-left\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n </dt-stack>\n <div\n id=\"calendar-heading\"\n class=\"d-datepicker__month-year-title\"\n >\n {{ formattedMonth(selectMonth) }}\n\n {{ selectYear }}\n </div>\n <dt-stack\n as=\"nav\"\n class=\"d-datepicker__nav\"\n direction=\"row\"\n gap=\"200\"\n >\n <dt-tooltip\n :fallback-placements=\"['top-end', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_NEXT_MONTH')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"nextMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"nextMonthAriaLabel()\"\n :circle=\"true\"\n :disabled=\"isNextMonthDisabled\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n type=\"button\"\n @click=\"changeMonth(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon-chevron-right\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :fallback-placements=\"['top-end', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_NEXT_YEAR')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"nextYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"nextYearAriaLabel()\"\n :circle=\"true\"\n :disabled=\"isNextYearDisabled\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n type=\"button\"\n @click=\"changeYear(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon-chevrons-right\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n </dt-stack>\n </dt-stack>\n</template>\n\n<script setup>\nimport {\n DtIconChevronLeft,\n DtIconChevronsLeft,\n DtIconChevronRight,\n DtIconChevronsRight,\n} from '@dialpad/dialtone-icons/vue3';\nimport { DtStack } from '@/components/stack';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { onMounted } from 'vue';\nimport { useMonthYearPicker } from '../composables/useMonthYearPicker.js';\nimport { DialtoneLocalization } from '@/localization';\n\nconst props = defineProps({\n selectedDate: {\n type: Date,\n required: true,\n },\n\n minDate: {\n type: Date,\n default: null,\n },\n\n maxDate: {\n type: Date,\n default: null,\n },\n\n weekStartsOn: {\n type: Number,\n default: 0,\n validator: (v) => Number.isInteger(v) && v >= 0 && v <= 6,\n },\n});\n\nconst emits = defineEmits([\n /**\n * Will retrieve the calendar days of the given date\n *\n * @event calendar-days\n * @type {Array}\n */\n 'calendar-days',\n\n /**\n * Will focus first day in calendar\n *\n * @event focus-first-day\n */\n 'focus-first-day',\n\n /**\n * Will focus last day in calendar\n *\n * @event focus-last-day\n */\n 'focus-last-day',\n\n /**\n * Will close the datepicker\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n]);\n\nconst i18n = new DialtoneLocalization();\n\nconst {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\n isPrevMonthDisabled,\n isNextMonthDisabled,\n isPrevYearDisabled,\n isNextYearDisabled,\n previousYearAriaLabel,\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n nextYearAriaLabel,\n} = useMonthYearPicker(props, emits);\n\nonMounted(() => {\n focusMonthYearPicker();\n});\n\ndefineExpose({\n focusMonthYearPicker,\n goToNextMonth,\n goToPrevMonth,\n});\n</script>\n","import { computed, ref, watch, nextTick } from 'vue';\nimport { getWeekDayNames, calculateNextFocusDate, calculatePrevFocusDate, formatDate } from '../utils.js';\nimport { INTL_MONTH_FORMAT } from '../datepicker_constants.js';\nimport { returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport function useCalendar (props, emits) {\n const selectedDay = ref(null);\n const focusDay = ref(0);\n const daysRef = ref([]);\n const i18n = new DialtoneLocalization();\n\n const weekDays = computed(() => {\n return getWeekDayNames(props.locale, props.weekStartsOn);\n });\n\n watch(() => props.calendarDays, () => {\n focusDay.value = 0;\n daysRef.value = [];\n selectedDay.value = null;\n });\n\n function dayAriaLabel (day) {\n return i18n.$t('DIALTONE_DATEPICKER_SELECT_DAY') + ` ${formatDate(day.value, INTL_MONTH_FORMAT, i18n.currentLocale)}`;\n }\n\n function setDayRef (el, day) {\n if (!daysRef.value.some(day => day.el === el) && !day.disabled) {\n daysRef.value.push({ el, day });\n }\n }\n\n function handleKeyDown (event) {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n focusDay.value -= 7;\n try {\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } catch {\n const prevFocusDate = calculatePrevFocusDate(daysRef.value[focusDay.value + 7].day.value);\n emits('go-to-prev-month');\n\n nextTick(() => {\n returnFirstEl(daysRef.value[prevFocusDate - 1].el.$el).focus();\n focusDay.value += prevFocusDate - 1;\n });\n }\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n focusDay.value += 7;\n try {\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } catch {\n const nextFocusDate = calculateNextFocusDate(daysRef.value[focusDay.value - 7].day.value);\n emits('go-to-next-month');\n\n nextTick(() => {\n returnFirstEl(daysRef.value[nextFocusDate - 1].el.$el).focus();\n focusDay.value += nextFocusDate - 1;\n });\n }\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n if (focusDay.value > 0) {\n focusDay.value -= 1;\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } else {\n // if we are on month first day, jump to last day of prev month\n emits('go-to-prev-month');\n focusLastDay();\n }\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n if (focusDay.value < daysRef.value.length - 1) {\n focusDay.value += 1;\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } else {\n // if we are on month last day, jump to first day of next month\n emits('go-to-next-month');\n\n focusFirstDay();\n }\n break;\n\n case 'Tab':\n event.preventDefault();\n emits('focus-month-year-picker');\n break;\n\n case 'Escape':\n emits('close-datepicker');\n break;\n }\n }\n\n function focusFirstDay () {\n focusDay.value = 0;\n\n nextTick(() => {\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n });\n }\n\n function focusLastDay () {\n nextTick(() => {\n focusDay.value = daysRef.value.length - 1;\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n });\n }\n\n function selectDay (day) {\n if (day.disabled) { return; }\n\n // local selectedDay is updated when a day is selected\n selectedDay.value = day.text;\n emits('select-date', day.value);\n }\n\n return {\n selectedDay,\n weekDays,\n dayAriaLabel,\n setDayRef,\n handleKeyDown,\n focusFirstDay,\n selectDay,\n };\n}\n","<template>\n <table\n class=\"d-datepicker__calendar\"\n aria-labelledby=\"calendar-heading\"\n >\n <thead>\n <tr>\n <th\n v-for=\"day in weekDays\"\n :key=\"day\"\n scope=\"col\"\n class=\"d-datepicker__cell d-datepicker__cell--header\"\n >\n <span\n class=\"d-datepicker__weekday\"\n :title=\"day\"\n :aria-label=\"day\"\n > {{ day }}</span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n v-for=\"(week, indexWeek) in calendarDays\"\n :key=\"indexWeek\"\n >\n <td\n v-for=\"(day, indexDays) in week.days\"\n :key=\"indexWeek + indexDays\"\n class=\"d-datepicker__cell\"\n role=\"listbox\"\n >\n <dt-button\n :ref=\"el => { if (el) setDayRef(el, day) }\"\n class=\"d-datepicker__day\"\n :circle=\"true\"\n size=\"sm\"\n importance=\"clear\"\n :disabled=\"day.disabled\"\n :class=\"{\n 'd-datepicker__day--disabled': day.disabled,\n 'd-datepicker__day--selected': selectedDay\n ? ((day.text === selectedDay) && !day.disabled)\n : day.selected,\n }\"\n type=\"button\"\n :aria-selected=\"!!selectedDay ? ((day.text === selectedDay) && !day.disabled) : day.selected\"\n :aria-label=\"dayAriaLabel(day)\"\n role=\"option\"\n @click=\"selectDay(day)\"\n @keydown=\"handleKeyDown($event)\"\n >\n {{ day.text }}\n </dt-button>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script setup>\nimport { useCalendar } from '../composables/useCalendar.js';\nimport { DtButton } from '@/components/button';\n\nconst props = defineProps({\n calendarDays: {\n type: Array,\n required: true,\n },\n\n weekStartsOn: {\n type: Number,\n default: 0,\n validator: (v) => Number.isInteger(v) && v >= 0 && v <= 6,\n },\n});\n\nconst emits = defineEmits([\n /**\n * Event fired when a date is selected\n *\n * @event select-date\n * @type {Date}\n */\n 'select-date',\n\n /**\n * Will focus the month and year picker\n *\n * @event focus-month-year-picker\n */\n 'focus-month-year-picker',\n\n /**\n * Will close the datepicker\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n\n /**\n * Will go to the next month\n *\n * @event go-to-next-month\n */\n 'go-to-next-month',\n\n /**\n * Will go to the previous month\n *\n * @event go-to-prev-month\n */\n 'go-to-prev-month',\n]);\n\nconst {\n selectedDay,\n weekDays,\n dayAriaLabel,\n setDayRef,\n handleKeyDown,\n focusFirstDay,\n selectDay,\n} = useCalendar(props, emits);\n\ndefineExpose({\n focusFirstDay,\n});\n</script>\n","<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-stack\n class=\"d-datepicker\"\n gap=\"400\"\n >\n <div class=\"d-datepicker__hd\">\n <month-year-picker\n ref=\"monthYearPicker\"\n :selected-date=\"selectedDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :week-starts-on=\"weekStartsOn\"\n @calendar-days=\"updateCalendarDays\"\n @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n @focus-last-day=\"$refs.calendar.focusLastDay()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n />\n </div>\n <div class=\"d-datepicker__bd\">\n <calendar\n ref=\"calendar\"\n :calendar-days=\"calendarDays\"\n :week-starts-on=\"weekStartsOn\"\n @select-date=\"$emit('selected-date', $event)\"\n @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n />\n </div>\n </dt-stack>\n</template>\n\n<script setup>\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport { DtStack } from '@/components/stack';\nimport { returnFirstEl, warnIfUnmounted } from '@/common/utils';\nimport { onMounted, ref, getCurrentInstance } from 'vue';\n\ndefineProps({\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\n },\n\n /**\n * Minimum selectable date. Days before this date will be disabled.\n * Must be before or equal to maxDate when both are provided.\n *\n * @type {Date}\n */\n minDate: {\n type: Date,\n default: null,\n },\n\n /**\n * Maximum selectable date. Days after this date will be disabled.\n * Must be after or equal to minDate when both are provided.\n *\n * @type {Date}\n */\n maxDate: {\n type: Date,\n default: null,\n validator: (value, props) => {\n if (value && props.minDate && value < props.minDate) {\n console.warn('[DtDatepicker]: maxDate must be after or equal to minDate.');\n return false;\n }\n return true;\n },\n },\n\n /**\n * Day the week starts on. 0 = Sunday, 1 = Monday, ... 6 = Saturday.\n *\n * @values 0, 1, 2, 3, 4, 5, 6\n */\n weekStartsOn: {\n type: Number,\n default: 0,\n validator: (v) => Number.isInteger(v) && v >= 0 && v <= 6,\n },\n});\n\ndefineEmits([\n /**\n * Event fired when a date is selected\n *\n * @event selected-date\n * @type {Date}\n */\n 'selected-date',\n\n /**\n * Event fired when user presses the esc key\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n]);\n\nconst calendarDays = ref([]);\n\nfunction updateCalendarDays (days) {\n calendarDays.value = days;\n}\n\nonMounted(() => {\n const instance = getCurrentInstance();\n warnIfUnmounted(returnFirstEl(instance.proxy.$el), 'datepicker');\n});\n</script>\n"],"names":["useMonthYearPicker","props","emits","selectMonth","ref","getMonth","selectYear","getYear","highlightedDay","focusPicker","focusRefs","i18n","DialtoneLocalization","calendarDays","computed","getCalendarDays","isPrevMonthDisabled","prevMonth","subMonths","endOfMonth","startOfDay","isNextMonthDisabled","nextMonth","addMonths","startOfMonth","isPrevYearDisabled","prevYearMonth","isNextYearDisabled","nextYearMonth","watch","highlightDay","formattedMonth","month","formatMonth","INTL_MONTH_FORMAT","setDayRef","el","focusMonthYearPicker","returnFirstEl","handleKeyDown","event","year","getDate","changeMonth","value","initialDate","set","newDate","changeYear","goToNextMonth","goToPrevMonth","previousYearAriaLabel","previousMonthAriaLabel","nextYearAriaLabel","nextMonthAriaLabel","__props","__emit","onMounted","__expose","_createBlock","_unref","DtStack","_createVNode","DtTooltip","DtButton","_cache","$event","DtIconChevronsLeft","DtIconChevronLeft","_createElementVNode","_hoisted_1","_toDisplayString","DtIconChevronRight","DtIconChevronsRight","useCalendar","selectedDay","focusDay","daysRef","weekDays","getWeekDayNames","dayAriaLabel","day","formatDate","prevFocusDate","calculatePrevFocusDate","nextTick","nextFocusDate","calculateNextFocusDate","focusLastDay","focusFirstDay","selectDay","_openBlock","_createElementBlock","_Fragment","_renderList","_hoisted_2","week","indexWeek","indexDays","_createTextVNode","updateCalendarDays","days","instance","getCurrentInstance","warnIfUnmounted","MonthYearPicker","$refs","$emit","Calendar"],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.js","sources":["../../../components/datepicker/composables/useMonthYearPicker.js","../../../components/datepicker/modules/month-year-picker.vue","../../../components/datepicker/composables/useCalendar.js","../../../components/datepicker/modules/calendar.vue","../../../components/datepicker/datepicker.vue"],"sourcesContent":["import { computed, ref, watch } from 'vue';\nimport { addMonths, endOfMonth, getDate, getMonth, getYear, set, startOfDay, startOfMonth, subMonths } from 'date-fns';\nimport { formatMonth, getCalendarDays } from '../utils.js';\nimport { INTL_MONTH_FORMAT } from '../datepicker_constants';\nimport { returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport function useMonthYearPicker (props, emits) {\n const selectMonth = ref(getMonth(props.selectedDate));\n const selectYear = ref(getYear(props.selectedDate));\n const highlightedDay = ref(null);\n const focusPicker = ref(0);\n const focusRefs = ref([]);\n const i18n = new DialtoneLocalization();\n\n const calendarDays = computed(() => {\n return getCalendarDays(\n selectMonth.value, selectYear.value, highlightedDay.value,\n props.minDate, props.maxDate, props.weekStartsOn,\n );\n });\n\n const isPrevMonthDisabled = computed(() => {\n if (!props.minDate) return false;\n const prevMonth = subMonths(new Date(selectYear.value, selectMonth.value, 1), 1);\n return endOfMonth(prevMonth) < startOfDay(props.minDate);\n });\n\n const isNextMonthDisabled = computed(() => {\n if (!props.maxDate) return false;\n const nextMonth = addMonths(new Date(selectYear.value, selectMonth.value, 1), 1);\n return startOfMonth(nextMonth) > startOfDay(props.maxDate);\n });\n\n const isPrevYearDisabled = computed(() => {\n if (!props.minDate) return false;\n const prevYearMonth = new Date(selectYear.value - 1, selectMonth.value, 1);\n return endOfMonth(prevYearMonth) < startOfDay(props.minDate);\n });\n\n const isNextYearDisabled = computed(() => {\n if (!props.maxDate) return false;\n const nextYearMonth = new Date(selectYear.value + 1, selectMonth.value, 1);\n return startOfMonth(nextYearMonth) > startOfDay(props.maxDate);\n });\n\n watch(selectMonth, () => {\n highlightDay();\n emits('calendar-days', calendarDays.value);\n }, { immediate: true });\n\n watch(selectYear, () => {\n highlightDay();\n emits('calendar-days', calendarDays.value);\n }, { immediate: true });\n\n watch(() => props.minDate, () => {\n emits('calendar-days', calendarDays.value);\n });\n\n watch(() => props.maxDate, () => {\n emits('calendar-days', calendarDays.value);\n });\n\n function formattedMonth (month) {\n return formatMonth(month, INTL_MONTH_FORMAT, i18n.currentLocale);\n }\n\n function setDayRef (el) {\n if (!focusRefs.value.includes(el)) {\n focusRefs.value.push(el);\n }\n }\n\n function focusMonthYearPicker () {\n returnFirstEl(focusRefs.value[0].$el).focus();\n }\n\n function handleKeyDown (event) {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n if (focusPicker.value === 0) {\n focusPicker.value = 3;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n } else {\n focusPicker.value--;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n }\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n if (focusPicker.value === 3) {\n focusPicker.value = 0;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n } else {\n focusPicker.value++;\n returnFirstEl(focusRefs.value[focusPicker.value].$el).focus();\n }\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n emits('focus-first-day');\n break;\n\n case 'Tab':\n event.preventDefault();\n emits('focus-first-day');\n break;\n\n case 'Escape':\n emits('close-datepicker');\n break;\n }\n }\n\n function highlightDay () {\n const year = getYear(props.selectedDate);\n const month = getMonth(props.selectedDate);\n\n if (year !== selectYear.value || month !== selectMonth.value) {\n highlightedDay.value = null;\n } else {\n highlightedDay.value = getDate(props.selectedDate);\n }\n }\n\n function changeMonth (value) {\n if (value === -1 && isPrevMonthDisabled.value) return;\n if (value === 1 && isNextMonthDisabled.value) return;\n\n // Adjust year when changing from January to December or vice versa\n if ((selectMonth.value === 0 && value === -1) || (selectMonth.value === 11 && value === 1)) {\n selectYear.value += value;\n }\n\n // Calculate the new date by adding or subtracting months\n const initialDate = set(props.selectedDate, { month: selectMonth.value, year: selectYear.value });\n const newDate = value === 1 ? addMonths(initialDate, 1) : subMonths(initialDate, 1);\n\n // Update the selected month\n selectMonth.value = getMonth(newDate);\n }\n\n function changeYear (value) {\n if (value === -1 && isPrevYearDisabled.value) return;\n if (value === 1 && isNextYearDisabled.value) return;\n\n selectYear.value = selectYear.value + value;\n }\n\n function goToNextMonth () {\n changeMonth(1);\n }\n\n function goToPrevMonth () {\n changeMonth(-1);\n }\n\n function previousYearAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_YEAR')} ${selectYear.value - 1}`;\n }\n\n function previousMonthAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_MONTH')} ${formattedMonth(selectMonth.value - 1)}`;\n }\n\n function nextYearAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_NEXT_YEAR')} ${selectYear.value + 1}`;\n }\n\n function nextMonthAriaLabel () {\n return `${i18n.$t('DIALTONE_DATEPICKER_CHANGE_TO')} ${i18n.$t('DIALTONE_DATEPICKER_NEXT_MONTH')} ${formattedMonth(selectMonth.value + 1)}`;\n }\n\n return {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\n isPrevMonthDisabled,\n isNextMonthDisabled,\n isPrevYearDisabled,\n isNextYearDisabled,\n previousYearAriaLabel,\n previousMonthAriaLabel,\n nextYearAriaLabel,\n nextMonthAriaLabel,\n };\n}\n","<template>\n <dt-stack\n class=\"d-datepicker__month-year\"\n direction=\"row\"\n gap=\"50\"\n >\n <dt-stack\n as=\"nav\"\n class=\"d-datepicker__nav\"\n direction=\"row\"\n gap=\"25\"\n >\n <dt-tooltip\n :fallback-placements=\"['top-start', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_YEAR')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"prevYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"previousYearAriaLabel()\"\n :disabled=\"isPrevYearDisabled\"\n kind=\"muted\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n :size=\"100\"\n type=\"button\"\n @click=\"changeYear(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-chevrons-left :size=\"iconSize\" />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :fallback-placements=\"['top-start', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_PREVIOUS_MONTH')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"prevMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"previousMonthAriaLabel()\"\n :disabled=\"isPrevMonthDisabled\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n kind=\"muted\"\n :size=\"100\"\n type=\"button\"\n @click=\"changeMonth(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-chevron-left :size=\"iconSize\" />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </dt-stack>\n <div\n id=\"calendar-heading\"\n class=\"d-datepicker__month-year-title\"\n >\n {{ formattedMonth(selectMonth) }}\n\n {{ selectYear }}\n </div>\n <dt-stack\n as=\"nav\"\n class=\"d-datepicker__nav\"\n direction=\"row\"\n gap=\"25\"\n >\n <dt-tooltip\n :fallback-placements=\"['top-end', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_NEXT_MONTH')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"nextMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"nextMonthAriaLabel()\"\n :disabled=\"isNextMonthDisabled\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n kind=\"muted\"\n :size=\"100\"\n type=\"button\"\n @click=\"changeMonth(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-chevron-right :size=\"iconSize\" />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :fallback-placements=\"['top-end', 'auto']\"\n :message=\"i18n.$t('DIALTONE_DATEPICKER_NEXT_YEAR')\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"nextYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n :aria-label=\"nextYearAriaLabel()\"\n :disabled=\"isNextYearDisabled\"\n class=\"d-datepicker__nav-btn\"\n importance=\"clear\"\n kind=\"muted\"\n :size=\"100\"\n type=\"button\"\n @click=\"changeYear(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-chevrons-right :size=\"iconSize\" />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </dt-stack>\n </dt-stack>\n</template>\n\n<script setup>\nimport {\n DtIconChevronLeft,\n DtIconChevronsLeft,\n DtIconChevronRight,\n DtIconChevronsRight,\n} from '@dialpad/dialtone-icons/vue';\nimport { DtStack } from '@/components/stack';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { onMounted } from 'vue';\nimport { useMonthYearPicker } from '../composables/useMonthYearPicker.js';\nimport { DialtoneLocalization } from '@/localization';\n\nconst props = defineProps({\n selectedDate: {\n type: Date,\n required: true,\n },\n\n minDate: {\n type: Date,\n default: null,\n },\n\n maxDate: {\n type: Date,\n default: null,\n },\n\n weekStartsOn: {\n type: Number,\n default: 0,\n validator: (v) => Number.isInteger(v) && v >= 0 && v <= 6,\n },\n});\n\nconst emits = defineEmits([\n /**\n * Will retrieve the calendar days of the given date\n *\n * @event calendar-days\n * @type {Array}\n */\n 'calendar-days',\n\n /**\n * Will focus first day in calendar\n *\n * @event focus-first-day\n */\n 'focus-first-day',\n\n /**\n * Will focus last day in calendar\n *\n * @event focus-last-day\n */\n 'focus-last-day',\n\n /**\n * Will close the datepicker\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n]);\n\nconst i18n = new DialtoneLocalization();\n\nconst {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\n isPrevMonthDisabled,\n isNextMonthDisabled,\n isPrevYearDisabled,\n isNextYearDisabled,\n previousYearAriaLabel,\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n nextYearAriaLabel,\n} = useMonthYearPicker(props, emits);\n\nonMounted(() => {\n focusMonthYearPicker();\n});\n\ndefineExpose({\n focusMonthYearPicker,\n goToNextMonth,\n goToPrevMonth,\n});\n</script>\n","import { computed, ref, watch, nextTick } from 'vue';\nimport { getWeekDayNames, calculateNextFocusDate, calculatePrevFocusDate, formatDate } from '../utils.js';\nimport { INTL_MONTH_FORMAT } from '../datepicker_constants.js';\nimport { returnFirstEl } from '@/common/utils';\nimport { DialtoneLocalization } from '@/localization';\n\nexport function useCalendar (props, emits) {\n const selectedDay = ref(null);\n const focusDay = ref(0);\n const daysRef = ref([]);\n const i18n = new DialtoneLocalization();\n\n const weekDays = computed(() => {\n return getWeekDayNames(i18n.currentLocale, props.weekStartsOn);\n });\n\n watch(() => props.calendarDays, () => {\n focusDay.value = 0;\n daysRef.value = [];\n selectedDay.value = null;\n });\n\n function dayAriaLabel (day) {\n return i18n.$t('DIALTONE_DATEPICKER_SELECT_DAY') + ` ${formatDate(day.value, INTL_MONTH_FORMAT, i18n.currentLocale)}`;\n }\n\n function setDayRef (el, day) {\n if (!daysRef.value.some(day => day.el === el) && !day.disabled) {\n daysRef.value.push({ el, day });\n }\n }\n\n function handleKeyDown (event) {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n focusDay.value -= 7;\n try {\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } catch {\n const prevFocusDate = calculatePrevFocusDate(daysRef.value[focusDay.value + 7].day.value);\n emits('go-to-prev-month');\n\n nextTick(() => {\n returnFirstEl(daysRef.value[prevFocusDate - 1].el.$el).focus();\n focusDay.value += prevFocusDate - 1;\n });\n }\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n focusDay.value += 7;\n try {\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } catch {\n const nextFocusDate = calculateNextFocusDate(daysRef.value[focusDay.value - 7].day.value);\n emits('go-to-next-month');\n\n nextTick(() => {\n returnFirstEl(daysRef.value[nextFocusDate - 1].el.$el).focus();\n focusDay.value += nextFocusDate - 1;\n });\n }\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n if (focusDay.value > 0) {\n focusDay.value -= 1;\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } else {\n // if we are on month first day, jump to last day of prev month\n emits('go-to-prev-month');\n focusLastDay();\n }\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n if (focusDay.value < daysRef.value.length - 1) {\n focusDay.value += 1;\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n } else {\n // if we are on month last day, jump to first day of next month\n emits('go-to-next-month');\n\n focusFirstDay();\n }\n break;\n\n case 'Tab':\n event.preventDefault();\n emits('focus-month-year-picker');\n break;\n\n case 'Escape':\n emits('close-datepicker');\n break;\n }\n }\n\n function focusFirstDay () {\n focusDay.value = 0;\n\n nextTick(() => {\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n });\n }\n\n function focusLastDay () {\n nextTick(() => {\n focusDay.value = daysRef.value.length - 1;\n returnFirstEl(daysRef.value[focusDay.value].el.$el).focus();\n });\n }\n\n function selectDay (day) {\n if (day.disabled) { return; }\n\n // local selectedDay is updated when a day is selected\n selectedDay.value = day.text;\n emits('select-date', day.value);\n }\n\n return {\n selectedDay,\n weekDays,\n dayAriaLabel,\n setDayRef,\n handleKeyDown,\n focusFirstDay,\n selectDay,\n };\n}\n","<template>\n <table\n class=\"d-datepicker__calendar\"\n aria-labelledby=\"calendar-heading\"\n >\n <thead>\n <tr>\n <th\n v-for=\"day in weekDays\"\n :key=\"day\"\n scope=\"col\"\n class=\"d-datepicker__cell d-datepicker__cell--header\"\n >\n <span\n class=\"d-datepicker__weekday\"\n :title=\"day\"\n :aria-label=\"day\"\n > {{ day }}</span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n v-for=\"(week, indexWeek) in calendarDays\"\n :key=\"indexWeek\"\n >\n <td\n v-for=\"(day, indexDays) in week.days\"\n :key=\"indexWeek + indexDays\"\n class=\"d-datepicker__cell\"\n role=\"listbox\"\n >\n <dt-button\n :ref=\"el => { if (el) setDayRef(el, day) }\"\n class=\"d-datepicker__day\"\n :size=\"200\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"day.disabled\"\n :class=\"{\n 'd-datepicker__day--disabled': day.disabled,\n 'd-datepicker__day--selected': selectedDay\n ? ((day.text === selectedDay) && !day.disabled)\n : day.selected,\n }\"\n type=\"button\"\n :aria-selected=\"!!selectedDay ? ((day.text === selectedDay) && !day.disabled) : day.selected\"\n :aria-label=\"dayAriaLabel(day)\"\n role=\"option\"\n @click=\"selectDay(day)\"\n @keydown=\"handleKeyDown($event)\"\n >\n {{ day.text }}\n </dt-button>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script setup>\nimport { useCalendar } from '../composables/useCalendar.js';\nimport { DtButton } from '@/components/button';\n\nconst props = defineProps({\n calendarDays: {\n type: Array,\n required: true,\n },\n\n weekStartsOn: {\n type: Number,\n default: 0,\n validator: (v) => Number.isInteger(v) && v >= 0 && v <= 6,\n },\n});\n\nconst emits = defineEmits([\n /**\n * Event fired when a date is selected\n *\n * @event select-date\n * @type {Date}\n */\n 'select-date',\n\n /**\n * Will focus the month and year picker\n *\n * @event focus-month-year-picker\n */\n 'focus-month-year-picker',\n\n /**\n * Will close the datepicker\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n\n /**\n * Will go to the next month\n *\n * @event go-to-next-month\n */\n 'go-to-next-month',\n\n /**\n * Will go to the previous month\n *\n * @event go-to-prev-month\n */\n 'go-to-prev-month',\n]);\n\nconst {\n selectedDay,\n weekDays,\n dayAriaLabel,\n setDayRef,\n handleKeyDown,\n focusFirstDay,\n selectDay,\n} = useCalendar(props, emits);\n\ndefineExpose({\n focusFirstDay,\n});\n</script>\n","<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-stack\n class=\"d-datepicker\"\n gap=\"100\"\n >\n <div class=\"d-datepicker__hd\">\n <month-year-picker\n ref=\"monthYearPicker\"\n :selected-date=\"selectedDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :week-starts-on=\"weekStartsOn\"\n @calendar-days=\"updateCalendarDays\"\n @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n @focus-last-day=\"$refs.calendar.focusLastDay()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n />\n </div>\n <div class=\"d-datepicker__bd\">\n <calendar\n ref=\"calendar\"\n :calendar-days=\"calendarDays\"\n :week-starts-on=\"weekStartsOn\"\n @select-date=\"$emit('selected-date', $event)\"\n @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n />\n </div>\n </dt-stack>\n</template>\n\n<script setup>\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport { DtStack } from '@/components/stack';\nimport { returnFirstEl, warnIfUnmounted } from '@/common/utils';\nimport { onMounted, ref, getCurrentInstance } from 'vue';\n\ndefineOptions({\n name: 'DtDatepicker',\n});\n\ndefineProps({\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\n },\n\n /**\n * Minimum selectable date. Days before this date will be disabled.\n * Must be before or equal to maxDate when both are provided.\n *\n * @type {Date}\n */\n minDate: {\n type: Date,\n default: null,\n },\n\n /**\n * Maximum selectable date. Days after this date will be disabled.\n * Must be after or equal to minDate when both are provided.\n *\n * @type {Date}\n */\n maxDate: {\n type: Date,\n default: null,\n validator: (value, props) => {\n if (value && props.minDate && value < props.minDate) {\n console.warn('[DtDatepicker]: maxDate must be after or equal to minDate.');\n return false;\n }\n return true;\n },\n },\n\n /**\n * Day the week starts on. 0 = Sunday, 1 = Monday, ... 6 = Saturday.\n *\n * @values 0, 1, 2, 3, 4, 5, 6\n */\n weekStartsOn: {\n type: Number,\n default: 0,\n validator: (v) => Number.isInteger(v) && v >= 0 && v <= 6,\n },\n});\n\ndefineEmits([\n /**\n * Event fired when a date is selected\n *\n * @event selected-date\n * @type {Date}\n */\n 'selected-date',\n\n /**\n * Event fired when user presses the esc key\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n]);\n\nconst calendarDays = ref([]);\n\nfunction updateCalendarDays (days) {\n calendarDays.value = days;\n}\n\nonMounted(() => {\n const instance = getCurrentInstance();\n warnIfUnmounted(returnFirstEl(instance.proxy.$el), 'datepicker');\n});\n</script>\n"],"names":["useMonthYearPicker","props","emits","selectMonth","ref","getMonth","selectYear","getYear","highlightedDay","focusPicker","focusRefs","i18n","DialtoneLocalization","calendarDays","computed","getCalendarDays","isPrevMonthDisabled","prevMonth","subMonths","endOfMonth","startOfDay","isNextMonthDisabled","nextMonth","addMonths","startOfMonth","isPrevYearDisabled","prevYearMonth","isNextYearDisabled","nextYearMonth","watch","highlightDay","formattedMonth","month","formatMonth","INTL_MONTH_FORMAT","setDayRef","el","focusMonthYearPicker","returnFirstEl","handleKeyDown","event","year","getDate","changeMonth","value","initialDate","set","newDate","changeYear","goToNextMonth","goToPrevMonth","previousYearAriaLabel","previousMonthAriaLabel","nextYearAriaLabel","nextMonthAriaLabel","__props","__emit","onMounted","__expose","_createBlock","_unref","DtStack","_createVNode","DtTooltip","DtButton","_cache","$event","_withCtx","iconSize","DtIconChevronsLeft","DtIconChevronLeft","_createElementVNode","_hoisted_1","_toDisplayString","DtIconChevronRight","DtIconChevronsRight","useCalendar","selectedDay","focusDay","daysRef","weekDays","getWeekDayNames","dayAriaLabel","day","formatDate","prevFocusDate","calculatePrevFocusDate","nextTick","nextFocusDate","calculateNextFocusDate","focusLastDay","focusFirstDay","selectDay","_openBlock","_createElementBlock","_Fragment","_renderList","_hoisted_2","week","indexWeek","indexDays","_createTextVNode","updateCalendarDays","days","instance","getCurrentInstance","warnIfUnmounted","MonthYearPicker","$refs","$emit","Calendar"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./description-list-constants.cjs"),l=require("./description-list-validators.cjs"),e=require("vue"),n=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),c=require("../stack/stack-constants.cjs"),d={compatConfig:{MODE:3},name:"DtDescriptionList",props:{direction:{type:String,default:"row",validator:t=>a.DT_DESCRIPTION_LIST_DIRECTION.includes(t)},items:{type:Array,default:()=>[],validator:t=>l.itemsValidator(t),required:!0},gap:{type:String,default:"400",validator:t=>c.DT_STACK_GAP.includes(t)},termClass:{type:[String,Array,Object],default:""},descriptionClass:{type:[String,Array,Object],default:""}},computed:{dtClass(){return["d-description-list__term",this.termClass]},ddClass(){return["d-description-list__description",this.descriptionClass]},getDirectionClass(){return`d-description-list--${this.direction}`},getGapClass(){return`d-description-list--gap-${this.gap}`}}};function o(t,u,i,_,m,s){return e.openBlock(),e.createElementBlock("dl",{class:e.normalizeClass(["d-description-list",s.getDirectionClass,s.getGapClass])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.items,r=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r.term},[e.createElementVNode("dt",{class:e.normalizeClass(s.dtClass)},e.toDisplayString(r.term),3),e.createElementVNode("dd",{class:e.normalizeClass(s.ddClass)},e.toDisplayString(r.description),3)],64))),128))],2)}const p=n._(d,[["render",o]]);exports.default=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./description-list-constants.cjs"),l=require("./description-list-validators.cjs"),e=require("vue"),n=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),c=require("../stack/stack-constants.cjs"),d={compatConfig:{MODE:3},name:"DtDescriptionList",props:{direction:{type:String,default:"row",validator:t=>a.DT_DESCRIPTION_LIST_DIRECTION.includes(t)},items:{type:Array,default:()=>[],validator:t=>l.itemsValidator(t),required:!0},gap:{type:String,default:"100",validator:t=>c.DT_STACK_GAP.includes(t)},termClass:{type:[String,Array,Object],default:""},descriptionClass:{type:[String,Array,Object],default:""}},computed:{dtClass(){return["d-description-list__term",this.termClass]},ddClass(){return["d-description-list__description",this.descriptionClass]},getDirectionClass(){return`d-description-list--${this.direction}`},getGapClass(){return`d-description-list--gap-${this.gap}`}}};function o(t,u,i,_,m,s){return e.openBlock(),e.createElementBlock("dl",{class:e.normalizeClass(["d-description-list",s.getDirectionClass,s.getGapClass])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.items,r=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r.term},[e.createElementVNode("dt",{class:e.normalizeClass(s.dtClass)},e.toDisplayString(r.term),3),e.createElementVNode("dd",{class:e.normalizeClass(s.ddClass)},e.toDisplayString(r.description),3)],64))),128))],2)}const p=n._(d,[["render",o]]);exports.default=p;
2
2
  //# sourceMappingURL=description-list.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"description-list.cjs","sources":["../../../components/description_list/description_list.vue"],"sourcesContent":["<template>\n <dl :class=\"['d-description-list', getDirectionClass, getGapClass]\">\n <template\n v-for=\"item in items\"\n :key=\"item.term\"\n >\n <dt :class=\"dtClass\">\n {{ item.term }}\n </dt>\n <dd :class=\"ddClass\">\n {{ item.description }}\n </dd>\n </template>\n </dl>\n</template>\n\n<script>\nimport { DT_STACK_GAP } from '@/components/stack';\nimport { DT_DESCRIPTION_LIST_DIRECTION } from './description_list_constants';\nimport { itemsValidator } from './description_list_validators';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDescriptionList',\n\n props: {\n /**\n * The direction for the list\n * @values row, column\n */\n direction: {\n type: String,\n default: 'row',\n validator: direction => DT_DESCRIPTION_LIST_DIRECTION.includes(direction),\n },\n\n /**\n * A list of items that represent the term and the description\n */\n items: {\n type: Array,\n default: () => [],\n validator: items => itemsValidator(items),\n required: true,\n },\n\n /**\n * Set the space between the elements\n * @values 0, 100, 200, 300, 400, 500, 600\n */\n gap: {\n type: String,\n default: '400',\n validator: (gap) => DT_STACK_GAP.includes(gap),\n },\n\n /**\n * Used to customize the term element\n */\n termClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description element\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n computed: {\n dtClass () {\n return ['d-description-list__term', this.termClass];\n },\n\n ddClass () {\n return ['d-description-list__description', this.descriptionClass];\n },\n\n getDirectionClass () {\n return `d-description-list--${this.direction}`;\n },\n\n getGapClass () {\n return `d-description-list--gap-${this.gap}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","direction","DT_DESCRIPTION_LIST_DIRECTION","items","itemsValidator","gap","DT_STACK_GAP","_createElementBlock","_normalizeClass","$options","_Fragment","_renderList","$props","item","_createElementVNode","_toDisplayString"],"mappings":"oUAqBKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,oBAEN,MAAO,CAKL,UAAW,CACT,KAAM,OACN,QAAS,MACT,UAAWC,GAAaC,gCAA8B,SAASD,CAAS,GAM1E,MAAO,CACL,KAAM,MACN,QAAS,IAAM,CAAA,EACf,UAAWE,GAASC,EAAAA,eAAeD,CAAK,EACxC,SAAU,IAOZ,IAAK,CACH,KAAM,OACN,QAAS,MACT,UAAYE,GAAQC,eAAa,SAASD,CAAG,GAM/C,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAMX,iBAAkB,CAChB,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,KAIb,SAAU,CACR,SAAW,CACT,MAAO,CAAC,2BAA4B,KAAK,SAAS,CACpD,EAEA,SAAW,CACT,MAAO,CAAC,kCAAmC,KAAK,gBAAgB,CAClE,EAEA,mBAAqB,CACnB,MAAO,uBAAuB,KAAK,SAAS,EAC9C,EAEA,aAAe,CACb,MAAO,2BAA2B,KAAK,GAAG,EAC5C,EAEJ,+CAzFEE,EAAAA,mBAYK,KAAA,CAZA,MAAKC,EAAAA,eAAA,CAAA,qBAAyBC,EAAA,kBAAmBA,EAAA,WAAW,CAAA,qBAC/DF,EAAAA,mBAUWG,EAAAA,SAAA,KAAAC,EAAAA,WATMC,EAAA,MAARC,mDACD,IAAAA,EAAK,OAEXC,EAAAA,mBAEK,KAAA,CAFA,uBAAOL,EAAA,OAAO,CACd,EAAAM,kBAAAF,EAAK,IAAI,EAAA,CAAA,EAEdC,EAAAA,mBAEK,KAAA,CAFA,uBAAOL,EAAA,OAAO,CACd,EAAAM,kBAAAF,EAAK,WAAW,EAAA,CAAA"}
1
+ {"version":3,"file":"description-list.cjs","sources":["../../../components/description_list/description_list.vue"],"sourcesContent":["<template>\n <dl :class=\"['d-description-list', getDirectionClass, getGapClass]\">\n <template\n v-for=\"item in items\"\n :key=\"item.term\"\n >\n <dt :class=\"dtClass\">\n {{ item.term }}\n </dt>\n <dd :class=\"ddClass\">\n {{ item.description }}\n </dd>\n </template>\n </dl>\n</template>\n\n<script>\nimport { DT_STACK_GAP } from '@/components/stack';\nimport { DT_DESCRIPTION_LIST_DIRECTION } from './description_list_constants';\nimport { itemsValidator } from './description_list_validators';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDescriptionList',\n\n props: {\n /**\n * The direction for the list\n * @values row, column\n */\n direction: {\n type: String,\n default: 'row',\n validator: direction => DT_DESCRIPTION_LIST_DIRECTION.includes(direction),\n },\n\n /**\n * A list of items that represent the term and the description\n */\n items: {\n type: Array,\n default: () => [],\n validator: items => itemsValidator(items),\n required: true,\n },\n\n /**\n * Set the space between the elements\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n gap: {\n type: String,\n default: '100',\n validator: (gap) => DT_STACK_GAP.includes(gap),\n },\n\n /**\n * Used to customize the term element\n */\n termClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description element\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n computed: {\n dtClass () {\n return ['d-description-list__term', this.termClass];\n },\n\n ddClass () {\n return ['d-description-list__description', this.descriptionClass];\n },\n\n getDirectionClass () {\n return `d-description-list--${this.direction}`;\n },\n\n getGapClass () {\n return `d-description-list--gap-${this.gap}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","direction","DT_DESCRIPTION_LIST_DIRECTION","items","itemsValidator","gap","DT_STACK_GAP","_createElementBlock","_normalizeClass","$options","_Fragment","_renderList","$props","item","_createElementVNode","_toDisplayString"],"mappings":"oUAqBKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,oBAEN,MAAO,CAKL,UAAW,CACT,KAAM,OACN,QAAS,MACT,UAAWC,GAAaC,gCAA8B,SAASD,CAAS,GAM1E,MAAO,CACL,KAAM,MACN,QAAS,IAAM,CAAA,EACf,UAAWE,GAASC,EAAAA,eAAeD,CAAK,EACxC,SAAU,IAOZ,IAAK,CACH,KAAM,OACN,QAAS,MACT,UAAYE,GAAQC,eAAa,SAASD,CAAG,GAM/C,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAMX,iBAAkB,CAChB,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,KAIb,SAAU,CACR,SAAW,CACT,MAAO,CAAC,2BAA4B,KAAK,SAAS,CACpD,EAEA,SAAW,CACT,MAAO,CAAC,kCAAmC,KAAK,gBAAgB,CAClE,EAEA,mBAAqB,CACnB,MAAO,uBAAuB,KAAK,SAAS,EAC9C,EAEA,aAAe,CACb,MAAO,2BAA2B,KAAK,GAAG,EAC5C,EAEJ,+CAzFEE,EAAAA,mBAYK,KAAA,CAZA,MAAKC,EAAAA,eAAA,CAAA,qBAAyBC,EAAA,kBAAmBA,EAAA,WAAW,CAAA,qBAC/DF,EAAAA,mBAUWG,EAAAA,SAAA,KAAAC,EAAAA,WATMC,EAAA,MAARC,mDACD,IAAAA,EAAK,OAEXC,EAAAA,mBAEK,KAAA,CAFA,uBAAOL,EAAA,OAAO,CACd,EAAAM,kBAAAF,EAAK,IAAI,EAAA,CAAA,EAEdC,EAAAA,mBAEK,KAAA,CAFA,uBAAOL,EAAA,OAAO,CACd,EAAAM,kBAAAF,EAAK,WAAW,EAAA,CAAA"}
@@ -27,11 +27,11 @@ const C = {
27
27
  },
28
28
  /**
29
29
  * Set the space between the elements
30
- * @values 0, 100, 200, 300, 400, 500, 600
30
+ * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800
31
31
  */
32
32
  gap: {
33
33
  type: String,
34
- default: "400",
34
+ default: "100",
35
35
  validator: (t) => _.includes(t)
36
36
  },
37
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"description-list.js","sources":["../../../components/description_list/description_list.vue"],"sourcesContent":["<template>\n <dl :class=\"['d-description-list', getDirectionClass, getGapClass]\">\n <template\n v-for=\"item in items\"\n :key=\"item.term\"\n >\n <dt :class=\"dtClass\">\n {{ item.term }}\n </dt>\n <dd :class=\"ddClass\">\n {{ item.description }}\n </dd>\n </template>\n </dl>\n</template>\n\n<script>\nimport { DT_STACK_GAP } from '@/components/stack';\nimport { DT_DESCRIPTION_LIST_DIRECTION } from './description_list_constants';\nimport { itemsValidator } from './description_list_validators';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDescriptionList',\n\n props: {\n /**\n * The direction for the list\n * @values row, column\n */\n direction: {\n type: String,\n default: 'row',\n validator: direction => DT_DESCRIPTION_LIST_DIRECTION.includes(direction),\n },\n\n /**\n * A list of items that represent the term and the description\n */\n items: {\n type: Array,\n default: () => [],\n validator: items => itemsValidator(items),\n required: true,\n },\n\n /**\n * Set the space between the elements\n * @values 0, 100, 200, 300, 400, 500, 600\n */\n gap: {\n type: String,\n default: '400',\n validator: (gap) => DT_STACK_GAP.includes(gap),\n },\n\n /**\n * Used to customize the term element\n */\n termClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description element\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n computed: {\n dtClass () {\n return ['d-description-list__term', this.termClass];\n },\n\n ddClass () {\n return ['d-description-list__description', this.descriptionClass];\n },\n\n getDirectionClass () {\n return `d-description-list--${this.direction}`;\n },\n\n getGapClass () {\n return `d-description-list--gap-${this.gap}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","direction","DT_DESCRIPTION_LIST_DIRECTION","items","itemsValidator","gap","DT_STACK_GAP","_createElementBlock","_normalizeClass","$options","_Fragment","_renderList","$props","item","_createElementVNode","_toDisplayString"],"mappings":";;;;;AAqBA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAAC,MAAaC,EAA8B,SAASD,CAAS;AAAA;;;;IAM1E,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,MACf,WAAW,CAAAE,MAASC,EAAeD,CAAK;AAAA,MACxC,UAAU;AAAA;;;;;IAOZ,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAACE,MAAQC,EAAa,SAASD,CAAG;AAAA;;;;IAM/C,WAAW;AAAA,MACT,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;IAMX,kBAAkB;AAAA,MAChB,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;EAIb,UAAU;AAAA,IACR,UAAW;AACT,aAAO,CAAC,4BAA4B,KAAK,SAAS;AAAA,IACpD;AAAA,IAEA,UAAW;AACT,aAAO,CAAC,mCAAmC,KAAK,gBAAgB;AAAA,IAClE;AAAA,IAEA,oBAAqB;AACnB,aAAO,uBAAuB,KAAK,SAAS;AAAA,IAC9C;AAAA,IAEA,cAAe;AACb,aAAO,2BAA2B,KAAK,GAAG;AAAA,IAC5C;AAAA;AAEJ;;cAzFEE,EAYK,MAAA;AAAA,IAZA,OAAKC,EAAA,CAAA,sBAAyBC,EAAA,mBAAmBA,EAAA,WAAW,CAAA;AAAA;YAC/DF,EAUWG,GAAA,MAAAC,EATMC,EAAA,OAAK,CAAbC;MACD,KAAAA,EAAK;AAAA;MAEXC,EAEK,MAAA;AAAA,QAFA,SAAOL,EAAA,OAAO;AAAA,MACd,GAAAM,EAAAF,EAAK,IAAI,GAAA,CAAA;AAAA,MAEdC,EAEK,MAAA;AAAA,QAFA,SAAOL,EAAA,OAAO;AAAA,MACd,GAAAM,EAAAF,EAAK,WAAW,GAAA,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"description-list.js","sources":["../../../components/description_list/description_list.vue"],"sourcesContent":["<template>\n <dl :class=\"['d-description-list', getDirectionClass, getGapClass]\">\n <template\n v-for=\"item in items\"\n :key=\"item.term\"\n >\n <dt :class=\"dtClass\">\n {{ item.term }}\n </dt>\n <dd :class=\"ddClass\">\n {{ item.description }}\n </dd>\n </template>\n </dl>\n</template>\n\n<script>\nimport { DT_STACK_GAP } from '@/components/stack';\nimport { DT_DESCRIPTION_LIST_DIRECTION } from './description_list_constants';\nimport { itemsValidator } from './description_list_validators';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDescriptionList',\n\n props: {\n /**\n * The direction for the list\n * @values row, column\n */\n direction: {\n type: String,\n default: 'row',\n validator: direction => DT_DESCRIPTION_LIST_DIRECTION.includes(direction),\n },\n\n /**\n * A list of items that represent the term and the description\n */\n items: {\n type: Array,\n default: () => [],\n validator: items => itemsValidator(items),\n required: true,\n },\n\n /**\n * Set the space between the elements\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 450, 500, 525, 550, 600, 650, 700, 750, 800\n */\n gap: {\n type: String,\n default: '100',\n validator: (gap) => DT_STACK_GAP.includes(gap),\n },\n\n /**\n * Used to customize the term element\n */\n termClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description element\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n computed: {\n dtClass () {\n return ['d-description-list__term', this.termClass];\n },\n\n ddClass () {\n return ['d-description-list__description', this.descriptionClass];\n },\n\n getDirectionClass () {\n return `d-description-list--${this.direction}`;\n },\n\n getGapClass () {\n return `d-description-list--gap-${this.gap}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","direction","DT_DESCRIPTION_LIST_DIRECTION","items","itemsValidator","gap","DT_STACK_GAP","_createElementBlock","_normalizeClass","$options","_Fragment","_renderList","$props","item","_createElementVNode","_toDisplayString"],"mappings":";;;;;AAqBA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAAC,MAAaC,EAA8B,SAASD,CAAS;AAAA;;;;IAM1E,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,MACf,WAAW,CAAAE,MAASC,EAAeD,CAAK;AAAA,MACxC,UAAU;AAAA;;;;;IAOZ,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAACE,MAAQC,EAAa,SAASD,CAAG;AAAA;;;;IAM/C,WAAW;AAAA,MACT,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;IAMX,kBAAkB;AAAA,MAChB,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;EAIb,UAAU;AAAA,IACR,UAAW;AACT,aAAO,CAAC,4BAA4B,KAAK,SAAS;AAAA,IACpD;AAAA,IAEA,UAAW;AACT,aAAO,CAAC,mCAAmC,KAAK,gBAAgB;AAAA,IAClE;AAAA,IAEA,oBAAqB;AACnB,aAAO,uBAAuB,KAAK,SAAS;AAAA,IAC9C;AAAA,IAEA,cAAe;AACb,aAAO,2BAA2B,KAAK,GAAG;AAAA,IAC5C;AAAA;AAEJ;;cAzFEE,EAYK,MAAA;AAAA,IAZA,OAAKC,EAAA,CAAA,sBAAyBC,EAAA,mBAAmBA,EAAA,WAAW,CAAA;AAAA;YAC/DF,EAUWG,GAAA,MAAAC,EATMC,EAAA,OAAK,CAAbC;MACD,KAAAA,EAAK;AAAA;MAEXC,EAEK,MAAA;AAAA,QAFA,SAAOL,EAAA,OAAO;AAAA,MACd,GAAAM,EAAAF,EAAK,IAAI,GAAA,CAAA;AAAA,MAEdC,EAEK,MAAA;AAAA,QAFA,SAAOL,EAAA,OAAO;AAAA,MACd,GAAAM,EAAAF,EAAK,WAAW,GAAA,CAAA;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={none:void 0,small:"d-py0",large:"d-py4"},t={DROPDOWN_PADDING_CLASSES:e};exports.DROPDOWN_PADDING_CLASSES=e;exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={none:void 0,small:"d-py-0",large:"d-py-50"},t={DROPDOWN_PADDING_CLASSES:e};exports.DROPDOWN_PADDING_CLASSES=e;exports.default=t;
2
2
  //# sourceMappingURL=dropdown-constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-constants.cjs","sources":["../../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py0',\n large: 'd-py4',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":["DROPDOWN_PADDING_CLASSES","dropdown_constants"],"mappings":"4GAAY,MAACA,EAA2B,CACtC,KAAM,OACN,MAAO,QACP,MAAO,OACT,EAEAC,EAAe,CACb,yBAAAD,CACF"}
1
+ {"version":3,"file":"dropdown-constants.cjs","sources":["../../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py-0',\n large: 'd-py-50',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":["DROPDOWN_PADDING_CLASSES","dropdown_constants"],"mappings":"4GAAY,MAACA,EAA2B,CACtC,KAAM,OACN,MAAO,SACP,MAAO,SACT,EAEAC,EAAe,CACb,yBAAAD,CACF"}
@@ -1,7 +1,7 @@
1
1
  const n = {
2
2
  none: void 0,
3
- small: "d-py0",
4
- large: "d-py4"
3
+ small: "d-py-0",
4
+ large: "d-py-50"
5
5
  }, d = {
6
6
  DROPDOWN_PADDING_CLASSES: n
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-constants.js","sources":["../../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py0',\n large: 'd-py4',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":["DROPDOWN_PADDING_CLASSES","dropdown_constants"],"mappings":"AAAY,MAACA,IAA2B;AAAA,EACtC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AACT,GAEAC,IAAe;AAAA,EACb,0BAAAD;AACF;"}
1
+ {"version":3,"file":"dropdown-constants.js","sources":["../../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py-0',\n large: 'd-py-50',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":["DROPDOWN_PADDING_CLASSES","dropdown_constants"],"mappings":"AAAY,MAACA,IAA2B;AAAA,EACtC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AACT,GAEAC,IAAe;AAAA,EACb,0BAAAD;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),a=require("../stack/stack.cjs"),r={compatConfig:{MODE:3},name:"DtDropdownList",components:{DtStack:a.default},props:{heading:{type:String,default:""},listClass:{type:[String,Array,Object],default:""}}};function d(n,c,t,i,u,p){const o=e.resolveComponent("dt-stack");return e.openBlock(),e.createElementBlock("li",null,[t.heading?(e.openBlock(),e.createBlock(o,{key:0,direction:"row",align:"center",class:"dt-dropdown-list--header d-fs12 d-fc-black-400 d-fw-bold d-lh4 d-py4 d-px12"},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.heading),1)]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("ul",{class:e.normalizeClass(["d-ps-relative","d-stack2","d-px0",t.listClass]),"data-qa":"dt-dropdown-list-wrapper"},[e.renderSlot(n.$slots,"default")],2)])}const s=l._(r,[["render",d]]);exports.default=s;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),a=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),l=require("../text/text.cjs"),d=require("../stack/stack.cjs"),s={compatConfig:{MODE:3},name:"DtDropdownList",components:{DtStack:d.default,DtText:l.default},props:{heading:{type:String,default:""},listClass:{type:[String,Array,Object],default:""}}};function c(o,u,t,p,_,m){const n=e.resolveComponent("dt-text"),r=e.resolveComponent("dt-stack");return e.openBlock(),e.createElementBlock("li",null,[t.heading?(e.openBlock(),e.createBlock(r,{key:0,direction:"row",align:"center",class:"dt-dropdown-list--header d-py-50 d-px-150"},{default:e.withCtx(()=>[e.createVNode(n,{kind:"label",size:100,strength:"bold",tone:"muted"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.heading),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("ul",{class:e.normalizeClass(["d-ps-relative","d-stack2","d-px-0",t.listClass]),"data-qa":"dt-dropdown-list-wrapper"},[e.renderSlot(o.$slots,"default")],2)])}const i=a._(s,[["render",c]]);exports.default=i;
2
2
  //# sourceMappingURL=dropdown-list.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-list.cjs","sources":["../../../components/dropdown/dropdown_list.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li>\n <dt-stack\n v-if=\"heading\"\n direction=\"row\"\n align=\"center\"\n class=\"dt-dropdown-list--header d-fs12 d-fc-black-400 d-fw-bold d-lh4 d-py4 d-px12\"\n >\n <span>{{ heading }}</span>\n </dt-stack>\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events -->\n <ul\n :class=\"['d-ps-relative', 'd-stack2', 'd-px0', listClass]\"\n data-qa=\"dt-dropdown-list-wrapper\"\n >\n <!-- @slot Slot for the list component -->\n <slot />\n </ul>\n </li>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdownList',\n components: { DtStack },\n props: {\n /**\n * List's heading.\n */\n heading: {\n type: String,\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","DtStack","_createElementBlock","$props","_createBlock","_component_dt_stack","_createElementVNode","_renderSlot","_ctx"],"mappings":"6NAyBKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,iBACN,WAAY,CAAA,QAAEC,EAAAA,SACd,MAAO,CAIL,QAAS,CACP,KAAM,OACN,QAAS,IAMX,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAGf,sFA5CEC,qBAiBK,KAAA,KAAA,CAfKC,EAAA,uBADRC,EAAAA,YAOWC,EAAA,OALT,UAAU,MACV,MAAM,SACN,MAAM,kGAEN,IAA0B,CAA1BC,EAAAA,mBAA0B,8BAAjBH,EAAA,OAAO,EAAA,CAAA,uCAGlBG,EAAAA,mBAMK,KAAA,CALF,2DAA8CH,EAAA,SAAS,CAAA,EACxD,UAAQ,6BAGRI,aAAQC,EAAA,OAAA,SAAA"}
1
+ {"version":3,"file":"dropdown-list.cjs","sources":["../../../components/dropdown/dropdown_list.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li>\n <dt-stack\n v-if=\"heading\"\n direction=\"row\"\n align=\"center\"\n class=\"dt-dropdown-list--header d-py-50 d-px-150\"\n >\n <dt-text\n kind=\"label\"\n :size=\"100\"\n strength=\"bold\"\n tone=\"muted\"\n >\n {{ heading }}\n </dt-text>\n </dt-stack>\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events -->\n <ul\n :class=\"['d-ps-relative', 'd-stack2', 'd-px-0', listClass]\"\n data-qa=\"dt-dropdown-list-wrapper\"\n >\n <!-- @slot Slot for the list component -->\n <slot />\n </ul>\n </li>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\nimport { DtText } from '@/components/text';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdownList',\n components: { DtStack, DtText },\n props: {\n /**\n * List's heading.\n */\n heading: {\n type: String,\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","DtStack","DtText","_createElementBlock","$props","_createBlock","_component_dt_stack","_createVNode","_component_dt_text","_createElementVNode","_renderSlot","_ctx"],"mappings":"2PAiCKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,iBACN,WAAY,CAAA,QAAEC,EAAAA,QAAO,OAAEC,SAAK,EAC5B,MAAO,CAIL,QAAS,CACP,KAAM,OACN,QAAS,IAMX,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAGf,sHApDEC,qBAwBK,KAAA,KAAA,CAtBKC,EAAA,uBADRC,EAAAA,YAcWC,EAAA,OAZT,UAAU,MACV,MAAM,SACN,MAAM,gEAEN,IAOU,CAPVC,EAAAA,YAOUC,EAAA,CANR,KAAK,QACJ,KAAM,IACP,SAAS,OACT,KAAK,4BAEL,IAAa,qCAAVJ,EAAA,OAAO,EAAA,CAAA,+CAIdK,EAAAA,mBAMK,KAAA,CALF,4DAA+CL,EAAA,SAAS,CAAA,EACzD,UAAQ,6BAGRM,aAAQC,EAAA,OAAA,SAAA"}
@@ -1,10 +1,11 @@
1
- import { resolveComponent as d, openBlock as e, createElementBlock as r, createBlock as l, withCtx as s, createElementVNode as o, toDisplayString as c, createCommentVNode as i, normalizeClass as p, renderSlot as m } from "vue";
2
- import { _ as f } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
3
- import _ from "../stack/stack.js";
4
- const u = {
1
+ import { resolveComponent as e, openBlock as o, createElementBlock as s, createBlock as l, withCtx as n, createVNode as c, createTextVNode as i, toDisplayString as p, createCommentVNode as m, createElementVNode as _, normalizeClass as f, renderSlot as u } from "vue";
2
+ import { _ as g } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
3
+ import k from "../text/text.js";
4
+ import x from "../stack/stack.js";
5
+ const h = {
5
6
  compatConfig: { MODE: 3 },
6
7
  name: "DtDropdownList",
7
- components: { DtStack: _ },
8
+ components: { DtStack: x, DtText: k },
8
9
  props: {
9
10
  /**
10
11
  * List's heading.
@@ -22,30 +23,40 @@ const u = {
22
23
  }
23
24
  }
24
25
  };
25
- function k(a, g, t, w, h, C) {
26
- const n = d("dt-stack");
27
- return e(), r("li", null, [
28
- t.heading ? (e(), l(n, {
26
+ function w(a, C, t, y, D, S) {
27
+ const r = e("dt-text"), d = e("dt-stack");
28
+ return o(), s("li", null, [
29
+ t.heading ? (o(), l(d, {
29
30
  key: 0,
30
31
  direction: "row",
31
32
  align: "center",
32
- class: "dt-dropdown-list--header d-fs12 d-fc-black-400 d-fw-bold d-lh4 d-py4 d-px12"
33
+ class: "dt-dropdown-list--header d-py-50 d-px-150"
33
34
  }, {
34
- default: s(() => [
35
- o("span", null, c(t.heading), 1)
35
+ default: n(() => [
36
+ c(r, {
37
+ kind: "label",
38
+ size: 100,
39
+ strength: "bold",
40
+ tone: "muted"
41
+ }, {
42
+ default: n(() => [
43
+ i(p(t.heading), 1)
44
+ ]),
45
+ _: 1
46
+ })
36
47
  ]),
37
48
  _: 1
38
- })) : i("", !0),
39
- o("ul", {
40
- class: p(["d-ps-relative", "d-stack2", "d-px0", t.listClass]),
49
+ })) : m("", !0),
50
+ _("ul", {
51
+ class: f(["d-ps-relative", "d-stack2", "d-px-0", t.listClass]),
41
52
  "data-qa": "dt-dropdown-list-wrapper"
42
53
  }, [
43
- m(a.$slots, "default")
54
+ u(a.$slots, "default")
44
55
  ], 2)
45
56
  ]);
46
57
  }
47
- const S = /* @__PURE__ */ f(u, [["render", k]]);
58
+ const E = /* @__PURE__ */ g(h, [["render", w]]);
48
59
  export {
49
- S as default
60
+ E as default
50
61
  };
51
62
  //# sourceMappingURL=dropdown-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-list.js","sources":["../../../components/dropdown/dropdown_list.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li>\n <dt-stack\n v-if=\"heading\"\n direction=\"row\"\n align=\"center\"\n class=\"dt-dropdown-list--header d-fs12 d-fc-black-400 d-fw-bold d-lh4 d-py4 d-px12\"\n >\n <span>{{ heading }}</span>\n </dt-stack>\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events -->\n <ul\n :class=\"['d-ps-relative', 'd-stack2', 'd-px0', listClass]\"\n data-qa=\"dt-dropdown-list-wrapper\"\n >\n <!-- @slot Slot for the list component -->\n <slot />\n </ul>\n </li>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdownList',\n components: { DtStack },\n props: {\n /**\n * List's heading.\n */\n heading: {\n type: String,\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","DtStack","_createElementBlock","$props","_createBlock","_component_dt_stack","_createElementVNode","_renderSlot","_ctx"],"mappings":";;;AAyBA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EACN,YAAY,EAAE,SAAAC;EACd,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMX,WAAW;AAAA,MACT,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;AAGf;;;cA5CEC,EAiBK,MAAA,MAAA;AAAA,IAfKC,EAAA,gBADRC,EAOWC,GAAA;AAAA;MALT,WAAU;AAAA,MACV,OAAM;AAAA,MACN,OAAM;AAAA;iBAEN,MAA0B;AAAA,QAA1BC,EAA0B,gBAAjBH,EAAA,OAAO,GAAA,CAAA;AAAA;;;IAGlBG,EAMK,MAAA;AAAA,MALF,gDAA8CH,EAAA,SAAS,CAAA;AAAA,MACxD,WAAQ;AAAA;MAGRI,EAAQC,EAAA,QAAA,SAAA;AAAA;;;;"}
1
+ {"version":3,"file":"dropdown-list.js","sources":["../../../components/dropdown/dropdown_list.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li>\n <dt-stack\n v-if=\"heading\"\n direction=\"row\"\n align=\"center\"\n class=\"dt-dropdown-list--header d-py-50 d-px-150\"\n >\n <dt-text\n kind=\"label\"\n :size=\"100\"\n strength=\"bold\"\n tone=\"muted\"\n >\n {{ heading }}\n </dt-text>\n </dt-stack>\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events -->\n <ul\n :class=\"['d-ps-relative', 'd-stack2', 'd-px-0', listClass]\"\n data-qa=\"dt-dropdown-list-wrapper\"\n >\n <!-- @slot Slot for the list component -->\n <slot />\n </ul>\n </li>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\nimport { DtText } from '@/components/text';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdownList',\n components: { DtStack, DtText },\n props: {\n /**\n * List's heading.\n */\n heading: {\n type: String,\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","DtStack","DtText","_createElementBlock","$props","_createBlock","_component_dt_stack","_createVNode","_component_dt_text","_createElementVNode","_renderSlot","_ctx"],"mappings":";;;;AAiCA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EACN,YAAY,EAAE,SAAAC,GAAS,QAAAC,EAAK;AAAA,EAC5B,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMX,WAAW;AAAA,MACT,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;AAGf;;;cApDEC,EAwBK,MAAA,MAAA;AAAA,IAtBKC,EAAA,gBADRC,EAcWC,GAAA;AAAA;MAZT,WAAU;AAAA,MACV,OAAM;AAAA,MACN,OAAM;AAAA;iBAEN,MAOU;AAAA,QAPVC,EAOUC,GAAA;AAAA,UANR,MAAK;AAAA,UACJ,MAAM;AAAA,UACP,UAAS;AAAA,UACT,MAAK;AAAA;qBAEL,MAAa;AAAA,gBAAVJ,EAAA,OAAO,GAAA,CAAA;AAAA;;;;;;IAIdK,EAMK,MAAA;AAAA,MALF,iDAA+CL,EAAA,SAAS,CAAA;AAAA,MACzD,WAAQ;AAAA;MAGRM,EAAQC,EAAA,QAAA,SAAA;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("../../common/mixins/keyboard-list-navigation.cjs"),l=require("./dropdown-constants.cjs"),g=require("../../common/utils/index.cjs"),o=require("../../common/constants/index.cjs"),t=require("vue"),c=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d=require("../list-item/list-item-constants.cjs"),E=require("../popover/popover.cjs"),f=require("../popover/popover-constants.cjs"),m={compatConfig:{MODE:3},name:"DtDropdown",components:{DtPopover:E.default},mixins:[p.default({indexKey:"highlightIndex",idKey:"highlightId",listElementKey:"getListElement",listItemRole:"menuitem",afterHighlightMethod:"afterHighlight",beginningOfListMethod:"beginningOfListMethod",endOfListMethod:"endOfListMethod",activeItemKey:"activeItemEl",focusOnKeyboardNavigation:!0})],inheritAttrs:!1,props:{open:{type:Boolean,default:null},openOnContext:{type:Boolean,default:!1},padding:{type:String,default:"small",validator:e=>Object.keys(l.DROPDOWN_PADDING_CLASSES).some(i=>i===e)},modal:{type:Boolean,default:!0},contentWidth:{type:String,default:null},maxHeight:{type:String,default:""},maxWidth:{type:String,default:""},listId:{type:String,default(){return g.getUniqueString()}},navigationType:{type:String,default:d.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,validator:e=>Object.values(d.LIST_ITEM_NAVIGATION_TYPES).includes(e)},fallbackPlacements:{type:Array,default:()=>["auto"]},placement:{type:String,default:"bottom"},onBeginningOfList:{type:Function,default:null},onEndOfList:{type:Function,default:null},listClass:{type:[String,Array,Object],default:""},appendTo:{type:[HTMLElement,String],default:"body",validator:e=>f.POPOVER_APPEND_TO_VALUES.includes(e)||e instanceof HTMLElement},tether:{type:Boolean,default:!0},transition:{type:String,default:"fade"}},emits:["keydown","highlight","update:open","opened"],data(){return{LIST_ITEM_NAVIGATION_TYPES:d.LIST_ITEM_NAVIGATION_TYPES,DROPDOWN_PADDING_CLASSES:l.DROPDOWN_PADDING_CLASSES,EVENT_KEYNAMES:o.EVENT_KEYNAMES,openedWithKeyboard:!1,isOpen:null}},computed:{dropdownListeners(){return{"update:open":e=>{this.$emit("update:open",e)},opened:e=>{this.updateInitialHighlightIndex(e)},keydown:e=>{switch(e.code){case o.EVENT_KEYNAMES.up:case o.EVENT_KEYNAMES.arrowup:this.onUpKeyPress(e),e.stopPropagation(),e.preventDefault();break;case o.EVENT_KEYNAMES.down:case o.EVENT_KEYNAMES.arrowdown:this.onDownKeyPress(e),e.stopPropagation(),e.preventDefault();break;case o.EVENT_KEYNAMES.space:case o.EVENT_KEYNAMES.spacebar:this.onSpaceKey();break;case o.EVENT_KEYNAMES.enter:this.onEnterKey();break;case o.EVENT_KEYNAMES.home:this.onHomeKeyPress(e),e.stopPropagation(),e.preventDefault();break;case o.EVENT_KEYNAMES.end:this.onEndKeyPress(e),e.stopPropagation(),e.preventDefault();break;default:this.onKeyPress(e);break}this.$emit("keydown",e)}}},beginningOfListMethod(){return this.onBeginningOfList||this.jumpToEnd},endOfListMethod(){return this.onEndOfList||this.jumpToBeginning},activeItemEl(){return this.getListElement().querySelector("#"+this.highlightId)},isArrowKeyNav(){return this.navigationType===this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS},listClasses(){return["d-dropdown-list",l.DROPDOWN_PADDING_CLASSES[this.padding],this.listClass,{"d-context-menu-list":this.openOnContext}]},shouldOpenWithArrowKeys(){return!this.openOnContext}},methods:{onMouseHighlight(e){const i=e.target.closest("li");i&&i.role&&this.highlightId!==i.id&&(this.setHighlightId(i.id),i.focus())},getListElement(){return this.$refs.listWrapper},clearHighlightIndex(){this.setHighlightIndex(-1)},afterHighlight(){this.highlightIndex!==this._itemsLength()-1&&this.$emit("highlight",this.highlightIndex)},updateInitialHighlightIndex(e){this.isOpen=e,e?(this.openedWithKeyboard&&this.isArrowKeyNav&&this.setHighlightIndex(0),this.$emit("opened",!0)):(this.clearHighlightIndex(),this.openedWithKeyboard=!1,this.$emit("opened",!1))},onSpaceKey(){this.open||(this.openedWithKeyboard=!0)},onEnterKey(){this.open||(this.openedWithKeyboard=!0)},onUpKeyPress(){if(!this.isOpen){this.openedWithKeyboard=!0;return}if(this.isArrowKeyNav)return this.onUpKey()},onDownKeyPress(){if(!this.isOpen){this.openedWithKeyboard=!0;return}if(this.isArrowKeyNav)return this.onDownKey()},onHomeKeyPress(){if(!(!this.isOpen||!this.isArrowKeyNav))return this.onHomeKey()},onEndKeyPress(){if(!(!this.isOpen||!this.isArrowKeyNav))return this.onEndKey()},onKeyPress(e){if(!(!this.isOpen||!this.isArrowKeyNav||!this.isValidLetter(e.key)))return e.stopPropagation(),e.preventDefault(),this.onNavigationKey(e.key)}}},y=["id"];function _(e,i,n,K,h,s){const u=t.resolveComponent("dt-popover");return t.openBlock(),t.createBlock(u,t.mergeProps({ref:"popover","content-width":n.contentWidth,open:n.open,placement:n.placement,"initial-focus-element":h.openedWithKeyboard?"first":"dialog","fallback-placements":n.fallbackPlacements,padding:"none",role:"menu","append-to":n.appendTo,modal:n.modal,"max-height":n.maxHeight,"max-width":n.maxWidth,"open-with-arrow-keys":s.shouldOpenWithArrowKeys,"open-on-context":n.openOnContext},e.$attrs,{tether:n.tether,transition:n.transition},t.toHandlers(s.dropdownListeners)),{anchor:t.withCtx(({attrs:r})=>[t.renderSlot(e.$slots,"anchor",t.mergeProps({ref:"anchor"},r))]),content:t.withCtx(({close:r})=>[t.createElementVNode("ul",{id:n.listId,ref:"listWrapper",class:t.normalizeClass(s.listClasses),"data-qa":"dt-dropdown-list-wrapper",onMouseleave:i[0]||(i[0]=(...a)=>s.clearHighlightIndex&&s.clearHighlightIndex(...a)),onMousemoveCapture:i[1]||(i[1]=(...a)=>s.onMouseHighlight&&s.onMouseHighlight(...a))},[t.renderSlot(e.$slots,"list",{close:r})],42,y)]),footerContent:t.withCtx(({close:r})=>[t.renderSlot(e.$slots,"footer",{close:r})]),_:3},16,["content-width","open","placement","initial-focus-element","fallback-placements","append-to","modal","max-height","max-width","open-with-arrow-keys","open-on-context","tether","transition"])}const S=c._(m,[["render",_]]);exports.default=S;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("../../common/mixins/keyboard-list-navigation.cjs"),l=require("./dropdown-constants.cjs"),g=require("../../common/utils/index.cjs"),o=require("../../common/constants/index.cjs"),c=require("../../mode_constants-DeLSnTcQ.cjs"),t=require("vue"),E=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d=require("../list-item/list-item-constants.cjs"),m=require("../popover/popover.cjs"),f=require("../popover/popover-constants.cjs"),y={compatConfig:{MODE:3},name:"DtDropdown",components:{DtPopover:m.default},mixins:[p.default({indexKey:"highlightIndex",idKey:"highlightId",listElementKey:"getListElement",listItemRole:"menuitem",afterHighlightMethod:"afterHighlight",beginningOfListMethod:"beginningOfListMethod",endOfListMethod:"endOfListMethod",activeItemKey:"activeItemEl",focusOnKeyboardNavigation:!0})],inheritAttrs:!1,props:{contentMode:c.C,open:{type:Boolean,default:null},openOnContext:{type:Boolean,default:!1},padding:{type:String,default:"small",validator:e=>Object.keys(l.DROPDOWN_PADDING_CLASSES).some(n=>n===e)},modal:{type:Boolean,default:!0},contentWidth:{type:String,default:null},maxHeight:{type:String,default:""},maxWidth:{type:String,default:""},listId:{type:String,default(){return g.getUniqueString()}},navigationType:{type:String,default:d.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,validator:e=>Object.values(d.LIST_ITEM_NAVIGATION_TYPES).includes(e)},fallbackPlacements:{type:Array,default:()=>["auto"]},placement:{type:String,default:"bottom"},onBeginningOfList:{type:Function,default:null},onEndOfList:{type:Function,default:null},listClass:{type:[String,Array,Object],default:""},appendTo:{type:[HTMLElement,String],default:"body",validator:e=>f.POPOVER_APPEND_TO_VALUES.includes(e)||e instanceof HTMLElement},tether:{type:Boolean,default:!0},transition:{type:String,default:"fade"}},emits:["keydown","highlight","update:open","opened"],data(){return{LIST_ITEM_NAVIGATION_TYPES:d.LIST_ITEM_NAVIGATION_TYPES,DROPDOWN_PADDING_CLASSES:l.DROPDOWN_PADDING_CLASSES,EVENT_KEYNAMES:o.EVENT_KEYNAMES,openedWithKeyboard:!1,isOpen:null}},computed:{dropdownListeners(){return{"update:open":e=>{this.$emit("update:open",e)},opened:e=>{this.updateInitialHighlightIndex(e)},keydown:e=>{switch(e.code){case o.EVENT_KEYNAMES.up:case o.EVENT_KEYNAMES.arrowup:this.onUpKeyPress(e),e.stopPropagation(),e.preventDefault();break;case o.EVENT_KEYNAMES.down:case o.EVENT_KEYNAMES.arrowdown:this.onDownKeyPress(e),e.stopPropagation(),e.preventDefault();break;case o.EVENT_KEYNAMES.space:case o.EVENT_KEYNAMES.spacebar:this.onSpaceKey();break;case o.EVENT_KEYNAMES.enter:this.onEnterKey();break;case o.EVENT_KEYNAMES.home:this.onHomeKeyPress(e),e.stopPropagation(),e.preventDefault();break;case o.EVENT_KEYNAMES.end:this.onEndKeyPress(e),e.stopPropagation(),e.preventDefault();break;default:this.onKeyPress(e);break}this.$emit("keydown",e)}}},beginningOfListMethod(){return this.onBeginningOfList||this.jumpToEnd},endOfListMethod(){return this.onEndOfList||this.jumpToBeginning},activeItemEl(){return this.getListElement().querySelector("#"+this.highlightId)},isArrowKeyNav(){return this.navigationType===this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS},listClasses(){return["d-dropdown-list",l.DROPDOWN_PADDING_CLASSES[this.padding],this.listClass,{"d-context-menu-list":this.openOnContext}]},shouldOpenWithArrowKeys(){return!this.openOnContext}},methods:{onMouseHighlight(e){const n=e.target.closest("li");n&&n.role&&this.highlightId!==n.id&&(this.setHighlightId(n.id),n.focus())},getListElement(){return this.$refs.listWrapper},clearHighlightIndex(){this.setHighlightIndex(-1)},afterHighlight(){this.highlightIndex!==this._itemsLength()-1&&this.$emit("highlight",this.highlightIndex)},updateInitialHighlightIndex(e){this.isOpen=e,e?(this.openedWithKeyboard&&this.isArrowKeyNav&&this.setHighlightIndex(0),this.$emit("opened",!0)):(this.clearHighlightIndex(),this.openedWithKeyboard=!1,this.$emit("opened",!1))},onSpaceKey(){this.open||(this.openedWithKeyboard=!0)},onEnterKey(){this.open||(this.openedWithKeyboard=!0)},onUpKeyPress(){if(!this.isOpen){this.openedWithKeyboard=!0;return}if(this.isArrowKeyNav)return this.onUpKey()},onDownKeyPress(){if(!this.isOpen){this.openedWithKeyboard=!0;return}if(this.isArrowKeyNav)return this.onDownKey()},onHomeKeyPress(){if(!(!this.isOpen||!this.isArrowKeyNav))return this.onHomeKey()},onEndKeyPress(){if(!(!this.isOpen||!this.isArrowKeyNav))return this.onEndKey()},onKeyPress(e){if(!(!this.isOpen||!this.isArrowKeyNav||!this.isValidLetter(e.key)))return e.stopPropagation(),e.preventDefault(),this.onNavigationKey(e.key)}}},_=["id"];function S(e,n,i,N,h,s){const u=t.resolveComponent("dt-popover");return t.openBlock(),t.createBlock(u,t.mergeProps({ref:"popover","content-width":i.contentWidth,"content-mode":i.contentMode,open:i.open,placement:i.placement,"initial-focus-element":h.openedWithKeyboard?"first":"dialog","fallback-placements":i.fallbackPlacements,padding:"none",role:"menu","append-to":i.appendTo,modal:i.modal,"max-height":i.maxHeight,"max-width":i.maxWidth,"open-with-arrow-keys":s.shouldOpenWithArrowKeys,"open-on-context":i.openOnContext},e.$attrs,{tether:i.tether,transition:i.transition},t.toHandlers(s.dropdownListeners)),{anchor:t.withCtx(({attrs:r})=>[t.renderSlot(e.$slots,"anchor",t.mergeProps({ref:"anchor"},r))]),content:t.withCtx(({close:r})=>[t.createElementVNode("ul",{id:i.listId,ref:"listWrapper",class:t.normalizeClass(s.listClasses),"data-qa":"dt-dropdown-list-wrapper",onMouseleave:n[0]||(n[0]=(...a)=>s.clearHighlightIndex&&s.clearHighlightIndex(...a)),onMousemoveCapture:n[1]||(n[1]=(...a)=>s.onMouseHighlight&&s.onMouseHighlight(...a))},[t.renderSlot(e.$slots,"list",{close:r})],42,_)]),footerContent:t.withCtx(({close:r})=>[t.renderSlot(e.$slots,"footer",{close:r})]),_:3},16,["content-width","content-mode","open","placement","initial-focus-element","fallback-placements","append-to","modal","max-height","max-width","open-with-arrow-keys","open-on-context","tether","transition"])}const K=E._(y,[["render",S]]);exports.default=K;
2
2
  //# sourceMappingURL=dropdown.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.cjs","sources":["../../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n </ul>\n </template>\n <template #footerContent=\"{ close }\">\n <!-- @slot Slot for the footer content -->\n <slot\n name=\"footer\"\n :close=\"close\"\n />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\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 * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\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 * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n\n 'update:open': value => {\n this.$emit('update:open', value);\n },\n\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","KeyboardNavigation","padding","DROPDOWN_PADDING_CLASSES","item","getUniqueString","LIST_ITEM_NAVIGATION_TYPES","t","appendTo","POPOVER_APPEND_TO_VALUES","EVENT_KEYNAMES","value","isPopoverOpen","event","liElement","_openBlock","_createBlock","_component_dt_popover","_mergeProps","$props","$data","$options","_ctx","_toHandlers","_withCtx","attrs","_renderSlot","close","_createElementVNode","args"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.cjs","sources":["../../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :content-mode=\"contentMode\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n </ul>\n </template>\n <template #footerContent=\"{ close }\">\n <!-- @slot Slot for the footer content -->\n <slot\n name=\"footer\"\n :close=\"close\"\n />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport { CONTENT_MODE_PROP } from '@/common/mode_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Applies a color mode to the positioned content element.\n * @values light, dark, invert\n */\n contentMode: CONTENT_MODE_PROP,\n\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n * @values top, top-start, top-end, right, right-start, right-end, left, left-start, left-end, bottom, bottom-start, bottom-end, auto, auto-start, auto-end\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\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 * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\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 * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n\n 'update:open': value => {\n this.$emit('update:open', value);\n },\n\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","KeyboardNavigation","CONTENT_MODE_PROP","padding","DROPDOWN_PADDING_CLASSES","item","getUniqueString","LIST_ITEM_NAVIGATION_TYPES","t","appendTo","POPOVER_APPEND_TO_VALUES","EVENT_KEYNAMES","value","isPopoverOpen","event","liElement","_openBlock","_createBlock","_component_dt_popover","_mergeProps","$props","$data","$options","_ctx","_toHandlers","_withCtx","attrs","_renderSlot","close","_createElementVNode","args"],"mappings":"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"}