@dialpad/dialtone-vue 2.127.0 → 2.127.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/dist/chunks/_plugin-vue2_normalizer-1aBeR4AK.js +59 -0
  2. package/dist/chunks/_plugin-vue2_normalizer-1aBeR4AK.js.map +1 -0
  3. package/dist/chunks/_plugin-vue2_normalizer-sOSkiPF3.js +60 -0
  4. package/dist/chunks/_plugin-vue2_normalizer-sOSkiPF3.js.map +1 -0
  5. package/dist/chunks/{dropdown-SMWaTWyF.js → dropdown-DTtcQEFC.js} +131 -84
  6. package/dist/chunks/{dropdown-SMWaTWyF.js.map → dropdown-DTtcQEFC.js.map} +1 -1
  7. package/dist/chunks/dropdown-IaLNHmVd.js +403 -0
  8. package/dist/chunks/{dropdown-zhMEz3bn.js.map → dropdown-IaLNHmVd.js.map} +1 -1
  9. package/dist/chunks/dropdown_constants-2pGCXy7m.js +8 -0
  10. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
  11. package/dist/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
  12. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
  13. package/dist/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
  14. package/dist/chunks/{icon_constants-2S_OSQ1t.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
  15. package/dist/chunks/icon_constants-QYpmdE0R.js +16 -0
  16. package/dist/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
  17. package/dist/chunks/index-eJ-WWRdf.js +442 -0
  18. package/dist/chunks/{index-2jPosQBn.js.map → index-eJ-WWRdf.js.map} +1 -1
  19. package/dist/chunks/index-gj1jEXP4.js +441 -0
  20. package/dist/chunks/{index-nIyl_PL6.js.map → index-gj1jEXP4.js.map} +1 -1
  21. package/dist/chunks/{input-1tm09l_-.js → input-6kbd8Pju.js} +83 -60
  22. package/dist/chunks/{input-o-fc1X4b.js.map → input-6kbd8Pju.js.map} +1 -1
  23. package/dist/chunks/input-Axw-wFj2.js +295 -0
  24. package/dist/chunks/{input-1tm09l_-.js.map → input-Axw-wFj2.js.map} +1 -1
  25. package/dist/chunks/input_group-m3cWYUfI.js +143 -0
  26. package/dist/chunks/{input_group-zcAq3DQl.js.map → input_group-m3cWYUfI.js.map} +1 -1
  27. package/dist/chunks/{input_group-zcAq3DQl.js → input_group-qVZaS5Bb.js} +27 -24
  28. package/dist/chunks/{input_group-j2gTtc1C.js.map → input_group-qVZaS5Bb.js.map} +1 -1
  29. package/dist/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
  30. package/dist/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  31. package/dist/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
  32. package/dist/chunks/{keyboard_list_navigation-F0O8nht0.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  33. package/dist/chunks/link_constants-Huj7D_hm.js +22 -0
  34. package/dist/chunks/{link_constants-Kn6kP4i1.js.map → link_constants-Huj7D_hm.js.map} +1 -1
  35. package/dist/chunks/link_constants-nWVlXQBs.js +23 -0
  36. package/dist/chunks/{link_constants-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
  37. package/dist/chunks/list_item_constants-EiqkqZvP.js +13 -0
  38. package/dist/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
  39. package/dist/chunks/list_item_constants-u1xcN9Dd.js +14 -0
  40. package/dist/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
  41. package/dist/chunks/modal-VgxXAQFP.js +105 -0
  42. package/dist/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
  43. package/dist/chunks/modal-XOr4kiNZ.js +106 -0
  44. package/dist/chunks/{modal-VuMFkZFH.js.map → modal-XOr4kiNZ.js.map} +1 -1
  45. package/dist/chunks/notice_action-IRUoLX2d.js +196 -0
  46. package/dist/chunks/{notice_action-u3ZKIhit.js.map → notice_action-IRUoLX2d.js.map} +1 -1
  47. package/dist/chunks/notice_action-P6uDyE9x.js +195 -0
  48. package/dist/chunks/{notice_action-9NmtQRai.js.map → notice_action-P6uDyE9x.js.map} +1 -1
  49. package/dist/chunks/notice_constants-7Qt2CQEY.js +7 -0
  50. package/dist/chunks/{notice_constants-mC6al2Dm.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
  51. package/dist/chunks/notice_constants-UXo9e3bS.js +6 -0
  52. package/dist/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
  53. package/dist/chunks/popover_constants-JwBF9h1Z.js +143 -0
  54. package/dist/chunks/{popover_constants-hOEhklvr.js.map → popover_constants-JwBF9h1Z.js.map} +1 -1
  55. package/dist/chunks/popover_constants-Qkpb0yh2.js +144 -0
  56. package/dist/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
  57. package/dist/chunks/sr_only_close_button-81bHIpPu.js +95 -0
  58. package/dist/chunks/{sr_only_close_button-ErijKGYR.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
  59. package/dist/chunks/sr_only_close_button-ZaGdAHz7.js +94 -0
  60. package/dist/chunks/{sr_only_close_button-JGole5Xi.js.map → sr_only_close_button-ZaGdAHz7.js.map} +1 -1
  61. package/dist/chunks/stack_constants-HraCekPm.js +15 -0
  62. package/dist/chunks/{stack_constants-m9Ickqw0.js.map → stack_constants-HraCekPm.js.map} +1 -1
  63. package/dist/chunks/stack_constants-SMzMWnAQ.js +14 -0
  64. package/dist/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
  65. package/dist/chunks/tab-FcsV5VmK.js +386 -0
  66. package/dist/chunks/{tab-7hJQSLFx.js.map → tab-FcsV5VmK.js.map} +1 -1
  67. package/dist/chunks/tab-V4cb44Ry.js +387 -0
  68. package/dist/chunks/{tab-Qm9LVkYj.js.map → tab-V4cb44Ry.js.map} +1 -1
  69. package/dist/common/constants.cjs +60 -0
  70. package/dist/{lib → common}/constants.cjs.map +1 -1
  71. package/dist/{lib → common}/constants.js +25 -18
  72. package/dist/{lib → common}/constants.js.map +1 -1
  73. package/dist/common/dates.cjs +72 -0
  74. package/dist/{lib → common}/dates.cjs.map +1 -1
  75. package/dist/common/dates.js +72 -0
  76. package/dist/{lib → common}/dates.js.map +1 -1
  77. package/dist/common/emoji.cjs +163 -0
  78. package/dist/common/emoji.cjs.map +1 -0
  79. package/dist/common/emoji.js +168 -0
  80. package/dist/common/emoji.js.map +1 -0
  81. package/dist/common/mixins.cjs +17 -0
  82. package/dist/{lib → common}/mixins.cjs.map +1 -1
  83. package/dist/common/mixins.js +17 -0
  84. package/dist/common/utils.cjs +237 -0
  85. package/dist/{lib → common}/utils.cjs.map +1 -1
  86. package/dist/common/utils.js +237 -0
  87. package/dist/{lib → common}/utils.js.map +1 -1
  88. package/dist/common/validators.cjs +23 -0
  89. package/dist/{lib → common}/validators.cjs.map +1 -1
  90. package/dist/common/validators.js +23 -0
  91. package/dist/{lib → common}/validators.js.map +1 -1
  92. package/dist/dialtone-vue.cjs +372 -1
  93. package/dist/dialtone-vue.cjs.map +1 -1
  94. package/dist/dialtone-vue.js +325 -324
  95. package/dist/dialtone-vue.js.map +1 -1
  96. package/dist/lib/attachment-carousel.cjs +260 -1
  97. package/dist/lib/attachment-carousel.cjs.map +1 -1
  98. package/dist/lib/attachment-carousel.js +96 -84
  99. package/dist/lib/attachment-carousel.js.map +1 -1
  100. package/dist/lib/avatar.cjs +399 -1
  101. package/dist/lib/avatar.cjs.map +1 -1
  102. package/dist/lib/avatar.js +111 -79
  103. package/dist/lib/avatar.js.map +1 -1
  104. package/dist/lib/badge.cjs +182 -1
  105. package/dist/lib/badge.cjs.map +1 -1
  106. package/dist/lib/badge.js +53 -38
  107. package/dist/lib/badge.js.map +1 -1
  108. package/dist/lib/banner.cjs +209 -2
  109. package/dist/lib/banner.cjs.map +1 -1
  110. package/dist/lib/banner.js +58 -47
  111. package/dist/lib/banner.js.map +1 -1
  112. package/dist/lib/breadcrumbs.cjs +146 -1
  113. package/dist/lib/breadcrumbs.cjs.map +1 -1
  114. package/dist/lib/breadcrumbs.js +57 -48
  115. package/dist/lib/breadcrumbs.js.map +1 -1
  116. package/dist/lib/button-group.cjs +47 -1
  117. package/dist/lib/button-group.cjs.map +1 -1
  118. package/dist/lib/button-group.js +21 -18
  119. package/dist/lib/button-group.js.map +1 -1
  120. package/dist/lib/button.cjs +349 -1
  121. package/dist/lib/button.cjs.map +1 -1
  122. package/dist/lib/button.js +98 -76
  123. package/dist/lib/button.js.map +1 -1
  124. package/dist/lib/callbar-button-with-popover.cjs +249 -1
  125. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  126. package/dist/lib/callbar-button-with-popover.js +66 -50
  127. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  128. package/dist/lib/callbar-button.cjs +182 -1
  129. package/dist/lib/callbar-button.cjs.map +1 -1
  130. package/dist/lib/callbar-button.js +42 -34
  131. package/dist/lib/callbar-button.js.map +1 -1
  132. package/dist/lib/callbox.cjs +146 -1
  133. package/dist/lib/callbox.cjs.map +1 -1
  134. package/dist/lib/callbox.js +38 -32
  135. package/dist/lib/callbox.js.map +1 -1
  136. package/dist/lib/card.cjs +73 -1
  137. package/dist/lib/card.cjs.map +1 -1
  138. package/dist/lib/card.js +22 -20
  139. package/dist/lib/card.js.map +1 -1
  140. package/dist/lib/checkbox-group.cjs +129 -1
  141. package/dist/lib/checkbox-group.cjs.map +1 -1
  142. package/dist/lib/checkbox-group.js +42 -29
  143. package/dist/lib/checkbox-group.js.map +1 -1
  144. package/dist/lib/checkbox.cjs +127 -1
  145. package/dist/lib/checkbox.cjs.map +1 -1
  146. package/dist/lib/checkbox.js +46 -35
  147. package/dist/lib/checkbox.js.map +1 -1
  148. package/dist/lib/chip.cjs +198 -1
  149. package/dist/lib/chip.cjs.map +1 -1
  150. package/dist/lib/chip.js +59 -45
  151. package/dist/lib/chip.js.map +1 -1
  152. package/dist/lib/codeblock.cjs +29 -2
  153. package/dist/lib/codeblock.cjs.map +1 -1
  154. package/dist/lib/codeblock.js +15 -14
  155. package/dist/lib/codeblock.js.map +1 -1
  156. package/dist/lib/collapsible.cjs +334 -1
  157. package/dist/lib/collapsible.cjs.map +1 -1
  158. package/dist/lib/collapsible.js +91 -68
  159. package/dist/lib/collapsible.js.map +1 -1
  160. package/dist/lib/combobox-multi-select.cjs +519 -1
  161. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  162. package/dist/lib/combobox-multi-select.js +223 -136
  163. package/dist/lib/combobox-multi-select.js.map +1 -1
  164. package/dist/lib/combobox-with-popover.cjs +384 -1
  165. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  166. package/dist/lib/combobox-with-popover.js +130 -86
  167. package/dist/lib/combobox-with-popover.js.map +1 -1
  168. package/dist/lib/combobox.cjs +18 -1
  169. package/dist/lib/combobox.cjs.map +1 -1
  170. package/dist/lib/combobox.js +9 -9
  171. package/dist/lib/contact-info.cjs +145 -1
  172. package/dist/lib/contact-info.cjs.map +1 -1
  173. package/dist/lib/contact-info.js +34 -32
  174. package/dist/lib/contact-info.js.map +1 -1
  175. package/dist/lib/contact-row.cjs +205 -1
  176. package/dist/lib/contact-row.cjs.map +1 -1
  177. package/dist/lib/contact-row.js +42 -39
  178. package/dist/lib/contact-row.js.map +1 -1
  179. package/dist/lib/datepicker.cjs +662 -1
  180. package/dist/lib/datepicker.cjs.map +1 -1
  181. package/dist/lib/datepicker.js +330 -218
  182. package/dist/lib/datepicker.js.map +1 -1
  183. package/dist/lib/description-list.cjs +114 -1
  184. package/dist/lib/description-list.cjs.map +1 -1
  185. package/dist/lib/description-list.js +51 -19
  186. package/dist/lib/description-list.js.map +1 -1
  187. package/dist/lib/dropdown.cjs +45 -1
  188. package/dist/lib/dropdown.cjs.map +1 -1
  189. package/dist/lib/dropdown.js +27 -25
  190. package/dist/lib/dropdown.js.map +1 -1
  191. package/dist/lib/editor.cjs +555 -1
  192. package/dist/lib/editor.cjs.map +1 -1
  193. package/dist/lib/editor.js +191 -162
  194. package/dist/lib/editor.js.map +1 -1
  195. package/dist/lib/emoji-picker.cjs +1063 -1
  196. package/dist/lib/emoji-picker.cjs.map +1 -1
  197. package/dist/lib/emoji-picker.js +638 -374
  198. package/dist/lib/emoji-picker.js.map +1 -1
  199. package/dist/lib/emoji-row.cjs +88 -1
  200. package/dist/lib/emoji-row.cjs.map +1 -1
  201. package/dist/lib/emoji-row.js +46 -40
  202. package/dist/lib/emoji-row.js.map +1 -1
  203. package/dist/lib/emoji-text-wrapper.cjs +109 -1
  204. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  205. package/dist/lib/emoji-text-wrapper.js +49 -35
  206. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  207. package/dist/lib/emoji.cjs +145 -1
  208. package/dist/lib/emoji.cjs.map +1 -1
  209. package/dist/lib/emoji.js +140 -5
  210. package/dist/lib/emoji.js.map +1 -1
  211. package/dist/lib/feed-item-row.cjs +213 -1
  212. package/dist/lib/feed-item-row.cjs.map +1 -1
  213. package/dist/lib/feed-item-row.js +71 -63
  214. package/dist/lib/feed-item-row.js.map +1 -1
  215. package/dist/lib/feed-pill.cjs +149 -1
  216. package/dist/lib/feed-pill.cjs.map +1 -1
  217. package/dist/lib/feed-pill.js +60 -51
  218. package/dist/lib/feed-pill.js.map +1 -1
  219. package/dist/lib/general-row.cjs +405 -1
  220. package/dist/lib/general-row.cjs.map +1 -1
  221. package/dist/lib/general-row.js +133 -106
  222. package/dist/lib/general-row.js.map +1 -1
  223. package/dist/lib/group-row.cjs +117 -1
  224. package/dist/lib/group-row.cjs.map +1 -1
  225. package/dist/lib/group-row.js +33 -30
  226. package/dist/lib/group-row.js.map +1 -1
  227. package/dist/lib/grouped-chip.cjs +45 -1
  228. package/dist/lib/grouped-chip.cjs.map +1 -1
  229. package/dist/lib/grouped-chip.js +28 -26
  230. package/dist/lib/grouped-chip.js.map +1 -1
  231. package/dist/lib/hovercard.cjs +227 -1
  232. package/dist/lib/hovercard.cjs.map +1 -1
  233. package/dist/lib/hovercard.js +98 -63
  234. package/dist/lib/hovercard.js.map +1 -1
  235. package/dist/lib/icon.cjs +59 -1
  236. package/dist/lib/icon.cjs.map +1 -1
  237. package/dist/lib/icon.js +22 -20
  238. package/dist/lib/icon.js.map +1 -1
  239. package/dist/lib/image-viewer.cjs +190 -1
  240. package/dist/lib/image-viewer.cjs.map +1 -1
  241. package/dist/lib/image-viewer.js +83 -62
  242. package/dist/lib/image-viewer.js.map +1 -1
  243. package/dist/lib/input-group.cjs +91 -1
  244. package/dist/lib/input-group.cjs.map +1 -1
  245. package/dist/lib/input-group.js +29 -27
  246. package/dist/lib/input-group.js.map +1 -1
  247. package/dist/lib/input.cjs +492 -1
  248. package/dist/lib/input.cjs.map +1 -1
  249. package/dist/lib/input.js +127 -89
  250. package/dist/lib/input.js.map +1 -1
  251. package/dist/lib/item-layout.cjs +40 -1
  252. package/dist/lib/item-layout.cjs.map +1 -1
  253. package/dist/lib/item-layout.js +15 -13
  254. package/dist/lib/item-layout.js.map +1 -1
  255. package/dist/lib/ivr-node.cjs +209 -1
  256. package/dist/lib/ivr-node.cjs.map +1 -1
  257. package/dist/lib/ivr-node.js +115 -99
  258. package/dist/lib/ivr-node.js.map +1 -1
  259. package/dist/lib/keyboard-shortcut.cjs +106 -1
  260. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  261. package/dist/lib/keyboard-shortcut.js +42 -34
  262. package/dist/lib/keyboard-shortcut.js.map +1 -1
  263. package/dist/lib/lazy-show.cjs +80 -1
  264. package/dist/lib/lazy-show.cjs.map +1 -1
  265. package/dist/lib/lazy-show.js +20 -16
  266. package/dist/lib/lazy-show.js.map +1 -1
  267. package/dist/lib/link.cjs +70 -1
  268. package/dist/lib/link.cjs.map +1 -1
  269. package/dist/lib/link.js +22 -20
  270. package/dist/lib/link.js.map +1 -1
  271. package/dist/lib/list-item-group.cjs +60 -1
  272. package/dist/lib/list-item-group.cjs.map +1 -1
  273. package/dist/lib/list-item-group.js +19 -17
  274. package/dist/lib/list-item-group.js.map +1 -1
  275. package/dist/lib/list-item.cjs +204 -1
  276. package/dist/lib/list-item.cjs.map +1 -1
  277. package/dist/lib/list-item.js +67 -56
  278. package/dist/lib/list-item.js.map +1 -1
  279. package/dist/lib/message-input.cjs +554 -1
  280. package/dist/lib/message-input.cjs.map +1 -1
  281. package/dist/lib/message-input.js +174 -152
  282. package/dist/lib/message-input.js.map +1 -1
  283. package/dist/lib/modal.cjs +350 -2
  284. package/dist/lib/modal.cjs.map +1 -1
  285. package/dist/lib/modal.js +118 -90
  286. package/dist/lib/modal.js.map +1 -1
  287. package/dist/lib/notice.cjs +159 -1
  288. package/dist/lib/notice.cjs.map +1 -1
  289. package/dist/lib/notice.js +46 -43
  290. package/dist/lib/notice.js.map +1 -1
  291. package/dist/lib/pagination.cjs +152 -1
  292. package/dist/lib/pagination.cjs.map +1 -1
  293. package/dist/lib/pagination.js +60 -48
  294. package/dist/lib/pagination.js.map +1 -1
  295. package/dist/lib/popover.cjs +956 -1
  296. package/dist/lib/popover.cjs.map +1 -1
  297. package/dist/lib/popover.js +401 -221
  298. package/dist/lib/popover.js.map +1 -1
  299. package/dist/lib/presence.cjs +65 -1
  300. package/dist/lib/presence.cjs.map +1 -1
  301. package/dist/lib/presence.js +32 -26
  302. package/dist/lib/presence.js.map +1 -1
  303. package/dist/lib/radio-group.cjs +98 -1
  304. package/dist/lib/radio-group.cjs.map +1 -1
  305. package/dist/lib/radio-group.js +24 -22
  306. package/dist/lib/radio-group.js.map +1 -1
  307. package/dist/lib/radio.cjs +118 -1
  308. package/dist/lib/radio.cjs.map +1 -1
  309. package/dist/lib/radio.js +43 -35
  310. package/dist/lib/radio.js.map +1 -1
  311. package/dist/lib/rich-text-editor.cjs +1138 -1
  312. package/dist/lib/rich-text-editor.cjs.map +1 -1
  313. package/dist/lib/rich-text-editor.js +574 -387
  314. package/dist/lib/rich-text-editor.js.map +1 -1
  315. package/dist/lib/root-layout.cjs +130 -1
  316. package/dist/lib/root-layout.cjs.map +1 -1
  317. package/dist/lib/root-layout.js +28 -24
  318. package/dist/lib/root-layout.js.map +1 -1
  319. package/dist/lib/select-menu.cjs +282 -1
  320. package/dist/lib/select-menu.cjs.map +1 -1
  321. package/dist/lib/select-menu.js +101 -61
  322. package/dist/lib/select-menu.js.map +1 -1
  323. package/dist/lib/settings-menu-button.cjs +65 -1
  324. package/dist/lib/settings-menu-button.cjs.map +1 -1
  325. package/dist/lib/settings-menu-button.js +26 -24
  326. package/dist/lib/settings-menu-button.js.map +1 -1
  327. package/dist/lib/skeleton.cjs +612 -1
  328. package/dist/lib/skeleton.cjs.map +1 -1
  329. package/dist/lib/skeleton.js +174 -135
  330. package/dist/lib/skeleton.js.map +1 -1
  331. package/dist/lib/stack.cjs +127 -1
  332. package/dist/lib/stack.cjs.map +1 -1
  333. package/dist/lib/stack.js +66 -56
  334. package/dist/lib/stack.js.map +1 -1
  335. package/dist/lib/tabs.cjs +99 -1
  336. package/dist/lib/tabs.cjs.map +1 -1
  337. package/dist/lib/tabs.js +42 -35
  338. package/dist/lib/tabs.js.map +1 -1
  339. package/dist/lib/time-pill.cjs +47 -1
  340. package/dist/lib/time-pill.cjs.map +1 -1
  341. package/dist/lib/time-pill.js +21 -16
  342. package/dist/lib/time-pill.js.map +1 -1
  343. package/dist/lib/toast.cjs +247 -1
  344. package/dist/lib/toast.cjs.map +1 -1
  345. package/dist/lib/toast.js +78 -55
  346. package/dist/lib/toast.js.map +1 -1
  347. package/dist/lib/toggle.cjs +177 -1
  348. package/dist/lib/toggle.cjs.map +1 -1
  349. package/dist/lib/toggle.js +46 -37
  350. package/dist/lib/toggle.js.map +1 -1
  351. package/dist/lib/tooltip-directive.cjs +87 -1
  352. package/dist/lib/tooltip-directive.cjs.map +1 -1
  353. package/dist/lib/tooltip-directive.js +55 -41
  354. package/dist/lib/tooltip-directive.js.map +1 -1
  355. package/dist/lib/tooltip.cjs +436 -1
  356. package/dist/lib/tooltip.cjs.map +1 -1
  357. package/dist/lib/tooltip.js +152 -90
  358. package/dist/lib/tooltip.js.map +1 -1
  359. package/dist/lib/top-banner-info.cjs +63 -1
  360. package/dist/lib/top-banner-info.cjs.map +1 -1
  361. package/dist/lib/top-banner-info.js +22 -18
  362. package/dist/lib/top-banner-info.js.map +1 -1
  363. package/dist/lib/unread-pill.cjs +63 -1
  364. package/dist/lib/unread-pill.cjs.map +1 -1
  365. package/dist/lib/unread-pill.js +25 -21
  366. package/dist/lib/unread-pill.js.map +1 -1
  367. package/dist/lib/validation-messages.cjs +85 -1
  368. package/dist/lib/validation-messages.cjs.map +1 -1
  369. package/dist/lib/validation-messages.js +32 -29
  370. package/dist/lib/validation-messages.js.map +1 -1
  371. package/dist/style.css +1214 -1
  372. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
  373. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
  374. package/package.json +31 -30
  375. package/dist/chunks/_plugin-vue2_normalizer-ZK80B3OL.js +0 -2
  376. package/dist/chunks/_plugin-vue2_normalizer-ZK80B3OL.js.map +0 -1
  377. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js +0 -33
  378. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js.map +0 -1
  379. package/dist/chunks/dropdown-zhMEz3bn.js +0 -2
  380. package/dist/chunks/dropdown_constants-EUcDxBrX.js +0 -9
  381. package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
  382. package/dist/chunks/dropdown_constants-KHFvVI2L.js +0 -2
  383. package/dist/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
  384. package/dist/chunks/icon_constants-2S_OSQ1t.js +0 -2
  385. package/dist/chunks/index-2jPosQBn.js +0 -3
  386. package/dist/chunks/index-YkSDT8-g.js +0 -244
  387. package/dist/chunks/index-YkSDT8-g.js.map +0 -1
  388. package/dist/chunks/index-nIyl_PL6.js +0 -372
  389. package/dist/chunks/index-sdfB7Aok.js +0 -2
  390. package/dist/chunks/index-sdfB7Aok.js.map +0 -1
  391. package/dist/chunks/input-o-fc1X4b.js +0 -2
  392. package/dist/chunks/input_group-j2gTtc1C.js +0 -2
  393. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
  394. package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
  395. package/dist/chunks/link_constants-Kn6kP4i1.js +0 -2
  396. package/dist/chunks/link_constants-vIUB92L4.js +0 -16
  397. package/dist/chunks/list_item_constants-LTUc74pD.js +0 -13
  398. package/dist/chunks/list_item_constants-Tsz5CO1m.js +0 -2
  399. package/dist/chunks/modal-VuMFkZFH.js +0 -82
  400. package/dist/chunks/modal-qEzlo0Sj.js +0 -2
  401. package/dist/chunks/notice_action-9NmtQRai.js +0 -182
  402. package/dist/chunks/notice_action-u3ZKIhit.js +0 -2
  403. package/dist/chunks/notice_constants-c--hBFQw.js +0 -6
  404. package/dist/chunks/notice_constants-mC6al2Dm.js +0 -2
  405. package/dist/chunks/popover_constants-hOEhklvr.js +0 -2
  406. package/dist/chunks/popover_constants-qjlEkroB.js +0 -114
  407. package/dist/chunks/sr_only_close_button-ErijKGYR.js +0 -3
  408. package/dist/chunks/sr_only_close_button-JGole5Xi.js +0 -86
  409. package/dist/chunks/stack_constants-m9Ickqw0.js +0 -2
  410. package/dist/chunks/stack_constants-u7tNqGtc.js +0 -13
  411. package/dist/chunks/tab-7hJQSLFx.js +0 -2
  412. package/dist/chunks/tab-Qm9LVkYj.js +0 -346
  413. package/dist/lib/constants.cjs +0 -2
  414. package/dist/lib/dates.cjs +0 -2
  415. package/dist/lib/dates.js +0 -57
  416. package/dist/lib/mixins.cjs +0 -2
  417. package/dist/lib/mixins.js +0 -17
  418. package/dist/lib/utils.cjs +0 -2
  419. package/dist/lib/utils.js +0 -175
  420. package/dist/lib/validators.cjs +0 -2
  421. package/dist/lib/validators.js +0 -12
  422. /package/dist/{lib → common}/mixins.js.map +0 -0
@@ -1,2 +1,283 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("vue"),i=require("./constants.cjs"),r=require("./utils.cjs"),o=require("../chunks/input-o-fc1X4b.js"),c=require("../chunks/_plugin-vue2_normalizer-ZK80B3OL.js"),u=require("./validation-messages.cjs");require("./validators.cjs");const l={xs:"d-select--xs",sm:"d-select--sm",md:"",lg:"d-select--lg",xl:"d-select--xl"},n={error:"d-select__input--error",warning:"d-select__input--warning",success:"d-select__input--success"},p=t=>!t.index||typeof t.index=="number",_=t=>t.value?typeof t.value=="string"||typeof t.value=="number":!1,f=t=>t.label?typeof t.label=="string":!1,S=t=>t?t.every(e=>!(!p(e)||!_(e)||!f(e))):!0,b={name:"DtSelectMenu",components:{DtValidationMessages:u.DtValidationMessages},mixins:[o.M],inheritAttrs:!1,props:{label:{type:String,default:""},description:{type:String,default:""},options:{type:Array,default:()=>[],validator:t=>S(t)},value:{type:String,default:null},size:{type:String,default:"md",validator:t=>Object.keys(l).includes(t)},labelClass:{type:[String,Array,Object],default:""},descriptionClass:{type:[String,Array,Object],default:""},selectClass:{type:[String,Array,Object],default:""},optionClass:{type:[String,Array,Object],default:""},labelChildProps:{type:Object,default:()=>({})},descriptionChildProps:{type:Object,default:()=>({})},optionChildProps:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emits:["input","change"],data(){return{LABEL_SIZE_MODIFIERS:i.LABEL_SIZE_MODIFIERS,DESCRIPTION_SIZE_MODIFIERS:i.DESCRIPTION_SIZE_MODIFIERS,SELECT_SIZE_MODIFIERS:l,SELECT_STATE_MODIFIERS:n}},computed:{selectListeners(){return{...this.$listeners,input:()=>{},change:t=>this.emitValue(t.target.value,t)}},state(){return r.getValidationState(this.formattedMessages)},selectKey(){return r.getUniqueString()},descriptionKey(){return`select-${this.selectKey}-description`},labelAriaDetails(){return this.$slots.description||this.description?this.descriptionKey:this.$attrs["aria-details"]}},mounted(){this.validateOptionsPresence()},beforeUpdate(){this.validateOptionsPresence()},methods:{emitValue(t,e){this.$emit("input",t,e),this.$emit("change",t,e)},getOptionKey(t){return`select-${this.selectKey}-option-${t}`},validateOptionsPresence(){var t;((t=this.options)==null?void 0:t.length)<1&&!this.$slots.default&&d.util.warn("Options are expected to be provided via prop or slot",this)}}};var E=function(){var e=this,s=e._self._c;return s("div",[s("label",[e.$slots.label||e.label?s("div",e._b({class:["d-label",e.LABEL_SIZE_MODIFIERS[e.size],e.labelClass],attrs:{"aria-details":e.labelAriaDetails,"data-qa":"dt-select-label"}},"div",e.labelChildProps,!1),[e._t("label",function(){return[e._v(e._s(e.label))]})],2):e._e(),e.$slots.description||e.description?s("div",e._b({class:["d-description",e.DESCRIPTION_SIZE_MODIFIERS[e.size],e.descriptionClass],attrs:{id:e.descriptionKey,"data-qa":"dt-select-description"}},"div",e.descriptionChildProps,!1),[e._t("description",function(){return[e._v(e._s(e.description))]})],2):e._e(),s("div",{class:["d-select",e.SELECT_SIZE_MODIFIERS[e.size],e.selectClass,{"d-select--disabled":e.disabled}],attrs:{"data-qa":"dt-select-wrapper"}},[s("select",e._g(e._b({ref:"selectElement",class:["d-select__input",e.SELECT_STATE_MODIFIERS[e.state]],attrs:{"data-qa":"dt-select",disabled:e.disabled},domProps:{value:e.value}},"select",e.$attrs,!1),e.selectListeners),[e._t("default",function(){return e._l(e.options,function(a){return s("option",e._b({key:e.getOptionKey(a.value),class:e.optionClass,domProps:{value:a.value}},"option",e.optionChildProps,!1),[e._v(" "+e._s(a.label)+" ")])})})],2)])]),s("dt-validation-messages",e._b({class:e.messagesClass,attrs:{"validation-messages":e.formattedMessages,"show-messages":e.showMessages,"data-qa":"dt-select-messages"}},"dt-validation-messages",e.messagesChildProps,!1))],1)},g=[],I=c.n(b,E,g,!1,null,null,null,null);const h=I.exports;exports.DtSelectMenu=h;exports.SELECT_SIZE_MODIFIERS=l;exports.SELECT_STATE_MODIFIERS=n;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Vue = require("vue");
4
+ const common_constants = require("../common/constants.cjs");
5
+ const common_utils = require("../common/utils.cjs");
6
+ const input = require("../chunks/input-Axw-wFj2.js");
7
+ const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
8
+ const lib_validationMessages = require("./validation-messages.cjs");
9
+ require("../common/validators.cjs");
10
+ const SELECT_SIZE_MODIFIERS = {
11
+ xs: "d-select--xs",
12
+ sm: "d-select--sm",
13
+ md: "",
14
+ lg: "d-select--lg",
15
+ xl: "d-select--xl"
16
+ };
17
+ const SELECT_STATE_MODIFIERS = {
18
+ error: "d-select__input--error",
19
+ warning: "d-select__input--warning",
20
+ success: "d-select__input--success"
21
+ };
22
+ const hasValidOptionIndex = (option) => !option.index || typeof option.index === "number";
23
+ const hasValidOptionValue = (option) => {
24
+ if (!option.value) {
25
+ return false;
26
+ }
27
+ return typeof option.value === "string" || typeof option.value === "number";
28
+ };
29
+ const hasValidOptionLabel = (option) => {
30
+ if (!option.label) {
31
+ return false;
32
+ }
33
+ return typeof option.label === "string";
34
+ };
35
+ const optionsValidator = (options) => {
36
+ if (!options) {
37
+ return true;
38
+ }
39
+ return options.every((option) => {
40
+ if (!hasValidOptionIndex(option)) {
41
+ return false;
42
+ }
43
+ if (!hasValidOptionValue(option)) {
44
+ return false;
45
+ }
46
+ if (!hasValidOptionLabel(option)) {
47
+ return false;
48
+ }
49
+ return true;
50
+ });
51
+ };
52
+ const _sfc_main = {
53
+ name: "DtSelectMenu",
54
+ components: { DtValidationMessages: lib_validationMessages.DtValidationMessages },
55
+ mixins: [input.MessagesMixin],
56
+ inheritAttrs: false,
57
+ props: {
58
+ /**
59
+ * Label for the select
60
+ */
61
+ label: {
62
+ type: String,
63
+ default: ""
64
+ },
65
+ /**
66
+ * Description for the select
67
+ */
68
+ description: {
69
+ type: String,
70
+ default: ""
71
+ },
72
+ /**
73
+ * Select Menu Options, overridden by default slot. Each option has the following structure:
74
+ * `{ index: number (optional), value: number || string (required), label: string (required) }`
75
+ * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options
76
+ * @param {number} options[].index - Optional - The index of the option
77
+ * @param {number|string} options[].value - Required - The option value
78
+ * @param {string} options[].label - Required - The option Label
79
+ */
80
+ options: {
81
+ type: Array,
82
+ default: () => [],
83
+ validator: (options) => optionsValidator(options)
84
+ },
85
+ /**
86
+ * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be
87
+ * 'unselected'.
88
+ */
89
+ value: {
90
+ type: String,
91
+ default: null
92
+ },
93
+ /**
94
+ * Controls the size of the select
95
+ * @values xs, sm, md, lg, xl
96
+ */
97
+ size: {
98
+ type: String,
99
+ default: "md",
100
+ validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s)
101
+ },
102
+ /**
103
+ * Used to customize the label container
104
+ */
105
+ labelClass: {
106
+ type: [String, Array, Object],
107
+ default: ""
108
+ },
109
+ /**
110
+ * Used to customize the description container
111
+ */
112
+ descriptionClass: {
113
+ type: [String, Array, Object],
114
+ default: ""
115
+ },
116
+ /**
117
+ * Used to customize the select
118
+ */
119
+ selectClass: {
120
+ type: [String, Array, Object],
121
+ default: ""
122
+ },
123
+ /**
124
+ * Used to customize each option, should options be provided via prop
125
+ */
126
+ optionClass: {
127
+ type: [String, Array, Object],
128
+ default: ""
129
+ },
130
+ /**
131
+ * A set of props that are passed into the label container
132
+ */
133
+ labelChildProps: {
134
+ type: Object,
135
+ default: () => ({})
136
+ },
137
+ /**
138
+ * A set of props that are passed into the description container
139
+ */
140
+ descriptionChildProps: {
141
+ type: Object,
142
+ default: () => ({})
143
+ },
144
+ /**
145
+ * A set of props that are passed into each option, should options be provided via prop
146
+ */
147
+ optionChildProps: {
148
+ type: Object,
149
+ default: () => ({})
150
+ },
151
+ /**
152
+ * Disabled state of the select
153
+ * @values true, false
154
+ */
155
+ disabled: {
156
+ type: Boolean,
157
+ default: false
158
+ }
159
+ },
160
+ emits: [
161
+ /**
162
+ * Native input event
163
+ *
164
+ * @event input
165
+ * @type {String | Number}
166
+ */
167
+ "input",
168
+ /**
169
+ * Native change event
170
+ *
171
+ * @event change
172
+ * @type {String | Number}
173
+ */
174
+ "change"
175
+ ],
176
+ data() {
177
+ return {
178
+ LABEL_SIZE_MODIFIERS: common_constants.LABEL_SIZE_MODIFIERS,
179
+ DESCRIPTION_SIZE_MODIFIERS: common_constants.DESCRIPTION_SIZE_MODIFIERS,
180
+ SELECT_SIZE_MODIFIERS,
181
+ SELECT_STATE_MODIFIERS
182
+ };
183
+ },
184
+ computed: {
185
+ selectListeners() {
186
+ return {
187
+ /* TODO
188
+ Check if any usages of this component leverage $listeners and either remove if unused or scope the removal
189
+ and migration prior to upgrading to Vue 3.x
190
+ */
191
+ ...this.$listeners,
192
+ /*
193
+ * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input
194
+ * element which will result in the hander being called twice (once on the select element and once by the
195
+ * emitted input event by the change listener).
196
+ */
197
+ input: () => {
198
+ },
199
+ change: (event) => this.emitValue(event.target.value, event)
200
+ };
201
+ },
202
+ state() {
203
+ return common_utils.getValidationState(this.formattedMessages);
204
+ },
205
+ selectKey() {
206
+ return common_utils.getUniqueString();
207
+ },
208
+ descriptionKey() {
209
+ return `select-${this.selectKey}-description`;
210
+ },
211
+ labelAriaDetails() {
212
+ if (this.$slots.description || this.description) {
213
+ return this.descriptionKey;
214
+ }
215
+ return this.$attrs["aria-details"];
216
+ }
217
+ },
218
+ mounted() {
219
+ this.validateOptionsPresence();
220
+ },
221
+ beforeUpdate() {
222
+ this.validateOptionsPresence();
223
+ },
224
+ methods: {
225
+ emitValue(value, event) {
226
+ this.$emit("input", value, event);
227
+ this.$emit("change", value, event);
228
+ },
229
+ getOptionKey(value) {
230
+ return `select-${this.selectKey}-option-${value}`;
231
+ },
232
+ validateOptionsPresence() {
233
+ var _a;
234
+ if (((_a = this.options) == null ? void 0 : _a.length) < 1 && !this.$slots.default) {
235
+ Vue.util.warn("Options are expected to be provided via prop or slot", this);
236
+ }
237
+ }
238
+ }
239
+ };
240
+ var _sfc_render = function render() {
241
+ var _vm = this, _c = _vm._self._c;
242
+ return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({ class: [
243
+ "d-label",
244
+ _vm.LABEL_SIZE_MODIFIERS[_vm.size],
245
+ _vm.labelClass
246
+ ], attrs: { "aria-details": _vm.labelAriaDetails, "data-qa": "dt-select-label" } }, "div", _vm.labelChildProps, false), [_vm._t("label", function() {
247
+ return [_vm._v(_vm._s(_vm.label))];
248
+ })], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({ class: [
249
+ "d-description",
250
+ _vm.DESCRIPTION_SIZE_MODIFIERS[_vm.size],
251
+ _vm.descriptionClass
252
+ ], attrs: { "id": _vm.descriptionKey, "data-qa": "dt-select-description" } }, "div", _vm.descriptionChildProps, false), [_vm._t("description", function() {
253
+ return [_vm._v(_vm._s(_vm.description))];
254
+ })], 2) : _vm._e(), _c("div", { class: [
255
+ "d-select",
256
+ _vm.SELECT_SIZE_MODIFIERS[_vm.size],
257
+ _vm.selectClass,
258
+ { "d-select--disabled": _vm.disabled }
259
+ ], attrs: { "data-qa": "dt-select-wrapper" } }, [_c("select", _vm._g(_vm._b({ ref: "selectElement", class: [
260
+ "d-select__input",
261
+ _vm.SELECT_STATE_MODIFIERS[_vm.state]
262
+ ], attrs: { "data-qa": "dt-select", "disabled": _vm.disabled }, domProps: { "value": _vm.value } }, "select", _vm.$attrs, false), _vm.selectListeners), [_vm._t("default", function() {
263
+ return _vm._l(_vm.options, function(option) {
264
+ return _c("option", _vm._b({ key: _vm.getOptionKey(option.value), class: _vm.optionClass, domProps: { "value": option.value } }, "option", _vm.optionChildProps, false), [_vm._v(" " + _vm._s(option.label) + " ")]);
265
+ });
266
+ })], 2)])]), _c("dt-validation-messages", _vm._b({ class: _vm.messagesClass, attrs: { "validation-messages": _vm.formattedMessages, "show-messages": _vm.showMessages, "data-qa": "dt-select-messages" } }, "dt-validation-messages", _vm.messagesChildProps, false))], 1);
267
+ };
268
+ var _sfc_staticRenderFns = [];
269
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
270
+ _sfc_main,
271
+ _sfc_render,
272
+ _sfc_staticRenderFns,
273
+ false,
274
+ null,
275
+ null,
276
+ null,
277
+ null
278
+ );
279
+ const select_menu = __component__.exports;
280
+ exports.DtSelectMenu = select_menu;
281
+ exports.SELECT_SIZE_MODIFIERS = SELECT_SIZE_MODIFIERS;
282
+ exports.SELECT_STATE_MODIFIERS = SELECT_STATE_MODIFIERS;
2
283
  //# sourceMappingURL=select-menu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-menu.cjs","sources":["../../components/select_menu/select_menu_constants.js","../../components/select_menu/select_menu_validators.js","../../components/select_menu/select_menu.vue"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n","const hasValidOptionIndex = option => !option.index || typeof option.index === 'number';\n\nconst hasValidOptionValue = option => {\n if (!option.value) {\n return false;\n }\n\n return typeof option.value === 'string' || typeof option.value === 'number';\n};\n\nconst hasValidOptionLabel = option => {\n if (!option.label) {\n return false;\n }\n\n return typeof option.label === 'string';\n};\n\nexport const optionsValidator = options => {\n if (!options) {\n return true;\n }\n\n return options.every(option => {\n if (!hasValidOptionIndex(option)) {\n return false;\n }\n\n if (!hasValidOptionValue(option)) {\n return false;\n }\n\n if (!hasValidOptionLabel(option)) {\n return false;\n }\n\n return true;\n });\n};\n","<template>\n <div>\n <label>\n <div\n v-if=\"$slots.label || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"$slots.description || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"$attrs\"\n :value=\"value\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ index: number (optional), value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number} options[].index - Optional - The index of the option\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be\n * 'unselected'.\n */\n value: {\n type: String,\n default: null,\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /* TODO\n Check if any usages of this component leverage $listeners and either remove if unused or scope the removal\n and migration prior to upgrading to Vue 3.x\n */\n ...this.$listeners,\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the hander being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n emitValue (value, event) {\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n Vue.util.warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"names":["SELECT_SIZE_MODIFIERS","SELECT_STATE_MODIFIERS","hasValidOptionIndex","option","hasValidOptionValue","hasValidOptionLabel","optionsValidator","options","_sfc_main","DtValidationMessages","MessagesMixin","s","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","event","getValidationState","getUniqueString","value","_a","Vue"],"mappings":"oUAAY,MAACA,EAAwB,CACnC,GAAI,eACJ,GAAI,eACJ,GAAI,GACJ,GAAI,eACJ,GAAI,cACN,EAEaC,EAAyB,CACpC,MAAO,yBACP,QAAS,2BACT,QAAS,0BACX,ECZMC,EAAsBC,GAAU,CAACA,EAAO,OAAS,OAAOA,EAAO,OAAU,SAEzEC,EAAsBD,GACrBA,EAAO,MAIL,OAAOA,EAAO,OAAU,UAAY,OAAOA,EAAO,OAAU,SAH1D,GAMLE,EAAsBF,GACrBA,EAAO,MAIL,OAAOA,EAAO,OAAU,SAHtB,GAMEG,EAAmBC,GACzBA,EAIEA,EAAQ,MAAMJ,GACf,GAACD,EAAoBC,CAAM,GAI3B,CAACC,EAAoBD,CAAM,GAI3B,CAACE,EAAoBF,CAAM,EAKhC,EAjBQ,GCkFXK,EAAA,CACA,KAAA,eAEA,WAAA,CAAAC,qBAAAA,EAAAA,oBAAA,EAEA,OAAA,CAAAC,EAAAA,CAAA,EAEA,aAAA,GAEA,MAAA,CAIA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EAKA,YAAA,CACA,KAAA,OACA,QAAA,EACA,EAUA,QAAA,CACA,KAAA,MACA,QAAA,IAAA,CAAA,EACA,UAAAH,GAAAD,EAAAC,CAAA,CACA,EAMA,MAAA,CACA,KAAA,OACA,QAAA,IACA,EAMA,KAAA,CACA,KAAA,OACA,QAAA,KACA,UAAAI,GAAA,OAAA,KAAAX,CAAA,EAAA,SAAAW,CAAA,CACA,EAKA,WAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,iBAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,YAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,YAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,gBAAA,CACA,KAAA,OACA,QAAA,KAAA,CAAA,EACA,EAKA,sBAAA,CACA,KAAA,OACA,QAAA,KAAA,CAAA,EACA,EAKA,iBAAA,CACA,KAAA,OACA,QAAA,KAAA,CAAA,EACA,EAMA,SAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,QAQA,QACA,EAEA,MAAA,CACA,MAAA,CACA,qBAAAC,EAAA,qBACA,2BAAAC,EAAA,2BACA,sBAAAb,EACA,uBAAAC,CACA,CACA,EAEA,SAAA,CACA,iBAAA,CACA,MAAA,CAKA,GAAA,KAAA,WAMA,MAAA,IAAA,CAAA,EACA,OAAAa,GAAA,KAAA,UAAAA,EAAA,OAAA,MAAAA,CAAA,CACA,CACA,EAEA,OAAA,CACA,OAAAC,EAAA,mBAAA,KAAA,iBAAA,CACA,EAEA,WAAA,CACA,OAAAC,EAAA,gBAAA,CACA,EAEA,gBAAA,CACA,MAAA,UAAA,KAAA,SAAA,cACA,EAEA,kBAAA,CACA,OAAA,KAAA,OAAA,aAAA,KAAA,YACA,KAAA,eAGA,KAAA,OAAA,cAAA,CACA,CACA,EAEA,SAAA,CACA,KAAA,wBAAA,CACA,EAEA,cAAA,CACA,KAAA,wBAAA,CACA,EAEA,QAAA,CACA,UAAAC,EAAAH,EAAA,CACA,KAAA,MAAA,QAAAG,EAAAH,CAAA,EACA,KAAA,MAAA,SAAAG,EAAAH,CAAA,CACA,EAEA,aAAAG,EAAA,CACA,MAAA,UAAA,KAAA,SAAA,WAAAA,CAAA,EACA,EAEA,yBAAA,SACAC,EAAA,KAAA,UAAA,YAAAA,EAAA,QAAA,GAAA,CAAA,KAAA,OAAA,SACAC,EAAA,KAAA,KAAA,uDAAA,IAAA,CAEA,CACA,CACA"}
1
+ {"version":3,"file":"select-menu.cjs","sources":["../../components/select_menu/select_menu_constants.js","../../components/select_menu/select_menu_validators.js","../../components/select_menu/select_menu.vue"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n","const hasValidOptionIndex = option => !option.index || typeof option.index === 'number';\n\nconst hasValidOptionValue = option => {\n if (!option.value) {\n return false;\n }\n\n return typeof option.value === 'string' || typeof option.value === 'number';\n};\n\nconst hasValidOptionLabel = option => {\n if (!option.label) {\n return false;\n }\n\n return typeof option.label === 'string';\n};\n\nexport const optionsValidator = options => {\n if (!options) {\n return true;\n }\n\n return options.every(option => {\n if (!hasValidOptionIndex(option)) {\n return false;\n }\n\n if (!hasValidOptionValue(option)) {\n return false;\n }\n\n if (!hasValidOptionLabel(option)) {\n return false;\n }\n\n return true;\n });\n};\n","<template>\n <div>\n <label>\n <div\n v-if=\"$slots.label || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"$slots.description || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"$attrs\"\n :value=\"value\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ index: number (optional), value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number} options[].index - Optional - The index of the option\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be\n * 'unselected'.\n */\n value: {\n type: String,\n default: null,\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /* TODO\n Check if any usages of this component leverage $listeners and either remove if unused or scope the removal\n and migration prior to upgrading to Vue 3.x\n */\n ...this.$listeners,\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the hander being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n emitValue (value, event) {\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n Vue.util.warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"names":["DtValidationMessages","MessagesMixin","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","getValidationState","getUniqueString"],"mappings":"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"}
@@ -1,25 +1,57 @@
1
- import i from "vue";
2
- import { LABEL_SIZE_MODIFIERS as r, DESCRIPTION_SIZE_MODIFIERS as n } from "./constants.js";
3
- import { getValidationState as d, getUniqueString as o } from "./utils.js";
4
- import { M as c } from "../chunks/input-1tm09l_-.js";
5
- import { n as p } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
6
- import { DtValidationMessages as u } from "./validation-messages.js";
7
- import "./validators.js";
8
- const l = {
1
+ import Vue from "vue";
2
+ import { LABEL_SIZE_MODIFIERS, DESCRIPTION_SIZE_MODIFIERS } from "../common/constants.js";
3
+ import { getValidationState, getUniqueString } from "../common/utils.js";
4
+ import { MessagesMixin } from "../chunks/input-6kbd8Pju.js";
5
+ import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
6
+ import { DtValidationMessages } from "./validation-messages.js";
7
+ import "../common/validators.js";
8
+ const SELECT_SIZE_MODIFIERS = {
9
9
  xs: "d-select--xs",
10
10
  sm: "d-select--sm",
11
11
  md: "",
12
12
  lg: "d-select--lg",
13
13
  xl: "d-select--xl"
14
- }, f = {
14
+ };
15
+ const SELECT_STATE_MODIFIERS = {
15
16
  error: "d-select__input--error",
16
17
  warning: "d-select__input--warning",
17
18
  success: "d-select__input--success"
18
- }, _ = (t) => !t.index || typeof t.index == "number", m = (t) => t.value ? typeof t.value == "string" || typeof t.value == "number" : !1, b = (t) => t.label ? typeof t.label == "string" : !1, g = (t) => t ? t.every((e) => !(!_(e) || !m(e) || !b(e))) : !0, h = {
19
+ };
20
+ const hasValidOptionIndex = (option) => !option.index || typeof option.index === "number";
21
+ const hasValidOptionValue = (option) => {
22
+ if (!option.value) {
23
+ return false;
24
+ }
25
+ return typeof option.value === "string" || typeof option.value === "number";
26
+ };
27
+ const hasValidOptionLabel = (option) => {
28
+ if (!option.label) {
29
+ return false;
30
+ }
31
+ return typeof option.label === "string";
32
+ };
33
+ const optionsValidator = (options) => {
34
+ if (!options) {
35
+ return true;
36
+ }
37
+ return options.every((option) => {
38
+ if (!hasValidOptionIndex(option)) {
39
+ return false;
40
+ }
41
+ if (!hasValidOptionValue(option)) {
42
+ return false;
43
+ }
44
+ if (!hasValidOptionLabel(option)) {
45
+ return false;
46
+ }
47
+ return true;
48
+ });
49
+ };
50
+ const _sfc_main = {
19
51
  name: "DtSelectMenu",
20
- components: { DtValidationMessages: u },
21
- mixins: [c],
22
- inheritAttrs: !1,
52
+ components: { DtValidationMessages },
53
+ mixins: [MessagesMixin],
54
+ inheritAttrs: false,
23
55
  props: {
24
56
  /**
25
57
  * Label for the select
@@ -46,7 +78,7 @@ const l = {
46
78
  options: {
47
79
  type: Array,
48
80
  default: () => [],
49
- validator: (t) => g(t)
81
+ validator: (options) => optionsValidator(options)
50
82
  },
51
83
  /**
52
84
  * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be
@@ -63,7 +95,7 @@ const l = {
63
95
  size: {
64
96
  type: String,
65
97
  default: "md",
66
- validator: (t) => Object.keys(l).includes(t)
98
+ validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s)
67
99
  },
68
100
  /**
69
101
  * Used to customize the label container
@@ -120,7 +152,7 @@ const l = {
120
152
  */
121
153
  disabled: {
122
154
  type: Boolean,
123
- default: !1
155
+ default: false
124
156
  }
125
157
  },
126
158
  emits: [
@@ -141,10 +173,10 @@ const l = {
141
173
  ],
142
174
  data() {
143
175
  return {
144
- LABEL_SIZE_MODIFIERS: r,
145
- DESCRIPTION_SIZE_MODIFIERS: n,
146
- SELECT_SIZE_MODIFIERS: l,
147
- SELECT_STATE_MODIFIERS: f
176
+ LABEL_SIZE_MODIFIERS,
177
+ DESCRIPTION_SIZE_MODIFIERS,
178
+ SELECT_SIZE_MODIFIERS,
179
+ SELECT_STATE_MODIFIERS
148
180
  };
149
181
  },
150
182
  computed: {
@@ -162,20 +194,23 @@ const l = {
162
194
  */
163
195
  input: () => {
164
196
  },
165
- change: (t) => this.emitValue(t.target.value, t)
197
+ change: (event) => this.emitValue(event.target.value, event)
166
198
  };
167
199
  },
168
200
  state() {
169
- return d(this.formattedMessages);
201
+ return getValidationState(this.formattedMessages);
170
202
  },
171
203
  selectKey() {
172
- return o();
204
+ return getUniqueString();
173
205
  },
174
206
  descriptionKey() {
175
207
  return `select-${this.selectKey}-description`;
176
208
  },
177
209
  labelAriaDetails() {
178
- return this.$slots.description || this.description ? this.descriptionKey : this.$attrs["aria-details"];
210
+ if (this.$slots.description || this.description) {
211
+ return this.descriptionKey;
212
+ }
213
+ return this.$attrs["aria-details"];
179
214
  }
180
215
  },
181
216
  mounted() {
@@ -185,59 +220,64 @@ const l = {
185
220
  this.validateOptionsPresence();
186
221
  },
187
222
  methods: {
188
- emitValue(t, e) {
189
- this.$emit("input", t, e), this.$emit("change", t, e);
223
+ emitValue(value, event) {
224
+ this.$emit("input", value, event);
225
+ this.$emit("change", value, event);
190
226
  },
191
- getOptionKey(t) {
192
- return `select-${this.selectKey}-option-${t}`;
227
+ getOptionKey(value) {
228
+ return `select-${this.selectKey}-option-${value}`;
193
229
  },
194
230
  validateOptionsPresence() {
195
- var t;
196
- ((t = this.options) == null ? void 0 : t.length) < 1 && !this.$slots.default && i.util.warn("Options are expected to be provided via prop or slot", this);
231
+ var _a;
232
+ if (((_a = this.options) == null ? void 0 : _a.length) < 1 && !this.$slots.default) {
233
+ Vue.util.warn("Options are expected to be provided via prop or slot", this);
234
+ }
197
235
  }
198
236
  }
199
237
  };
200
- var S = function() {
201
- var e = this, s = e._self._c;
202
- return s("div", [s("label", [e.$slots.label || e.label ? s("div", e._b({ class: [
238
+ var _sfc_render = function render() {
239
+ var _vm = this, _c = _vm._self._c;
240
+ return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({ class: [
203
241
  "d-label",
204
- e.LABEL_SIZE_MODIFIERS[e.size],
205
- e.labelClass
206
- ], attrs: { "aria-details": e.labelAriaDetails, "data-qa": "dt-select-label" } }, "div", e.labelChildProps, !1), [e._t("label", function() {
207
- return [e._v(e._s(e.label))];
208
- })], 2) : e._e(), e.$slots.description || e.description ? s("div", e._b({ class: [
242
+ _vm.LABEL_SIZE_MODIFIERS[_vm.size],
243
+ _vm.labelClass
244
+ ], attrs: { "aria-details": _vm.labelAriaDetails, "data-qa": "dt-select-label" } }, "div", _vm.labelChildProps, false), [_vm._t("label", function() {
245
+ return [_vm._v(_vm._s(_vm.label))];
246
+ })], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({ class: [
209
247
  "d-description",
210
- e.DESCRIPTION_SIZE_MODIFIERS[e.size],
211
- e.descriptionClass
212
- ], attrs: { id: e.descriptionKey, "data-qa": "dt-select-description" } }, "div", e.descriptionChildProps, !1), [e._t("description", function() {
213
- return [e._v(e._s(e.description))];
214
- })], 2) : e._e(), s("div", { class: [
248
+ _vm.DESCRIPTION_SIZE_MODIFIERS[_vm.size],
249
+ _vm.descriptionClass
250
+ ], attrs: { "id": _vm.descriptionKey, "data-qa": "dt-select-description" } }, "div", _vm.descriptionChildProps, false), [_vm._t("description", function() {
251
+ return [_vm._v(_vm._s(_vm.description))];
252
+ })], 2) : _vm._e(), _c("div", { class: [
215
253
  "d-select",
216
- e.SELECT_SIZE_MODIFIERS[e.size],
217
- e.selectClass,
218
- { "d-select--disabled": e.disabled }
219
- ], attrs: { "data-qa": "dt-select-wrapper" } }, [s("select", e._g(e._b({ ref: "selectElement", class: [
254
+ _vm.SELECT_SIZE_MODIFIERS[_vm.size],
255
+ _vm.selectClass,
256
+ { "d-select--disabled": _vm.disabled }
257
+ ], attrs: { "data-qa": "dt-select-wrapper" } }, [_c("select", _vm._g(_vm._b({ ref: "selectElement", class: [
220
258
  "d-select__input",
221
- e.SELECT_STATE_MODIFIERS[e.state]
222
- ], attrs: { "data-qa": "dt-select", disabled: e.disabled }, domProps: { value: e.value } }, "select", e.$attrs, !1), e.selectListeners), [e._t("default", function() {
223
- return e._l(e.options, function(a) {
224
- return s("option", e._b({ key: e.getOptionKey(a.value), class: e.optionClass, domProps: { value: a.value } }, "option", e.optionChildProps, !1), [e._v(" " + e._s(a.label) + " ")]);
259
+ _vm.SELECT_STATE_MODIFIERS[_vm.state]
260
+ ], attrs: { "data-qa": "dt-select", "disabled": _vm.disabled }, domProps: { "value": _vm.value } }, "select", _vm.$attrs, false), _vm.selectListeners), [_vm._t("default", function() {
261
+ return _vm._l(_vm.options, function(option) {
262
+ return _c("option", _vm._b({ key: _vm.getOptionKey(option.value), class: _vm.optionClass, domProps: { "value": option.value } }, "option", _vm.optionChildProps, false), [_vm._v(" " + _vm._s(option.label) + " ")]);
225
263
  });
226
- })], 2)])]), s("dt-validation-messages", e._b({ class: e.messagesClass, attrs: { "validation-messages": e.formattedMessages, "show-messages": e.showMessages, "data-qa": "dt-select-messages" } }, "dt-validation-messages", e.messagesChildProps, !1))], 1);
227
- }, y = [], v = /* @__PURE__ */ p(
228
- h,
229
- S,
230
- y,
231
- !1,
264
+ })], 2)])]), _c("dt-validation-messages", _vm._b({ class: _vm.messagesClass, attrs: { "validation-messages": _vm.formattedMessages, "show-messages": _vm.showMessages, "data-qa": "dt-select-messages" } }, "dt-validation-messages", _vm.messagesChildProps, false))], 1);
265
+ };
266
+ var _sfc_staticRenderFns = [];
267
+ var __component__ = /* @__PURE__ */ normalizeComponent(
268
+ _sfc_main,
269
+ _sfc_render,
270
+ _sfc_staticRenderFns,
271
+ false,
232
272
  null,
233
273
  null,
234
274
  null,
235
275
  null
236
276
  );
237
- const x = v.exports;
277
+ const select_menu = __component__.exports;
238
278
  export {
239
- x as DtSelectMenu,
240
- l as SELECT_SIZE_MODIFIERS,
241
- f as SELECT_STATE_MODIFIERS
279
+ select_menu as DtSelectMenu,
280
+ SELECT_SIZE_MODIFIERS,
281
+ SELECT_STATE_MODIFIERS
242
282
  };
243
283
  //# sourceMappingURL=select-menu.js.map