@dialpad/dialtone-vue 2.159.0-beta.1 → 2.159.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 (276) hide show
  1. package/dist/common/sr_only_close_button.vue.cjs +3 -3
  2. package/dist/common/sr_only_close_button.vue.cjs.map +1 -1
  3. package/dist/common/sr_only_close_button.vue.js +3 -3
  4. package/dist/common/sr_only_close_button.vue.js.map +1 -1
  5. package/dist/component-documentation.json +1 -1
  6. package/dist/components/badge/badge.vue.cjs +34 -13
  7. package/dist/components/badge/badge.vue.cjs.map +1 -1
  8. package/dist/components/badge/badge.vue.js +34 -13
  9. package/dist/components/badge/badge.vue.js.map +1 -1
  10. package/dist/components/chip/chip.vue.cjs +4 -4
  11. package/dist/components/chip/chip.vue.cjs.map +1 -1
  12. package/dist/components/chip/chip.vue.js +4 -4
  13. package/dist/components/chip/chip.vue.js.map +1 -1
  14. package/dist/components/collapsible/collapsible.vue.cjs +3 -4
  15. package/dist/components/collapsible/collapsible.vue.cjs.map +1 -1
  16. package/dist/components/collapsible/collapsible.vue.js +3 -4
  17. package/dist/components/collapsible/collapsible.vue.js.map +1 -1
  18. package/dist/components/datepicker/modules/month-year-picker.vue.cjs +6 -14
  19. package/dist/components/datepicker/modules/month-year-picker.vue.cjs.map +1 -1
  20. package/dist/components/datepicker/modules/month-year-picker.vue.js +6 -14
  21. package/dist/components/datepicker/modules/month-year-picker.vue.js.map +1 -1
  22. package/dist/components/emoji_picker/modules/emoji_search.vue.cjs +5 -6
  23. package/dist/components/emoji_picker/modules/emoji_search.vue.cjs.map +1 -1
  24. package/dist/components/emoji_picker/modules/emoji_search.vue.js +5 -6
  25. package/dist/components/emoji_picker/modules/emoji_search.vue.js.map +1 -1
  26. package/dist/components/emoji_picker/modules/emoji_tabset.vue.cjs +14 -23
  27. package/dist/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  28. package/dist/components/emoji_picker/modules/emoji_tabset.vue.js +14 -23
  29. package/dist/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  30. package/dist/components/empty_state/empty_state.vue.cjs +80 -20
  31. package/dist/components/empty_state/empty_state.vue.cjs.map +1 -1
  32. package/dist/components/empty_state/empty_state.vue.js +81 -21
  33. package/dist/components/empty_state/empty_state.vue.js.map +1 -1
  34. package/dist/components/empty_state/empty_state_constants.cjs +0 -18
  35. package/dist/components/empty_state/empty_state_constants.cjs.map +1 -1
  36. package/dist/components/empty_state/empty_state_constants.js +0 -18
  37. package/dist/components/empty_state/empty_state_constants.js.map +1 -1
  38. package/dist/components/illustration/illustration.vue.cjs +2 -2
  39. package/dist/components/illustration/illustration.vue.js +2 -2
  40. package/dist/components/image_viewer/image_viewer.vue.cjs +4 -4
  41. package/dist/components/image_viewer/image_viewer.vue.cjs.map +1 -1
  42. package/dist/components/image_viewer/image_viewer.vue.js +4 -4
  43. package/dist/components/image_viewer/image_viewer.vue.js.map +1 -1
  44. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +9 -24
  45. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.cjs.map +1 -1
  46. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.js +7 -22
  47. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.js.map +1 -1
  48. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.cjs +14 -8
  49. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.cjs.map +1 -1
  50. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.js +15 -9
  51. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.js.map +1 -1
  52. package/dist/components/list_item/list_item.vue.cjs +3 -3
  53. package/dist/components/list_item/list_item.vue.cjs.map +1 -1
  54. package/dist/components/list_item/list_item.vue.js +3 -3
  55. package/dist/components/list_item/list_item.vue.js.map +1 -1
  56. package/dist/components/modal/modal.vue.cjs +4 -4
  57. package/dist/components/modal/modal.vue.cjs.map +1 -1
  58. package/dist/components/modal/modal.vue.js +4 -4
  59. package/dist/components/modal/modal.vue.js.map +1 -1
  60. package/dist/components/notice/notice_action.vue.cjs +4 -4
  61. package/dist/components/notice/notice_action.vue.cjs.map +1 -1
  62. package/dist/components/notice/notice_action.vue.js +4 -4
  63. package/dist/components/notice/notice_action.vue.js.map +1 -1
  64. package/dist/components/notice/notice_icon.vue.cjs +8 -12
  65. package/dist/components/notice/notice_icon.vue.cjs.map +1 -1
  66. package/dist/components/notice/notice_icon.vue.js +8 -12
  67. package/dist/components/notice/notice_icon.vue.js.map +1 -1
  68. package/dist/components/pagination/pagination.vue.cjs +5 -11
  69. package/dist/components/pagination/pagination.vue.cjs.map +1 -1
  70. package/dist/components/pagination/pagination.vue.js +5 -11
  71. package/dist/components/pagination/pagination.vue.js.map +1 -1
  72. package/dist/components/popover/popover_header_footer.vue.cjs +4 -4
  73. package/dist/components/popover/popover_header_footer.vue.cjs.map +1 -1
  74. package/dist/components/popover/popover_header_footer.vue.js +4 -4
  75. package/dist/components/popover/popover_header_footer.vue.js.map +1 -1
  76. package/dist/dialtone-vue.cjs +3 -0
  77. package/dist/dialtone-vue.cjs.map +1 -1
  78. package/dist/dialtone-vue.js +5 -2
  79. package/dist/directives/scrollbar/scrollbar.cjs.map +1 -1
  80. package/dist/directives/scrollbar/scrollbar.js.map +1 -1
  81. package/dist/lib/general-row.cjs +1 -0
  82. package/dist/lib/general-row.cjs.map +1 -1
  83. package/dist/lib/general-row.js +2 -1
  84. package/dist/lib/keyboard-shortcut.cjs +2 -0
  85. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  86. package/dist/lib/keyboard-shortcut.js +4 -2
  87. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +5 -5
  88. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  89. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +5 -5
  90. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  91. package/dist/recipes/cards/ivr_node/ivr_node.vue.cjs +5 -25
  92. package/dist/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
  93. package/dist/recipes/cards/ivr_node/ivr_node.vue.js +6 -26
  94. package/dist/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
  95. package/dist/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs +19 -6
  96. package/dist/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs.map +1 -1
  97. package/dist/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js +19 -6
  98. package/dist/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js.map +1 -1
  99. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +4 -5
  100. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
  101. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +4 -5
  102. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
  103. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +3 -3
  104. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
  105. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +3 -3
  106. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
  107. package/dist/recipes/conversation_view/editor/editor.vue.cjs +22 -35
  108. package/dist/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  109. package/dist/recipes/conversation_view/editor/editor.vue.js +22 -35
  110. package/dist/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  111. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs +3 -3
  112. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs.map +1 -1
  113. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js +3 -3
  114. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js.map +1 -1
  115. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +6 -6
  116. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
  117. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.js +6 -6
  118. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
  119. package/dist/recipes/leftbar/general_row/general_row.vue.cjs +7 -8
  120. package/dist/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  121. package/dist/recipes/leftbar/general_row/general_row.vue.js +7 -8
  122. package/dist/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  123. package/dist/recipes/leftbar/general_row/general_row_constants.cjs +17 -0
  124. package/dist/recipes/leftbar/general_row/general_row_constants.cjs.map +1 -1
  125. package/dist/recipes/leftbar/general_row/general_row_constants.js +17 -0
  126. package/dist/recipes/leftbar/general_row/general_row_constants.js.map +1 -1
  127. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +4 -36
  128. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
  129. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +5 -37
  130. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
  131. package/dist/recipes/leftbar/group_row/group_row.vue.cjs +3 -3
  132. package/dist/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  133. package/dist/recipes/leftbar/group_row/group_row.vue.js +3 -3
  134. package/dist/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  135. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.cjs +3 -4
  136. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
  137. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.js +3 -4
  138. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
  139. package/dist/style.css +70 -70
  140. package/dist/types/common/sr_only_close_button.vue.d.ts +1 -1
  141. package/dist/types/components/avatar/avatar.vue.d.ts +1 -1
  142. package/dist/types/components/badge/badge.vue.d.ts +46 -17
  143. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  144. package/dist/types/components/banner/banner.vue.d.ts +1 -1
  145. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +1 -1
  146. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +1 -1
  147. package/dist/types/components/button/button.vue.d.ts +1 -1
  148. package/dist/types/components/button_group/button_group.vue.d.ts +1 -1
  149. package/dist/types/components/button_group/buttons_decorator.vue.d.ts +1 -1
  150. package/dist/types/components/card/card.vue.d.ts +1 -1
  151. package/dist/types/components/checkbox/checkbox.vue.d.ts +1 -1
  152. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +3 -3
  153. package/dist/types/components/checkbox_group/checkboxes_decorator.vue.d.ts +1 -1
  154. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  155. package/dist/types/components/codeblock/codeblock.vue.d.ts +1 -1
  156. package/dist/types/components/collapsible/collapsible.vue.d.ts +1 -1
  157. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  158. package/dist/types/components/collapsible/collapsible_lazy_show.vue.d.ts +1 -1
  159. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  160. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +1 -1
  161. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +1 -1
  162. package/dist/types/components/datepicker/datepicker.vue.d.ts +1 -1
  163. package/dist/types/components/datepicker/modules/calendar.vue.d.ts +1 -1
  164. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  165. package/dist/types/components/description_list/description_list.vue.d.ts +1 -1
  166. package/dist/types/components/dropdown/dropdown.vue.d.ts +2 -2
  167. package/dist/types/components/dropdown/dropdown_list.vue.d.ts +1 -1
  168. package/dist/types/components/dropdown/dropdown_separator.vue.d.ts +1 -1
  169. package/dist/types/components/emoji/emoji.vue.d.ts +1 -1
  170. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +1 -1
  171. package/dist/types/components/emoji_picker/modules/emoji_description.vue.d.ts +1 -1
  172. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +1 -1
  173. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +1 -1
  174. package/dist/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts +1 -1
  175. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts +67 -1
  176. package/dist/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +1 -1
  177. package/dist/types/components/empty_state/empty_state.vue.d.ts +1 -1
  178. package/dist/types/components/empty_state/empty_state_constants.d.ts +0 -27
  179. package/dist/types/components/hovercard/hovercard.vue.d.ts +1 -1
  180. package/dist/types/components/icon/icon.vue.d.ts +1 -1
  181. package/dist/types/components/illustration/illustration.vue.d.ts +1 -1
  182. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +1 -1
  183. package/dist/types/components/input/input.vue.d.ts +1 -1
  184. package/dist/types/components/input_group/decorators/input.vue.d.ts +1 -1
  185. package/dist/types/components/input_group/decorators/inputs.vue.d.ts +1 -1
  186. package/dist/types/components/input_group/input_group.vue.d.ts +2 -2
  187. package/dist/types/components/item_layout/item_layout.vue.d.ts +1 -1
  188. package/dist/types/components/keyboard_shortcut/index.d.ts +1 -1
  189. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +16 -8
  190. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  191. package/dist/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts +11 -0
  192. package/dist/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts.map +1 -1
  193. package/dist/types/components/lazy_show/lazy_show.vue.d.ts +1 -1
  194. package/dist/types/components/link/link.vue.d.ts +1 -1
  195. package/dist/types/components/list_item/list_item.vue.d.ts +2 -2
  196. package/dist/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
  197. package/dist/types/components/modal/modal.vue.d.ts +7 -5
  198. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  199. package/dist/types/components/notice/notice.vue.d.ts +1 -1
  200. package/dist/types/components/notice/notice_action.vue.d.ts +5 -6
  201. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  202. package/dist/types/components/notice/notice_content.vue.d.ts +1 -1
  203. package/dist/types/components/notice/notice_icon.vue.d.ts +2 -2
  204. package/dist/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  205. package/dist/types/components/pagination/pagination.vue.d.ts +1 -1
  206. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  207. package/dist/types/components/popover/popover.vue.d.ts +1 -1
  208. package/dist/types/components/popover/popover_header_footer.vue.d.ts +1 -1
  209. package/dist/types/components/presence/presence.vue.d.ts +1 -1
  210. package/dist/types/components/radio/radio.vue.d.ts +1 -1
  211. package/dist/types/components/radio_group/radio_group.vue.d.ts +3 -3
  212. package/dist/types/components/radio_group/radios_decorator.vue.d.ts +1 -1
  213. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +17 -17
  214. package/dist/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts +1 -1
  215. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +17 -17
  216. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +1 -1
  217. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +17 -17
  218. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +1 -1
  219. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +17 -17
  220. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +1 -1
  221. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +1 -1
  222. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  223. package/dist/types/components/root_layout/root_layout.vue.d.ts +1 -1
  224. package/dist/types/components/select_menu/select_menu.vue.d.ts +1 -1
  225. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
  226. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +1 -1
  227. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +1 -1
  228. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +1 -1
  229. package/dist/types/components/skeleton/skeleton.vue.d.ts +1 -1
  230. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  231. package/dist/types/components/split_button/split_button-omega.vue.d.ts +1 -1
  232. package/dist/types/components/split_button/split_button.vue.d.ts +2 -2
  233. package/dist/types/components/stack/stack.vue.d.ts +1 -1
  234. package/dist/types/components/tabs/tab.vue.d.ts +1 -1
  235. package/dist/types/components/tabs/tab_group.vue.d.ts +1 -1
  236. package/dist/types/components/tabs/tab_panel.vue.d.ts +1 -1
  237. package/dist/types/components/toast/toast.vue.d.ts +1 -1
  238. package/dist/types/components/toggle/toggle.vue.d.ts +1 -1
  239. package/dist/types/components/tooltip/tooltip.vue.d.ts +2 -2
  240. package/dist/types/components/validation_messages/validation_messages.vue.d.ts +1 -1
  241. package/dist/types/directives/scrollbar/scrollbar.d.ts.map +1 -1
  242. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +1 -1
  243. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
  244. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +1 -1
  245. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  246. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +1 -1
  247. package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  248. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  249. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +1 -1
  250. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  251. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +1 -1
  252. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +1 -1
  253. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +9 -9
  254. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  255. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +1 -1
  256. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  257. package/dist/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts +1 -1
  258. package/dist/types/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.d.ts +17 -17
  259. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  260. package/dist/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts +1 -1
  261. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +1 -1
  262. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +1 -1
  263. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +1 -1
  264. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +1 -1
  265. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -1
  266. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
  267. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  268. package/dist/types/recipes/leftbar/general_row/general_row_constants.d.ts +6 -0
  269. package/dist/types/recipes/leftbar/general_row/general_row_constants.d.ts.map +1 -1
  270. package/dist/types/recipes/leftbar/general_row/index.d.ts +1 -1
  271. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +2 -2
  272. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +1 -1
  273. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +1 -1
  274. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  275. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts +1 -1
  276. package/package.json +16 -16
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  const empty_state_constants = require("./empty_state_constants.cjs");
3
3
  const _pluginVue2_normalizer = require("../../_virtual/_plugin-vue2_normalizer.cjs");
4
+ const illustration = require("../illustration/illustration.vue.cjs");
5
+ const icon = require("../icon/icon.vue.cjs");
4
6
  const stack = require("../stack/stack.vue.cjs");
7
+ const illustration_constants = require("../illustration/illustration_constants.cjs");
8
+ const icon_constants = require("../icon/icon_constants.cjs");
5
9
  const _sfc_main = {
6
10
  name: "DtEmptyState",
7
11
  components: {
12
+ DtIllustration: illustration,
13
+ DtIcon: icon,
8
14
  DtStack: stack
9
15
  },
10
16
  props: {
@@ -17,6 +23,28 @@ const _sfc_main = {
17
23
  default: "lg",
18
24
  validator: (s) => Object.keys(empty_state_constants.EMPTY_STATE_SIZE_MODIFIERS).includes(s)
19
25
  },
26
+ /**
27
+ * The illustration name in kebab-case
28
+ * This only displays when size is 'lg' or 'md'
29
+ * This has priority over icon.
30
+ * @type {String}
31
+ */
32
+ illustrationName: {
33
+ type: String,
34
+ default: null,
35
+ validator: (name) => illustration_constants.ILLUSTRATION_NAMES.includes(name)
36
+ },
37
+ /**
38
+ * The icon name in kebab-case
39
+ * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and
40
+ * Will always be shown in 'sm' size.
41
+ * @type {String}
42
+ */
43
+ iconName: {
44
+ type: String,
45
+ default: null,
46
+ validator: (name) => icon_constants.ICON_NAMES.includes(name)
47
+ },
20
48
  /**
21
49
  * Header text
22
50
  * @type {String}
@@ -32,31 +60,36 @@ const _sfc_main = {
32
60
  bodyText: {
33
61
  type: String,
34
62
  default: null
63
+ },
64
+ /**
65
+ * Whether to show the illustration
66
+ * @type {Boolean}
67
+ */
68
+ showIllustration: {
69
+ type: Boolean,
70
+ default: true
35
71
  }
36
72
  },
37
73
  computed: {
38
- hasIcon() {
39
- return this.$scopedSlots.icon && this.$scopedSlots.icon();
40
- },
41
- hasIllustration() {
42
- return this.$scopedSlots.illustration && this.$scopedSlots.illustration();
43
- },
44
- isSmallSize() {
45
- return this.size === "sm";
74
+ /**
75
+ * Illustration will always be shown in lg and md size
76
+ * Illustration will not be shown in sm size
77
+ */
78
+ showIllustrationComponent() {
79
+ return this.illustrationName && this.notSmSize;
46
80
  },
47
81
  /**
48
82
  * Icon will be shown in lg and md size only if illustration is not provided
49
83
  * Icon will always be shown in sm size
50
84
  */
51
85
  showIcon() {
52
- return this.hasIcon && (!this.hasIllustration || this.isSmallSize);
86
+ if (!this.iconName) {
87
+ return false;
88
+ }
89
+ return !(this.illustrationName && this.notSmSize);
53
90
  },
54
- /**
55
- * Illustration will always be shown in lg and md size
56
- * Illustration will not be shown in sm size
57
- */
58
- showIllustration() {
59
- return this.hasIllustration && !this.isSmallSize;
91
+ notSmSize() {
92
+ return this.size !== "sm";
60
93
  },
61
94
  sizeClass() {
62
95
  return empty_state_constants.EMPTY_STATE_SIZE_MODIFIERS[this.size];
@@ -65,24 +98,51 @@ const _sfc_main = {
65
98
  return ["d-empty-state", this.sizeClass];
66
99
  },
67
100
  contentClass() {
68
- return empty_state_constants.EMPTY_STATE_CONTENT_SIZE_MODIFIERS[this.size];
101
+ switch (this.size) {
102
+ case "sm":
103
+ return "d-empty-state__content--sm";
104
+ case "md":
105
+ return "d-empty-state__content--md";
106
+ case "lg":
107
+ return "d-empty-state__content--lg";
108
+ default:
109
+ return "d-empty-state__content--lg";
110
+ }
69
111
  },
70
112
  headlineClass() {
71
- return empty_state_constants.EMPTY_STATE_HEADLINE_SIZE_MODIFIERS[this.size];
113
+ switch (this.size) {
114
+ case "sm":
115
+ return "d-headline--md";
116
+ case "md":
117
+ return "d-headline--xl";
118
+ case "lg":
119
+ return "d-headline--xxl";
120
+ default:
121
+ return "d-headline--xxl";
122
+ }
72
123
  },
73
124
  bodyClass() {
74
- return empty_state_constants.EMPTY_STATE_BODY_SIZE_MODIFIERS[this.size];
125
+ switch (this.size) {
126
+ case "sm":
127
+ return "d-body--sm";
128
+ case "md":
129
+ return "d-body--sm";
130
+ case "lg":
131
+ return "d-body--md";
132
+ default:
133
+ return "d-body--md";
134
+ }
75
135
  }
76
136
  },
77
137
  mounted() {
78
138
  if (!this.bodyText && !this.$slots.body) {
79
- console.error("DtEmptyState: You should provide either bodyText or content on body slot.");
139
+ console.warn("Dialtone Empty State component: You should provide either bodyText or content on body slot.");
80
140
  }
81
141
  }
82
142
  };
83
143
  var _sfc_render = function render() {
84
144
  var _vm = this, _c = _vm._self._c;
85
- return _c("dt-stack", { class: _vm.emptyStateClasses }, [_vm.showIllustration ? _c("span", { staticClass: "d-empty-state__illustration" }, [_vm._t("illustration")], 2) : _vm._e(), _vm.showIcon ? _c("span", { staticClass: "d-empty-state__icon" }, [_vm._t("icon", null, { "iconSize": "800" })], 2) : _vm._e(), _c("dt-stack", { class: ["d-empty-state__content", _vm.contentClass], attrs: { "gap": "450" } }, [_c("div", { class: ["d-empty-state__header-text", _vm.headlineClass] }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", { class: ["d-empty-state__body-text", _vm.bodyClass] }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
145
+ return _c("dt-stack", { class: _vm.emptyStateClasses }, [_vm.showIllustration ? [_vm.showIcon ? _c("span", { staticClass: "d-empty-state__icon" }, [_c("dt-icon", { attrs: { "name": _vm.iconName, "size": "800" } })], 1) : _vm._e(), _vm.showIllustrationComponent ? _c("span", { staticClass: "d-empty-state__illustration" }, [_c("dt-illustration", { attrs: { "name": _vm.illustrationName } })], 1) : _vm._e()] : _vm._e(), _c("dt-stack", { class: ["d-empty-state__content", _vm.contentClass], attrs: { "gap": "450" } }, [_c("div", { class: ["d-empty-state__header-text", _vm.headlineClass] }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", { class: ["d-empty-state__body-text", _vm.bodyClass] }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
86
146
  };
87
147
  var _sfc_staticRenderFns = [];
88
148
  var __component__ = /* @__PURE__ */ _pluginVue2_normalizer(
@@ -1 +1 @@
1
- {"version":3,"file":"empty_state.vue.cjs","sources":["../../../components/empty_state/empty_state.vue"],"sourcesContent":["<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <span\n v-if=\"showIllustration\"\n class=\"d-empty-state__illustration\"\n >\n <!-- @slot Slot for the illustration. Displays when size is 'lg' or 'md'. Overrides icon. -->\n <slot name=\"illustration\" />\n </span>\n\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <!-- @slot Slot for the icon. Displayed if illustration is not provided. -->\n <slot\n name=\"icon\"\n :icon-size=\"'800'\"\n />\n </span>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport {\n EMPTY_STATE_BODY_SIZE_MODIFIERS,\n EMPTY_STATE_CONTENT_SIZE_MODIFIERS,\n EMPTY_STATE_HEADLINE_SIZE_MODIFIERS,\n EMPTY_STATE_SIZE_MODIFIERS,\n} from './empty_state_constants.js';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n },\n\n computed: {\n hasIcon () {\n return this.$scopedSlots.icon && this.$scopedSlots.icon();\n },\n\n hasIllustration () {\n return this.$scopedSlots.illustration && this.$scopedSlots.illustration();\n },\n\n isSmallSize () {\n return this.size === 'sm';\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n return this.hasIcon && (!this.hasIllustration || this.isSmallSize);\n },\n\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustration () {\n return this.hasIllustration && !this.isSmallSize;\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n return EMPTY_STATE_CONTENT_SIZE_MODIFIERS[this.size];\n },\n\n headlineClass () {\n return EMPTY_STATE_HEADLINE_SIZE_MODIFIERS[this.size];\n },\n\n bodyClass () {\n return EMPTY_STATE_BODY_SIZE_MODIFIERS[this.size];\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.error('DtEmptyState: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":["DtStack","EMPTY_STATE_SIZE_MODIFIERS","EMPTY_STATE_CONTENT_SIZE_MODIFIERS","EMPTY_STATE_HEADLINE_SIZE_MODIFIERS","EMPTY_STATE_BODY_SIZE_MODIFIERS"],"mappings":";;;;AAoDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,SAAAA;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAAC,gDAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,UAAA;AACA,aAAA,KAAA,aAAA,QAAA,KAAA,aAAA;IACA;AAAA,IAEA,kBAAA;AACA,aAAA,KAAA,aAAA,gBAAA,KAAA,aAAA;IACA;AAAA,IAEA,cAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AACA,aAAA,KAAA,YAAA,CAAA,KAAA,mBAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,mBAAA;AACA,aAAA,KAAA,mBAAA,CAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAAA,sBAAA,2BAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAAC,sBAAA,mCAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAAC,sBAAA,oCAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAAC,sBAAA,gCAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,OAAA,MAAA;AACA,cAAA,MAAA,2EAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"empty_state.vue.cjs","sources":["../../../components/empty_state/empty_state.vue"],"sourcesContent":["<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <template v-if=\"showIllustration\">\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <dt-icon\n :name=\"iconName\"\n size=\"800\"\n />\n </span>\n\n <span\n v-if=\"showIllustrationComponent\"\n class=\"d-empty-state__illustration\"\n >\n <dt-illustration\n :name=\"illustrationName\"\n />\n </span>\n </template>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport { EMPTY_STATE_SIZE_MODIFIERS } from './empty_state_constants.js';\nimport { DtIllustration, ILLUSTRATION_NAMES } from '@/components/illustration';\nimport { DtIcon, ICON_NAMES } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtIllustration,\n DtIcon,\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The illustration name in kebab-case\n * This only displays when size is 'lg' or 'md'\n * This has priority over icon.\n * @type {String}\n */\n illustrationName: {\n type: String,\n default: null,\n validator: (name) => ILLUSTRATION_NAMES.includes(name),\n },\n\n /**\n * The icon name in kebab-case\n * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and\n * Will always be shown in 'sm' size.\n * @type {String}\n */\n iconName: {\n type: String,\n default: null,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n\n /**\n * Whether to show the illustration\n * @type {Boolean}\n */\n showIllustration: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustrationComponent () {\n return this.illustrationName && this.notSmSize;\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n if (!this.iconName) {\n return false;\n }\n\n return !(this.illustrationName && this.notSmSize);\n },\n\n notSmSize () {\n return this.size !== 'sm';\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n switch (this.size) {\n case 'sm':\n return 'd-empty-state__content--sm';\n case 'md':\n return 'd-empty-state__content--md';\n case 'lg':\n return 'd-empty-state__content--lg';\n default:\n return 'd-empty-state__content--lg';\n }\n },\n\n headlineClass () {\n switch (this.size) {\n case 'sm':\n return 'd-headline--md';\n case 'md':\n return 'd-headline--xl';\n case 'lg':\n return 'd-headline--xxl';\n default:\n return 'd-headline--xxl';\n }\n },\n\n bodyClass () {\n switch (this.size) {\n case 'sm':\n return 'd-body--sm';\n case 'md':\n return 'd-body--sm';\n case 'lg':\n return 'd-body--md';\n default:\n return 'd-body--md';\n }\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.warn('Dialtone Empty State component: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":["DtIllustration","DtIcon","DtStack","EMPTY_STATE_SIZE_MODIFIERS","ILLUSTRATION_NAMES","ICON_NAMES"],"mappings":";;;;;;;;AAmDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,gBAAAA;AAAAA,IACA,QAAAC;AAAAA,IACA,SAAAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAAC,gDAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAAC,0CAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAAC,0BAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,4BAAA;AACA,aAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,eAAA;AAAA,MACA;AAEA,aAAA,EAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAAF,sBAAA,2BAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,OAAA,MAAA;AACA,cAAA,KAAA,6FAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,15 @@
1
- import { EMPTY_STATE_SIZE_MODIFIERS, EMPTY_STATE_CONTENT_SIZE_MODIFIERS, EMPTY_STATE_HEADLINE_SIZE_MODIFIERS, EMPTY_STATE_BODY_SIZE_MODIFIERS } from "./empty_state_constants.js";
1
+ import { EMPTY_STATE_SIZE_MODIFIERS } from "./empty_state_constants.js";
2
2
  import normalizeComponent from "../../_virtual/_plugin-vue2_normalizer.js";
3
+ import DtIllustration from "../illustration/illustration.vue.js";
4
+ import DtIcon from "../icon/icon.vue.js";
3
5
  import DtStack from "../stack/stack.vue.js";
6
+ import { ILLUSTRATION_NAMES } from "../illustration/illustration_constants.js";
7
+ import { ICON_NAMES } from "../icon/icon_constants.js";
4
8
  const _sfc_main = {
5
9
  name: "DtEmptyState",
6
10
  components: {
11
+ DtIllustration,
12
+ DtIcon,
7
13
  DtStack
8
14
  },
9
15
  props: {
@@ -16,6 +22,28 @@ const _sfc_main = {
16
22
  default: "lg",
17
23
  validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s)
18
24
  },
25
+ /**
26
+ * The illustration name in kebab-case
27
+ * This only displays when size is 'lg' or 'md'
28
+ * This has priority over icon.
29
+ * @type {String}
30
+ */
31
+ illustrationName: {
32
+ type: String,
33
+ default: null,
34
+ validator: (name) => ILLUSTRATION_NAMES.includes(name)
35
+ },
36
+ /**
37
+ * The icon name in kebab-case
38
+ * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and
39
+ * Will always be shown in 'sm' size.
40
+ * @type {String}
41
+ */
42
+ iconName: {
43
+ type: String,
44
+ default: null,
45
+ validator: (name) => ICON_NAMES.includes(name)
46
+ },
19
47
  /**
20
48
  * Header text
21
49
  * @type {String}
@@ -31,31 +59,36 @@ const _sfc_main = {
31
59
  bodyText: {
32
60
  type: String,
33
61
  default: null
62
+ },
63
+ /**
64
+ * Whether to show the illustration
65
+ * @type {Boolean}
66
+ */
67
+ showIllustration: {
68
+ type: Boolean,
69
+ default: true
34
70
  }
35
71
  },
36
72
  computed: {
37
- hasIcon() {
38
- return this.$scopedSlots.icon && this.$scopedSlots.icon();
39
- },
40
- hasIllustration() {
41
- return this.$scopedSlots.illustration && this.$scopedSlots.illustration();
42
- },
43
- isSmallSize() {
44
- return this.size === "sm";
73
+ /**
74
+ * Illustration will always be shown in lg and md size
75
+ * Illustration will not be shown in sm size
76
+ */
77
+ showIllustrationComponent() {
78
+ return this.illustrationName && this.notSmSize;
45
79
  },
46
80
  /**
47
81
  * Icon will be shown in lg and md size only if illustration is not provided
48
82
  * Icon will always be shown in sm size
49
83
  */
50
84
  showIcon() {
51
- return this.hasIcon && (!this.hasIllustration || this.isSmallSize);
85
+ if (!this.iconName) {
86
+ return false;
87
+ }
88
+ return !(this.illustrationName && this.notSmSize);
52
89
  },
53
- /**
54
- * Illustration will always be shown in lg and md size
55
- * Illustration will not be shown in sm size
56
- */
57
- showIllustration() {
58
- return this.hasIllustration && !this.isSmallSize;
90
+ notSmSize() {
91
+ return this.size !== "sm";
59
92
  },
60
93
  sizeClass() {
61
94
  return EMPTY_STATE_SIZE_MODIFIERS[this.size];
@@ -64,24 +97,51 @@ const _sfc_main = {
64
97
  return ["d-empty-state", this.sizeClass];
65
98
  },
66
99
  contentClass() {
67
- return EMPTY_STATE_CONTENT_SIZE_MODIFIERS[this.size];
100
+ switch (this.size) {
101
+ case "sm":
102
+ return "d-empty-state__content--sm";
103
+ case "md":
104
+ return "d-empty-state__content--md";
105
+ case "lg":
106
+ return "d-empty-state__content--lg";
107
+ default:
108
+ return "d-empty-state__content--lg";
109
+ }
68
110
  },
69
111
  headlineClass() {
70
- return EMPTY_STATE_HEADLINE_SIZE_MODIFIERS[this.size];
112
+ switch (this.size) {
113
+ case "sm":
114
+ return "d-headline--md";
115
+ case "md":
116
+ return "d-headline--xl";
117
+ case "lg":
118
+ return "d-headline--xxl";
119
+ default:
120
+ return "d-headline--xxl";
121
+ }
71
122
  },
72
123
  bodyClass() {
73
- return EMPTY_STATE_BODY_SIZE_MODIFIERS[this.size];
124
+ switch (this.size) {
125
+ case "sm":
126
+ return "d-body--sm";
127
+ case "md":
128
+ return "d-body--sm";
129
+ case "lg":
130
+ return "d-body--md";
131
+ default:
132
+ return "d-body--md";
133
+ }
74
134
  }
75
135
  },
76
136
  mounted() {
77
137
  if (!this.bodyText && !this.$slots.body) {
78
- console.error("DtEmptyState: You should provide either bodyText or content on body slot.");
138
+ console.warn("Dialtone Empty State component: You should provide either bodyText or content on body slot.");
79
139
  }
80
140
  }
81
141
  };
82
142
  var _sfc_render = function render() {
83
143
  var _vm = this, _c = _vm._self._c;
84
- return _c("dt-stack", { class: _vm.emptyStateClasses }, [_vm.showIllustration ? _c("span", { staticClass: "d-empty-state__illustration" }, [_vm._t("illustration")], 2) : _vm._e(), _vm.showIcon ? _c("span", { staticClass: "d-empty-state__icon" }, [_vm._t("icon", null, { "iconSize": "800" })], 2) : _vm._e(), _c("dt-stack", { class: ["d-empty-state__content", _vm.contentClass], attrs: { "gap": "450" } }, [_c("div", { class: ["d-empty-state__header-text", _vm.headlineClass] }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", { class: ["d-empty-state__body-text", _vm.bodyClass] }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
144
+ return _c("dt-stack", { class: _vm.emptyStateClasses }, [_vm.showIllustration ? [_vm.showIcon ? _c("span", { staticClass: "d-empty-state__icon" }, [_c("dt-icon", { attrs: { "name": _vm.iconName, "size": "800" } })], 1) : _vm._e(), _vm.showIllustrationComponent ? _c("span", { staticClass: "d-empty-state__illustration" }, [_c("dt-illustration", { attrs: { "name": _vm.illustrationName } })], 1) : _vm._e()] : _vm._e(), _c("dt-stack", { class: ["d-empty-state__content", _vm.contentClass], attrs: { "gap": "450" } }, [_c("div", { class: ["d-empty-state__header-text", _vm.headlineClass] }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", { class: ["d-empty-state__body-text", _vm.bodyClass] }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
85
145
  };
86
146
  var _sfc_staticRenderFns = [];
87
147
  var __component__ = /* @__PURE__ */ normalizeComponent(
@@ -1 +1 @@
1
- {"version":3,"file":"empty_state.vue.js","sources":["../../../components/empty_state/empty_state.vue"],"sourcesContent":["<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <span\n v-if=\"showIllustration\"\n class=\"d-empty-state__illustration\"\n >\n <!-- @slot Slot for the illustration. Displays when size is 'lg' or 'md'. Overrides icon. -->\n <slot name=\"illustration\" />\n </span>\n\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <!-- @slot Slot for the icon. Displayed if illustration is not provided. -->\n <slot\n name=\"icon\"\n :icon-size=\"'800'\"\n />\n </span>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport {\n EMPTY_STATE_BODY_SIZE_MODIFIERS,\n EMPTY_STATE_CONTENT_SIZE_MODIFIERS,\n EMPTY_STATE_HEADLINE_SIZE_MODIFIERS,\n EMPTY_STATE_SIZE_MODIFIERS,\n} from './empty_state_constants.js';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n },\n\n computed: {\n hasIcon () {\n return this.$scopedSlots.icon && this.$scopedSlots.icon();\n },\n\n hasIllustration () {\n return this.$scopedSlots.illustration && this.$scopedSlots.illustration();\n },\n\n isSmallSize () {\n return this.size === 'sm';\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n return this.hasIcon && (!this.hasIllustration || this.isSmallSize);\n },\n\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustration () {\n return this.hasIllustration && !this.isSmallSize;\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n return EMPTY_STATE_CONTENT_SIZE_MODIFIERS[this.size];\n },\n\n headlineClass () {\n return EMPTY_STATE_HEADLINE_SIZE_MODIFIERS[this.size];\n },\n\n bodyClass () {\n return EMPTY_STATE_BODY_SIZE_MODIFIERS[this.size];\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.error('DtEmptyState: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":[],"mappings":";;;AAoDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,0BAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,UAAA;AACA,aAAA,KAAA,aAAA,QAAA,KAAA,aAAA;IACA;AAAA,IAEA,kBAAA;AACA,aAAA,KAAA,aAAA,gBAAA,KAAA,aAAA;IACA;AAAA,IAEA,cAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AACA,aAAA,KAAA,YAAA,CAAA,KAAA,mBAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,mBAAA;AACA,aAAA,KAAA,mBAAA,CAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,2BAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,mCAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAA,oCAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,gCAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,OAAA,MAAA;AACA,cAAA,MAAA,2EAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"empty_state.vue.js","sources":["../../../components/empty_state/empty_state.vue"],"sourcesContent":["<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <template v-if=\"showIllustration\">\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <dt-icon\n :name=\"iconName\"\n size=\"800\"\n />\n </span>\n\n <span\n v-if=\"showIllustrationComponent\"\n class=\"d-empty-state__illustration\"\n >\n <dt-illustration\n :name=\"illustrationName\"\n />\n </span>\n </template>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport { EMPTY_STATE_SIZE_MODIFIERS } from './empty_state_constants.js';\nimport { DtIllustration, ILLUSTRATION_NAMES } from '@/components/illustration';\nimport { DtIcon, ICON_NAMES } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtIllustration,\n DtIcon,\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The illustration name in kebab-case\n * This only displays when size is 'lg' or 'md'\n * This has priority over icon.\n * @type {String}\n */\n illustrationName: {\n type: String,\n default: null,\n validator: (name) => ILLUSTRATION_NAMES.includes(name),\n },\n\n /**\n * The icon name in kebab-case\n * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and\n * Will always be shown in 'sm' size.\n * @type {String}\n */\n iconName: {\n type: String,\n default: null,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n\n /**\n * Whether to show the illustration\n * @type {Boolean}\n */\n showIllustration: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustrationComponent () {\n return this.illustrationName && this.notSmSize;\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n if (!this.iconName) {\n return false;\n }\n\n return !(this.illustrationName && this.notSmSize);\n },\n\n notSmSize () {\n return this.size !== 'sm';\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n switch (this.size) {\n case 'sm':\n return 'd-empty-state__content--sm';\n case 'md':\n return 'd-empty-state__content--md';\n case 'lg':\n return 'd-empty-state__content--lg';\n default:\n return 'd-empty-state__content--lg';\n }\n },\n\n headlineClass () {\n switch (this.size) {\n case 'sm':\n return 'd-headline--md';\n case 'md':\n return 'd-headline--xl';\n case 'lg':\n return 'd-headline--xxl';\n default:\n return 'd-headline--xxl';\n }\n },\n\n bodyClass () {\n switch (this.size) {\n case 'sm':\n return 'd-body--sm';\n case 'md':\n return 'd-body--sm';\n case 'lg':\n return 'd-body--md';\n default:\n return 'd-body--md';\n }\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.warn('Dialtone Empty State component: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;;AAmDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,0BAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAA,mBAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAA,WAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,4BAAA;AACA,aAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,eAAA;AAAA,MACA;AAEA,aAAA,EAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,2BAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,OAAA,MAAA;AACA,cAAA,KAAA,6FAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;"}
@@ -5,23 +5,5 @@ const EMPTY_STATE_SIZE_MODIFIERS = {
5
5
  md: "d-empty-state--size-md",
6
6
  lg: "d-empty-state--size-lg"
7
7
  };
8
- const EMPTY_STATE_CONTENT_SIZE_MODIFIERS = {
9
- sm: "d-empty-state__content--sm",
10
- md: "d-empty-state__content--md",
11
- lg: "d-empty-state__content--lg"
12
- };
13
- const EMPTY_STATE_HEADLINE_SIZE_MODIFIERS = {
14
- sm: "d-headline--md",
15
- md: "d-headline--xl",
16
- lg: "d-headline--xxl"
17
- };
18
- const EMPTY_STATE_BODY_SIZE_MODIFIERS = {
19
- sm: "d-body--sm",
20
- md: "d-body--sm",
21
- lg: "d-body--md"
22
- };
23
- exports.EMPTY_STATE_BODY_SIZE_MODIFIERS = EMPTY_STATE_BODY_SIZE_MODIFIERS;
24
- exports.EMPTY_STATE_CONTENT_SIZE_MODIFIERS = EMPTY_STATE_CONTENT_SIZE_MODIFIERS;
25
- exports.EMPTY_STATE_HEADLINE_SIZE_MODIFIERS = EMPTY_STATE_HEADLINE_SIZE_MODIFIERS;
26
8
  exports.EMPTY_STATE_SIZE_MODIFIERS = EMPTY_STATE_SIZE_MODIFIERS;
27
9
  //# sourceMappingURL=empty_state_constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"empty_state_constants.cjs","sources":["../../../components/empty_state/empty_state_constants.js"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport const EMPTY_STATE_CONTENT_SIZE_MODIFIERS = {\n sm: 'd-empty-state__content--sm',\n md: 'd-empty-state__content--md',\n lg: 'd-empty-state__content--lg',\n};\n\nexport const EMPTY_STATE_HEADLINE_SIZE_MODIFIERS = {\n sm: 'd-headline--md',\n md: 'd-headline--xl',\n lg: 'd-headline--xxl',\n};\n\nexport const EMPTY_STATE_BODY_SIZE_MODIFIERS = {\n sm: 'd-body--sm',\n md: 'd-body--sm',\n lg: 'd-body--md',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n EMPTY_STATE_CONTENT_SIZE_MODIFIERS,\n EMPTY_STATE_HEADLINE_SIZE_MODIFIERS,\n EMPTY_STATE_BODY_SIZE_MODIFIERS,\n};\n"],"names":[],"mappings":";;AAAY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,qCAAqC;AAAA,EAChD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,sCAAsC;AAAA,EACjD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,kCAAkC;AAAA,EAC7C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;;;;;"}
1
+ {"version":3,"file":"empty_state_constants.cjs","sources":["../../../components/empty_state/empty_state_constants.js"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n};\n"],"names":[],"mappings":";;AAAY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;;"}
@@ -3,25 +3,7 @@ const EMPTY_STATE_SIZE_MODIFIERS = {
3
3
  md: "d-empty-state--size-md",
4
4
  lg: "d-empty-state--size-lg"
5
5
  };
6
- const EMPTY_STATE_CONTENT_SIZE_MODIFIERS = {
7
- sm: "d-empty-state__content--sm",
8
- md: "d-empty-state__content--md",
9
- lg: "d-empty-state__content--lg"
10
- };
11
- const EMPTY_STATE_HEADLINE_SIZE_MODIFIERS = {
12
- sm: "d-headline--md",
13
- md: "d-headline--xl",
14
- lg: "d-headline--xxl"
15
- };
16
- const EMPTY_STATE_BODY_SIZE_MODIFIERS = {
17
- sm: "d-body--sm",
18
- md: "d-body--sm",
19
- lg: "d-body--md"
20
- };
21
6
  export {
22
- EMPTY_STATE_BODY_SIZE_MODIFIERS,
23
- EMPTY_STATE_CONTENT_SIZE_MODIFIERS,
24
- EMPTY_STATE_HEADLINE_SIZE_MODIFIERS,
25
7
  EMPTY_STATE_SIZE_MODIFIERS
26
8
  };
27
9
  //# sourceMappingURL=empty_state_constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"empty_state_constants.js","sources":["../../../components/empty_state/empty_state_constants.js"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport const EMPTY_STATE_CONTENT_SIZE_MODIFIERS = {\n sm: 'd-empty-state__content--sm',\n md: 'd-empty-state__content--md',\n lg: 'd-empty-state__content--lg',\n};\n\nexport const EMPTY_STATE_HEADLINE_SIZE_MODIFIERS = {\n sm: 'd-headline--md',\n md: 'd-headline--xl',\n lg: 'd-headline--xxl',\n};\n\nexport const EMPTY_STATE_BODY_SIZE_MODIFIERS = {\n sm: 'd-body--sm',\n md: 'd-body--sm',\n lg: 'd-body--md',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n EMPTY_STATE_CONTENT_SIZE_MODIFIERS,\n EMPTY_STATE_HEADLINE_SIZE_MODIFIERS,\n EMPTY_STATE_BODY_SIZE_MODIFIERS,\n};\n"],"names":[],"mappings":"AAAY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,qCAAqC;AAAA,EAChD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,sCAAsC;AAAA,EACjD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,kCAAkC;AAAA,EAC7C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;"}
1
+ {"version":3,"file":"empty_state_constants.js","sources":["../../../components/empty_state/empty_state_constants.js"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n};\n"],"names":[],"mappings":"AAAY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;"}
@@ -33,6 +33,6 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer(
33
33
  null,
34
34
  null
35
35
  );
36
- const illustration = __component__.exports;
37
- module.exports = illustration;
36
+ const DtIllustration = __component__.exports;
37
+ module.exports = DtIllustration;
38
38
  //# sourceMappingURL=illustration.vue.cjs.map
@@ -32,8 +32,8 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
32
32
  null,
33
33
  null
34
34
  );
35
- const illustration = __component__.exports;
35
+ const DtIllustration = __component__.exports;
36
36
  export {
37
- illustration as default
37
+ DtIllustration as default
38
38
  };
39
39
  //# sourceMappingURL=illustration.vue.js.map
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  const modal = require("../../common/mixins/modal.cjs");
3
3
  const common_constants = require("../../common/constants.cjs");
4
- const vue2 = require("@dialpad/dialtone-icons/vue2");
5
4
  const vueSimplePortal = require("@linusborg/vue-simple-portal");
6
5
  const _pluginVue2_normalizer = require("../../_virtual/_plugin-vue2_normalizer.cjs");
7
6
  const button = require("../button/button.vue.cjs");
7
+ const icon = require("../icon/icon.vue.cjs");
8
8
  const _sfc_main = {
9
9
  name: "DtImageViewer",
10
10
  components: {
11
11
  Portal: vueSimplePortal.Portal,
12
12
  DtButton: button,
13
- DtIconClose: vue2.DtIconClose
13
+ DtIcon: icon
14
14
  },
15
15
  mixins: [modal],
16
16
  props: {
@@ -176,8 +176,8 @@ var _sfc_render = function render() {
176
176
  }, "focusout": function($event) {
177
177
  _vm.showCloseButton = false;
178
178
  } } }, _vm.modalListeners), [_c("div", { staticClass: "d-image-viewer__full", attrs: { "data-qa": "dt-image-viewer-full", "role": "dialog", "aria-modal": "true" } }, [_c("img", { staticClass: "d-image-viewer__full__image", attrs: { "src": _vm.imageSrc, "alt": _vm.imageAlt } })]), _c("transition", { attrs: { "name": "fade" } }, [_vm.showCloseButton ? _c("dt-button", { ref: "closeImage", staticClass: "d-modal__close", attrs: { "data-qa": "dt-image-viewer-close-btn", "circle": "", "size": "lg", "importance": "clear", "kind": "inverted", "aria-label": _vm.closeAriaLabel }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
179
- return [_c("dt-icon-close", { staticClass: "d-image-viewer__close-button", attrs: { "size": "400" } })];
180
- }, proxy: true }], null, false, 3317018023) }) : _vm._e()], 1)], 1)]) : _vm._e()], 1);
179
+ return [_c("dt-icon", { staticClass: "d-image-viewer__close-button", attrs: { "name": "close", "size": "400" } })];
180
+ }, proxy: true }], null, false, 1620344283) }) : _vm._e()], 1)], 1)]) : _vm._e()], 1);
181
181
  };
182
182
  var _sfc_staticRenderFns = [];
183
183
  var __component__ = /* @__PURE__ */ _pluginVue2_normalizer(
@@ -1 +1 @@
1
- {"version":3,"file":"image_viewer.vue.cjs","sources":["../../../components/image_viewer/image_viewer.vue"],"sourcesContent":["<template>\n <div>\n <dt-button\n data-qa=\"dt-image-viewer-preview\"\n class=\"d-image-viewer__preview-button\"\n :aria-label=\"ariaLabel\"\n importance=\"clear\"\n @click=\"openModal\"\n >\n <img\n :class=\"imageButtonClass\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </dt-button>\n <portal\n v-if=\"isOpen\"\n :selector=\"appendTo\"\n >\n <div\n :aria-hidden=\"!isOpen ? 'true' : 'false'\"\n class=\"d-modal\"\n data-qa=\"dt-modal\"\n v-on=\"modalListeners\"\n @mouseover=\"showCloseButton = true\"\n @mouseleave=\"showCloseButton = false\"\n @focusin=\" showCloseButton = true\"\n @focusout=\" showCloseButton = false\"\n >\n <div\n data-qa=\"dt-image-viewer-full\"\n class=\"d-image-viewer__full\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <img\n class=\"d-image-viewer__full__image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </div>\n <transition name=\"fade\">\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"closeImage\"\n data-qa=\"dt-image-viewer-close-btn\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n kind=\"inverted\"\n :aria-label=\"closeAriaLabel\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n class=\"d-image-viewer__close-button\"\n size=\"400\"\n />\n </template>\n </dt-button>\n </transition>\n </div>\n </portal>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { Portal } from '@linusborg/vue-simple-portal';\n\nexport default {\n name: 'DtImageViewer',\n\n components: {\n Portal,\n DtButton,\n DtIconClose,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * By default the portal appends to the body of the root parent. We can modify\n * this behaviour by passing an appendTo prop that points to an id or an html tag from the root of the parent.\n * The appendTo prop expects a CSS selector string or an actual DOM node.\n * type: string | HTMLElement, default: 'body'\n */\n appendTo: {\n type: String,\n default: 'body',\n },\n\n /**\n * Controls whether the image modal is shown. Leaving this null will have the image modal\n * trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * URL of the image to be shown\n */\n imageSrc: {\n type: String,\n required: true,\n },\n\n /**\n * Alt text of image\n */\n imageAlt: {\n type: String,\n required: true,\n },\n\n /**\n * Image Class\n */\n imageButtonClass: {\n type: String,\n required: false,\n default: '',\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Aria label for close button\n */\n closeAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n showCloseButton: true,\n isOpen: false,\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n (event.target === event.currentTarget) && this.close();\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n },\n };\n },\n },\n\n watch: {\n isOpen: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n methods: {\n openModal () {\n // Has custom control passed in\n if (this.open !== null) {\n return;\n }\n this.isOpen = true;\n this.showCloseButton = true;\n this.$emit('opened', true);\n\n setTimeout(() => {\n this.focusAfterOpen();\n });\n },\n\n close () {\n this.isOpen = false;\n this.$emit('opened', false);\n\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n focusAfterOpen () {\n this.$refs.closeImage?.$el.focus();\n },\n\n trapFocus (e) {\n if (this.isOpen) {\n this.focusTrappedTabPress(e);\n }\n },\n\n },\n};\n</script>\n"],"names":["Portal","DtButton","DtIconClose","Modal","EVENT_KEYNAMES"],"mappings":"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"}
1
+ {"version":3,"file":"image_viewer.vue.cjs","sources":["../../../components/image_viewer/image_viewer.vue"],"sourcesContent":["<template>\n <div>\n <dt-button\n data-qa=\"dt-image-viewer-preview\"\n class=\"d-image-viewer__preview-button\"\n :aria-label=\"ariaLabel\"\n importance=\"clear\"\n @click=\"openModal\"\n >\n <img\n :class=\"imageButtonClass\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </dt-button>\n <portal\n v-if=\"isOpen\"\n :selector=\"appendTo\"\n >\n <div\n :aria-hidden=\"!isOpen ? 'true' : 'false'\"\n class=\"d-modal\"\n data-qa=\"dt-modal\"\n v-on=\"modalListeners\"\n @mouseover=\"showCloseButton = true\"\n @mouseleave=\"showCloseButton = false\"\n @focusin=\" showCloseButton = true\"\n @focusout=\" showCloseButton = false\"\n >\n <div\n data-qa=\"dt-image-viewer-full\"\n class=\"d-image-viewer__full\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <img\n class=\"d-image-viewer__full__image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </div>\n <transition name=\"fade\">\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"closeImage\"\n data-qa=\"dt-image-viewer-close-btn\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n kind=\"inverted\"\n :aria-label=\"closeAriaLabel\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon\n class=\"d-image-viewer__close-button\"\n name=\"close\"\n size=\"400\"\n />\n </template>\n </dt-button>\n </transition>\n </div>\n </portal>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\nimport { Portal } from '@linusborg/vue-simple-portal';\n\nexport default {\n name: 'DtImageViewer',\n\n components: {\n Portal,\n DtButton,\n DtIcon,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * By default the portal appends to the body of the root parent. We can modify\n * this behaviour by passing an appendTo prop that points to an id or an html tag from the root of the parent.\n * The appendTo prop expects a CSS selector string or an actual DOM node.\n * type: string | HTMLElement, default: 'body'\n */\n appendTo: {\n type: String,\n default: 'body',\n },\n\n /**\n * Controls whether the image modal is shown. Leaving this null will have the image modal\n * trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * URL of the image to be shown\n */\n imageSrc: {\n type: String,\n required: true,\n },\n\n /**\n * Alt text of image\n */\n imageAlt: {\n type: String,\n required: true,\n },\n\n /**\n * Image Class\n */\n imageButtonClass: {\n type: String,\n required: false,\n default: '',\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Aria label for close button\n */\n closeAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n showCloseButton: true,\n isOpen: false,\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n (event.target === event.currentTarget) && this.close();\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n },\n };\n },\n },\n\n watch: {\n isOpen: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n methods: {\n openModal () {\n // Has custom control passed in\n if (this.open !== null) {\n return;\n }\n this.isOpen = true;\n this.showCloseButton = true;\n this.$emit('opened', true);\n\n setTimeout(() => {\n this.focusAfterOpen();\n });\n },\n\n close () {\n this.isOpen = false;\n this.$emit('opened', false);\n\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n focusAfterOpen () {\n this.$refs.closeImage?.$el.focus();\n },\n\n trapFocus (e) {\n if (this.isOpen) {\n this.focusTrappedTabPress(e);\n }\n },\n\n },\n};\n</script>\n"],"names":["Portal","DtButton","DtIcon","Modal","EVENT_KEYNAMES"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import Modal from "../../common/mixins/modal.js";
2
2
  import { EVENT_KEYNAMES } from "../../common/constants.js";
3
- import { DtIconClose } from "@dialpad/dialtone-icons/vue2";
4
3
  import { Portal } from "@linusborg/vue-simple-portal";
5
4
  import normalizeComponent from "../../_virtual/_plugin-vue2_normalizer.js";
6
5
  import DtButton from "../button/button.vue.js";
6
+ import DtIcon from "../icon/icon.vue.js";
7
7
  const _sfc_main = {
8
8
  name: "DtImageViewer",
9
9
  components: {
10
10
  Portal,
11
11
  DtButton,
12
- DtIconClose
12
+ DtIcon
13
13
  },
14
14
  mixins: [Modal],
15
15
  props: {
@@ -175,8 +175,8 @@ var _sfc_render = function render() {
175
175
  }, "focusout": function($event) {
176
176
  _vm.showCloseButton = false;
177
177
  } } }, _vm.modalListeners), [_c("div", { staticClass: "d-image-viewer__full", attrs: { "data-qa": "dt-image-viewer-full", "role": "dialog", "aria-modal": "true" } }, [_c("img", { staticClass: "d-image-viewer__full__image", attrs: { "src": _vm.imageSrc, "alt": _vm.imageAlt } })]), _c("transition", { attrs: { "name": "fade" } }, [_vm.showCloseButton ? _c("dt-button", { ref: "closeImage", staticClass: "d-modal__close", attrs: { "data-qa": "dt-image-viewer-close-btn", "circle": "", "size": "lg", "importance": "clear", "kind": "inverted", "aria-label": _vm.closeAriaLabel }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
178
- return [_c("dt-icon-close", { staticClass: "d-image-viewer__close-button", attrs: { "size": "400" } })];
179
- }, proxy: true }], null, false, 3317018023) }) : _vm._e()], 1)], 1)]) : _vm._e()], 1);
178
+ return [_c("dt-icon", { staticClass: "d-image-viewer__close-button", attrs: { "name": "close", "size": "400" } })];
179
+ }, proxy: true }], null, false, 1620344283) }) : _vm._e()], 1)], 1)]) : _vm._e()], 1);
180
180
  };
181
181
  var _sfc_staticRenderFns = [];
182
182
  var __component__ = /* @__PURE__ */ normalizeComponent(
@@ -1 +1 @@
1
- {"version":3,"file":"image_viewer.vue.js","sources":["../../../components/image_viewer/image_viewer.vue"],"sourcesContent":["<template>\n <div>\n <dt-button\n data-qa=\"dt-image-viewer-preview\"\n class=\"d-image-viewer__preview-button\"\n :aria-label=\"ariaLabel\"\n importance=\"clear\"\n @click=\"openModal\"\n >\n <img\n :class=\"imageButtonClass\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </dt-button>\n <portal\n v-if=\"isOpen\"\n :selector=\"appendTo\"\n >\n <div\n :aria-hidden=\"!isOpen ? 'true' : 'false'\"\n class=\"d-modal\"\n data-qa=\"dt-modal\"\n v-on=\"modalListeners\"\n @mouseover=\"showCloseButton = true\"\n @mouseleave=\"showCloseButton = false\"\n @focusin=\" showCloseButton = true\"\n @focusout=\" showCloseButton = false\"\n >\n <div\n data-qa=\"dt-image-viewer-full\"\n class=\"d-image-viewer__full\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <img\n class=\"d-image-viewer__full__image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </div>\n <transition name=\"fade\">\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"closeImage\"\n data-qa=\"dt-image-viewer-close-btn\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n kind=\"inverted\"\n :aria-label=\"closeAriaLabel\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon-close\n class=\"d-image-viewer__close-button\"\n size=\"400\"\n />\n </template>\n </dt-button>\n </transition>\n </div>\n </portal>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DtButton } from '@/components/button';\nimport { Portal } from '@linusborg/vue-simple-portal';\n\nexport default {\n name: 'DtImageViewer',\n\n components: {\n Portal,\n DtButton,\n DtIconClose,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * By default the portal appends to the body of the root parent. We can modify\n * this behaviour by passing an appendTo prop that points to an id or an html tag from the root of the parent.\n * The appendTo prop expects a CSS selector string or an actual DOM node.\n * type: string | HTMLElement, default: 'body'\n */\n appendTo: {\n type: String,\n default: 'body',\n },\n\n /**\n * Controls whether the image modal is shown. Leaving this null will have the image modal\n * trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * URL of the image to be shown\n */\n imageSrc: {\n type: String,\n required: true,\n },\n\n /**\n * Alt text of image\n */\n imageAlt: {\n type: String,\n required: true,\n },\n\n /**\n * Image Class\n */\n imageButtonClass: {\n type: String,\n required: false,\n default: '',\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Aria label for close button\n */\n closeAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n showCloseButton: true,\n isOpen: false,\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n (event.target === event.currentTarget) && this.close();\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n },\n };\n },\n },\n\n watch: {\n isOpen: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n methods: {\n openModal () {\n // Has custom control passed in\n if (this.open !== null) {\n return;\n }\n this.isOpen = true;\n this.showCloseButton = true;\n this.$emit('opened', true);\n\n setTimeout(() => {\n this.focusAfterOpen();\n });\n },\n\n close () {\n this.isOpen = false;\n this.$emit('opened', false);\n\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n focusAfterOpen () {\n this.$refs.closeImage?.$el.focus();\n },\n\n trapFocus (e) {\n if (this.isOpen) {\n this.focusTrappedTabPress(e);\n }\n },\n\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;AA0EA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA,CAAA,KAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,iBAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA,QAEA,OAAA,WAAA;AACA,UAAA,MAAA,WAAA,MAAA,iBAAA,KAAA;QACA;AAAA,QAEA,SAAA,WAAA;AACA,kBAAA,MAAA,MAAA;AAAA,YACA,KAAA,eAAA;AAAA,YACA,KAAA,eAAA;AACA,mBAAA,MAAA;AACA;AAAA,YACA,KAAA,eAAA;AACA,mBAAA,UAAA,KAAA;AACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA,WAAA;;AACA,YAAA,WAAA;AAEA,eAAA,wBAAA,SAAA;AAAA,QACA,OAAA;AAEA,qBAAA,0BAAA,mBAAA;AACA,eAAA,wBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,MAAA;AAAA,MACA,SAAA,SAAA,MAAA;AACA,YAAA,SAAA,MAAA;AACA,eAAA,SAAA;AAAA,QACA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA;AAEA,UAAA,KAAA,SAAA,MAAA;AACA;AAAA,MACA;AACA,WAAA,SAAA;AACA,WAAA,kBAAA;AACA,WAAA,MAAA,UAAA,IAAA;AAEA,iBAAA,MAAA;AACA,aAAA,eAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,WAAA,SAAA;AACA,WAAA,MAAA,UAAA,KAAA;AAEA,UAAA,KAAA,SAAA,MAAA;AACA,aAAA,MAAA,eAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,iBAAA;;AACA,iBAAA,MAAA,eAAA,mBAAA,IAAA;AAAA,IACA;AAAA,IAEA,UAAA,GAAA;AACA,UAAA,KAAA,QAAA;AACA,aAAA,qBAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,EAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"image_viewer.vue.js","sources":["../../../components/image_viewer/image_viewer.vue"],"sourcesContent":["<template>\n <div>\n <dt-button\n data-qa=\"dt-image-viewer-preview\"\n class=\"d-image-viewer__preview-button\"\n :aria-label=\"ariaLabel\"\n importance=\"clear\"\n @click=\"openModal\"\n >\n <img\n :class=\"imageButtonClass\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </dt-button>\n <portal\n v-if=\"isOpen\"\n :selector=\"appendTo\"\n >\n <div\n :aria-hidden=\"!isOpen ? 'true' : 'false'\"\n class=\"d-modal\"\n data-qa=\"dt-modal\"\n v-on=\"modalListeners\"\n @mouseover=\"showCloseButton = true\"\n @mouseleave=\"showCloseButton = false\"\n @focusin=\" showCloseButton = true\"\n @focusout=\" showCloseButton = false\"\n >\n <div\n data-qa=\"dt-image-viewer-full\"\n class=\"d-image-viewer__full\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <img\n class=\"d-image-viewer__full__image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n </div>\n <transition name=\"fade\">\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"closeImage\"\n data-qa=\"dt-image-viewer-close-btn\"\n class=\"d-modal__close\"\n circle\n size=\"lg\"\n importance=\"clear\"\n kind=\"inverted\"\n :aria-label=\"closeAriaLabel\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon\n class=\"d-image-viewer__close-button\"\n name=\"close\"\n size=\"400\"\n />\n </template>\n </dt-button>\n </transition>\n </div>\n </portal>\n </div>\n</template>\n\n<script>\nimport Modal from '@/common/mixins/modal';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\nimport { Portal } from '@linusborg/vue-simple-portal';\n\nexport default {\n name: 'DtImageViewer',\n\n components: {\n Portal,\n DtButton,\n DtIcon,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * By default the portal appends to the body of the root parent. We can modify\n * this behaviour by passing an appendTo prop that points to an id or an html tag from the root of the parent.\n * The appendTo prop expects a CSS selector string or an actual DOM node.\n * type: string | HTMLElement, default: 'body'\n */\n appendTo: {\n type: String,\n default: 'body',\n },\n\n /**\n * Controls whether the image modal is shown. Leaving this null will have the image modal\n * trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * URL of the image to be shown\n */\n imageSrc: {\n type: String,\n required: true,\n },\n\n /**\n * Alt text of image\n */\n imageAlt: {\n type: String,\n required: true,\n },\n\n /**\n * Image Class\n */\n imageButtonClass: {\n type: String,\n required: false,\n default: '',\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Aria label for close button\n */\n closeAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n showCloseButton: true,\n isOpen: false,\n };\n },\n\n computed: {\n modalListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n (event.target === event.currentTarget) && this.close();\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n },\n };\n },\n },\n\n watch: {\n isOpen: {\n immediate: true,\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n } else {\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n\n open: {\n handler: function (open) {\n if (open !== null) {\n this.isOpen = open;\n }\n },\n\n immediate: true,\n },\n },\n\n methods: {\n openModal () {\n // Has custom control passed in\n if (this.open !== null) {\n return;\n }\n this.isOpen = true;\n this.showCloseButton = true;\n this.$emit('opened', true);\n\n setTimeout(() => {\n this.focusAfterOpen();\n });\n },\n\n close () {\n this.isOpen = false;\n this.$emit('opened', false);\n\n if (this.open !== null) {\n this.$emit('update:open', false);\n }\n },\n\n focusAfterOpen () {\n this.$refs.closeImage?.$el.focus();\n },\n\n trapFocus (e) {\n if (this.isOpen) {\n this.focusTrappedTabPress(e);\n }\n },\n\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;AA2EA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA,CAAA,KAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,iBAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA,QAEA,OAAA,WAAA;AACA,UAAA,MAAA,WAAA,MAAA,iBAAA,KAAA;QACA;AAAA,QAEA,SAAA,WAAA;AACA,kBAAA,MAAA,MAAA;AAAA,YACA,KAAA,eAAA;AAAA,YACA,KAAA,eAAA;AACA,mBAAA,MAAA;AACA;AAAA,YACA,KAAA,eAAA;AACA,mBAAA,UAAA,KAAA;AACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA,WAAA;;AACA,YAAA,WAAA;AAEA,eAAA,wBAAA,SAAA;AAAA,QACA,OAAA;AAEA,qBAAA,0BAAA,mBAAA;AACA,eAAA,wBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,MAAA;AAAA,MACA,SAAA,SAAA,MAAA;AACA,YAAA,SAAA,MAAA;AACA,eAAA,SAAA;AAAA,QACA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,YAAA;AAEA,UAAA,KAAA,SAAA,MAAA;AACA;AAAA,MACA;AACA,WAAA,SAAA;AACA,WAAA,kBAAA;AACA,WAAA,MAAA,UAAA,IAAA;AAEA,iBAAA,MAAA;AACA,aAAA,eAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,WAAA,SAAA;AACA,WAAA,MAAA,UAAA,KAAA;AAEA,UAAA,KAAA,SAAA,MAAA;AACA,aAAA,MAAA,eAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,iBAAA;;AACA,iBAAA,MAAA,eAAA,mBAAA,IAAA;AAAA,IACA;AAAA,IAEA,UAAA,GAAA;AACA,UAAA,KAAA,QAAA;AACA,aAAA,qBAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,EAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;"}