@dialpad/dialtone 9.65.1 → 9.66.0

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 (792) hide show
  1. package/dist/tokens/doc.json +17176 -17176
  2. package/dist/vue2/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
  3. package/dist/vue2/chunks/{dropdown-6UoczdUY.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
  4. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
  5. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js.map → dropdown-mjrYu_mK.js.map} +1 -1
  6. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  7. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  8. package/dist/vue2/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
  9. package/dist/vue2/chunks/icon_constants-TdxqLsS2.js.map +1 -0
  10. package/dist/vue2/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
  11. package/dist/vue2/chunks/icon_constants-VEA0wI5C.js.map +1 -0
  12. package/dist/vue2/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
  13. package/dist/vue2/chunks/{index-gj1jEXP4.js.map → index-DyqUqjvI.js.map} +1 -1
  14. package/dist/vue2/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
  15. package/dist/vue2/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
  16. package/dist/vue2/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
  17. package/dist/vue2/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
  18. package/dist/vue2/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
  19. package/dist/vue2/chunks/{index-eJ-WWRdf.js.map → index-mBWay1Qb.js.map} +1 -1
  20. package/dist/vue2/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
  21. package/dist/vue2/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
  22. package/dist/vue2/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
  23. package/dist/vue2/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
  24. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
  25. package/dist/vue2/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
  26. package/dist/vue2/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
  27. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
  28. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  29. package/dist/vue2/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  30. package/dist/vue2/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  31. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  32. package/dist/vue2/chunks/link_constants-AfTWrr-n.js.map +1 -1
  33. package/dist/vue2/chunks/link_constants-x8NwdqmA.js.map +1 -1
  34. package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  35. package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  36. package/dist/vue2/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  37. package/dist/{vue3/chunks/modal-XOr4kiNZ.js.map → vue2/chunks/modal-8X6poIZW.js.map} +1 -1
  38. package/dist/vue2/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  39. package/dist/vue2/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  40. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
  41. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
  42. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
  43. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.js.map} +1 -1
  44. package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  45. package/dist/vue2/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  46. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  47. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  48. package/dist/vue2/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  49. package/dist/{vue3/chunks/popover_constants-WsOUIY-m.js.map → vue2/chunks/popover_constants-h9MD6WUt.js.map} +1 -1
  50. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
  51. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
  52. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
  53. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.js.map} +1 -1
  54. package/dist/vue2/chunks/stack_constants-HraCekPm.js.map +1 -1
  55. package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  56. package/dist/vue2/chunks/{tab-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
  57. package/dist/vue2/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
  58. package/dist/vue2/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
  59. package/dist/vue2/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.js.map} +1 -1
  60. package/dist/vue2/common/constants.cjs.map +1 -1
  61. package/dist/vue2/common/constants.js.map +1 -1
  62. package/dist/vue2/common/dates.cjs +3 -1
  63. package/dist/vue2/common/dates.cjs.map +1 -1
  64. package/dist/vue2/common/dates.js +3 -1
  65. package/dist/vue2/common/dates.js.map +1 -1
  66. package/dist/vue2/common/emoji.cjs +1 -1
  67. package/dist/vue2/common/emoji.js +1 -1
  68. package/dist/vue2/common/mixins.cjs +3 -3
  69. package/dist/vue2/common/mixins.js +3 -3
  70. package/dist/vue2/common/utils.cjs +8 -44
  71. package/dist/vue2/common/utils.cjs.map +1 -1
  72. package/dist/vue2/common/utils.js +8 -44
  73. package/dist/vue2/common/utils.js.map +1 -1
  74. package/dist/vue2/common/validators.cjs.map +1 -1
  75. package/dist/vue2/common/validators.js.map +1 -1
  76. package/dist/vue2/component-documentation.json +1 -1
  77. package/dist/vue2/dialtone-vue.cjs +12 -12
  78. package/dist/vue2/dialtone-vue.js +12 -12
  79. package/dist/vue2/lib/attachment-carousel.cjs +172 -48
  80. package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
  81. package/dist/vue2/lib/attachment-carousel.js +172 -48
  82. package/dist/vue2/lib/attachment-carousel.js.map +1 -1
  83. package/dist/vue2/lib/avatar.cjs +75 -58
  84. package/dist/vue2/lib/avatar.cjs.map +1 -1
  85. package/dist/vue2/lib/avatar.js +75 -58
  86. package/dist/vue2/lib/avatar.js.map +1 -1
  87. package/dist/vue2/lib/badge.cjs +31 -20
  88. package/dist/vue2/lib/badge.cjs.map +1 -1
  89. package/dist/vue2/lib/badge.js +31 -20
  90. package/dist/vue2/lib/badge.js.map +1 -1
  91. package/dist/vue2/lib/banner.cjs +53 -29
  92. package/dist/vue2/lib/banner.cjs.map +1 -1
  93. package/dist/vue2/lib/banner.js +53 -29
  94. package/dist/vue2/lib/banner.js.map +1 -1
  95. package/dist/vue2/lib/breadcrumbs.cjs +36 -30
  96. package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
  97. package/dist/vue2/lib/breadcrumbs.js +36 -30
  98. package/dist/vue2/lib/breadcrumbs.js.map +1 -1
  99. package/dist/vue2/lib/button-group.cjs +7 -14
  100. package/dist/vue2/lib/button-group.cjs.map +1 -1
  101. package/dist/vue2/lib/button-group.js +7 -14
  102. package/dist/vue2/lib/button-group.js.map +1 -1
  103. package/dist/vue2/lib/button.cjs +55 -62
  104. package/dist/vue2/lib/button.cjs.map +1 -1
  105. package/dist/vue2/lib/button.js +55 -62
  106. package/dist/vue2/lib/button.js.map +1 -1
  107. package/dist/vue2/lib/callbar-button-with-popover.cjs +91 -23
  108. package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
  109. package/dist/vue2/lib/callbar-button-with-popover.js +91 -23
  110. package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
  111. package/dist/vue2/lib/callbar-button.cjs +49 -33
  112. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  113. package/dist/vue2/lib/callbar-button.js +49 -33
  114. package/dist/vue2/lib/callbar-button.js.map +1 -1
  115. package/dist/vue2/lib/callbox.cjs +78 -15
  116. package/dist/vue2/lib/callbox.cjs.map +1 -1
  117. package/dist/vue2/lib/callbox.js +78 -15
  118. package/dist/vue2/lib/callbox.js.map +1 -1
  119. package/dist/vue2/lib/card.cjs +16 -23
  120. package/dist/vue2/lib/card.cjs.map +1 -1
  121. package/dist/vue2/lib/card.js +16 -23
  122. package/dist/vue2/lib/card.js.map +1 -1
  123. package/dist/vue2/lib/checkbox-group.cjs +3 -15
  124. package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
  125. package/dist/vue2/lib/checkbox-group.js +3 -15
  126. package/dist/vue2/lib/checkbox-group.js.map +1 -1
  127. package/dist/vue2/lib/checkbox.cjs +52 -16
  128. package/dist/vue2/lib/checkbox.cjs.map +1 -1
  129. package/dist/vue2/lib/checkbox.js +52 -16
  130. package/dist/vue2/lib/checkbox.js.map +1 -1
  131. package/dist/vue2/lib/chip.cjs +58 -26
  132. package/dist/vue2/lib/chip.cjs.map +1 -1
  133. package/dist/vue2/lib/chip.js +58 -26
  134. package/dist/vue2/lib/chip.js.map +1 -1
  135. package/dist/vue2/lib/codeblock.cjs +4 -11
  136. package/dist/vue2/lib/codeblock.cjs.map +1 -1
  137. package/dist/vue2/lib/codeblock.js +4 -11
  138. package/dist/vue2/lib/codeblock.js.map +1 -1
  139. package/dist/vue2/lib/collapsible.cjs +91 -34
  140. package/dist/vue2/lib/collapsible.cjs.map +1 -1
  141. package/dist/vue2/lib/collapsible.js +91 -34
  142. package/dist/vue2/lib/collapsible.js.map +1 -1
  143. package/dist/vue2/lib/combobox-multi-select.cjs +131 -38
  144. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  145. package/dist/vue2/lib/combobox-multi-select.js +131 -38
  146. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  147. package/dist/vue2/lib/combobox-with-popover.cjs +130 -39
  148. package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
  149. package/dist/vue2/lib/combobox-with-popover.js +130 -39
  150. package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
  151. package/dist/vue2/lib/combobox.cjs +3 -3
  152. package/dist/vue2/lib/combobox.js +3 -3
  153. package/dist/vue2/lib/contact-centers-row.cjs +86 -29
  154. package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
  155. package/dist/vue2/lib/contact-centers-row.js +86 -29
  156. package/dist/vue2/lib/contact-centers-row.js.map +1 -1
  157. package/dist/vue2/lib/contact-info.cjs +95 -24
  158. package/dist/vue2/lib/contact-info.cjs.map +1 -1
  159. package/dist/vue2/lib/contact-info.js +95 -24
  160. package/dist/vue2/lib/contact-info.js.map +1 -1
  161. package/dist/vue2/lib/contact-row.cjs +61 -18
  162. package/dist/vue2/lib/contact-row.cjs.map +1 -1
  163. package/dist/vue2/lib/contact-row.js +61 -18
  164. package/dist/vue2/lib/contact-row.js.map +1 -1
  165. package/dist/vue2/lib/datepicker.cjs +361 -102
  166. package/dist/vue2/lib/datepicker.cjs.map +1 -1
  167. package/dist/vue2/lib/datepicker.js +361 -102
  168. package/dist/vue2/lib/datepicker.js.map +1 -1
  169. package/dist/vue2/lib/description-list.cjs +11 -12
  170. package/dist/vue2/lib/description-list.cjs.map +1 -1
  171. package/dist/vue2/lib/description-list.js +11 -12
  172. package/dist/vue2/lib/description-list.js.map +1 -1
  173. package/dist/vue2/lib/dropdown.cjs +13 -17
  174. package/dist/vue2/lib/dropdown.cjs.map +1 -1
  175. package/dist/vue2/lib/dropdown.js +13 -17
  176. package/dist/vue2/lib/dropdown.js.map +1 -1
  177. package/dist/vue2/lib/editor.cjs +409 -109
  178. package/dist/vue2/lib/editor.cjs.map +1 -1
  179. package/dist/vue2/lib/editor.js +409 -109
  180. package/dist/vue2/lib/editor.js.map +1 -1
  181. package/dist/vue2/lib/emoji-picker.cjs +512 -234
  182. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  183. package/dist/vue2/lib/emoji-picker.js +512 -234
  184. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  185. package/dist/vue2/lib/emoji-row.cjs +69 -31
  186. package/dist/vue2/lib/emoji-row.cjs.map +1 -1
  187. package/dist/vue2/lib/emoji-row.js +69 -31
  188. package/dist/vue2/lib/emoji-row.js.map +1 -1
  189. package/dist/vue2/lib/emoji-text-wrapper.cjs +14 -22
  190. package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
  191. package/dist/vue2/lib/emoji-text-wrapper.js +14 -22
  192. package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
  193. package/dist/vue2/lib/emoji.cjs +40 -13
  194. package/dist/vue2/lib/emoji.cjs.map +1 -1
  195. package/dist/vue2/lib/emoji.js +40 -13
  196. package/dist/vue2/lib/emoji.js.map +1 -1
  197. package/dist/vue2/lib/empty-state.cjs +27 -12
  198. package/dist/vue2/lib/empty-state.cjs.map +1 -1
  199. package/dist/vue2/lib/empty-state.js +27 -12
  200. package/dist/vue2/lib/empty-state.js.map +1 -1
  201. package/dist/vue2/lib/feed-item-row.cjs +106 -27
  202. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  203. package/dist/vue2/lib/feed-item-row.js +106 -27
  204. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  205. package/dist/vue2/lib/feed-pill.cjs +90 -35
  206. package/dist/vue2/lib/feed-pill.cjs.map +1 -1
  207. package/dist/vue2/lib/feed-pill.js +90 -35
  208. package/dist/vue2/lib/feed-pill.js.map +1 -1
  209. package/dist/vue2/lib/general-row.cjs +184 -75
  210. package/dist/vue2/lib/general-row.cjs.map +1 -1
  211. package/dist/vue2/lib/general-row.js +184 -75
  212. package/dist/vue2/lib/general-row.js.map +1 -1
  213. package/dist/vue2/lib/group-row.cjs +27 -16
  214. package/dist/vue2/lib/group-row.cjs.map +1 -1
  215. package/dist/vue2/lib/group-row.js +27 -16
  216. package/dist/vue2/lib/group-row.js.map +1 -1
  217. package/dist/vue2/lib/grouped-chip.cjs +68 -20
  218. package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
  219. package/dist/vue2/lib/grouped-chip.js +68 -20
  220. package/dist/vue2/lib/grouped-chip.js.map +1 -1
  221. package/dist/vue2/lib/hovercard.cjs +71 -41
  222. package/dist/vue2/lib/hovercard.cjs.map +1 -1
  223. package/dist/vue2/lib/hovercard.js +71 -41
  224. package/dist/vue2/lib/hovercard.js.map +1 -1
  225. package/dist/vue2/lib/icon.cjs +10 -12
  226. package/dist/vue2/lib/icon.cjs.map +1 -1
  227. package/dist/vue2/lib/icon.js +10 -12
  228. package/dist/vue2/lib/icon.js.map +1 -1
  229. package/dist/vue2/lib/illustration.cjs +9 -12
  230. package/dist/vue2/lib/illustration.cjs.map +1 -1
  231. package/dist/vue2/lib/illustration.js +9 -12
  232. package/dist/vue2/lib/illustration.js.map +1 -1
  233. package/dist/vue2/lib/image-viewer.cjs +98 -23
  234. package/dist/vue2/lib/image-viewer.cjs.map +1 -1
  235. package/dist/vue2/lib/image-viewer.js +98 -23
  236. package/dist/vue2/lib/image-viewer.js.map +1 -1
  237. package/dist/vue2/lib/input-group.cjs +24 -14
  238. package/dist/vue2/lib/input-group.cjs.map +1 -1
  239. package/dist/vue2/lib/input-group.js +24 -14
  240. package/dist/vue2/lib/input-group.js.map +1 -1
  241. package/dist/vue2/lib/input.cjs +108 -40
  242. package/dist/vue2/lib/input.cjs.map +1 -1
  243. package/dist/vue2/lib/input.js +108 -40
  244. package/dist/vue2/lib/input.js.map +1 -1
  245. package/dist/vue2/lib/item-layout.cjs +42 -11
  246. package/dist/vue2/lib/item-layout.cjs.map +1 -1
  247. package/dist/vue2/lib/item-layout.js +42 -11
  248. package/dist/vue2/lib/item-layout.js.map +1 -1
  249. package/dist/vue2/lib/ivr-node.cjs +135 -47
  250. package/dist/vue2/lib/ivr-node.cjs.map +1 -1
  251. package/dist/vue2/lib/ivr-node.js +135 -47
  252. package/dist/vue2/lib/ivr-node.js.map +1 -1
  253. package/dist/vue2/lib/keyboard-shortcut.cjs +35 -23
  254. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  255. package/dist/vue2/lib/keyboard-shortcut.js +35 -23
  256. package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
  257. package/dist/vue2/lib/lazy-show.cjs +15 -11
  258. package/dist/vue2/lib/lazy-show.cjs.map +1 -1
  259. package/dist/vue2/lib/lazy-show.js +15 -11
  260. package/dist/vue2/lib/lazy-show.js.map +1 -1
  261. package/dist/vue2/lib/link.cjs +9 -15
  262. package/dist/vue2/lib/link.cjs.map +1 -1
  263. package/dist/vue2/lib/link.js +9 -15
  264. package/dist/vue2/lib/link.js.map +1 -1
  265. package/dist/vue2/lib/list-item-group.cjs +17 -11
  266. package/dist/vue2/lib/list-item-group.cjs.map +1 -1
  267. package/dist/vue2/lib/list-item-group.js +17 -11
  268. package/dist/vue2/lib/list-item-group.js.map +1 -1
  269. package/dist/vue2/lib/list-item.cjs +42 -23
  270. package/dist/vue2/lib/list-item.cjs.map +1 -1
  271. package/dist/vue2/lib/list-item.js +42 -23
  272. package/dist/vue2/lib/list-item.js.map +1 -1
  273. package/dist/vue2/lib/message-input.cjs +360 -97
  274. package/dist/vue2/lib/message-input.cjs.map +1 -1
  275. package/dist/vue2/lib/message-input.js +360 -97
  276. package/dist/vue2/lib/message-input.js.map +1 -1
  277. package/dist/vue2/lib/modal.cjs +94 -36
  278. package/dist/vue2/lib/modal.cjs.map +1 -1
  279. package/dist/vue2/lib/modal.js +94 -36
  280. package/dist/vue2/lib/modal.js.map +1 -1
  281. package/dist/vue2/lib/notice.cjs +40 -21
  282. package/dist/vue2/lib/notice.cjs.map +1 -1
  283. package/dist/vue2/lib/notice.js +40 -21
  284. package/dist/vue2/lib/notice.js.map +1 -1
  285. package/dist/vue2/lib/pagination.cjs +81 -20
  286. package/dist/vue2/lib/pagination.cjs.map +1 -1
  287. package/dist/vue2/lib/pagination.js +81 -20
  288. package/dist/vue2/lib/pagination.js.map +1 -1
  289. package/dist/vue2/lib/popover.cjs +194 -75
  290. package/dist/vue2/lib/popover.cjs.map +1 -1
  291. package/dist/vue2/lib/popover.js +195 -76
  292. package/dist/vue2/lib/popover.js.map +1 -1
  293. package/dist/vue2/lib/presence.cjs +23 -22
  294. package/dist/vue2/lib/presence.cjs.map +1 -1
  295. package/dist/vue2/lib/presence.js +23 -22
  296. package/dist/vue2/lib/presence.js.map +1 -1
  297. package/dist/vue2/lib/radio-group.cjs +2 -11
  298. package/dist/vue2/lib/radio-group.cjs.map +1 -1
  299. package/dist/vue2/lib/radio-group.js +2 -11
  300. package/dist/vue2/lib/radio-group.js.map +1 -1
  301. package/dist/vue2/lib/radio.cjs +47 -15
  302. package/dist/vue2/lib/radio.cjs.map +1 -1
  303. package/dist/vue2/lib/radio.js +47 -15
  304. package/dist/vue2/lib/radio.js.map +1 -1
  305. package/dist/vue2/lib/rich-text-editor.cjs +336 -317
  306. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  307. package/dist/vue2/lib/rich-text-editor.js +336 -317
  308. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  309. package/dist/vue2/lib/root-layout.cjs +33 -15
  310. package/dist/vue2/lib/root-layout.cjs.map +1 -1
  311. package/dist/vue2/lib/root-layout.js +33 -15
  312. package/dist/vue2/lib/root-layout.js.map +1 -1
  313. package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -1
  314. package/dist/vue2/lib/scrollbar-directive.js.map +1 -1
  315. package/dist/vue2/lib/select-menu.cjs +52 -33
  316. package/dist/vue2/lib/select-menu.cjs.map +1 -1
  317. package/dist/vue2/lib/select-menu.js +52 -33
  318. package/dist/vue2/lib/select-menu.js.map +1 -1
  319. package/dist/vue2/lib/settings-menu-button.cjs +42 -16
  320. package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
  321. package/dist/vue2/lib/settings-menu-button.js +42 -16
  322. package/dist/vue2/lib/settings-menu-button.js.map +1 -1
  323. package/dist/vue2/lib/skeleton.cjs +118 -93
  324. package/dist/vue2/lib/skeleton.cjs.map +1 -1
  325. package/dist/vue2/lib/skeleton.js +118 -93
  326. package/dist/vue2/lib/skeleton.js.map +1 -1
  327. package/dist/vue2/lib/split-button.cjs +164 -64
  328. package/dist/vue2/lib/split-button.cjs.map +1 -1
  329. package/dist/vue2/lib/split-button.js +164 -64
  330. package/dist/vue2/lib/split-button.js.map +1 -1
  331. package/dist/vue2/lib/stack.cjs +21 -33
  332. package/dist/vue2/lib/stack.cjs.map +1 -1
  333. package/dist/vue2/lib/stack.js +21 -33
  334. package/dist/vue2/lib/stack.js.map +1 -1
  335. package/dist/vue2/lib/tabs.cjs +20 -13
  336. package/dist/vue2/lib/tabs.cjs.map +1 -1
  337. package/dist/vue2/lib/tabs.js +20 -13
  338. package/dist/vue2/lib/tabs.js.map +1 -1
  339. package/dist/vue2/lib/time-pill.cjs +8 -11
  340. package/dist/vue2/lib/time-pill.cjs.map +1 -1
  341. package/dist/vue2/lib/time-pill.js +8 -11
  342. package/dist/vue2/lib/time-pill.js.map +1 -1
  343. package/dist/vue2/lib/toast.cjs +42 -21
  344. package/dist/vue2/lib/toast.cjs.map +1 -1
  345. package/dist/vue2/lib/toast.js +42 -21
  346. package/dist/vue2/lib/toast.js.map +1 -1
  347. package/dist/vue2/lib/toggle.cjs +28 -24
  348. package/dist/vue2/lib/toggle.cjs.map +1 -1
  349. package/dist/vue2/lib/toggle.js +28 -24
  350. package/dist/vue2/lib/toggle.js.map +1 -1
  351. package/dist/vue2/lib/tooltip-directive.cjs +32 -26
  352. package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
  353. package/dist/vue2/lib/tooltip-directive.js +32 -26
  354. package/dist/vue2/lib/tooltip-directive.js.map +1 -1
  355. package/dist/vue2/lib/tooltip.cjs +31 -21
  356. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  357. package/dist/vue2/lib/tooltip.js +32 -22
  358. package/dist/vue2/lib/tooltip.js.map +1 -1
  359. package/dist/vue2/lib/top-banner-info.cjs +18 -21
  360. package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
  361. package/dist/vue2/lib/top-banner-info.js +18 -21
  362. package/dist/vue2/lib/top-banner-info.js.map +1 -1
  363. package/dist/vue2/lib/unread-pill.cjs +18 -12
  364. package/dist/vue2/lib/unread-pill.cjs.map +1 -1
  365. package/dist/vue2/lib/unread-pill.js +18 -12
  366. package/dist/vue2/lib/unread-pill.js.map +1 -1
  367. package/dist/vue2/lib/validation-messages.cjs +23 -16
  368. package/dist/vue2/lib/validation-messages.cjs.map +1 -1
  369. package/dist/vue2/lib/validation-messages.js +23 -16
  370. package/dist/vue2/lib/validation-messages.js.map +1 -1
  371. package/dist/vue2/types/common/emoji/index.d.ts +2 -59236
  372. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  373. package/dist/vue2/types/components/button/button.vue.d.ts +1 -1
  374. package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
  375. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
  376. package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -2
  377. package/dist/vue2/types/components/icon/icon_constants.d.ts +1 -1
  378. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  379. package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -2
  380. package/dist/vue2/types/components/illustration/illustration_constants.d.ts +1 -1
  381. package/dist/vue2/types/components/illustration/illustration_constants.d.ts.map +1 -1
  382. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  383. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  384. package/dist/vue2/types/components/input/input.vue.d.ts +1 -1
  385. package/dist/vue2/types/components/modal/modal.vue.d.ts +1 -1
  386. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  387. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  388. package/dist/vue2/types/components/toast/toast.vue.d.ts +1 -1
  389. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +1 -1
  390. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  391. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  392. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  393. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js → dropdown-6HXkh24e.js} +40 -45
  394. package/dist/vue3/chunks/{dropdown-p-Azgwov.js.map → dropdown-6HXkh24e.js.map} +1 -1
  395. package/dist/vue3/chunks/{dropdown-p-Azgwov.js → dropdown-QNvAb160.js} +40 -45
  396. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js.map → dropdown-QNvAb160.js.map} +1 -1
  397. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  398. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  399. package/dist/vue3/chunks/{icon_constants-QYpmdE0R.js → icon_constants-bvhFNOPu.js} +3 -2
  400. package/dist/vue3/chunks/icon_constants-bvhFNOPu.js.map +1 -0
  401. package/dist/vue3/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-gIQj4mf7.js} +3 -2
  402. package/dist/vue3/chunks/icon_constants-gIQj4mf7.js.map +1 -0
  403. package/dist/vue3/chunks/{index-b_MgDylR.js → index-T15rAIdX.js} +71 -84
  404. package/dist/vue3/chunks/{index-b_MgDylR.js.map → index-T15rAIdX.js.map} +1 -1
  405. package/dist/vue3/chunks/{index-GVD15GIB.js → index-dfdrE-3M.js} +3 -12
  406. package/dist/vue3/chunks/{index-GVD15GIB.js.map → index-dfdrE-3M.js.map} +1 -1
  407. package/dist/vue3/chunks/{index-lu2o2f4r.js → index-fEp0B-5Z.js} +3 -12
  408. package/dist/vue3/chunks/{index-lu2o2f4r.js.map → index-fEp0B-5Z.js.map} +1 -1
  409. package/dist/vue3/chunks/{index-4qgKeErp.js → index-ouh7Bvm-.js} +71 -84
  410. package/dist/vue3/chunks/{index-4qgKeErp.js.map → index-ouh7Bvm-.js.map} +1 -1
  411. package/dist/vue3/chunks/{input-NmYDD5bn.js → input-HIysg24t.js} +3 -9
  412. package/dist/vue3/chunks/{input-NmYDD5bn.js.map → input-HIysg24t.js.map} +1 -1
  413. package/dist/vue3/chunks/{input-ttnte8zB.js → input-dLLo3Wtg.js} +3 -9
  414. package/dist/vue3/chunks/{input-ttnte8zB.js.map → input-dLLo3Wtg.js.map} +1 -1
  415. package/dist/vue3/chunks/{input_group-jWnq2DJT.js → input_group-hV1WT2it.js} +4 -2
  416. package/dist/vue3/chunks/{input_group-jWnq2DJT.js.map → input_group-hV1WT2it.js.map} +1 -1
  417. package/dist/vue3/chunks/{input_group-M-D25pOJ.js → input_group-rE6nhye8.js} +4 -2
  418. package/dist/vue3/chunks/{input_group-M-D25pOJ.js.map → input_group-rE6nhye8.js.map} +1 -1
  419. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  420. package/dist/vue3/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  421. package/dist/vue3/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  422. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  423. package/dist/vue3/chunks/link_constants-AfTWrr-n.js.map +1 -1
  424. package/dist/vue3/chunks/link_constants-x8NwdqmA.js.map +1 -1
  425. package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  426. package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  427. package/dist/vue3/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  428. package/dist/vue3/chunks/{modal-VgxXAQFP.js.map → modal-8X6poIZW.js.map} +1 -1
  429. package/dist/vue3/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  430. package/dist/{vue2/chunks/modal-XOr4kiNZ.js.map → vue3/chunks/modal-OaWxzqNt.js.map} +1 -1
  431. package/dist/vue3/chunks/{notice_action-WTucGhvr.js → notice_action-3ed0uIMN.js} +40 -61
  432. package/dist/vue3/chunks/{notice_action-p-ePanW_.js.map → notice_action-3ed0uIMN.js.map} +1 -1
  433. package/dist/vue3/chunks/{notice_action-p-ePanW_.js → notice_action-e08Lw5W6.js} +40 -61
  434. package/dist/vue3/chunks/{notice_action-WTucGhvr.js.map → notice_action-e08Lw5W6.js.map} +1 -1
  435. package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  436. package/dist/vue3/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  437. package/dist/vue3/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  438. package/dist/{vue2/chunks/popover_constants-XnGWXaxX.js.map → vue3/chunks/popover_constants-6YkPPbnk.js.map} +1 -1
  439. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  440. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  441. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js → sr_only_close_button-Ji3Zlts6.js} +4 -4
  442. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js.map → sr_only_close_button-Ji3Zlts6.js.map} +1 -1
  443. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js → sr_only_close_button-gKr0Vlbz.js} +4 -4
  444. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js.map → sr_only_close_button-gKr0Vlbz.js.map} +1 -1
  445. package/dist/vue3/chunks/stack_constants-HraCekPm.js.map +1 -1
  446. package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  447. package/dist/vue3/chunks/{tab-qc3f42Yp.js → tab-X7IvNGTl.js} +46 -49
  448. package/dist/vue3/chunks/{tab-qc3f42Yp.js.map → tab-X7IvNGTl.js.map} +1 -1
  449. package/dist/vue3/chunks/{tab-RTDgnD9-.js → tab-aD6t0MNo.js} +46 -49
  450. package/dist/vue3/chunks/{tab-RTDgnD9-.js.map → tab-aD6t0MNo.js.map} +1 -1
  451. package/dist/vue3/common/constants.cjs.map +1 -1
  452. package/dist/vue3/common/constants.js.map +1 -1
  453. package/dist/vue3/common/dates.cjs +3 -1
  454. package/dist/vue3/common/dates.cjs.map +1 -1
  455. package/dist/vue3/common/dates.js +3 -1
  456. package/dist/vue3/common/dates.js.map +1 -1
  457. package/dist/vue3/common/emoji.cjs +1 -1
  458. package/dist/vue3/common/emoji.js +1 -1
  459. package/dist/vue3/common/mixins.cjs +3 -3
  460. package/dist/vue3/common/mixins.js +3 -3
  461. package/dist/vue3/common/utils.cjs +11 -45
  462. package/dist/vue3/common/utils.cjs.map +1 -1
  463. package/dist/vue3/common/utils.js +11 -45
  464. package/dist/vue3/common/utils.js.map +1 -1
  465. package/dist/vue3/common/validators.cjs.map +1 -1
  466. package/dist/vue3/common/validators.js.map +1 -1
  467. package/dist/vue3/component-documentation.json +1 -1
  468. package/dist/vue3/dialtone-vue.cjs +12 -12
  469. package/dist/vue3/dialtone-vue.js +12 -12
  470. package/dist/vue3/lib/attachment-carousel.cjs +87 -108
  471. package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
  472. package/dist/vue3/lib/attachment-carousel.js +87 -108
  473. package/dist/vue3/lib/attachment-carousel.js.map +1 -1
  474. package/dist/vue3/lib/avatar.cjs +56 -88
  475. package/dist/vue3/lib/avatar.cjs.map +1 -1
  476. package/dist/vue3/lib/avatar.js +56 -88
  477. package/dist/vue3/lib/avatar.js.map +1 -1
  478. package/dist/vue3/lib/badge.cjs +15 -31
  479. package/dist/vue3/lib/badge.cjs.map +1 -1
  480. package/dist/vue3/lib/badge.js +15 -31
  481. package/dist/vue3/lib/badge.js.map +1 -1
  482. package/dist/vue3/lib/banner.cjs +38 -56
  483. package/dist/vue3/lib/banner.cjs.map +1 -1
  484. package/dist/vue3/lib/banner.js +38 -56
  485. package/dist/vue3/lib/banner.js.map +1 -1
  486. package/dist/vue3/lib/breadcrumbs.cjs +25 -36
  487. package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
  488. package/dist/vue3/lib/breadcrumbs.js +25 -36
  489. package/dist/vue3/lib/breadcrumbs.js.map +1 -1
  490. package/dist/vue3/lib/button-group.cjs +2 -7
  491. package/dist/vue3/lib/button-group.cjs.map +1 -1
  492. package/dist/vue3/lib/button-group.js +2 -7
  493. package/dist/vue3/lib/button-group.js.map +1 -1
  494. package/dist/vue3/lib/button.cjs +44 -69
  495. package/dist/vue3/lib/button.cjs.map +1 -1
  496. package/dist/vue3/lib/button.js +44 -69
  497. package/dist/vue3/lib/button.js.map +1 -1
  498. package/dist/vue3/lib/callbar-button-with-popover.cjs +68 -81
  499. package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
  500. package/dist/vue3/lib/callbar-button-with-popover.js +68 -81
  501. package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
  502. package/dist/vue3/lib/callbar-button.cjs +32 -45
  503. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  504. package/dist/vue3/lib/callbar-button.js +32 -45
  505. package/dist/vue3/lib/callbar-button.js.map +1 -1
  506. package/dist/vue3/lib/callbox.cjs +38 -57
  507. package/dist/vue3/lib/callbox.cjs.map +1 -1
  508. package/dist/vue3/lib/callbox.js +38 -57
  509. package/dist/vue3/lib/callbox.js.map +1 -1
  510. package/dist/vue3/lib/card.cjs +13 -33
  511. package/dist/vue3/lib/card.cjs.map +1 -1
  512. package/dist/vue3/lib/card.js +13 -33
  513. package/dist/vue3/lib/card.js.map +1 -1
  514. package/dist/vue3/lib/checkbox-group.cjs +2 -5
  515. package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
  516. package/dist/vue3/lib/checkbox-group.js +2 -5
  517. package/dist/vue3/lib/checkbox-group.js.map +1 -1
  518. package/dist/vue3/lib/checkbox.cjs +41 -45
  519. package/dist/vue3/lib/checkbox.cjs.map +1 -1
  520. package/dist/vue3/lib/checkbox.js +41 -45
  521. package/dist/vue3/lib/checkbox.js.map +1 -1
  522. package/dist/vue3/lib/chip.cjs +38 -53
  523. package/dist/vue3/lib/chip.cjs.map +1 -1
  524. package/dist/vue3/lib/chip.js +38 -53
  525. package/dist/vue3/lib/chip.js.map +1 -1
  526. package/dist/vue3/lib/codeblock.cjs +4 -6
  527. package/dist/vue3/lib/codeblock.cjs.map +1 -1
  528. package/dist/vue3/lib/codeblock.js +4 -6
  529. package/dist/vue3/lib/codeblock.js.map +1 -1
  530. package/dist/vue3/lib/collapsible.cjs +62 -76
  531. package/dist/vue3/lib/collapsible.cjs.map +1 -1
  532. package/dist/vue3/lib/collapsible.js +62 -76
  533. package/dist/vue3/lib/collapsible.js.map +1 -1
  534. package/dist/vue3/lib/combobox-multi-select.cjs +75 -88
  535. package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
  536. package/dist/vue3/lib/combobox-multi-select.js +75 -88
  537. package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
  538. package/dist/vue3/lib/combobox-with-popover.cjs +77 -85
  539. package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
  540. package/dist/vue3/lib/combobox-with-popover.js +77 -85
  541. package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
  542. package/dist/vue3/lib/combobox.cjs +3 -3
  543. package/dist/vue3/lib/combobox.js +3 -3
  544. package/dist/vue3/lib/contact-centers-row.cjs +65 -89
  545. package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
  546. package/dist/vue3/lib/contact-centers-row.js +65 -89
  547. package/dist/vue3/lib/contact-centers-row.js.map +1 -1
  548. package/dist/vue3/lib/contact-info.cjs +58 -73
  549. package/dist/vue3/lib/contact-info.cjs.map +1 -1
  550. package/dist/vue3/lib/contact-info.js +58 -73
  551. package/dist/vue3/lib/contact-info.js.map +1 -1
  552. package/dist/vue3/lib/contact-row.cjs +37 -47
  553. package/dist/vue3/lib/contact-row.cjs.map +1 -1
  554. package/dist/vue3/lib/contact-row.js +37 -47
  555. package/dist/vue3/lib/contact-row.js.map +1 -1
  556. package/dist/vue3/lib/datepicker.cjs +267 -263
  557. package/dist/vue3/lib/datepicker.cjs.map +1 -1
  558. package/dist/vue3/lib/datepicker.js +267 -263
  559. package/dist/vue3/lib/datepicker.js.map +1 -1
  560. package/dist/vue3/lib/description-list.cjs +9 -14
  561. package/dist/vue3/lib/description-list.cjs.map +1 -1
  562. package/dist/vue3/lib/description-list.js +9 -14
  563. package/dist/vue3/lib/description-list.js.map +1 -1
  564. package/dist/vue3/lib/dropdown.cjs +6 -6
  565. package/dist/vue3/lib/dropdown.cjs.map +1 -1
  566. package/dist/vue3/lib/dropdown.js +6 -6
  567. package/dist/vue3/lib/dropdown.js.map +1 -1
  568. package/dist/vue3/lib/editor.cjs +312 -249
  569. package/dist/vue3/lib/editor.cjs.map +1 -1
  570. package/dist/vue3/lib/editor.js +312 -249
  571. package/dist/vue3/lib/editor.js.map +1 -1
  572. package/dist/vue3/lib/emoji-picker.cjs +387 -419
  573. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  574. package/dist/vue3/lib/emoji-picker.js +387 -419
  575. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  576. package/dist/vue3/lib/emoji-row.cjs +59 -69
  577. package/dist/vue3/lib/emoji-row.cjs.map +1 -1
  578. package/dist/vue3/lib/emoji-row.js +59 -69
  579. package/dist/vue3/lib/emoji-row.js.map +1 -1
  580. package/dist/vue3/lib/emoji-text-wrapper.cjs +13 -12
  581. package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
  582. package/dist/vue3/lib/emoji-text-wrapper.js +13 -12
  583. package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
  584. package/dist/vue3/lib/emoji.cjs +19 -23
  585. package/dist/vue3/lib/emoji.cjs.map +1 -1
  586. package/dist/vue3/lib/emoji.js +19 -23
  587. package/dist/vue3/lib/emoji.js.map +1 -1
  588. package/dist/vue3/lib/empty-state.cjs +20 -30
  589. package/dist/vue3/lib/empty-state.cjs.map +1 -1
  590. package/dist/vue3/lib/empty-state.js +20 -30
  591. package/dist/vue3/lib/empty-state.js.map +1 -1
  592. package/dist/vue3/lib/feed-item-row.cjs +43 -74
  593. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  594. package/dist/vue3/lib/feed-item-row.js +43 -74
  595. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  596. package/dist/vue3/lib/feed-pill.cjs +45 -55
  597. package/dist/vue3/lib/feed-pill.cjs.map +1 -1
  598. package/dist/vue3/lib/feed-pill.js +45 -55
  599. package/dist/vue3/lib/feed-pill.js.map +1 -1
  600. package/dist/vue3/lib/general-row.cjs +115 -165
  601. package/dist/vue3/lib/general-row.cjs.map +1 -1
  602. package/dist/vue3/lib/general-row.js +115 -165
  603. package/dist/vue3/lib/general-row.js.map +1 -1
  604. package/dist/vue3/lib/group-row.cjs +7 -9
  605. package/dist/vue3/lib/group-row.cjs.map +1 -1
  606. package/dist/vue3/lib/group-row.js +7 -9
  607. package/dist/vue3/lib/group-row.js.map +1 -1
  608. package/dist/vue3/lib/grouped-chip.cjs +27 -48
  609. package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
  610. package/dist/vue3/lib/grouped-chip.js +27 -48
  611. package/dist/vue3/lib/grouped-chip.js.map +1 -1
  612. package/dist/vue3/lib/hovercard.cjs +25 -33
  613. package/dist/vue3/lib/hovercard.cjs.map +1 -1
  614. package/dist/vue3/lib/hovercard.js +25 -33
  615. package/dist/vue3/lib/hovercard.js.map +1 -1
  616. package/dist/vue3/lib/icon.cjs +1 -1
  617. package/dist/vue3/lib/icon.cjs.map +1 -1
  618. package/dist/vue3/lib/icon.js +1 -1
  619. package/dist/vue3/lib/icon.js.map +1 -1
  620. package/dist/vue3/lib/illustration.cjs +2 -1
  621. package/dist/vue3/lib/illustration.cjs.map +1 -1
  622. package/dist/vue3/lib/illustration.js +2 -1
  623. package/dist/vue3/lib/illustration.js.map +1 -1
  624. package/dist/vue3/lib/image-viewer.cjs +62 -66
  625. package/dist/vue3/lib/image-viewer.cjs.map +1 -1
  626. package/dist/vue3/lib/image-viewer.js +62 -66
  627. package/dist/vue3/lib/image-viewer.js.map +1 -1
  628. package/dist/vue3/lib/input-group.cjs +15 -19
  629. package/dist/vue3/lib/input-group.cjs.map +1 -1
  630. package/dist/vue3/lib/input-group.js +15 -19
  631. package/dist/vue3/lib/input-group.js.map +1 -1
  632. package/dist/vue3/lib/input.cjs +76 -104
  633. package/dist/vue3/lib/input.cjs.map +1 -1
  634. package/dist/vue3/lib/input.js +76 -104
  635. package/dist/vue3/lib/input.js.map +1 -1
  636. package/dist/vue3/lib/item-layout.cjs +10 -27
  637. package/dist/vue3/lib/item-layout.cjs.map +1 -1
  638. package/dist/vue3/lib/item-layout.js +10 -27
  639. package/dist/vue3/lib/item-layout.js.map +1 -1
  640. package/dist/vue3/lib/ivr-node.cjs +80 -89
  641. package/dist/vue3/lib/ivr-node.cjs.map +1 -1
  642. package/dist/vue3/lib/ivr-node.js +80 -89
  643. package/dist/vue3/lib/ivr-node.js.map +1 -1
  644. package/dist/vue3/lib/keyboard-shortcut.cjs +26 -31
  645. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  646. package/dist/vue3/lib/keyboard-shortcut.js +26 -31
  647. package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
  648. package/dist/vue3/lib/lazy-show.cjs +6 -8
  649. package/dist/vue3/lib/lazy-show.cjs.map +1 -1
  650. package/dist/vue3/lib/lazy-show.js +6 -8
  651. package/dist/vue3/lib/lazy-show.js.map +1 -1
  652. package/dist/vue3/lib/link.cjs +2 -7
  653. package/dist/vue3/lib/link.cjs.map +1 -1
  654. package/dist/vue3/lib/link.js +2 -7
  655. package/dist/vue3/lib/link.js.map +1 -1
  656. package/dist/vue3/lib/list-item-group.cjs +7 -14
  657. package/dist/vue3/lib/list-item-group.cjs.map +1 -1
  658. package/dist/vue3/lib/list-item-group.js +7 -14
  659. package/dist/vue3/lib/list-item-group.js.map +1 -1
  660. package/dist/vue3/lib/list-item.cjs +24 -25
  661. package/dist/vue3/lib/list-item.cjs.map +1 -1
  662. package/dist/vue3/lib/list-item.js +24 -25
  663. package/dist/vue3/lib/list-item.js.map +1 -1
  664. package/dist/vue3/lib/message-input.cjs +227 -264
  665. package/dist/vue3/lib/message-input.cjs.map +1 -1
  666. package/dist/vue3/lib/message-input.js +227 -264
  667. package/dist/vue3/lib/message-input.js.map +1 -1
  668. package/dist/vue3/lib/modal.cjs +59 -99
  669. package/dist/vue3/lib/modal.cjs.map +1 -1
  670. package/dist/vue3/lib/modal.js +59 -99
  671. package/dist/vue3/lib/modal.js.map +1 -1
  672. package/dist/vue3/lib/notice.cjs +33 -46
  673. package/dist/vue3/lib/notice.cjs.map +1 -1
  674. package/dist/vue3/lib/notice.js +33 -46
  675. package/dist/vue3/lib/notice.js.map +1 -1
  676. package/dist/vue3/lib/pagination.cjs +49 -61
  677. package/dist/vue3/lib/pagination.cjs.map +1 -1
  678. package/dist/vue3/lib/pagination.js +49 -61
  679. package/dist/vue3/lib/pagination.js.map +1 -1
  680. package/dist/vue3/lib/popover.cjs +133 -156
  681. package/dist/vue3/lib/popover.cjs.map +1 -1
  682. package/dist/vue3/lib/popover.js +134 -157
  683. package/dist/vue3/lib/popover.js.map +1 -1
  684. package/dist/vue3/lib/presence.cjs +9 -17
  685. package/dist/vue3/lib/presence.cjs.map +1 -1
  686. package/dist/vue3/lib/presence.js +9 -17
  687. package/dist/vue3/lib/presence.js.map +1 -1
  688. package/dist/vue3/lib/radio-group.cjs +1 -1
  689. package/dist/vue3/lib/radio-group.cjs.map +1 -1
  690. package/dist/vue3/lib/radio-group.js +1 -1
  691. package/dist/vue3/lib/radio-group.js.map +1 -1
  692. package/dist/vue3/lib/radio.cjs +34 -41
  693. package/dist/vue3/lib/radio.cjs.map +1 -1
  694. package/dist/vue3/lib/radio.js +34 -41
  695. package/dist/vue3/lib/radio.js.map +1 -1
  696. package/dist/vue3/lib/rich-text-editor.cjs +292 -288
  697. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  698. package/dist/vue3/lib/rich-text-editor.js +292 -288
  699. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  700. package/dist/vue3/lib/root-layout.cjs +24 -39
  701. package/dist/vue3/lib/root-layout.cjs.map +1 -1
  702. package/dist/vue3/lib/root-layout.js +24 -39
  703. package/dist/vue3/lib/root-layout.js.map +1 -1
  704. package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -1
  705. package/dist/vue3/lib/scrollbar-directive.js.map +1 -1
  706. package/dist/vue3/lib/scroller.cjs +100 -83
  707. package/dist/vue3/lib/scroller.cjs.map +1 -1
  708. package/dist/vue3/lib/scroller.js +100 -83
  709. package/dist/vue3/lib/scroller.js.map +1 -1
  710. package/dist/vue3/lib/select-menu.cjs +40 -67
  711. package/dist/vue3/lib/select-menu.cjs.map +1 -1
  712. package/dist/vue3/lib/select-menu.js +40 -67
  713. package/dist/vue3/lib/select-menu.js.map +1 -1
  714. package/dist/vue3/lib/settings-menu-button.cjs +10 -16
  715. package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
  716. package/dist/vue3/lib/settings-menu-button.js +10 -16
  717. package/dist/vue3/lib/settings-menu-button.js.map +1 -1
  718. package/dist/vue3/lib/skeleton.cjs +74 -93
  719. package/dist/vue3/lib/skeleton.cjs.map +1 -1
  720. package/dist/vue3/lib/skeleton.js +74 -93
  721. package/dist/vue3/lib/skeleton.js.map +1 -1
  722. package/dist/vue3/lib/split-button.cjs +68 -74
  723. package/dist/vue3/lib/split-button.cjs.map +1 -1
  724. package/dist/vue3/lib/split-button.js +68 -74
  725. package/dist/vue3/lib/split-button.js.map +1 -1
  726. package/dist/vue3/lib/stack.cjs +18 -26
  727. package/dist/vue3/lib/stack.cjs.map +1 -1
  728. package/dist/vue3/lib/stack.js +18 -26
  729. package/dist/vue3/lib/stack.js.map +1 -1
  730. package/dist/vue3/lib/tabs.cjs +3 -7
  731. package/dist/vue3/lib/tabs.cjs.map +1 -1
  732. package/dist/vue3/lib/tabs.js +3 -7
  733. package/dist/vue3/lib/tabs.js.map +1 -1
  734. package/dist/vue3/lib/time-pill.cjs.map +1 -1
  735. package/dist/vue3/lib/time-pill.js.map +1 -1
  736. package/dist/vue3/lib/toast.cjs +35 -51
  737. package/dist/vue3/lib/toast.cjs.map +1 -1
  738. package/dist/vue3/lib/toast.js +35 -51
  739. package/dist/vue3/lib/toast.js.map +1 -1
  740. package/dist/vue3/lib/toggle.cjs +24 -34
  741. package/dist/vue3/lib/toggle.cjs.map +1 -1
  742. package/dist/vue3/lib/toggle.js +24 -34
  743. package/dist/vue3/lib/toggle.js.map +1 -1
  744. package/dist/vue3/lib/tooltip-directive.cjs +26 -19
  745. package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
  746. package/dist/vue3/lib/tooltip-directive.js +26 -19
  747. package/dist/vue3/lib/tooltip-directive.js.map +1 -1
  748. package/dist/vue3/lib/tooltip.cjs +21 -32
  749. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  750. package/dist/vue3/lib/tooltip.js +22 -33
  751. package/dist/vue3/lib/tooltip.js.map +1 -1
  752. package/dist/vue3/lib/top-banner-info.cjs +8 -23
  753. package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
  754. package/dist/vue3/lib/top-banner-info.js +8 -23
  755. package/dist/vue3/lib/top-banner-info.js.map +1 -1
  756. package/dist/vue3/lib/unread-pill.cjs +8 -11
  757. package/dist/vue3/lib/unread-pill.cjs.map +1 -1
  758. package/dist/vue3/lib/unread-pill.js +8 -11
  759. package/dist/vue3/lib/unread-pill.js.map +1 -1
  760. package/dist/vue3/lib/validation-messages.cjs +14 -17
  761. package/dist/vue3/lib/validation-messages.cjs.map +1 -1
  762. package/dist/vue3/lib/validation-messages.js +14 -17
  763. package/dist/vue3/lib/validation-messages.js.map +1 -1
  764. package/dist/vue3/types/components/button/button.vue.d.ts +1 -1
  765. package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
  766. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
  767. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  768. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -2
  769. package/dist/vue3/types/components/icon/icon_constants.d.ts +1 -1
  770. package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
  771. package/dist/vue3/types/components/illustration/illustration_constants.d.ts +1 -1
  772. package/dist/vue3/types/components/illustration/illustration_constants.d.ts.map +1 -1
  773. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  774. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  775. package/dist/vue3/types/components/input/input.vue.d.ts +1 -1
  776. package/dist/vue3/types/components/modal/modal.vue.d.ts +1 -1
  777. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
  778. package/dist/vue3/types/components/radio/radio.vue.d.ts +1 -1
  779. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  780. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  781. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  782. package/dist/vue3/types/components/tabs/tab.vue.d.ts +1 -1
  783. package/dist/vue3/types/components/toast/toast.vue.d.ts +2 -2
  784. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +1 -1
  785. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  786. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  787. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  788. package/package.json +3 -3
  789. package/dist/vue2/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  790. package/dist/vue2/chunks/icon_constants-QYpmdE0R.js.map +0 -1
  791. package/dist/vue3/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  792. package/dist/vue3/chunks/icon_constants-QYpmdE0R.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.cjs","sources":["../../components/datepicker/datepicker_constants.js","../../components/datepicker/utils.js","../../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","../../components/datepicker/formatUtils.js"],"sourcesContent":["/**\n * Week start day\n * 0 - Sunday\n * 1 - Monday\n */\nexport const WEEK_START = 0;\n\nexport const MONTH_FORMAT = 'MMMM';\n\nexport const INTL_MONTH_FORMAT = 'long';\n","import {\n startOfWeek, addDays, getMonth, isEqual,\n addMonths, startOfMonth, getDay, getDate,\n subMonths, endOfMonth,\n} from 'date-fns';\nimport { WEEK_START } from '@/components/datepicker/datepicker_constants.js';\n\nconst _parsedGetDate = (value) => (value ? new Date(value) : new Date());\n\n/**\n * Get 7 days from the provided start date, month is used to check\n * whether the date is from the specified month or in the offset\n */\nconst getWeekDays = (startDay, month, selectedDay) => {\n const startDate = _parsedGetDate(JSON.parse(JSON.stringify(startDay)));\n const dates = [];\n for (let i = 0; i < 7; i++) {\n const next = addDays(startDate, i);\n const isNext = getMonth(next) !== month;\n dates.push({\n text: next.getDate(),\n value: next,\n currentMonth: !isNext,\n isFirstDayOfMonth: next.getDate() === 1 && !isNext,\n // will be selected if the date is the same as the selected day and is from the current month\n selected: selectedDay ? (next.getDate() === selectedDay && !isNext) : false,\n });\n }\n return dates;\n};\n\nconst isDateEqual = (date, dateToCompare) => {\n if (!date || !dateToCompare) {\n return false;\n }\n return isEqual(date, dateToCompare);\n};\n\n/**\n * Get days for the calendar to be displayed in a table grouped by weeks\n */\nexport const getCalendarDays = (month, year, selectedDay) => {\n const weeks = [];\n const firstDate = _parsedGetDate(new Date(year, month));\n const lastDate = _parsedGetDate(new Date(year, month + 1, 0));\n\n const weekStartsOn = WEEK_START;\n\n const firstDateInCalendar = startOfWeek(firstDate, { weekStartsOn });\n\n const addDaysToWeek = (date) => {\n const days = getWeekDays(date, month, selectedDay);\n\n weeks.push({ days });\n\n if (\n !weeks[weeks.length - 1].days.some((day) =>\n isDateEqual(day.value, lastDate),\n )\n ) {\n const nextDate = addDays(date, 7);\n addDaysToWeek(nextDate);\n }\n };\n\n addDaysToWeek(firstDateInCalendar);\n\n return weeks;\n};\n\n/**\n * Generate week day names based on locale and in order specified in week start\n */\nexport const getWeekDayNames = (locale, weekStart) => {\n // Get list in order from sun ... sat\n const days = [1, 2, 3, 4, 5, 6, 7].map((day) => {\n return new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' })\n .format(new Date(`2017-01-0${day}T00:00:00+00:00`))\n .slice(0, 2);\n });\n\n // Get days that are in order before specified week start\n const beforeWeekStart = days.slice(0, weekStart);\n // Get days that are in order after specified week start\n const afterWeekStart = days.slice(weekStart + 1, days.length);\n\n // return them in correct order\n return [days[weekStart]].concat(...afterWeekStart).concat(...beforeWeekStart);\n};\n\nexport const formatMonth = (month, monthFormat, locale) => {\n return new Intl.DateTimeFormat(locale, { month: monthFormat }).format(new Date(2000, month, 1));\n};\n\nexport const calculateNextFocusDate = (currentDate) => {\n const date = new Date(currentDate);\n const currentWeekday = getDay(date);\n const nextMonthDate = addMonths(date, 1);\n const nextMonthStart = startOfMonth(nextMonthDate);\n const nextMonthStartWeekday = getDay(nextMonthStart);\n\n const dayDifference = (currentWeekday - nextMonthStartWeekday + 7) % 7;\n\n // Add the difference in days to the first day of the next month\n const focusDate = addDays(nextMonthStart, dayDifference);\n\n // Returns only the day of the month\n return getDate(focusDate);\n};\n\nexport const calculatePrevFocusDate = (currentDate) => {\n const date = new Date(currentDate);\n const currentWeekday = getDay(date);\n\n // Move to the last day of the previous month\n const lastDayOfPrevMonth = endOfMonth(subMonths(date, 1));\n let focusDate = lastDayOfPrevMonth;\n\n // Adjust to the same weekday in the last week of the previous month\n while (getDay(focusDate) !== currentWeekday) {\n focusDate = addDays(focusDate, -1);\n }\n\n // Returns only the day of the month\n return getDate(focusDate);\n};\n","import { computed, ref, watch } from 'vue';\nimport { addMonths, getDate, getMonth, getYear, set, subMonths } from 'date-fns';\nimport { formatMonth, getCalendarDays } from '@/components/datepicker/utils.js';\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\n const calendarDays = computed(() => {\n return getCalendarDays(selectMonth.value, selectYear.value, highlightedDay.value);\n });\n\n const formattedMonth = computed(() => {\n return (month, format, locale) => formatMonth(month, format, locale);\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 function setDayRef (el) {\n if (!focusRefs.value.includes(el)) {\n focusRefs.value.push(el);\n }\n }\n\n function focusMonthYearPicker () {\n 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 focusRefs.value[focusPicker.value].$el.focus();\n } else {\n focusPicker.value--;\n 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 focusRefs.value[focusPicker.value].$el.focus();\n } else {\n focusPicker.value++;\n 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 // 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 selectYear.value = selectYear.value + value;\n }\n\n function goToNextMonth () {\n changeMonth(1);\n }\n\n function goToPrevMonth () {\n changeMonth(-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 };\n}\n","<template>\n <dt-stack\n direction=\"row\"\n class=\"d-datepicker__month-year\"\n gap=\"300\"\n >\n <dt-stack\n as=\"nav\"\n direction=\"row\"\n gap=\"200\"\n class=\"d-datepicker__nav\"\n >\n <dt-tooltip\n :message=\"prevYearLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-start', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"prevYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"`${changeToLabel} ${prevYearLabel} ${selectYear - 1}`\"\n @click=\"changeYear(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevrons-left\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :message=\"prevMonthLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-end', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"prevMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"\n `${changeToLabel} ${prevMonthLabel} ${formattedMonth(selectMonth - 1, INTL_MONTH_FORMAT, locale)}`\n \"\n @click=\"changeMonth(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"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, INTL_MONTH_FORMAT, locale) }}\n\n {{ selectYear }}\n </div>\n <dt-stack\n as=\"nav\"\n direction=\"row\"\n gap=\"200\"\n class=\"d-datepicker__nav\"\n >\n <dt-tooltip\n :message=\"nextMonthLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-start', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"nextMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"\n `${changeToLabel} ${nextMonthLabel} ${formattedMonth(selectMonth + 1, INTL_MONTH_FORMAT, locale)}`\n \"\n @click=\"changeMonth(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevron-right\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :message=\"nextYearLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-end', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"nextYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"`${changeToLabel} ${nextYearLabel} ${selectYear + 1}`\"\n @click=\"changeYear(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"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 { DtIcon } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { INTL_MONTH_FORMAT } from '../datepicker_constants';\nimport { onMounted } from 'vue';\nimport { useMonthYearPicker } from '@/components/datepicker/composables/useMonthYearPicker.js';\n\nconst props = defineProps({\n locale: {\n type: String,\n required: true,\n },\n\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n changeToLabel: {\n type: String,\n required: true,\n },\n\n selectedDate: {\n type: Date,\n required: true,\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 {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\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 } from '@/components/datepicker/utils.js';\nimport { MONTH_FORMAT, WEEK_START } from '@/components/datepicker/datepicker_constants.js';\nimport { format, getYear } from 'date-fns';\n\nexport function useCalendar (props, emits) {\n const selectedDay = ref(null);\n const focusDay = ref(0);\n const daysRef = ref([]);\n\n const weekDays = computed(() => {\n return getWeekDayNames(props.locale, WEEK_START);\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 `${props.selectDayLabel} ${day.text} ${format(day.value, MONTH_FORMAT)} ${getYear(day.value)}`;\n }\n\n function setDayRef (el, day) {\n if (!daysRef.value.some(day => day.el === el) && day.currentMonth) {\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 daysRef.value[focusDay.value].el.$el.focus();\n } catch (error) {\n const prevFocusDate = calculatePrevFocusDate(daysRef.value[focusDay.value + 7].day.value);\n emits('go-to-prev-month');\n\n nextTick(() => {\n 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 daysRef.value[focusDay.value].el.$el.focus();\n } catch (error) {\n const nextFocusDate = calculateNextFocusDate(daysRef.value[focusDay.value - 7].day.value);\n emits('go-to-next-month');\n\n nextTick(() => {\n 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 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 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 daysRef.value[focusDay.value].el.$el.focus();\n });\n }\n\n function focusLastDay () {\n nextTick(() => {\n focusDay.value = daysRef.value.length - 1;\n daysRef.value[focusDay.value].el.$el.focus();\n });\n }\n\n function selectDay (day) {\n if (!day.currentMonth) { 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","<!-- eslint-disable vue/multi-word-component-names -->\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.currentMonth\"\n :class=\"{\n 'd-datepicker__day--disabled': !day.currentMonth,\n 'd-datepicker__day--selected': selectedDay\n ? ((day.text === selectedDay) && day.currentMonth)\n : day.selected,\n }\"\n type=\"button\"\n :aria-selected=\"!!selectedDay ? ((day.text === selectedDay) && day.currentMonth) : 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 '@/components/datepicker/composables/useCalendar.js';\nimport { DtButton } from '@/components/button';\n\nconst props = defineProps({\n calendarDays: {\n type: Array,\n required: true,\n },\n\n locale: {\n type: String,\n required: true,\n },\n\n selectDayLabel: {\n type: String,\n required: true,\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 :locale=\"locale\"\n :prev-month-label=\"prevMonthLabel\"\n :next-month-label=\"nextMonthLabel\"\n :prev-year-label=\"prevYearLabel\"\n :next-year-label=\"nextYearLabel\"\n :change-to-label=\"changeToLabel\"\n :selected-date=\"selectedDate\"\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 :locale=\"locale\"\n :calendar-days=\"calendarDays\"\n :select-day-label=\"selectDayLabel\"\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';\n\nimport { ref } from 'vue';\n\ndefineProps({\n /**\n * Label for the previous month button\n *\n * @type {String}\n * @example 'Previous month'\n */\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next month button\n *\n * @type {String}\n * @example 'Next month'\n */\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the previous year button\n *\n * @type {String}\n * @example 'Previous year'\n */\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next year button\n *\n * @type {String}\n * @example 'Next year'\n */\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the select day button\n *\n * @type {String}\n * @example 'Select day'\n */\n selectDayLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the change to button\n *\n * @type {String}\n * @example 'Change to'\n */\n changeToLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Locale for the calendar\n *\n * @type {String}\n */\n locale: {\n type: String,\n default: 'en-US',\n },\n\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\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</script>\n","export function formatLong (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }).format(date);\n}\n\nexport function formatMedium (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { year: 'numeric', month: 'long', day: 'numeric' }).format(date);\n}\n\nexport function formatShort (date, locale = 'default', showWeekday = true) {\n const options = showWeekday ? { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' } : { year: 'numeric', month: 'short', day: 'numeric' };\n return new Intl.DateTimeFormat(locale, options).format(date);\n}\n\nexport function formatNoYear (date, locale = 'default', abbreviated = false) {\n const monthFormat = abbreviated ? 'short' : 'long';\n return new Intl.DateTimeFormat(locale, { month: monthFormat, day: 'numeric' }).format(date);\n}\n\nexport function formatNumerical (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { year: '2-digit', month: '2-digit', day: '2-digit' }).format(date);\n}\n\nexport default {\n formatLong,\n formatMedium,\n formatShort,\n formatNoYear,\n formatNumerical,\n};\n"],"names":["addDays","getMonth","isEqual","startOfWeek","getDay","addMonths","startOfMonth","getDate","endOfMonth","subMonths","ref","getYear","computed","watch","set","onMounted","format","day","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.cjs","sources":["../../components/datepicker/datepicker_constants.js","../../components/datepicker/utils.js","../../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","../../components/datepicker/formatUtils.js"],"sourcesContent":["/**\n * Week start day\n * 0 - Sunday\n * 1 - Monday\n */\nexport const WEEK_START = 0;\n\nexport const MONTH_FORMAT = 'MMMM';\n\nexport const INTL_MONTH_FORMAT = 'long';\n","import {\n startOfWeek, addDays, getMonth, isEqual,\n addMonths, startOfMonth, getDay, getDate,\n subMonths, endOfMonth,\n} from 'date-fns';\nimport { WEEK_START } from '@/components/datepicker/datepicker_constants.js';\n\nconst _parsedGetDate = (value) => (value ? new Date(value) : new Date());\n\n/**\n * Get 7 days from the provided start date, month is used to check\n * whether the date is from the specified month or in the offset\n */\nconst getWeekDays = (startDay, month, selectedDay) => {\n const startDate = _parsedGetDate(JSON.parse(JSON.stringify(startDay)));\n const dates = [];\n for (let i = 0; i < 7; i++) {\n const next = addDays(startDate, i);\n const isNext = getMonth(next) !== month;\n dates.push({\n text: next.getDate(),\n value: next,\n currentMonth: !isNext,\n isFirstDayOfMonth: next.getDate() === 1 && !isNext,\n // will be selected if the date is the same as the selected day and is from the current month\n selected: selectedDay ? (next.getDate() === selectedDay && !isNext) : false,\n });\n }\n return dates;\n};\n\nconst isDateEqual = (date, dateToCompare) => {\n if (!date || !dateToCompare) {\n return false;\n }\n return isEqual(date, dateToCompare);\n};\n\n/**\n * Get days for the calendar to be displayed in a table grouped by weeks\n */\nexport const getCalendarDays = (month, year, selectedDay) => {\n const weeks = [];\n const firstDate = _parsedGetDate(new Date(year, month));\n const lastDate = _parsedGetDate(new Date(year, month + 1, 0));\n\n const weekStartsOn = WEEK_START;\n\n const firstDateInCalendar = startOfWeek(firstDate, { weekStartsOn });\n\n const addDaysToWeek = (date) => {\n const days = getWeekDays(date, month, selectedDay);\n\n weeks.push({ days });\n\n if (\n !weeks[weeks.length - 1].days.some((day) =>\n isDateEqual(day.value, lastDate),\n )\n ) {\n const nextDate = addDays(date, 7);\n addDaysToWeek(nextDate);\n }\n };\n\n addDaysToWeek(firstDateInCalendar);\n\n return weeks;\n};\n\n/**\n * Generate week day names based on locale and in order specified in week start\n */\nexport const getWeekDayNames = (locale, weekStart) => {\n // Get list in order from sun ... sat\n const days = [1, 2, 3, 4, 5, 6, 7].map((day) => {\n return new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' })\n .format(new Date(`2017-01-0${day}T00:00:00+00:00`))\n .slice(0, 2);\n });\n\n // Get days that are in order before specified week start\n const beforeWeekStart = days.slice(0, weekStart);\n // Get days that are in order after specified week start\n const afterWeekStart = days.slice(weekStart + 1, days.length);\n\n // return them in correct order\n return [days[weekStart]].concat(...afterWeekStart).concat(...beforeWeekStart);\n};\n\nexport const formatMonth = (month, monthFormat, locale) => {\n return new Intl.DateTimeFormat(locale, { month: monthFormat }).format(new Date(2000, month, 1));\n};\n\nexport const calculateNextFocusDate = (currentDate) => {\n const date = new Date(currentDate);\n const currentWeekday = getDay(date);\n const nextMonthDate = addMonths(date, 1);\n const nextMonthStart = startOfMonth(nextMonthDate);\n const nextMonthStartWeekday = getDay(nextMonthStart);\n\n const dayDifference = (currentWeekday - nextMonthStartWeekday + 7) % 7;\n\n // Add the difference in days to the first day of the next month\n const focusDate = addDays(nextMonthStart, dayDifference);\n\n // Returns only the day of the month\n return getDate(focusDate);\n};\n\nexport const calculatePrevFocusDate = (currentDate) => {\n const date = new Date(currentDate);\n const currentWeekday = getDay(date);\n\n // Move to the last day of the previous month\n const lastDayOfPrevMonth = endOfMonth(subMonths(date, 1));\n let focusDate = lastDayOfPrevMonth;\n\n // Adjust to the same weekday in the last week of the previous month\n while (getDay(focusDate) !== currentWeekday) {\n focusDate = addDays(focusDate, -1);\n }\n\n // Returns only the day of the month\n return getDate(focusDate);\n};\n","import { computed, ref, watch } from 'vue';\nimport { addMonths, getDate, getMonth, getYear, set, subMonths } from 'date-fns';\nimport { formatMonth, getCalendarDays } from '@/components/datepicker/utils.js';\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\n const calendarDays = computed(() => {\n return getCalendarDays(selectMonth.value, selectYear.value, highlightedDay.value);\n });\n\n const formattedMonth = computed(() => {\n return (month, format, locale) => formatMonth(month, format, locale);\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 function setDayRef (el) {\n if (!focusRefs.value.includes(el)) {\n focusRefs.value.push(el);\n }\n }\n\n function focusMonthYearPicker () {\n 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 focusRefs.value[focusPicker.value].$el.focus();\n } else {\n focusPicker.value--;\n 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 focusRefs.value[focusPicker.value].$el.focus();\n } else {\n focusPicker.value++;\n 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 // 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 selectYear.value = selectYear.value + value;\n }\n\n function goToNextMonth () {\n changeMonth(1);\n }\n\n function goToPrevMonth () {\n changeMonth(-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 };\n}\n","<template>\n <dt-stack\n direction=\"row\"\n class=\"d-datepicker__month-year\"\n gap=\"300\"\n >\n <dt-stack\n as=\"nav\"\n direction=\"row\"\n gap=\"200\"\n class=\"d-datepicker__nav\"\n >\n <dt-tooltip\n :message=\"prevYearLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-start', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"prevYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"`${changeToLabel} ${prevYearLabel} ${selectYear - 1}`\"\n @click=\"changeYear(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevrons-left\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :message=\"prevMonthLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-end', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"prevMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"\n `${changeToLabel} ${prevMonthLabel} ${formattedMonth(selectMonth - 1, INTL_MONTH_FORMAT, locale)}`\n \"\n @click=\"changeMonth(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"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, INTL_MONTH_FORMAT, locale) }}\n\n {{ selectYear }}\n </div>\n <dt-stack\n as=\"nav\"\n direction=\"row\"\n gap=\"200\"\n class=\"d-datepicker__nav\"\n >\n <dt-tooltip\n :message=\"nextMonthLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-start', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"nextMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"\n `${changeToLabel} ${nextMonthLabel} ${formattedMonth(selectMonth + 1, INTL_MONTH_FORMAT, locale)}`\n \"\n @click=\"changeMonth(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevron-right\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :message=\"nextYearLabel\"\n placement=\"top\"\n :fallback-placements=\"['top-end', 'auto']\"\n >\n <template #anchor>\n <dt-button\n id=\"nextYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"`${changeToLabel} ${nextYearLabel} ${selectYear + 1}`\"\n @click=\"changeYear(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"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 { DtIcon } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { INTL_MONTH_FORMAT } from '../datepicker_constants';\nimport { onMounted } from 'vue';\nimport { useMonthYearPicker } from '@/components/datepicker/composables/useMonthYearPicker.js';\n\nconst props = defineProps({\n locale: {\n type: String,\n required: true,\n },\n\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n changeToLabel: {\n type: String,\n required: true,\n },\n\n selectedDate: {\n type: Date,\n required: true,\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 {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\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 } from '@/components/datepicker/utils.js';\nimport { MONTH_FORMAT, WEEK_START } from '@/components/datepicker/datepicker_constants.js';\nimport { format, getYear } from 'date-fns';\n\nexport function useCalendar (props, emits) {\n const selectedDay = ref(null);\n const focusDay = ref(0);\n const daysRef = ref([]);\n\n const weekDays = computed(() => {\n return getWeekDayNames(props.locale, WEEK_START);\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 `${props.selectDayLabel} ${day.text} ${format(day.value, MONTH_FORMAT)} ${getYear(day.value)}`;\n }\n\n function setDayRef (el, day) {\n if (!daysRef.value.some(day => day.el === el) && day.currentMonth) {\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 daysRef.value[focusDay.value].el.$el.focus();\n } catch (error) {\n const prevFocusDate = calculatePrevFocusDate(daysRef.value[focusDay.value + 7].day.value);\n emits('go-to-prev-month');\n\n nextTick(() => {\n 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 daysRef.value[focusDay.value].el.$el.focus();\n } catch (error) {\n const nextFocusDate = calculateNextFocusDate(daysRef.value[focusDay.value - 7].day.value);\n emits('go-to-next-month');\n\n nextTick(() => {\n 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 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 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 daysRef.value[focusDay.value].el.$el.focus();\n });\n }\n\n function focusLastDay () {\n nextTick(() => {\n focusDay.value = daysRef.value.length - 1;\n daysRef.value[focusDay.value].el.$el.focus();\n });\n }\n\n function selectDay (day) {\n if (!day.currentMonth) { 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","<!-- eslint-disable vue/multi-word-component-names -->\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.currentMonth\"\n :class=\"{\n 'd-datepicker__day--disabled': !day.currentMonth,\n 'd-datepicker__day--selected': selectedDay\n ? ((day.text === selectedDay) && day.currentMonth)\n : day.selected,\n }\"\n type=\"button\"\n :aria-selected=\"!!selectedDay ? ((day.text === selectedDay) && day.currentMonth) : 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 '@/components/datepicker/composables/useCalendar.js';\nimport { DtButton } from '@/components/button';\n\nconst props = defineProps({\n calendarDays: {\n type: Array,\n required: true,\n },\n\n locale: {\n type: String,\n required: true,\n },\n\n selectDayLabel: {\n type: String,\n required: true,\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 :locale=\"locale\"\n :prev-month-label=\"prevMonthLabel\"\n :next-month-label=\"nextMonthLabel\"\n :prev-year-label=\"prevYearLabel\"\n :next-year-label=\"nextYearLabel\"\n :change-to-label=\"changeToLabel\"\n :selected-date=\"selectedDate\"\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 :locale=\"locale\"\n :calendar-days=\"calendarDays\"\n :select-day-label=\"selectDayLabel\"\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';\n\nimport { ref } from 'vue';\n\ndefineProps({\n /**\n * Label for the previous month button\n *\n * @type {String}\n * @example 'Previous month'\n */\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next month button\n *\n * @type {String}\n * @example 'Next month'\n */\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the previous year button\n *\n * @type {String}\n * @example 'Previous year'\n */\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next year button\n *\n * @type {String}\n * @example 'Next year'\n */\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the select day button\n *\n * @type {String}\n * @example 'Select day'\n */\n selectDayLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the change to button\n *\n * @type {String}\n * @example 'Change to'\n */\n changeToLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Locale for the calendar\n *\n * @type {String}\n */\n locale: {\n type: String,\n default: 'en-US',\n },\n\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\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</script>\n","export function formatLong (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }).format(date);\n}\n\nexport function formatMedium (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { year: 'numeric', month: 'long', day: 'numeric' }).format(date);\n}\n\nexport function formatShort (date, locale = 'default', showWeekday = true) {\n const options = showWeekday ? { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' } : { year: 'numeric', month: 'short', day: 'numeric' };\n return new Intl.DateTimeFormat(locale, options).format(date);\n}\n\nexport function formatNoYear (date, locale = 'default', abbreviated = false) {\n const monthFormat = abbreviated ? 'short' : 'long';\n return new Intl.DateTimeFormat(locale, { month: monthFormat, day: 'numeric' }).format(date);\n}\n\nexport function formatNumerical (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { year: '2-digit', month: '2-digit', day: '2-digit' }).format(date);\n}\n\nexport default {\n formatLong,\n formatMedium,\n formatShort,\n formatNoYear,\n formatNumerical,\n};\n"],"names":["WEEK_START","MONTH_FORMAT","INTL_MONTH_FORMAT","_parsedGetDate","value","Date","getWeekDays","startDay","month","selectedDay","startDate","JSON","parse","stringify","dates","i","next","addDays","isNext","getMonth","push","text","getDate","currentMonth","isFirstDayOfMonth","selected","isDateEqual","date","dateToCompare","isEqual","getCalendarDays","year","weeks","firstDate","lastDate","weekStartsOn","firstDateInCalendar","startOfWeek","addDaysToWeek","days","length","some","day","nextDate","getWeekDayNames","locale","weekStart","map","Intl","DateTimeFormat","weekday","timeZone","format","slice","beforeWeekStart","afterWeekStart","concat","formatMonth","monthFormat","calculateNextFocusDate","currentDate","currentWeekday","getDay","nextMonthDate","addMonths","nextMonthStart","startOfMonth","nextMonthStartWeekday","dayDifference","focusDate","calculatePrevFocusDate","lastDayOfPrevMonth","endOfMonth","subMonths","useMonthYearPicker","props","emits","selectMonth","ref","selectedDate","selectYear","getYear","highlightedDay","focusPicker","focusRefs","calendarDays","computed","formattedMonth","watch","highlightDay","immediate","setDayRef","el","includes","focusMonthYearPicker","$el","focus","handleKeyDown","event","key","preventDefault","changeMonth","initialDate","set","newDate","changeYear","goToNextMonth","goToPrevMonth","__props","__emit","onMounted","__expose","useCalendar","focusDay","daysRef","weekDays","dayAriaLabel","selectDayLabel","error","prevFocusDate","nextTick","nextFocusDate","focusLastDay","focusFirstDay","selectDay","updateCalendarDays","formatLong","formatMedium","formatShort","showWeekday","options","formatNoYear","abbreviated","formatNumerical"],"mappings":"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"}