@dialpad/dialtone-vue 2.152.0 → 2.153.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 (399) hide show
  1. package/dist/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
  2. package/dist/chunks/{dropdown-6UoczdUY.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
  3. package/dist/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
  4. package/dist/chunks/{dropdown-pHxnQPzT.js.map → dropdown-mjrYu_mK.js.map} +1 -1
  5. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  6. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  7. package/dist/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
  8. package/dist/chunks/icon_constants-TdxqLsS2.js.map +1 -0
  9. package/dist/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
  10. package/dist/chunks/icon_constants-VEA0wI5C.js.map +1 -0
  11. package/dist/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
  12. package/dist/chunks/{index-gj1jEXP4.js.map → index-DyqUqjvI.js.map} +1 -1
  13. package/dist/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
  14. package/dist/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
  15. package/dist/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
  16. package/dist/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
  17. package/dist/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
  18. package/dist/chunks/{index-eJ-WWRdf.js.map → index-mBWay1Qb.js.map} +1 -1
  19. package/dist/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
  20. package/dist/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
  21. package/dist/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
  22. package/dist/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
  23. package/dist/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
  24. package/dist/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
  25. package/dist/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
  26. package/dist/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
  27. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  28. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  29. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  30. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  31. package/dist/chunks/link_constants-AfTWrr-n.js.map +1 -1
  32. package/dist/chunks/link_constants-x8NwdqmA.js.map +1 -1
  33. package/dist/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  34. package/dist/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  35. package/dist/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  36. package/dist/chunks/{modal-XOr4kiNZ.js.map → modal-8X6poIZW.js.map} +1 -1
  37. package/dist/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  38. package/dist/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  39. package/dist/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
  40. package/dist/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
  41. package/dist/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
  42. package/dist/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.js.map} +1 -1
  43. package/dist/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  44. package/dist/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  45. package/dist/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  46. package/dist/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  47. package/dist/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  48. package/dist/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  49. package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
  50. package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
  51. package/dist/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
  52. package/dist/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.js.map} +1 -1
  53. package/dist/chunks/stack_constants-HraCekPm.js.map +1 -1
  54. package/dist/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  55. package/dist/chunks/{tab-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
  56. package/dist/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
  57. package/dist/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
  58. package/dist/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.js.map} +1 -1
  59. package/dist/common/constants.cjs.map +1 -1
  60. package/dist/common/constants.js.map +1 -1
  61. package/dist/common/dates.cjs +3 -1
  62. package/dist/common/dates.cjs.map +1 -1
  63. package/dist/common/dates.js +3 -1
  64. package/dist/common/dates.js.map +1 -1
  65. package/dist/common/emoji.cjs +1 -1
  66. package/dist/common/emoji.js +1 -1
  67. package/dist/common/mixins.cjs +3 -3
  68. package/dist/common/mixins.js +3 -3
  69. package/dist/common/utils.cjs +8 -44
  70. package/dist/common/utils.cjs.map +1 -1
  71. package/dist/common/utils.js +8 -44
  72. package/dist/common/utils.js.map +1 -1
  73. package/dist/common/validators.cjs.map +1 -1
  74. package/dist/common/validators.js.map +1 -1
  75. package/dist/component-documentation.json +1 -1
  76. package/dist/dialtone-vue.cjs +12 -12
  77. package/dist/dialtone-vue.js +12 -12
  78. package/dist/lib/attachment-carousel.cjs +172 -48
  79. package/dist/lib/attachment-carousel.cjs.map +1 -1
  80. package/dist/lib/attachment-carousel.js +172 -48
  81. package/dist/lib/attachment-carousel.js.map +1 -1
  82. package/dist/lib/avatar.cjs +75 -58
  83. package/dist/lib/avatar.cjs.map +1 -1
  84. package/dist/lib/avatar.js +75 -58
  85. package/dist/lib/avatar.js.map +1 -1
  86. package/dist/lib/badge.cjs +31 -20
  87. package/dist/lib/badge.cjs.map +1 -1
  88. package/dist/lib/badge.js +31 -20
  89. package/dist/lib/badge.js.map +1 -1
  90. package/dist/lib/banner.cjs +53 -29
  91. package/dist/lib/banner.cjs.map +1 -1
  92. package/dist/lib/banner.js +53 -29
  93. package/dist/lib/banner.js.map +1 -1
  94. package/dist/lib/breadcrumbs.cjs +36 -30
  95. package/dist/lib/breadcrumbs.cjs.map +1 -1
  96. package/dist/lib/breadcrumbs.js +36 -30
  97. package/dist/lib/breadcrumbs.js.map +1 -1
  98. package/dist/lib/button-group.cjs +7 -14
  99. package/dist/lib/button-group.cjs.map +1 -1
  100. package/dist/lib/button-group.js +7 -14
  101. package/dist/lib/button-group.js.map +1 -1
  102. package/dist/lib/button.cjs +55 -62
  103. package/dist/lib/button.cjs.map +1 -1
  104. package/dist/lib/button.js +55 -62
  105. package/dist/lib/button.js.map +1 -1
  106. package/dist/lib/callbar-button-with-popover.cjs +91 -23
  107. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  108. package/dist/lib/callbar-button-with-popover.js +91 -23
  109. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  110. package/dist/lib/callbar-button.cjs +49 -33
  111. package/dist/lib/callbar-button.cjs.map +1 -1
  112. package/dist/lib/callbar-button.js +49 -33
  113. package/dist/lib/callbar-button.js.map +1 -1
  114. package/dist/lib/callbox.cjs +78 -15
  115. package/dist/lib/callbox.cjs.map +1 -1
  116. package/dist/lib/callbox.js +78 -15
  117. package/dist/lib/callbox.js.map +1 -1
  118. package/dist/lib/card.cjs +16 -23
  119. package/dist/lib/card.cjs.map +1 -1
  120. package/dist/lib/card.js +16 -23
  121. package/dist/lib/card.js.map +1 -1
  122. package/dist/lib/checkbox-group.cjs +3 -15
  123. package/dist/lib/checkbox-group.cjs.map +1 -1
  124. package/dist/lib/checkbox-group.js +3 -15
  125. package/dist/lib/checkbox-group.js.map +1 -1
  126. package/dist/lib/checkbox.cjs +52 -16
  127. package/dist/lib/checkbox.cjs.map +1 -1
  128. package/dist/lib/checkbox.js +52 -16
  129. package/dist/lib/checkbox.js.map +1 -1
  130. package/dist/lib/chip.cjs +58 -26
  131. package/dist/lib/chip.cjs.map +1 -1
  132. package/dist/lib/chip.js +58 -26
  133. package/dist/lib/chip.js.map +1 -1
  134. package/dist/lib/codeblock.cjs +4 -11
  135. package/dist/lib/codeblock.cjs.map +1 -1
  136. package/dist/lib/codeblock.js +4 -11
  137. package/dist/lib/codeblock.js.map +1 -1
  138. package/dist/lib/collapsible.cjs +91 -34
  139. package/dist/lib/collapsible.cjs.map +1 -1
  140. package/dist/lib/collapsible.js +91 -34
  141. package/dist/lib/collapsible.js.map +1 -1
  142. package/dist/lib/combobox-multi-select.cjs +131 -38
  143. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  144. package/dist/lib/combobox-multi-select.js +131 -38
  145. package/dist/lib/combobox-multi-select.js.map +1 -1
  146. package/dist/lib/combobox-with-popover.cjs +130 -39
  147. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  148. package/dist/lib/combobox-with-popover.js +130 -39
  149. package/dist/lib/combobox-with-popover.js.map +1 -1
  150. package/dist/lib/combobox.cjs +3 -3
  151. package/dist/lib/combobox.js +3 -3
  152. package/dist/lib/contact-centers-row.cjs +86 -29
  153. package/dist/lib/contact-centers-row.cjs.map +1 -1
  154. package/dist/lib/contact-centers-row.js +86 -29
  155. package/dist/lib/contact-centers-row.js.map +1 -1
  156. package/dist/lib/contact-info.cjs +95 -24
  157. package/dist/lib/contact-info.cjs.map +1 -1
  158. package/dist/lib/contact-info.js +95 -24
  159. package/dist/lib/contact-info.js.map +1 -1
  160. package/dist/lib/contact-row.cjs +61 -18
  161. package/dist/lib/contact-row.cjs.map +1 -1
  162. package/dist/lib/contact-row.js +61 -18
  163. package/dist/lib/contact-row.js.map +1 -1
  164. package/dist/lib/datepicker.cjs +361 -102
  165. package/dist/lib/datepicker.cjs.map +1 -1
  166. package/dist/lib/datepicker.js +361 -102
  167. package/dist/lib/datepicker.js.map +1 -1
  168. package/dist/lib/description-list.cjs +11 -12
  169. package/dist/lib/description-list.cjs.map +1 -1
  170. package/dist/lib/description-list.js +11 -12
  171. package/dist/lib/description-list.js.map +1 -1
  172. package/dist/lib/dropdown.cjs +13 -17
  173. package/dist/lib/dropdown.cjs.map +1 -1
  174. package/dist/lib/dropdown.js +13 -17
  175. package/dist/lib/dropdown.js.map +1 -1
  176. package/dist/lib/editor.cjs +409 -109
  177. package/dist/lib/editor.cjs.map +1 -1
  178. package/dist/lib/editor.js +409 -109
  179. package/dist/lib/editor.js.map +1 -1
  180. package/dist/lib/emoji-picker.cjs +512 -234
  181. package/dist/lib/emoji-picker.cjs.map +1 -1
  182. package/dist/lib/emoji-picker.js +512 -234
  183. package/dist/lib/emoji-picker.js.map +1 -1
  184. package/dist/lib/emoji-row.cjs +69 -31
  185. package/dist/lib/emoji-row.cjs.map +1 -1
  186. package/dist/lib/emoji-row.js +69 -31
  187. package/dist/lib/emoji-row.js.map +1 -1
  188. package/dist/lib/emoji-text-wrapper.cjs +14 -22
  189. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  190. package/dist/lib/emoji-text-wrapper.js +14 -22
  191. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  192. package/dist/lib/emoji.cjs +40 -13
  193. package/dist/lib/emoji.cjs.map +1 -1
  194. package/dist/lib/emoji.js +40 -13
  195. package/dist/lib/emoji.js.map +1 -1
  196. package/dist/lib/empty-state.cjs +27 -12
  197. package/dist/lib/empty-state.cjs.map +1 -1
  198. package/dist/lib/empty-state.js +27 -12
  199. package/dist/lib/empty-state.js.map +1 -1
  200. package/dist/lib/feed-item-row.cjs +106 -27
  201. package/dist/lib/feed-item-row.cjs.map +1 -1
  202. package/dist/lib/feed-item-row.js +106 -27
  203. package/dist/lib/feed-item-row.js.map +1 -1
  204. package/dist/lib/feed-pill.cjs +90 -35
  205. package/dist/lib/feed-pill.cjs.map +1 -1
  206. package/dist/lib/feed-pill.js +90 -35
  207. package/dist/lib/feed-pill.js.map +1 -1
  208. package/dist/lib/general-row.cjs +184 -75
  209. package/dist/lib/general-row.cjs.map +1 -1
  210. package/dist/lib/general-row.js +184 -75
  211. package/dist/lib/general-row.js.map +1 -1
  212. package/dist/lib/group-row.cjs +27 -16
  213. package/dist/lib/group-row.cjs.map +1 -1
  214. package/dist/lib/group-row.js +27 -16
  215. package/dist/lib/group-row.js.map +1 -1
  216. package/dist/lib/grouped-chip.cjs +68 -20
  217. package/dist/lib/grouped-chip.cjs.map +1 -1
  218. package/dist/lib/grouped-chip.js +68 -20
  219. package/dist/lib/grouped-chip.js.map +1 -1
  220. package/dist/lib/hovercard.cjs +71 -41
  221. package/dist/lib/hovercard.cjs.map +1 -1
  222. package/dist/lib/hovercard.js +71 -41
  223. package/dist/lib/hovercard.js.map +1 -1
  224. package/dist/lib/icon.cjs +10 -12
  225. package/dist/lib/icon.cjs.map +1 -1
  226. package/dist/lib/icon.js +10 -12
  227. package/dist/lib/icon.js.map +1 -1
  228. package/dist/lib/illustration.cjs +9 -12
  229. package/dist/lib/illustration.cjs.map +1 -1
  230. package/dist/lib/illustration.js +9 -12
  231. package/dist/lib/illustration.js.map +1 -1
  232. package/dist/lib/image-viewer.cjs +98 -23
  233. package/dist/lib/image-viewer.cjs.map +1 -1
  234. package/dist/lib/image-viewer.js +98 -23
  235. package/dist/lib/image-viewer.js.map +1 -1
  236. package/dist/lib/input-group.cjs +24 -14
  237. package/dist/lib/input-group.cjs.map +1 -1
  238. package/dist/lib/input-group.js +24 -14
  239. package/dist/lib/input-group.js.map +1 -1
  240. package/dist/lib/input.cjs +108 -40
  241. package/dist/lib/input.cjs.map +1 -1
  242. package/dist/lib/input.js +108 -40
  243. package/dist/lib/input.js.map +1 -1
  244. package/dist/lib/item-layout.cjs +42 -11
  245. package/dist/lib/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout.js +42 -11
  247. package/dist/lib/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node.cjs +135 -47
  249. package/dist/lib/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node.js +135 -47
  251. package/dist/lib/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut.cjs +35 -23
  253. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut.js +35 -23
  255. package/dist/lib/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/lazy-show.cjs +15 -11
  257. package/dist/lib/lazy-show.cjs.map +1 -1
  258. package/dist/lib/lazy-show.js +15 -11
  259. package/dist/lib/lazy-show.js.map +1 -1
  260. package/dist/lib/link.cjs +9 -15
  261. package/dist/lib/link.cjs.map +1 -1
  262. package/dist/lib/link.js +9 -15
  263. package/dist/lib/link.js.map +1 -1
  264. package/dist/lib/list-item-group.cjs +17 -11
  265. package/dist/lib/list-item-group.cjs.map +1 -1
  266. package/dist/lib/list-item-group.js +17 -11
  267. package/dist/lib/list-item-group.js.map +1 -1
  268. package/dist/lib/list-item.cjs +42 -23
  269. package/dist/lib/list-item.cjs.map +1 -1
  270. package/dist/lib/list-item.js +42 -23
  271. package/dist/lib/list-item.js.map +1 -1
  272. package/dist/lib/message-input.cjs +367 -97
  273. package/dist/lib/message-input.cjs.map +1 -1
  274. package/dist/lib/message-input.js +367 -97
  275. package/dist/lib/message-input.js.map +1 -1
  276. package/dist/lib/modal.cjs +94 -36
  277. package/dist/lib/modal.cjs.map +1 -1
  278. package/dist/lib/modal.js +94 -36
  279. package/dist/lib/modal.js.map +1 -1
  280. package/dist/lib/notice.cjs +40 -21
  281. package/dist/lib/notice.cjs.map +1 -1
  282. package/dist/lib/notice.js +40 -21
  283. package/dist/lib/notice.js.map +1 -1
  284. package/dist/lib/pagination.cjs +81 -20
  285. package/dist/lib/pagination.cjs.map +1 -1
  286. package/dist/lib/pagination.js +81 -20
  287. package/dist/lib/pagination.js.map +1 -1
  288. package/dist/lib/popover.cjs +194 -75
  289. package/dist/lib/popover.cjs.map +1 -1
  290. package/dist/lib/popover.js +195 -76
  291. package/dist/lib/popover.js.map +1 -1
  292. package/dist/lib/presence.cjs +23 -22
  293. package/dist/lib/presence.cjs.map +1 -1
  294. package/dist/lib/presence.js +23 -22
  295. package/dist/lib/presence.js.map +1 -1
  296. package/dist/lib/radio-group.cjs +2 -11
  297. package/dist/lib/radio-group.cjs.map +1 -1
  298. package/dist/lib/radio-group.js +2 -11
  299. package/dist/lib/radio-group.js.map +1 -1
  300. package/dist/lib/radio.cjs +47 -15
  301. package/dist/lib/radio.cjs.map +1 -1
  302. package/dist/lib/radio.js +47 -15
  303. package/dist/lib/radio.js.map +1 -1
  304. package/dist/lib/rich-text-editor.cjs +340 -327
  305. package/dist/lib/rich-text-editor.cjs.map +1 -1
  306. package/dist/lib/rich-text-editor.js +340 -327
  307. package/dist/lib/rich-text-editor.js.map +1 -1
  308. package/dist/lib/root-layout.cjs +33 -15
  309. package/dist/lib/root-layout.cjs.map +1 -1
  310. package/dist/lib/root-layout.js +33 -15
  311. package/dist/lib/root-layout.js.map +1 -1
  312. package/dist/lib/scrollbar-directive.cjs.map +1 -1
  313. package/dist/lib/scrollbar-directive.js.map +1 -1
  314. package/dist/lib/select-menu.cjs +52 -33
  315. package/dist/lib/select-menu.cjs.map +1 -1
  316. package/dist/lib/select-menu.js +52 -33
  317. package/dist/lib/select-menu.js.map +1 -1
  318. package/dist/lib/settings-menu-button.cjs +42 -16
  319. package/dist/lib/settings-menu-button.cjs.map +1 -1
  320. package/dist/lib/settings-menu-button.js +42 -16
  321. package/dist/lib/settings-menu-button.js.map +1 -1
  322. package/dist/lib/skeleton.cjs +118 -93
  323. package/dist/lib/skeleton.cjs.map +1 -1
  324. package/dist/lib/skeleton.js +118 -93
  325. package/dist/lib/skeleton.js.map +1 -1
  326. package/dist/lib/split-button.cjs +164 -64
  327. package/dist/lib/split-button.cjs.map +1 -1
  328. package/dist/lib/split-button.js +164 -64
  329. package/dist/lib/split-button.js.map +1 -1
  330. package/dist/lib/stack.cjs +21 -33
  331. package/dist/lib/stack.cjs.map +1 -1
  332. package/dist/lib/stack.js +21 -33
  333. package/dist/lib/stack.js.map +1 -1
  334. package/dist/lib/tabs.cjs +20 -13
  335. package/dist/lib/tabs.cjs.map +1 -1
  336. package/dist/lib/tabs.js +20 -13
  337. package/dist/lib/tabs.js.map +1 -1
  338. package/dist/lib/time-pill.cjs +8 -11
  339. package/dist/lib/time-pill.cjs.map +1 -1
  340. package/dist/lib/time-pill.js +8 -11
  341. package/dist/lib/time-pill.js.map +1 -1
  342. package/dist/lib/toast.cjs +42 -21
  343. package/dist/lib/toast.cjs.map +1 -1
  344. package/dist/lib/toast.js +42 -21
  345. package/dist/lib/toast.js.map +1 -1
  346. package/dist/lib/toggle.cjs +28 -24
  347. package/dist/lib/toggle.cjs.map +1 -1
  348. package/dist/lib/toggle.js +28 -24
  349. package/dist/lib/toggle.js.map +1 -1
  350. package/dist/lib/tooltip-directive.cjs +32 -26
  351. package/dist/lib/tooltip-directive.cjs.map +1 -1
  352. package/dist/lib/tooltip-directive.js +32 -26
  353. package/dist/lib/tooltip-directive.js.map +1 -1
  354. package/dist/lib/tooltip.cjs +31 -21
  355. package/dist/lib/tooltip.cjs.map +1 -1
  356. package/dist/lib/tooltip.js +32 -22
  357. package/dist/lib/tooltip.js.map +1 -1
  358. package/dist/lib/top-banner-info.cjs +18 -21
  359. package/dist/lib/top-banner-info.cjs.map +1 -1
  360. package/dist/lib/top-banner-info.js +18 -21
  361. package/dist/lib/top-banner-info.js.map +1 -1
  362. package/dist/lib/unread-pill.cjs +18 -12
  363. package/dist/lib/unread-pill.cjs.map +1 -1
  364. package/dist/lib/unread-pill.js +18 -12
  365. package/dist/lib/unread-pill.js.map +1 -1
  366. package/dist/lib/validation-messages.cjs +23 -16
  367. package/dist/lib/validation-messages.cjs.map +1 -1
  368. package/dist/lib/validation-messages.js +23 -16
  369. package/dist/lib/validation-messages.js.map +1 -1
  370. package/dist/style.css +5 -0
  371. package/dist/types/common/emoji/index.d.ts +2 -59236
  372. package/dist/types/common/emoji/index.d.ts.map +1 -1
  373. package/dist/types/components/button/button.vue.d.ts +1 -1
  374. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  375. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  376. package/dist/types/components/icon/icon.vue.d.ts +2 -2
  377. package/dist/types/components/icon/icon_constants.d.ts +1 -1
  378. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  379. package/dist/types/components/illustration/illustration.vue.d.ts +2 -2
  380. package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
  381. package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
  382. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  383. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  384. package/dist/types/components/input/input.vue.d.ts +1 -1
  385. package/dist/types/components/modal/modal.vue.d.ts +1 -1
  386. package/dist/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -1
  387. package/dist/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  388. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -3
  389. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  390. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  391. package/dist/types/components/toast/toast.vue.d.ts +1 -1
  392. package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
  393. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  394. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  395. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  396. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  397. package/package.json +5 -4
  398. package/dist/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  399. package/dist/chunks/icon_constants-QYpmdE0R.js.map +0 -1
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const Vue = require("vue");
4
4
  const common_constants = require("../common/constants.cjs");
5
5
  const common_utils = require("../common/utils.cjs");
6
- const input = require("../chunks/input-Axw-wFj2.js");
6
+ const input = require("../chunks/input-Hqw33WBe.js");
7
7
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
8
8
  const lib_validationMessages = require("./validation-messages.cjs");
9
9
  require("../common/validators.cjs");
@@ -51,7 +51,9 @@ const optionsValidator = (options) => {
51
51
  };
52
52
  const _sfc_main = {
53
53
  name: "DtSelectMenu",
54
- components: { DtValidationMessages: lib_validationMessages.DtValidationMessages },
54
+ components: {
55
+ DtValidationMessages: lib_validationMessages.DtValidationMessages
56
+ },
55
57
  mixins: [input.MessagesMixin],
56
58
  inheritAttrs: false,
57
59
  props: {
@@ -239,43 +241,60 @@ const _sfc_main = {
239
241
  };
240
242
  var _sfc_render = function render() {
241
243
  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() {
244
+ return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({
245
+ class: ["d-label", _vm.LABEL_SIZE_MODIFIERS[_vm.size], _vm.labelClass],
246
+ attrs: {
247
+ "aria-details": _vm.labelAriaDetails,
248
+ "data-qa": "dt-select-label"
249
+ }
250
+ }, "div", _vm.labelChildProps, false), [_vm._t("label", function() {
247
251
  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() {
252
+ })], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({
253
+ class: ["d-description", _vm.DESCRIPTION_SIZE_MODIFIERS[_vm.size], _vm.descriptionClass],
254
+ attrs: {
255
+ "id": _vm.descriptionKey,
256
+ "data-qa": "dt-select-description"
257
+ }
258
+ }, "div", _vm.descriptionChildProps, false), [_vm._t("description", function() {
253
259
  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() {
260
+ })], 2) : _vm._e(), _c("div", {
261
+ class: ["d-select", _vm.SELECT_SIZE_MODIFIERS[_vm.size], _vm.selectClass, {
262
+ "d-select--disabled": _vm.disabled
263
+ }],
264
+ attrs: {
265
+ "data-qa": "dt-select-wrapper"
266
+ }
267
+ }, [_c("select", _vm._g(_vm._b({
268
+ ref: "selectElement",
269
+ class: ["d-select__input", _vm.SELECT_STATE_MODIFIERS[_vm.state]],
270
+ attrs: {
271
+ "data-qa": "dt-select",
272
+ "disabled": _vm.disabled
273
+ },
274
+ domProps: {
275
+ "value": _vm.value
276
+ }
277
+ }, "select", _vm.$attrs, false), _vm.selectListeners), [_vm._t("default", function() {
263
278
  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) + " ")]);
279
+ return _c("option", _vm._b({
280
+ key: _vm.getOptionKey(option.value),
281
+ class: _vm.optionClass,
282
+ domProps: {
283
+ "value": option.value
284
+ }
285
+ }, "option", _vm.optionChildProps, false), [_vm._v(" " + _vm._s(option.label) + " ")]);
265
286
  });
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);
287
+ })], 2)])]), _c("dt-validation-messages", _vm._b({
288
+ class: _vm.messagesClass,
289
+ attrs: {
290
+ "validation-messages": _vm.formattedMessages,
291
+ "show-messages": _vm.showMessages,
292
+ "data-qa": "dt-select-messages"
293
+ }
294
+ }, "dt-validation-messages", _vm.messagesChildProps, false))], 1);
267
295
  };
268
296
  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
- );
297
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
279
298
  const select_menu = __component__.exports;
280
299
  exports.DtSelectMenu = select_menu;
281
300
  exports.SELECT_SIZE_MODIFIERS = SELECT_SIZE_MODIFIERS;
@@ -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":["DtValidationMessages","MessagesMixin","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","getValidationState","getUniqueString"],"mappings":";;;;;;;;;AAAY,MAAC,wBAAwB;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;ACZA,MAAM,sBAAsB,YAAU,CAAC,OAAO,SAAS,OAAO,OAAO,UAAU;AAE/E,MAAM,sBAAsB,YAAU;AACpC,MAAI,CAAC,OAAO,OAAO;AACjB,WAAO;AAAA,EACR;AAED,SAAO,OAAO,OAAO,UAAU,YAAY,OAAO,OAAO,UAAU;AACrE;AAEA,MAAM,sBAAsB,YAAU;AACpC,MAAI,CAAC,OAAO,OAAO;AACjB,WAAO;AAAA,EACR;AAED,SAAO,OAAO,OAAO,UAAU;AACjC;AAEO,MAAM,mBAAmB,aAAW;AACzC,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACR;AAED,SAAO,QAAQ,MAAM,YAAU;AAC7B,QAAI,CAAC,oBAAoB,MAAM,GAAG;AAChC,aAAO;AAAA,IACR;AAED,QAAI,CAAC,oBAAoB,MAAM,GAAG;AAChC,aAAO;AAAA,IACR;AAED,QAAI,CAAC,oBAAoB,MAAM,GAAG;AAChC,aAAO;AAAA,IACR;AAED,WAAO;AAAA,EACX,CAAG;AACH;ACgEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAAA,sBAAAA,uBAAAA,qBAAA;AAAA,EAEA,QAAA,CAAAC,MAAAA,aAAA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,MACA,WAAA,aAAA,iBAAA,OAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,qBAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,uBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,sBAAAC,iBAAA;AAAA,MACA,4BAAAC,iBAAA;AAAA,MACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAKA,GAAA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMA,OAAA,MAAA;AAAA,QAAA;AAAA,QACA,QAAA,WAAA,KAAA,UAAA,MAAA,OAAA,OAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,aAAAC,aAAA,mBAAA,KAAA,iBAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAAC,aAAA,gBAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,UAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,mBAAA;AACA,UAAA,KAAA,OAAA,eAAA,KAAA,aAAA;AACA,eAAA,KAAA;AAAA,MACA;AAEA,aAAA,KAAA,OAAA,cAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,SAAA,wBAAA;AAAA,EACA;AAAA,EAEA,eAAA;AACA,SAAA,wBAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,UAAA,OAAA,OAAA;AACA,WAAA,MAAA,SAAA,OAAA,KAAA;AACA,WAAA,MAAA,UAAA,OAAA,KAAA;AAAA,IACA;AAAA,IAEA,aAAA,OAAA;AACA,aAAA,UAAA,KAAA,SAAA,WAAA,KAAA;AAAA,IACA;AAAA,IAEA,0BAAA;;AACA,YAAA,UAAA,YAAA,mBAAA,UAAA,KAAA,CAAA,KAAA,OAAA,SAAA;AACA,YAAA,KAAA,KAAA,wDAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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","xs","sm","md","lg","xl","SELECT_STATE_MODIFIERS","error","warning","success","hasValidOptionIndex","option","index","hasValidOptionValue","value","hasValidOptionLabel","label","optionsValidator","options","every","_sfc_main","name","components","DtValidationMessages","mixins","MessagesMixin","inheritAttrs","props","type","String","default","description","Array","validator","size","s","Object","keys","includes","labelClass","descriptionClass","selectClass","optionClass","labelChildProps","descriptionChildProps","optionChildProps","disabled","Boolean","emits","data","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","computed","selectListeners","$listeners","input","change","event","emitValue","target","state","getValidationState","formattedMessages","selectKey","getUniqueString","descriptionKey","labelAriaDetails","$slots","$attrs","mounted","validateOptionsPresence","beforeUpdate","methods","$emit","getOptionKey","length","Vue","util","warn"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import Vue from "vue";
2
2
  import { LABEL_SIZE_MODIFIERS, DESCRIPTION_SIZE_MODIFIERS } from "../common/constants.js";
3
3
  import { getValidationState, getUniqueString } from "../common/utils.js";
4
- import { MessagesMixin } from "../chunks/input-6kbd8Pju.js";
4
+ import { MessagesMixin } from "../chunks/input-PhJeBN6r.js";
5
5
  import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
6
6
  import { DtValidationMessages } from "./validation-messages.js";
7
7
  import "../common/validators.js";
@@ -49,7 +49,9 @@ const optionsValidator = (options) => {
49
49
  };
50
50
  const _sfc_main = {
51
51
  name: "DtSelectMenu",
52
- components: { DtValidationMessages },
52
+ components: {
53
+ DtValidationMessages
54
+ },
53
55
  mixins: [MessagesMixin],
54
56
  inheritAttrs: false,
55
57
  props: {
@@ -237,43 +239,60 @@ const _sfc_main = {
237
239
  };
238
240
  var _sfc_render = function render() {
239
241
  var _vm = this, _c = _vm._self._c;
240
- return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({ class: [
241
- "d-label",
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() {
242
+ return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({
243
+ class: ["d-label", _vm.LABEL_SIZE_MODIFIERS[_vm.size], _vm.labelClass],
244
+ attrs: {
245
+ "aria-details": _vm.labelAriaDetails,
246
+ "data-qa": "dt-select-label"
247
+ }
248
+ }, "div", _vm.labelChildProps, false), [_vm._t("label", function() {
245
249
  return [_vm._v(_vm._s(_vm.label))];
246
- })], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({ class: [
247
- "d-description",
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() {
250
+ })], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({
251
+ class: ["d-description", _vm.DESCRIPTION_SIZE_MODIFIERS[_vm.size], _vm.descriptionClass],
252
+ attrs: {
253
+ "id": _vm.descriptionKey,
254
+ "data-qa": "dt-select-description"
255
+ }
256
+ }, "div", _vm.descriptionChildProps, false), [_vm._t("description", function() {
251
257
  return [_vm._v(_vm._s(_vm.description))];
252
- })], 2) : _vm._e(), _c("div", { class: [
253
- "d-select",
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: [
258
- "d-select__input",
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() {
258
+ })], 2) : _vm._e(), _c("div", {
259
+ class: ["d-select", _vm.SELECT_SIZE_MODIFIERS[_vm.size], _vm.selectClass, {
260
+ "d-select--disabled": _vm.disabled
261
+ }],
262
+ attrs: {
263
+ "data-qa": "dt-select-wrapper"
264
+ }
265
+ }, [_c("select", _vm._g(_vm._b({
266
+ ref: "selectElement",
267
+ class: ["d-select__input", _vm.SELECT_STATE_MODIFIERS[_vm.state]],
268
+ attrs: {
269
+ "data-qa": "dt-select",
270
+ "disabled": _vm.disabled
271
+ },
272
+ domProps: {
273
+ "value": _vm.value
274
+ }
275
+ }, "select", _vm.$attrs, false), _vm.selectListeners), [_vm._t("default", function() {
261
276
  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) + " ")]);
277
+ return _c("option", _vm._b({
278
+ key: _vm.getOptionKey(option.value),
279
+ class: _vm.optionClass,
280
+ domProps: {
281
+ "value": option.value
282
+ }
283
+ }, "option", _vm.optionChildProps, false), [_vm._v(" " + _vm._s(option.label) + " ")]);
263
284
  });
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);
285
+ })], 2)])]), _c("dt-validation-messages", _vm._b({
286
+ class: _vm.messagesClass,
287
+ attrs: {
288
+ "validation-messages": _vm.formattedMessages,
289
+ "show-messages": _vm.showMessages,
290
+ "data-qa": "dt-select-messages"
291
+ }
292
+ }, "dt-validation-messages", _vm.messagesChildProps, false))], 1);
265
293
  };
266
294
  var _sfc_staticRenderFns = [];
267
- var __component__ = /* @__PURE__ */ normalizeComponent(
268
- _sfc_main,
269
- _sfc_render,
270
- _sfc_staticRenderFns,
271
- false,
272
- null,
273
- null,
274
- null,
275
- null
276
- );
295
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
277
296
  const select_menu = __component__.exports;
278
297
  export {
279
298
  select_menu as DtSelectMenu,
@@ -1 +1 @@
1
- {"version":3,"file":"select-menu.js","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":[],"mappings":"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"}
1
+ {"version":3,"file":"select-menu.js","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","xs","sm","md","lg","xl","SELECT_STATE_MODIFIERS","error","warning","success","hasValidOptionIndex","option","index","hasValidOptionValue","value","hasValidOptionLabel","label","optionsValidator","options","every","_sfc_main","name","components","DtValidationMessages","mixins","MessagesMixin","inheritAttrs","props","type","String","default","description","Array","validator","size","s","Object","keys","includes","labelClass","descriptionClass","selectClass","optionClass","labelChildProps","descriptionChildProps","optionChildProps","disabled","Boolean","emits","data","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","computed","selectListeners","$listeners","input","change","event","emitValue","target","state","getValidationState","formattedMessages","selectKey","getUniqueString","descriptionKey","labelAriaDetails","$slots","$attrs","mounted","validateOptionsPresence","beforeUpdate","methods","$emit","getOptionKey","length","Vue","util","warn"],"mappings":"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"}
@@ -6,7 +6,7 @@ const lib_icon = require("./icon.cjs");
6
6
  require("vue");
7
7
  require("../chunks/link_constants-x8NwdqmA.js");
8
8
  require("@dialpad/dialtone-icons/vue2");
9
- require("../chunks/icon_constants-QYpmdE0R.js");
9
+ require("../chunks/icon_constants-VEA0wI5C.js");
10
10
  require("@dialpad/dialtone-icons/icons.json");
11
11
  const _sfc_main = {
12
12
  name: "DtRecipeSettingsMenuButton",
@@ -44,23 +44,49 @@ const _sfc_main = {
44
44
  };
45
45
  var _sfc_render = function render() {
46
46
  var _vm = this, _c = _vm._self._c;
47
- return _vm.updateAvailable ? _c("dt-button", _vm._g({ staticClass: "settings-menu-button-update", attrs: { "importance": "outlined", "size": "xs", "icon-position": "right", "aria-label": _vm.ariaLabel }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
48
- return [_c("dt-icon", { attrs: { "name": "more-vertical", "size": "300" } })];
49
- }, proxy: true }], null, false, 3418040308) }, _vm.$listeners), [_vm._t("default")], 2) : _c("dt-button", _vm._g({ staticClass: "settings-menu-button", attrs: { "importance": "clear", "kind": "inverted", "aria-label": _vm.ariaLabel }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
50
- return [_c("dt-icon", { attrs: { "name": "more-vertical", "size": "300" } })];
51
- }, proxy: true }]) }, _vm.$listeners));
47
+ return _vm.updateAvailable ? _c("dt-button", _vm._g({
48
+ staticClass: "settings-menu-button-update",
49
+ attrs: {
50
+ "importance": "outlined",
51
+ "size": "xs",
52
+ "icon-position": "right",
53
+ "aria-label": _vm.ariaLabel
54
+ },
55
+ scopedSlots: _vm._u([{
56
+ key: "icon",
57
+ fn: function() {
58
+ return [_c("dt-icon", {
59
+ attrs: {
60
+ "name": "more-vertical",
61
+ "size": "300"
62
+ }
63
+ })];
64
+ },
65
+ proxy: true
66
+ }], null, false, 3418040308)
67
+ }, _vm.$listeners), [_vm._t("default")], 2) : _c("dt-button", _vm._g({
68
+ staticClass: "settings-menu-button",
69
+ attrs: {
70
+ "importance": "clear",
71
+ "kind": "inverted",
72
+ "aria-label": _vm.ariaLabel
73
+ },
74
+ scopedSlots: _vm._u([{
75
+ key: "icon",
76
+ fn: function() {
77
+ return [_c("dt-icon", {
78
+ attrs: {
79
+ "name": "more-vertical",
80
+ "size": "300"
81
+ }
82
+ })];
83
+ },
84
+ proxy: true
85
+ }])
86
+ }, _vm.$listeners));
52
87
  };
53
88
  var _sfc_staticRenderFns = [];
54
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
55
- _sfc_main,
56
- _sfc_render,
57
- _sfc_staticRenderFns,
58
- false,
59
- null,
60
- "4ee1371d",
61
- null,
62
- null
63
- );
89
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "4ee1371d", null, null);
64
90
  const settings_menu_button = __component__.exports;
65
91
  exports.DtRecipeSettingsMenuButton = settings_menu_button;
66
92
  //# sourceMappingURL=settings-menu-button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-menu-button.cjs","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["DtButton","DtIcon"],"mappings":";;;;;;;;;;AAuCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA,WAAA;AAAA,IACA,QAAAC,SAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAEA;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"settings-menu-button.cjs","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["_sfc_main","name","components","DtButton","DtIcon","props","updateAvailable","type","Boolean","default","ariaLabel","String","required","emits"],"mappings":";;;;;;;;;;AAuCA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,cACAC,WAAA;AAAA,IACAC,QAAAA,SAAAA;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,iBAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAC,WAAA;AAAA,MACAH,MAAAI;AAAAA,MACAC,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EAAA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ import { DtIcon } from "./icon.js";
4
4
  import "vue";
5
5
  import "../chunks/link_constants-AfTWrr-n.js";
6
6
  import "@dialpad/dialtone-icons/vue2";
7
- import "../chunks/icon_constants-Dy4MEUJL.js";
7
+ import "../chunks/icon_constants-TdxqLsS2.js";
8
8
  import "@dialpad/dialtone-icons/icons.json";
9
9
  const _sfc_main = {
10
10
  name: "DtRecipeSettingsMenuButton",
@@ -42,23 +42,49 @@ const _sfc_main = {
42
42
  };
43
43
  var _sfc_render = function render() {
44
44
  var _vm = this, _c = _vm._self._c;
45
- return _vm.updateAvailable ? _c("dt-button", _vm._g({ staticClass: "settings-menu-button-update", attrs: { "importance": "outlined", "size": "xs", "icon-position": "right", "aria-label": _vm.ariaLabel }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
46
- return [_c("dt-icon", { attrs: { "name": "more-vertical", "size": "300" } })];
47
- }, proxy: true }], null, false, 3418040308) }, _vm.$listeners), [_vm._t("default")], 2) : _c("dt-button", _vm._g({ staticClass: "settings-menu-button", attrs: { "importance": "clear", "kind": "inverted", "aria-label": _vm.ariaLabel }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
48
- return [_c("dt-icon", { attrs: { "name": "more-vertical", "size": "300" } })];
49
- }, proxy: true }]) }, _vm.$listeners));
45
+ return _vm.updateAvailable ? _c("dt-button", _vm._g({
46
+ staticClass: "settings-menu-button-update",
47
+ attrs: {
48
+ "importance": "outlined",
49
+ "size": "xs",
50
+ "icon-position": "right",
51
+ "aria-label": _vm.ariaLabel
52
+ },
53
+ scopedSlots: _vm._u([{
54
+ key: "icon",
55
+ fn: function() {
56
+ return [_c("dt-icon", {
57
+ attrs: {
58
+ "name": "more-vertical",
59
+ "size": "300"
60
+ }
61
+ })];
62
+ },
63
+ proxy: true
64
+ }], null, false, 3418040308)
65
+ }, _vm.$listeners), [_vm._t("default")], 2) : _c("dt-button", _vm._g({
66
+ staticClass: "settings-menu-button",
67
+ attrs: {
68
+ "importance": "clear",
69
+ "kind": "inverted",
70
+ "aria-label": _vm.ariaLabel
71
+ },
72
+ scopedSlots: _vm._u([{
73
+ key: "icon",
74
+ fn: function() {
75
+ return [_c("dt-icon", {
76
+ attrs: {
77
+ "name": "more-vertical",
78
+ "size": "300"
79
+ }
80
+ })];
81
+ },
82
+ proxy: true
83
+ }])
84
+ }, _vm.$listeners));
50
85
  };
51
86
  var _sfc_staticRenderFns = [];
52
- var __component__ = /* @__PURE__ */ normalizeComponent(
53
- _sfc_main,
54
- _sfc_render,
55
- _sfc_staticRenderFns,
56
- false,
57
- null,
58
- "4ee1371d",
59
- null,
60
- null
61
- );
87
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "4ee1371d", null, null);
62
88
  const settings_menu_button = __component__.exports;
63
89
  export {
64
90
  settings_menu_button as DtRecipeSettingsMenuButton
@@ -1 +1 @@
1
- {"version":3,"file":"settings-menu-button.js","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;AAuCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAEA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"settings-menu-button.js","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["_sfc_main","name","components","DtButton","DtIcon","props","updateAvailable","type","Boolean","default","ariaLabel","String","required","emits"],"mappings":";;;;;;;;AAuCA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IACAC;AAAAA,IACAC;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,iBAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAC,WAAA;AAAA,MACAH,MAAAI;AAAAA,MACAC,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EAAA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}