@dialpad/dialtone-vue 3.219.0 → 3.220.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{attachment_carousel-CouFqFMw.js → attachment_carousel-1qxTI-NN.js} +5 -5
- package/dist/attachment_carousel-1qxTI-NN.js.map +1 -0
- package/dist/attachment_carousel-wnZS3vEt.cjs +2 -0
- package/dist/attachment_carousel-wnZS3vEt.cjs.map +1 -0
- package/dist/{combobox-DgClbLOg.js → combobox-BQBKrDTW.js} +36 -35
- package/dist/combobox-BQBKrDTW.js.map +1 -0
- package/dist/combobox-Da7wBh3G.cjs +3 -0
- package/dist/combobox-Da7wBh3G.cjs.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.cjs +2 -0
- package/dist/common/composables/useIndicatorAnimation.cjs.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.d.ts +18 -0
- package/dist/common/composables/useIndicatorAnimation.d.ts.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.js +78 -0
- package/dist/common/composables/useIndicatorAnimation.js.map +1 -0
- package/dist/common/constants/index.cjs +1 -1
- package/dist/common/constants/index.cjs.map +1 -1
- package/dist/common/constants/index.d.ts +27 -21
- package/dist/common/constants/index.d.ts.map +1 -1
- package/dist/common/constants/index.js +25 -14
- package/dist/common/constants/index.js.map +1 -1
- package/dist/common/constants/sizes.cjs +2 -0
- package/dist/common/constants/sizes.cjs.map +1 -0
- package/dist/common/constants/sizes.d.ts +22 -0
- package/dist/common/constants/sizes.d.ts.map +1 -0
- package/dist/common/constants/sizes.js +19 -0
- package/dist/common/constants/sizes.js.map +1 -0
- package/dist/common/mixins/index.cjs +1 -1
- package/dist/common/mixins/index.d.ts +1 -0
- package/dist/common/mixins/index.js +2 -1
- package/dist/common/mixins/input.cjs +1 -1
- package/dist/common/mixins/input.cjs.map +1 -1
- package/dist/common/mixins/input.d.ts +27 -33
- package/dist/common/mixins/input.d.ts.map +1 -1
- package/dist/common/mixins/input.js +0 -8
- package/dist/common/mixins/input.js.map +1 -1
- package/dist/common/mixins/mode.cjs +2 -0
- package/dist/common/mixins/mode.cjs.map +1 -0
- package/dist/common/mixins/mode.d.ts +25 -0
- package/dist/common/mixins/mode.d.ts.map +1 -0
- package/dist/common/mixins/mode.js +62 -0
- package/dist/common/mixins/mode.js.map +1 -0
- package/dist/common/mode_constants.d.ts +37 -0
- package/dist/common/mode_constants.d.ts.map +1 -0
- package/dist/common/sr_only_close_button.vue.d.ts +53 -7
- package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
- package/dist/common/utils/index.cjs +1 -1
- package/dist/common/utils/index.cjs.map +1 -1
- package/dist/common/utils/index.d.ts +2 -8
- package/dist/common/utils/index.d.ts.map +1 -1
- package/dist/common/utils/index.js +79 -88
- package/dist/common/utils/index.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/components/avatar/avatar.vue.d.ts +85 -27
- package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
- package/dist/components/avatar/avatar_constants.d.ts +86 -29
- package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
- package/dist/components/avatar/index.d.ts +1 -1
- package/dist/components/badge/badge.vue.d.ts +1 -1
- package/dist/components/badge/badge.vue.d.ts.map +1 -1
- package/dist/components/badge/badge_constants.d.ts +1 -1
- package/dist/components/banner/banner.vue.d.ts +269 -34
- package/dist/components/banner/banner.vue.d.ts.map +1 -1
- package/dist/components/box/box.vue.d.ts +73 -0
- package/dist/components/box/box.vue.d.ts.map +1 -0
- package/dist/components/box/box_constants.d.ts +11 -0
- package/dist/components/box/box_constants.d.ts.map +1 -0
- package/dist/components/box/index.d.ts +3 -0
- package/dist/components/box/index.d.ts.map +1 -0
- package/dist/components/box/validators.d.ts +11 -0
- package/dist/components/box/validators.d.ts.map +1 -0
- package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +26 -17
- package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
- package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +25 -16
- package/dist/components/button/button.vue.d.ts +53 -7
- package/dist/components/button/button.vue.d.ts.map +1 -1
- package/dist/components/button/button_constants.d.ts +29 -20
- package/dist/components/button/button_constants.d.ts.map +1 -1
- package/dist/components/card/card.vue.d.ts +0 -9
- package/dist/components/card/card.vue.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.vue.d.ts +183 -10
- package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
- package/dist/components/checkbox_group/checkbox_group.vue.d.ts +142 -0
- package/dist/components/chip/chip.vue.d.ts +62 -16
- package/dist/components/chip/chip.vue.d.ts.map +1 -1
- package/dist/components/chip/chip_constants.d.ts +24 -21
- package/dist/components/chip/chip_constants.d.ts.map +1 -1
- package/dist/components/codeblock/codeblock.vue.d.ts +25 -2
- package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
- package/dist/components/codeblock/codeblock_constants.d.ts +9 -0
- package/dist/components/codeblock/codeblock_constants.d.ts.map +1 -0
- package/dist/components/collapsible/collapsible.vue.d.ts +53 -7
- package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox.vue.d.ts +113 -38
- package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox_empty-list.vue.d.ts +40 -7
- package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox_loading-list.vue.d.ts +64 -22
- package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
- package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +16 -13
- package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
- package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +399 -93
- package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
- package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
- package/dist/components/dropdown/dropdown.vue.d.ts +175 -19
- package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
- package/dist/components/emoji/emoji.vue.d.ts +24 -15
- package/dist/components/emoji_picker/emoji_picker.vue.d.ts +204 -22
- package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +204 -22
- package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
- package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
- package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +24 -15
- package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
- package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
- package/dist/components/empty_state/empty_state_constants.d.ts +52 -31
- package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
- package/dist/components/filter_pill/filter_pill.vue.d.ts +4491 -0
- package/dist/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
- package/dist/components/filter_pill/index.d.ts +2 -0
- package/dist/components/filter_pill/index.d.ts.map +1 -0
- package/dist/components/hovercard/hovercard.vue.d.ts +380 -41
- package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/components/image_viewer/image_viewer.vue.d.ts +131 -14
- package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/components/input/input.vue.d.ts +195 -19
- package/dist/components/input/input.vue.d.ts.map +1 -1
- package/dist/components/input/input_constants.d.ts +46 -48
- package/dist/components/input/input_constants.d.ts.map +1 -1
- package/dist/components/input_group/input_group.vue.d.ts +142 -0
- package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
- package/dist/components/item_layout/item_layout.vue.d.ts +37 -6
- package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
- package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +142 -0
- package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
- package/dist/components/link/index.d.ts +1 -1
- package/dist/components/link/link.vue.d.ts +25 -6
- package/dist/components/link/link_constants.d.ts +4 -4
- package/dist/components/link/link_constants.d.ts.map +1 -1
- package/dist/components/list_item/list_item.vue.d.ts +40 -7
- package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
- package/dist/components/modal/modal.vue.d.ts +292 -97
- package/dist/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/components/modal/modal_constants.d.ts +7 -6
- package/dist/components/mode_island/index.d.ts +3 -0
- package/dist/components/mode_island/index.d.ts.map +1 -0
- package/dist/components/mode_island/mode_island.vue.d.ts +3 -0
- package/dist/components/mode_island/mode_island.vue.d.ts.map +1 -0
- package/dist/components/mode_island/mode_island_constants.d.ts +10 -0
- package/dist/components/mode_island/mode_island_constants.d.ts.map +1 -0
- package/dist/components/mode_island/utils.d.ts +12 -0
- package/dist/components/mode_island/utils.d.ts.map +1 -0
- package/dist/components/mode_island/validators.d.ts +6 -0
- package/dist/components/mode_island/validators.d.ts.map +1 -0
- package/dist/components/motion_text/motion_text_constants.d.ts +27 -23
- package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
- package/dist/components/notice/notice.vue.d.ts +269 -34
- package/dist/components/notice/notice.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_action.vue.d.ts +112 -20
- package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_constants.d.ts.map +1 -1
- package/dist/components/notice/notice_content.vue.d.ts +144 -1
- package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_icon.vue.d.ts +2 -2
- package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
- package/dist/components/pagination/pagination.vue.d.ts +56 -10
- package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
- package/dist/components/popover/popover.vue.d.ts +163 -18
- package/dist/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/components/popover/popover_header_footer.vue.d.ts +62 -7
- package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
- package/dist/components/radio/radio.vue.d.ts +178 -6
- package/dist/components/radio/radio.vue.d.ts.map +1 -1
- package/dist/components/radio/radio_constants.d.ts +2 -2
- package/dist/components/radio_group/radio_group.vue.d.ts +142 -0
- package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +25 -6
- package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +24 -15
- package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +24 -15
- package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +25 -6
- package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +227 -27
- package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +144 -1
- package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
- package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +411 -44
- package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +59 -13
- package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/components/root_layout/root_layout_constants.d.ts +2 -0
- package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
- package/dist/components/scroller/modules/core_scroller.vue.d.ts +2 -2
- package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +12 -12
- package/dist/components/scroller/scroller.vue.d.ts +18 -18
- package/dist/components/segmented_control/index.d.ts +4 -0
- package/dist/components/segmented_control/index.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control.vue.d.ts +226 -0
- package/dist/components/segmented_control/segmented_control.vue.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control_constants.d.ts +41 -0
- package/dist/components/segmented_control/segmented_control_constants.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control_item.vue.d.ts +35 -0
- package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +1 -0
- package/dist/components/select_menu/select_menu.vue.d.ts +189 -31
- package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
- package/dist/components/select_menu/select_menu_constants.d.ts +14 -9
- package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
- package/dist/components/skeleton/skeleton-list-item.vue.d.ts +13 -10
- package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +3 -0
- package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
- package/dist/components/skeleton/skeleton-text.vue.d.ts +3 -0
- package/dist/components/skeleton/skeleton.vue.d.ts +24 -15
- package/dist/components/skeleton/skeleton_constants.d.ts +18 -13
- package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
- package/dist/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +64 -13
- package/dist/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
- package/dist/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +125 -11
- package/dist/components/split_button/split_button-start.vue.d.ts.map +1 -0
- package/dist/components/split_button/split_button.vue.d.ts +602 -78
- package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
- package/dist/components/split_button/split_button_constants.d.ts +12 -7
- package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
- package/dist/components/stack/stack_constants.d.ts.map +1 -1
- package/dist/components/tab/index.d.ts +1 -1
- package/dist/components/tab/tab.vue.d.ts +86 -11
- package/dist/components/tab/tab.vue.d.ts.map +1 -1
- package/dist/components/tab/tab_group.vue.d.ts +125 -10
- package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
- package/dist/components/tab/tabs_constants.d.ts +23 -5
- package/dist/components/tab/tabs_constants.d.ts.map +1 -1
- package/dist/components/text/index.d.ts +3 -0
- package/dist/components/text/index.d.ts.map +1 -0
- package/dist/components/text/text.vue.d.ts +145 -0
- package/dist/components/text/text.vue.d.ts.map +1 -0
- package/dist/components/text/text_constants.d.ts +93 -0
- package/dist/components/text/text_constants.d.ts.map +1 -0
- package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +264 -29
- package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
- package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -2
- package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
- package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +267 -32
- package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
- package/dist/components/toast/toast.vue.d.ts +1125 -185
- package/dist/components/toast/toast.vue.d.ts.map +1 -1
- package/dist/components/toggle/toggle.vue.d.ts +19 -19
- package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
- package/dist/components/toggle/toggle_constants.d.ts +6 -4
- package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.vue.d.ts +31 -5
- package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
- package/dist/{datepicker-LVDRC6Lf.js → datepicker-B2nhxiCg.js} +20 -24
- package/dist/datepicker-B2nhxiCg.js.map +1 -0
- package/dist/datepicker-CZrNL0Yn.cjs +2 -0
- package/dist/datepicker-CZrNL0Yn.cjs.map +1 -0
- package/dist/dialtone-vue.cjs +1 -1
- package/dist/dialtone-vue.css +1 -1
- package/dist/dialtone-vue.js +170 -150
- package/dist/directives/focusgroup_directive/focusgroup.d.ts +6 -0
- package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +74 -0
- package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +15 -0
- package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/index.d.ts +2 -0
- package/dist/directives/focusgroup_directive/index.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap.d.ts +6 -0
- package/dist/directives/focustrap_directive/focustrap.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap_constants.d.ts +7 -0
- package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap_utils.d.ts +5 -0
- package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/index.d.ts +2 -0
- package/dist/directives/focustrap_directive/index.d.ts.map +1 -0
- package/dist/directives/mode_directive/index.d.ts +2 -0
- package/dist/directives/mode_directive/index.d.ts.map +1 -0
- package/dist/directives/mode_directive/mode.d.ts +6 -0
- package/dist/directives/mode_directive/mode.d.ts.map +1 -0
- package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
- package/dist/emoji_picker-BQW4qRFg.cjs +2 -0
- package/dist/emoji_picker-BQW4qRFg.cjs.map +1 -0
- package/dist/{emoji_picker-tVHfpHDk.js → emoji_picker-BjgAohQy.js} +9 -8
- package/dist/emoji_picker-BjgAohQy.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
- package/dist/lib/attachment-carousel/index.cjs +1 -1
- package/dist/lib/attachment-carousel/index.js +1 -1
- package/dist/lib/avatar/avatar-constants.cjs +1 -1
- package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
- package/dist/lib/avatar/avatar-constants.js +111 -24
- package/dist/lib/avatar/avatar-constants.js.map +1 -1
- package/dist/lib/avatar/avatar.cjs +1 -1
- package/dist/lib/avatar/avatar.cjs.map +1 -1
- package/dist/lib/avatar/avatar.js +145 -84
- package/dist/lib/avatar/avatar.js.map +1 -1
- package/dist/lib/avatar/index.cjs +1 -1
- package/dist/lib/avatar/index.js +3 -3
- package/dist/lib/badge/badge-constants.cjs +1 -1
- package/dist/lib/badge/badge-constants.cjs.map +1 -1
- package/dist/lib/badge/badge-constants.js +1 -1
- package/dist/lib/badge/badge-constants.js.map +1 -1
- package/dist/lib/badge/badge.cjs +1 -1
- package/dist/lib/badge/badge.cjs.map +1 -1
- package/dist/lib/badge/badge.js +26 -14
- package/dist/lib/badge/badge.js.map +1 -1
- package/dist/lib/banner/banner.cjs +2 -2
- package/dist/lib/banner/banner.cjs.map +1 -1
- package/dist/lib/banner/banner.js +17 -16
- package/dist/lib/banner/banner.js.map +1 -1
- package/dist/lib/box/box-constants.cjs +2 -0
- package/dist/lib/box/box-constants.cjs.map +1 -0
- package/dist/lib/box/box-constants.js +103 -0
- package/dist/lib/box/box-constants.js.map +1 -0
- package/dist/lib/box/box.cjs +2 -0
- package/dist/lib/box/box.cjs.map +1 -0
- package/dist/lib/box/box.js +229 -0
- package/dist/lib/box/box.js.map +1 -0
- package/dist/lib/box/index.cjs +1 -0
- package/dist/lib/box/index.js +3 -0
- package/dist/lib/box/validators.cjs +2 -0
- package/dist/lib/box/validators.cjs.map +1 -0
- package/dist/lib/box/validators.js +7 -0
- package/dist/lib/box/validators.js.map +1 -0
- package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.js +29 -38
- package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.js +6 -6
- package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/lib/button/button-constants.cjs +1 -1
- package/dist/lib/button/button-constants.cjs.map +1 -1
- package/dist/lib/button/button-constants.js +17 -3
- package/dist/lib/button/button-constants.js.map +1 -1
- package/dist/lib/button/button.cjs +1 -1
- package/dist/lib/button/button.cjs.map +1 -1
- package/dist/lib/button/button.js +98 -15
- package/dist/lib/button/button.js.map +1 -1
- package/dist/lib/button-group/button-group.cjs.map +1 -1
- package/dist/lib/button-group/button-group.js.map +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button/callbar-button.js +26 -27
- package/dist/lib/callbar-button/callbar-button.js.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +45 -36
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +47 -38
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbox/callbox.cjs +1 -1
- package/dist/lib/callbox/callbox.cjs.map +1 -1
- package/dist/lib/callbox/callbox.js +4 -4
- package/dist/lib/callbox/callbox.js.map +1 -1
- package/dist/lib/card/card.cjs +1 -1
- package/dist/lib/card/card.cjs.map +1 -1
- package/dist/lib/card/card.js +10 -18
- package/dist/lib/card/card.js.map +1 -1
- package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
- package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
- package/dist/lib/checkbox/checkbox-constants.js +2 -2
- package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
- package/dist/lib/checkbox/checkbox.cjs +1 -1
- package/dist/lib/checkbox/checkbox.cjs.map +1 -1
- package/dist/lib/checkbox/checkbox.js +79 -28
- package/dist/lib/checkbox/checkbox.js.map +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.js +0 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
- package/dist/lib/chip/chip-constants.cjs +1 -1
- package/dist/lib/chip/chip-constants.cjs.map +1 -1
- package/dist/lib/chip/chip-constants.js +9 -0
- package/dist/lib/chip/chip-constants.js.map +1 -1
- package/dist/lib/chip/chip.cjs +1 -1
- package/dist/lib/chip/chip.cjs.map +1 -1
- package/dist/lib/chip/chip.js +13 -13
- package/dist/lib/chip/chip.js.map +1 -1
- package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
- package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
- package/dist/lib/codeblock/codeblock-constants.js +20 -0
- package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
- package/dist/lib/codeblock/codeblock.cjs +1 -2
- package/dist/lib/codeblock/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock/codeblock.js +25 -14
- package/dist/lib/codeblock/codeblock.js.map +1 -1
- package/dist/lib/collapsible/collapsible.cjs +1 -1
- package/dist/lib/collapsible/collapsible.cjs.map +1 -1
- package/dist/lib/collapsible/collapsible.js +1 -1
- package/dist/lib/collapsible/collapsible.js.map +1 -1
- package/dist/lib/combobox/combobox.cjs +1 -1
- package/dist/lib/combobox/combobox.js +1 -1
- package/dist/lib/combobox/index.cjs +1 -1
- package/dist/lib/combobox/index.js +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +6 -0
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.js +34 -33
- package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.js +51 -46
- package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.js +51 -45
- package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
- package/dist/lib/contact-info/contact-info.cjs +1 -1
- package/dist/lib/contact-info/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info/contact-info.js +8 -8
- package/dist/lib/contact-info/contact-info.js.map +1 -1
- package/dist/lib/contact-row/contact-row.cjs +1 -1
- package/dist/lib/contact-row/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row/contact-row.js +3 -3
- package/dist/lib/contact-row/contact-row.js.map +1 -1
- package/dist/lib/datepicker/datepicker.cjs +1 -1
- package/dist/lib/datepicker/datepicker.js +1 -1
- package/dist/lib/datepicker/index.cjs +1 -1
- package/dist/lib/datepicker/index.js +1 -1
- package/dist/lib/description-list/description-list.cjs +1 -1
- package/dist/lib/description-list/description-list.cjs.map +1 -1
- package/dist/lib/description-list/description-list.js +1 -1
- package/dist/lib/description-list/description-list.js.map +1 -1
- package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
- package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown-constants.js +2 -2
- package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
- package/dist/lib/dropdown/dropdown-list.cjs +1 -1
- package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown-list.js +28 -16
- package/dist/lib/dropdown/dropdown-list.js.map +1 -1
- package/dist/lib/dropdown/dropdown.cjs +1 -1
- package/dist/lib/dropdown/dropdown.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown.js +30 -26
- package/dist/lib/dropdown/dropdown.js.map +1 -1
- package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarButton.js +1 -1
- package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
- package/dist/lib/editor/editor.cjs +1 -1
- package/dist/lib/editor/editor.cjs.map +1 -1
- package/dist/lib/editor/editor.js +134 -135
- package/dist/lib/editor/editor.js.map +1 -1
- package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
- package/dist/lib/emoji-picker/emoji-picker.js +1 -1
- package/dist/lib/emoji-picker/index.cjs +1 -1
- package/dist/lib/emoji-picker/index.js +1 -1
- package/dist/lib/emoji-row/emoji-row.cjs +1 -1
- package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
- package/dist/lib/emoji-row/emoji-row.js +1 -1
- package/dist/lib/emoji-row/emoji-row.js.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
- package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
- package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
- package/dist/lib/empty-state/empty-state-constants.js +37 -9
- package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
- package/dist/lib/empty-state/empty-state.cjs +1 -1
- package/dist/lib/empty-state/empty-state.cjs.map +1 -1
- package/dist/lib/empty-state/empty-state.js +46 -26
- package/dist/lib/empty-state/empty-state.js.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.js +40 -42
- package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.js +3 -3
- package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs +2 -0
- package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
- package/dist/lib/filter-pill/filter-pill.js +433 -0
- package/dist/lib/filter-pill/filter-pill.js.map +1 -0
- package/dist/lib/filter-pill/index.cjs +1 -0
- package/dist/lib/filter-pill/index.js +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.js +77 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.js +33 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup.js +143 -0
- package/dist/lib/focusgroup-directive/focusgroup.js.map +1 -0
- package/dist/lib/focusgroup-directive/index.cjs +1 -0
- package/dist/lib/focusgroup-directive/index.js +2 -0
- package/dist/lib/focustrap-directive/focustrap-constants.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-constants.js +10 -0
- package/dist/lib/focustrap-directive/focustrap-constants.js.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-utils.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-utils.js +19 -0
- package/dist/lib/focustrap-directive/focustrap-utils.js.map +1 -0
- package/dist/lib/focustrap-directive/focustrap.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap.js +96 -0
- package/dist/lib/focustrap-directive/focustrap.js.map +1 -0
- package/dist/lib/focustrap-directive/index.cjs +1 -0
- package/dist/lib/focustrap-directive/index.js +2 -0
- package/dist/lib/general-row/general-row.cjs +1 -1
- package/dist/lib/general-row/general-row.cjs.map +1 -1
- package/dist/lib/general-row/general-row.js +105 -61
- package/dist/lib/general-row/general-row.js.map +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
- package/dist/lib/group-row/group-row.cjs +1 -1
- package/dist/lib/group-row/group-row.cjs.map +1 -1
- package/dist/lib/group-row/group-row.js +2 -2
- package/dist/lib/group-row/group-row.js.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.js +9 -9
- package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard/hovercard.cjs +1 -1
- package/dist/lib/hovercard/hovercard.cjs.map +1 -1
- package/dist/lib/hovercard/hovercard.js +28 -24
- package/dist/lib/hovercard/hovercard.js.map +1 -1
- package/dist/lib/icon/icon.cjs +1 -1
- package/dist/lib/icon/icon.cjs.map +1 -1
- package/dist/lib/icon/icon.js +1 -1
- package/dist/lib/icon/icon.js.map +1 -1
- package/dist/lib/illustration/illustration.cjs +1 -1
- package/dist/lib/illustration/illustration.cjs.map +1 -1
- package/dist/lib/illustration/illustration.js +1 -1
- package/dist/lib/illustration/illustration.js.map +1 -1
- package/dist/lib/image-viewer/image-viewer.cjs +1 -1
- package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
- package/dist/lib/image-viewer/image-viewer.js +32 -31
- package/dist/lib/image-viewer/image-viewer.js.map +1 -1
- package/dist/lib/input/input-constants.cjs +1 -1
- package/dist/lib/input/input-constants.cjs.map +1 -1
- package/dist/lib/input/input-constants.js +25 -11
- package/dist/lib/input/input-constants.js.map +1 -1
- package/dist/lib/input/input.cjs +1 -1
- package/dist/lib/input/input.cjs.map +1 -1
- package/dist/lib/input/input.js +161 -79
- package/dist/lib/input/input.js.map +1 -1
- package/dist/lib/input-group/input-group.cjs +1 -1
- package/dist/lib/input-group/input-group.cjs.map +1 -1
- package/dist/lib/input-group/input-group.js +25 -15
- package/dist/lib/input-group/input-group.js.map +1 -1
- package/dist/lib/item-layout/item-layout.cjs +3 -3
- package/dist/lib/item-layout/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout/item-layout.js +35 -12
- package/dist/lib/item-layout/item-layout.js.map +1 -1
- package/dist/lib/ivr-node/ivr-node.cjs +1 -1
- package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
- package/dist/lib/ivr-node/ivr-node.js +1 -1
- package/dist/lib/ivr-node/ivr-node.js.map +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +48 -38
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js +205 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
- package/dist/lib/link/index.cjs +1 -1
- package/dist/lib/link/index.js +2 -2
- package/dist/lib/link/link-constants.cjs +1 -1
- package/dist/lib/link/link-constants.cjs.map +1 -1
- package/dist/lib/link/link-constants.js +7 -7
- package/dist/lib/link/link-constants.js.map +1 -1
- package/dist/lib/link/link.cjs +1 -1
- package/dist/lib/link/link.cjs.map +1 -1
- package/dist/lib/link/link.js +17 -2
- package/dist/lib/link/link.js.map +1 -1
- package/dist/lib/list-item/list-item.cjs +1 -1
- package/dist/lib/list-item/list-item.cjs.map +1 -1
- package/dist/lib/list-item/list-item.js +9 -5
- package/dist/lib/list-item/list-item.js.map +1 -1
- package/dist/lib/list-item-group/list-item-group.cjs +1 -1
- package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
- package/dist/lib/list-item-group/list-item-group.js +1 -1
- package/dist/lib/list-item-group/list-item-group.js.map +1 -1
- package/dist/lib/message-input/index.cjs +1 -1
- package/dist/lib/message-input/index.js +1 -1
- package/dist/lib/message-input/message-input-button.cjs +1 -1
- package/dist/lib/message-input/message-input-button.cjs.map +1 -1
- package/dist/lib/message-input/message-input-button.js +1 -1
- package/dist/lib/message-input/message-input-button.js.map +1 -1
- package/dist/lib/message-input/message-input-link.cjs +1 -1
- package/dist/lib/message-input/message-input-link.cjs.map +1 -1
- package/dist/lib/message-input/message-input-link.js +9 -9
- package/dist/lib/message-input/message-input-link.js.map +1 -1
- package/dist/lib/message-input/message-input-topbar.cjs +1 -1
- package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
- package/dist/lib/message-input/message-input-topbar.js +2 -2
- package/dist/lib/message-input/message-input-topbar.js.map +1 -1
- package/dist/lib/message-input/message-input.cjs +1 -1
- package/dist/lib/message-input/message-input.js +1 -1
- package/dist/lib/modal/modal-constants.cjs +1 -1
- package/dist/lib/modal/modal-constants.cjs.map +1 -1
- package/dist/lib/modal/modal-constants.js +3 -3
- package/dist/lib/modal/modal-constants.js.map +1 -1
- package/dist/lib/modal/modal.cjs +1 -1
- package/dist/lib/modal/modal.cjs.map +1 -1
- package/dist/lib/modal/modal.js +158 -157
- package/dist/lib/modal/modal.js.map +1 -1
- package/dist/lib/mode-directive/index.cjs +1 -0
- package/dist/lib/mode-directive/index.js +2 -0
- package/dist/lib/mode-directive/mode.cjs +2 -0
- package/dist/lib/mode-directive/mode.cjs.map +1 -0
- package/dist/lib/mode-directive/mode.js +67 -0
- package/dist/lib/mode-directive/mode.js.map +1 -0
- package/dist/lib/mode-island/index.cjs +1 -0
- package/dist/lib/mode-island/index.js +3 -0
- package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
- package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island-constants.js +10 -0
- package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
- package/dist/lib/mode-island/mode-island.cjs +2 -0
- package/dist/lib/mode-island/mode-island.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island.js +102 -0
- package/dist/lib/mode-island/mode-island.js.map +1 -0
- package/dist/lib/mode-island/utils.cjs +2 -0
- package/dist/lib/mode-island/utils.cjs.map +1 -0
- package/dist/lib/mode-island/utils.js +28 -0
- package/dist/lib/mode-island/utils.js.map +1 -0
- package/dist/lib/mode-island/validators.cjs +2 -0
- package/dist/lib/mode-island/validators.cjs.map +1 -0
- package/dist/lib/mode-island/validators.js +10 -0
- package/dist/lib/mode-island/validators.js.map +1 -0
- package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
- package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
- package/dist/lib/motion-text/motion-text-constants.js +18 -6
- package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
- package/dist/lib/motion-text/motion-text.cjs +1 -1
- package/dist/lib/motion-text/motion-text.cjs.map +1 -1
- package/dist/lib/motion-text/motion-text.js +5 -7
- package/dist/lib/motion-text/motion-text.js.map +1 -1
- package/dist/lib/notice/notice-action.cjs +1 -1
- package/dist/lib/notice/notice-action.cjs.map +1 -1
- package/dist/lib/notice/notice-action.js +14 -14
- package/dist/lib/notice/notice-action.js.map +1 -1
- package/dist/lib/notice/notice-constants.cjs +1 -1
- package/dist/lib/notice/notice-constants.cjs.map +1 -1
- package/dist/lib/notice/notice-constants.js +2 -2
- package/dist/lib/notice/notice-constants.js.map +1 -1
- package/dist/lib/notice/notice-content.cjs +1 -1
- package/dist/lib/notice/notice-content.cjs.map +1 -1
- package/dist/lib/notice/notice-content.js +29 -12
- package/dist/lib/notice/notice-content.js.map +1 -1
- package/dist/lib/notice/notice-icon.cjs +1 -1
- package/dist/lib/notice/notice-icon.cjs.map +1 -1
- package/dist/lib/notice/notice-icon.js +4 -4
- package/dist/lib/notice/notice-icon.js.map +1 -1
- package/dist/lib/notice/notice.cjs +1 -1
- package/dist/lib/notice/notice.cjs.map +1 -1
- package/dist/lib/notice/notice.js +17 -16
- package/dist/lib/notice/notice.js.map +1 -1
- package/dist/lib/pagination/pagination.cjs +1 -1
- package/dist/lib/pagination/pagination.cjs.map +1 -1
- package/dist/lib/pagination/pagination.js +13 -12
- package/dist/lib/pagination/pagination.js.map +1 -1
- package/dist/lib/popover/popover-constants.cjs +1 -1
- package/dist/lib/popover/popover-constants.cjs.map +1 -1
- package/dist/lib/popover/popover-constants.js +6 -6
- package/dist/lib/popover/popover-constants.js.map +1 -1
- package/dist/lib/popover/popover-header-footer.cjs +1 -1
- package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
- package/dist/lib/popover/popover-header-footer.js +11 -3
- package/dist/lib/popover/popover-header-footer.js.map +1 -1
- package/dist/lib/popover/popover.cjs +1 -1
- package/dist/lib/popover/popover.cjs.map +1 -1
- package/dist/lib/popover/popover.js +78 -58
- package/dist/lib/popover/popover.js.map +1 -1
- package/dist/lib/radio/radio-constants.cjs +1 -1
- package/dist/lib/radio/radio-constants.cjs.map +1 -1
- package/dist/lib/radio/radio-constants.js +2 -2
- package/dist/lib/radio/radio-constants.js.map +1 -1
- package/dist/lib/radio/radio.cjs +1 -1
- package/dist/lib/radio/radio.cjs.map +1 -1
- package/dist/lib/radio/radio.js +94 -31
- package/dist/lib/radio/radio.js.map +1 -1
- package/dist/lib/resizable/index.cjs +1 -1
- package/dist/lib/resizable/index.js +3 -3
- package/dist/lib/resizable/resizable-handle.cjs +1 -1
- package/dist/lib/resizable/resizable-handle.js +1 -1
- package/dist/lib/resizable/resizable-panel.cjs +1 -1
- package/dist/lib/resizable/resizable-panel.js +1 -1
- package/dist/lib/resizable/resizable.cjs +1 -1
- package/dist/lib/resizable/resizable.js +1 -1
- package/dist/lib/rich-text-editor/index.cjs +1 -1
- package/dist/lib/rich-text-editor/index.js +1 -1
- package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
- package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout-constants.js +2 -0
- package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
- package/dist/lib/root-layout/root-layout.cjs +1 -1
- package/dist/lib/root-layout/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout.js +2 -2
- package/dist/lib/root-layout/root-layout.js.map +1 -1
- package/dist/lib/scroller/index.cjs +1 -1
- package/dist/lib/scroller/index.js +1 -1
- package/dist/lib/scroller/scroller.cjs +1 -1
- package/dist/lib/scroller/scroller.js +1 -1
- package/dist/lib/segmented-control/index.cjs +1 -0
- package/dist/lib/segmented-control/index.js +4 -0
- package/dist/lib/segmented-control/segmented-control-constants.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control-constants.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control-constants.js +41 -0
- package/dist/lib/segmented-control/segmented-control-constants.js.map +1 -0
- package/dist/lib/segmented-control/segmented-control-item.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control-item.js +104 -0
- package/dist/lib/segmented-control/segmented-control-item.js.map +1 -0
- package/dist/lib/segmented-control/segmented-control.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control.js +204 -0
- package/dist/lib/segmented-control/segmented-control.js.map +1 -0
- package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
- package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
- package/dist/lib/select-menu/select-menu-constants.js +7 -2
- package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
- package/dist/lib/select-menu/select-menu.cjs +1 -1
- package/dist/lib/select-menu/select-menu.cjs.map +1 -1
- package/dist/lib/select-menu/select-menu.js +117 -58
- package/dist/lib/select-menu/select-menu.js.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.js +5 -5
- package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
- package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-constants.js +10 -2
- package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
- package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
- package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-list-item.js +2 -2
- package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
- package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
- package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-shape.js +3 -3
- package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
- package/dist/lib/split-button/split-button-constants.cjs +1 -1
- package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
- package/dist/lib/split-button/split-button-constants.js +5 -0
- package/dist/lib/split-button/split-button-constants.js.map +1 -1
- package/dist/lib/split-button/split-button-end.cjs +2 -0
- package/dist/lib/split-button/split-button-end.cjs.map +1 -0
- package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +9 -9
- package/dist/lib/split-button/split-button-end.js.map +1 -0
- package/dist/lib/split-button/split-button-start.cjs +2 -0
- package/dist/lib/split-button/split-button-start.cjs.map +1 -0
- package/dist/lib/split-button/split-button-start.js +182 -0
- package/dist/lib/split-button/split-button-start.js.map +1 -0
- package/dist/lib/split-button/split-button.cjs +1 -1
- package/dist/lib/split-button/split-button.cjs.map +1 -1
- package/dist/lib/split-button/split-button.js +246 -71
- package/dist/lib/split-button/split-button.js.map +1 -1
- package/dist/lib/stack/stack-constants.cjs +1 -1
- package/dist/lib/stack/stack-constants.cjs.map +1 -1
- package/dist/lib/stack/stack-constants.js +10 -2
- package/dist/lib/stack/stack-constants.js.map +1 -1
- package/dist/lib/stack/stack.cjs.map +1 -1
- package/dist/lib/stack/stack.js.map +1 -1
- package/dist/lib/tab/index.cjs +1 -1
- package/dist/lib/tab/index.js +5 -5
- package/dist/lib/tab/tab-group.cjs +1 -1
- package/dist/lib/tab/tab-group.cjs.map +1 -1
- package/dist/lib/tab/tab-group.js +173 -50
- package/dist/lib/tab/tab-group.js.map +1 -1
- package/dist/lib/tab/tab.cjs +1 -1
- package/dist/lib/tab/tab.cjs.map +1 -1
- package/dist/lib/tab/tab.js +108 -23
- package/dist/lib/tab/tab.js.map +1 -1
- package/dist/lib/tab/tabs-constants.cjs +1 -1
- package/dist/lib/tab/tabs-constants.cjs.map +1 -1
- package/dist/lib/tab/tabs-constants.js +33 -2
- package/dist/lib/tab/tabs-constants.js.map +1 -1
- package/dist/lib/text/index.cjs +1 -0
- package/dist/lib/text/index.js +3 -0
- package/dist/lib/text/text-constants.cjs +2 -0
- package/dist/lib/text/text-constants.cjs.map +1 -0
- package/dist/lib/text/text-constants.js +126 -0
- package/dist/lib/text/text-constants.js.map +1 -0
- package/dist/lib/text/text.cjs +2 -0
- package/dist/lib/text/text.cjs.map +1 -0
- package/dist/lib/text/text.js +150 -0
- package/dist/lib/text/text.js.map +1 -0
- package/dist/lib/toast/index.cjs +1 -1
- package/dist/lib/toast/index.js +1 -1
- package/dist/lib/toast/toast.cjs +1 -1
- package/dist/lib/toast/toast.js +1 -1
- package/dist/lib/toggle/toggle-constants.cjs +1 -1
- package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
- package/dist/lib/toggle/toggle-constants.js +2 -0
- package/dist/lib/toggle/toggle-constants.js.map +1 -1
- package/dist/lib/toggle/toggle.cjs +1 -1
- package/dist/lib/toggle/toggle.cjs.map +1 -1
- package/dist/lib/toggle/toggle.js +24 -29
- package/dist/lib/toggle/toggle.js.map +1 -1
- package/dist/lib/tooltip/tooltip.cjs +1 -4
- package/dist/lib/tooltip/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip/tooltip.js +36 -31
- package/dist/lib/tooltip/tooltip.js.map +1 -1
- package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
- package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip-directive/tooltip.js +36 -35
- package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
- package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
- package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info/top-banner-info.js +4 -4
- package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
- package/dist/lib/unread-pill/unread-pill.cjs +1 -1
- package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
- package/dist/lib/unread-pill/unread-pill.js +1 -1
- package/dist/lib/unread-pill/unread-pill.js.map +1 -1
- package/dist/lib/validation-messages/validation-messages.cjs +1 -1
- package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
- package/dist/lib/validation-messages/validation-messages.js +2 -2
- package/dist/lib/validation-messages/validation-messages.js.map +1 -1
- package/dist/localization/en-US.cjs +5 -0
- package/dist/localization/en-US.cjs.map +1 -1
- package/dist/localization/en-US.js +1 -1
- package/dist/localization/en-US.js.map +1 -1
- package/dist/{markdownRenderer-DCgGQseq.cjs → markdownRenderer-Dsq-CiH9.cjs} +1 -1
- package/dist/{markdownRenderer-DCgGQseq.cjs.map → markdownRenderer-Dsq-CiH9.cjs.map} +1 -1
- package/dist/{markdownRenderer-D_P94RyM.js → markdownRenderer-k7_rQkox.js} +1 -1
- package/dist/{markdownRenderer-D_P94RyM.js.map → markdownRenderer-k7_rQkox.js.map} +1 -1
- package/dist/{message_input-CHlTsBGK.js → message_input-BYy1xKCy.js} +129 -130
- package/dist/message_input-BYy1xKCy.js.map +1 -0
- package/dist/message_input-sSCHhaeC.cjs +2 -0
- package/dist/message_input-sSCHhaeC.cjs.map +1 -0
- package/dist/mode_constants-CzYJW9ua.cjs +2 -0
- package/dist/mode_constants-CzYJW9ua.cjs.map +1 -0
- package/dist/mode_constants-tb7TL85q.js +14 -0
- package/dist/mode_constants-tb7TL85q.js.map +1 -0
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +85 -14
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +313 -41
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
- package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +302 -41
- package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
- package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +228 -35
- package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
- package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +62 -16
- package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +237 -28
- package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +184 -21
- package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +53 -7
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +228 -26
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +216 -25
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts +1163 -178
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +132 -42
- package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +91 -23
- package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +126 -35
- package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +90 -13
- package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +1622 -207
- package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +226 -12
- package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +636 -55
- package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +226 -12
- package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
- package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +53 -7
- package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
- package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +122 -33
- package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +87 -29
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +82 -28
- package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +588 -72
- package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +480 -31
- package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +479 -30
- package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
- package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
- package/dist/{resizable-aOVGO_Os.cjs → resizable-DhowneUp.cjs} +2 -2
- package/dist/{resizable-aOVGO_Os.cjs.map → resizable-DhowneUp.cjs.map} +1 -1
- package/dist/{resizable-D4-peBOl.js → resizable-xcOu-0_w.js} +3 -3
- package/dist/{resizable-D4-peBOl.js.map → resizable-xcOu-0_w.js.map} +1 -1
- package/dist/{resizable_handle-BlKBiWnx.js → resizable_handle-BAZzCA_i.js} +3 -3
- package/dist/{resizable_handle-BlKBiWnx.js.map → resizable_handle-BAZzCA_i.js.map} +1 -1
- package/dist/{resizable_handle-RIKS8frB.cjs → resizable_handle-fjKg48eY.cjs} +2 -2
- package/dist/{resizable_handle-RIKS8frB.cjs.map → resizable_handle-fjKg48eY.cjs.map} +1 -1
- package/dist/{resizable_utils-DhuzXRdP.cjs → resizable_utils-BE4lK07_.cjs} +1 -1
- package/dist/{resizable_utils-DhuzXRdP.cjs.map → resizable_utils-BE4lK07_.cjs.map} +1 -1
- package/dist/{resizable_utils-BComtrMV.js → resizable_utils-DsKnGHKW.js} +1 -1
- package/dist/{resizable_utils-BComtrMV.js.map → resizable_utils-DsKnGHKW.js.map} +1 -1
- package/dist/{rich_text_editor-Ba67C4Uk.js → rich_text_editor-CEW74QNe.js} +637 -598
- package/dist/{rich_text_editor-Ba67C4Uk.js.map → rich_text_editor-CEW74QNe.js.map} +1 -1
- package/dist/rich_text_editor-immDiKq_.cjs +10 -0
- package/dist/{rich_text_editor-DMP5eTlf.cjs.map → rich_text_editor-immDiKq_.cjs.map} +1 -1
- package/dist/scroller-C15VLKNK.cjs +2 -0
- package/dist/scroller-C15VLKNK.cjs.map +1 -0
- package/dist/{scroller-BGVDh3sq.js → scroller-DPqcc_Wl.js} +6 -6
- package/dist/scroller-DPqcc_Wl.js.map +1 -0
- package/dist/shared/sr_only_close_button.cjs +1 -1
- package/dist/shared/sr_only_close_button.cjs.map +1 -1
- package/dist/shared/sr_only_close_button.js +1 -1
- package/dist/shared/sr_only_close_button.js.map +1 -1
- package/dist/toast-B1WZNMAm.cjs +2 -0
- package/dist/toast-B1WZNMAm.cjs.map +1 -0
- package/dist/{toast-DvPN-bCi.js → toast-DaH2KF7B.js} +52 -51
- package/dist/toast-DaH2KF7B.js.map +1 -0
- package/dist/{useResizableCalculations-DAajatT4.js → useResizableCalculations-2UpEXvfY.js} +2 -2
- package/dist/{useResizableCalculations-DAajatT4.js.map → useResizableCalculations-2UpEXvfY.js.map} +1 -1
- package/dist/{useResizableCalculations-BDITle3Q.cjs → useResizableCalculations-DPBjAFWQ.cjs} +2 -2
- package/dist/{useResizableCalculations-BDITle3Q.cjs.map → useResizableCalculations-DPBjAFWQ.cjs.map} +1 -1
- package/package.json +9 -7
- package/dist/attachment_carousel-BHxR7A76.cjs +0 -2
- package/dist/attachment_carousel-BHxR7A76.cjs.map +0 -1
- package/dist/attachment_carousel-CouFqFMw.js.map +0 -1
- package/dist/combobox-DgClbLOg.js.map +0 -1
- package/dist/combobox-DhjZxfUw.cjs +0 -3
- package/dist/combobox-DhjZxfUw.cjs.map +0 -1
- package/dist/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
- package/dist/datepicker-DprRX9AH.cjs +0 -2
- package/dist/datepicker-DprRX9AH.cjs.map +0 -1
- package/dist/datepicker-LVDRC6Lf.js.map +0 -1
- package/dist/emoji_picker-Cl-T4BXK.cjs +0 -2
- package/dist/emoji_picker-Cl-T4BXK.cjs.map +0 -1
- package/dist/emoji_picker-tVHfpHDk.js.map +0 -1
- package/dist/lib/split-button/split-button-alpha.cjs +0 -2
- package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
- package/dist/lib/split-button/split-button-alpha.js +0 -107
- package/dist/lib/split-button/split-button-alpha.js.map +0 -1
- package/dist/lib/split-button/split-button-omega.cjs +0 -2
- package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
- package/dist/lib/split-button/split-button-omega.js.map +0 -1
- package/dist/message_input-AWgvtwMV.cjs +0 -2
- package/dist/message_input-AWgvtwMV.cjs.map +0 -1
- package/dist/message_input-CHlTsBGK.js.map +0 -1
- package/dist/rich_text_editor-DMP5eTlf.cjs +0 -10
- package/dist/scroller-BGVDh3sq.js.map +0 -1
- package/dist/scroller-CjAsgjl9.cjs +0 -2
- package/dist/scroller-CjAsgjl9.cjs.map +0 -1
- package/dist/toast-DvPN-bCi.js.map +0 -1
- package/dist/toast-d8_zmgkL.cjs +0 -2
- package/dist/toast-d8_zmgkL.cjs.map +0 -1
package/dist/lib/modal/modal.js
CHANGED
|
@@ -1,26 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import s from "
|
|
5
|
-
import
|
|
1
|
+
import { disableRootScrolling as e, enableRootScrolling as t, getUniqueString as n, hasSlotContent as r, returnFirstEl as i } from "../../common/utils/index.js";
|
|
2
|
+
import { t as a } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
|
|
3
|
+
import o from "../../common/mixins/mode.js";
|
|
4
|
+
import { NOTICE_KINDS as s } from "../notice/notice-constants.js";
|
|
5
|
+
import c from "../text/text.js";
|
|
6
6
|
import { DialtoneLocalization as l } from "../../localization/index.js";
|
|
7
7
|
import u from "../button/button.js";
|
|
8
8
|
import d from "../../shared/sr_only_close_button.js";
|
|
9
|
-
import f from "
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { DtIconClose as P } from "@dialpad/dialtone-icons/vue3";
|
|
9
|
+
import { MODAL_BANNER_KINDS as f, MODAL_KIND_MODIFIERS as p, MODAL_SIZE_MODIFIERS as m } from "./modal-constants.js";
|
|
10
|
+
import { Teleport as h, Transition as g, createBlock as _, createCommentVNode as v, createElementBlock as y, createElementVNode as b, createTextVNode as x, createVNode as S, mergeProps as C, normalizeClass as w, openBlock as T, renderSlot as E, resolveComponent as D, toDisplayString as O, vShow as k, withCtx as A, withDirectives as j, withModifiers as M } from "vue";
|
|
11
|
+
import { DtIconClose as N } from "@dialpad/dialtone-icons/vue";
|
|
13
12
|
//#region components/modal/modal.vue
|
|
14
|
-
var F = {
|
|
13
|
+
var P = "button:not(:disabled),[href],input:not(:disabled),select:not(:disabled),textarea:not(:disabled),details,[tabindex]:not([tabindex=\"-1\"]):not(:disabled):not([aria-disabled=\"true\"])", F = {
|
|
15
14
|
compatConfig: { MODE: 3 },
|
|
16
15
|
name: "DtModal",
|
|
17
16
|
components: {
|
|
18
|
-
DtLazyShow: f,
|
|
19
17
|
DtButton: u,
|
|
20
|
-
|
|
18
|
+
DtText: c,
|
|
19
|
+
DtIconClose: N,
|
|
21
20
|
SrOnlyCloseButton: d
|
|
22
21
|
},
|
|
23
|
-
mixins: [
|
|
22
|
+
mixins: [o],
|
|
24
23
|
props: {
|
|
25
24
|
copy: {
|
|
26
25
|
type: String,
|
|
@@ -33,10 +32,10 @@ var F = {
|
|
|
33
32
|
labelledById: {
|
|
34
33
|
type: String,
|
|
35
34
|
default: function() {
|
|
36
|
-
return
|
|
35
|
+
return n();
|
|
37
36
|
}
|
|
38
37
|
},
|
|
39
|
-
|
|
38
|
+
open: {
|
|
40
39
|
type: Boolean,
|
|
41
40
|
default: !1
|
|
42
41
|
},
|
|
@@ -51,12 +50,12 @@ var F = {
|
|
|
51
50
|
kind: {
|
|
52
51
|
type: String,
|
|
53
52
|
default: "default",
|
|
54
|
-
validator: (e) => Object.keys(
|
|
53
|
+
validator: (e) => Object.keys(p).includes(e)
|
|
55
54
|
},
|
|
56
55
|
size: {
|
|
57
56
|
type: String,
|
|
58
57
|
default: "default",
|
|
59
|
-
validator: (e) => Object.keys(
|
|
58
|
+
validator: (e) => Object.keys(m).includes(e)
|
|
60
59
|
},
|
|
61
60
|
modalClass: {
|
|
62
61
|
type: [
|
|
@@ -85,8 +84,8 @@ var F = {
|
|
|
85
84
|
bannerKind: {
|
|
86
85
|
type: String,
|
|
87
86
|
default: "warning",
|
|
88
|
-
|
|
89
|
-
return
|
|
87
|
+
validator(e) {
|
|
88
|
+
return s.includes(e);
|
|
90
89
|
}
|
|
91
90
|
},
|
|
92
91
|
bannerClass: {
|
|
@@ -97,9 +96,9 @@ var F = {
|
|
|
97
96
|
],
|
|
98
97
|
default: ""
|
|
99
98
|
},
|
|
100
|
-
|
|
99
|
+
showClose: {
|
|
101
100
|
type: Boolean,
|
|
102
|
-
default: !
|
|
101
|
+
default: !0
|
|
103
102
|
},
|
|
104
103
|
closeOnClick: {
|
|
105
104
|
type: Boolean,
|
|
@@ -122,93 +121,88 @@ var F = {
|
|
|
122
121
|
emits: [
|
|
123
122
|
"click",
|
|
124
123
|
"keydown",
|
|
125
|
-
"update:
|
|
124
|
+
"update:open"
|
|
126
125
|
],
|
|
127
126
|
data() {
|
|
128
127
|
return {
|
|
129
|
-
MODAL_KIND_MODIFIERS:
|
|
130
|
-
MODAL_SIZE_MODIFIERS:
|
|
131
|
-
MODAL_BANNER_KINDS:
|
|
132
|
-
|
|
133
|
-
hasSlotContent: i,
|
|
128
|
+
MODAL_KIND_MODIFIERS: p,
|
|
129
|
+
MODAL_SIZE_MODIFIERS: m,
|
|
130
|
+
MODAL_BANNER_KINDS: f,
|
|
131
|
+
hasSlotContent: r,
|
|
134
132
|
i18n: new l()
|
|
135
133
|
};
|
|
136
134
|
},
|
|
137
135
|
computed: {
|
|
138
|
-
modalListeners() {
|
|
139
|
-
return {
|
|
140
|
-
click: (e) => {
|
|
141
|
-
this.closeOnClick && e.target === e.currentTarget ? this.close() : this.show && e.target !== e.currentTarget && this.handleModalClick(e), this.$emit("click", e);
|
|
142
|
-
},
|
|
143
|
-
keydown: (t) => {
|
|
144
|
-
switch (t.code) {
|
|
145
|
-
case e.esc:
|
|
146
|
-
case e.escape:
|
|
147
|
-
this.close();
|
|
148
|
-
break;
|
|
149
|
-
case e.tab:
|
|
150
|
-
this.trapFocus(t);
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
this.$emit("keydown", t);
|
|
154
|
-
},
|
|
155
|
-
"after-enter": async () => {
|
|
156
|
-
this.$emit("update:show", !0), await this.setFocusAfterTransition();
|
|
157
|
-
},
|
|
158
|
-
focusin: (e) => {
|
|
159
|
-
let t = this.$refs.modalRoot?.$el || this.$el;
|
|
160
|
-
this.show && t && !t.contains(e.target) && (e.preventDefault(), this.focusFirstElement(t));
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
},
|
|
164
|
-
open() {
|
|
165
|
-
return `${!this.show}`;
|
|
166
|
-
},
|
|
167
136
|
hasFooterSlot() {
|
|
168
137
|
return !!this.$slots.footer;
|
|
169
138
|
},
|
|
170
139
|
bannerKindClass() {
|
|
171
|
-
return
|
|
140
|
+
return f[this.bannerKind];
|
|
172
141
|
},
|
|
173
142
|
closeButtonTitle() {
|
|
174
143
|
return this.i18n.$t("DIALTONE_CLOSE_BUTTON");
|
|
175
144
|
}
|
|
176
145
|
},
|
|
177
|
-
watch: {
|
|
178
|
-
|
|
179
|
-
} }
|
|
146
|
+
watch: { open(e) {
|
|
147
|
+
this.syncDialogState(e);
|
|
148
|
+
} },
|
|
149
|
+
mounted() {
|
|
150
|
+
this.open && this.syncDialogState(!0);
|
|
151
|
+
},
|
|
152
|
+
beforeUnmount() {
|
|
153
|
+
let e = this.$refs.dialogEl;
|
|
154
|
+
e?.open && (e.close(), t(this.getScrollRoot())), this.previousActiveElement = null;
|
|
155
|
+
},
|
|
180
156
|
methods: {
|
|
157
|
+
getScrollRoot() {
|
|
158
|
+
return i(this.$refs.dialogEl)?.getRootNode()?.host;
|
|
159
|
+
},
|
|
160
|
+
syncDialogState(n) {
|
|
161
|
+
let r = this.$refs.dialogEl;
|
|
162
|
+
r && (n ? (this.previousActiveElement = document.activeElement, r.open || r.showModal(), e(this.getScrollRoot())) : r.open && t(this.getScrollRoot()));
|
|
163
|
+
},
|
|
181
164
|
close() {
|
|
182
|
-
this.$emit("update:
|
|
165
|
+
this.$emit("update:open", !1);
|
|
183
166
|
},
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
this.initialFocusElement === "first" ? await this.focusFirstElement(e) : this.initialFocusElement.startsWith("#") ? await this.focusElementById(this.initialFocusElement) : this.initialFocusElement instanceof HTMLElement && this.initialFocusElement.focus();
|
|
167
|
+
onBackdropClick(e) {
|
|
168
|
+
this.closeOnClick && e.target === e.currentTarget && this.close(), this.$emit("click", e);
|
|
187
169
|
},
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
let t = this.$refs.modalRoot?.$el || this.$el;
|
|
191
|
-
this.focusTrappedTabPress(e, t);
|
|
192
|
-
}
|
|
170
|
+
onKeydown(e) {
|
|
171
|
+
this.$emit("keydown", e);
|
|
193
172
|
},
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
173
|
+
async onAfterEnter() {
|
|
174
|
+
this.$emit("update:open", !0), await this.setFocusAfterTransition();
|
|
175
|
+
},
|
|
176
|
+
onAfterLeave() {
|
|
177
|
+
let e = this.$refs.dialogEl;
|
|
178
|
+
e?.open && e.close(), this.previousActiveElement?.focus(), this.previousActiveElement = null;
|
|
179
|
+
},
|
|
180
|
+
focusFirstTabbable(e) {
|
|
181
|
+
let t = [...e.querySelectorAll(P)];
|
|
182
|
+
if (!t.length) return;
|
|
183
|
+
let n = t[0];
|
|
184
|
+
n.matches("[type=\"radio\"]:not(:checked)") && (n = t.find((e) => e.checked && e.name === n.name) || n), n.focus({ preventScroll: !0 });
|
|
185
|
+
},
|
|
186
|
+
async setFocusAfterTransition() {
|
|
187
|
+
let e = this.$refs.dialogEl;
|
|
188
|
+
if (e) if (await this.$nextTick(), this.initialFocusElement === "first") this.focusFirstTabbable(e);
|
|
189
|
+
else if (typeof this.initialFocusElement == "string" && this.initialFocusElement.startsWith("#")) {
|
|
190
|
+
let t = e.querySelector(this.initialFocusElement);
|
|
191
|
+
t ? t.focus() : (console.warn("Could not find the element specified in dt-modal prop \"initialFocusElement\". Defaulting to focusing the first element."), this.focusFirstTabbable(e));
|
|
192
|
+
} else this.initialFocusElement instanceof HTMLElement && this.initialFocusElement.focus();
|
|
197
193
|
}
|
|
198
194
|
}
|
|
199
|
-
}, I = ["aria-describedby", "aria-labelledby"], L = ["id"], R =
|
|
195
|
+
}, I = ["aria-describedby", "aria-labelledby"], L = ["id"], R = {
|
|
200
196
|
key: 4,
|
|
201
197
|
class: "d-modal__footer"
|
|
202
198
|
};
|
|
203
|
-
function
|
|
204
|
-
let o =
|
|
205
|
-
return
|
|
199
|
+
function z(e, t, n, r, i, a) {
|
|
200
|
+
let o = D("dt-text"), s = D("sr-only-close-button"), c = D("dt-icon-close"), l = D("dt-button");
|
|
201
|
+
return T(), _(h, {
|
|
206
202
|
disabled: !n.appendTo,
|
|
207
203
|
to: n.appendTo
|
|
208
|
-
}, [
|
|
209
|
-
ref: "
|
|
210
|
-
transition: "d-zoom",
|
|
211
|
-
show: n.show,
|
|
204
|
+
}, [b("dialog", C({
|
|
205
|
+
ref: "dialogEl",
|
|
212
206
|
class: [
|
|
213
207
|
"d-modal",
|
|
214
208
|
i.MODAL_KIND_MODIFIERS[n.kind],
|
|
@@ -216,85 +210,92 @@ function B(e, t, n, r, i, a) {
|
|
|
216
210
|
n.modalClass
|
|
217
211
|
],
|
|
218
212
|
"data-qa": "dt-modal",
|
|
219
|
-
"aria-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
]))
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
213
|
+
"aria-describedby": n.describedById || void 0,
|
|
214
|
+
"aria-labelledby": n.labelledById
|
|
215
|
+
}, e.modeAttrs, {
|
|
216
|
+
onCancel: t[0] || (t[0] = M((...e) => a.close && a.close(...e), ["prevent"])),
|
|
217
|
+
onClick: t[1] || (t[1] = (...e) => a.onBackdropClick && a.onBackdropClick(...e)),
|
|
218
|
+
onKeydown: t[2] || (t[2] = (...e) => a.onKeydown && a.onKeydown(...e))
|
|
219
|
+
}), [n.open && (i.hasSlotContent(e.$slots.banner) || n.bannerTitle) ? (T(), y("div", {
|
|
220
|
+
key: 0,
|
|
221
|
+
"data-qa": "dt-modal-banner",
|
|
222
|
+
class: w([
|
|
223
|
+
"d-modal__banner",
|
|
224
|
+
n.bannerClass,
|
|
225
|
+
a.bannerKindClass
|
|
226
|
+
])
|
|
227
|
+
}, [E(e.$slots, "banner", {}, () => [x(O(n.bannerTitle), 1)])], 2)) : v("", !0), S(g, {
|
|
228
|
+
appear: n.open,
|
|
229
|
+
name: "d-modal__dialog",
|
|
230
|
+
onAfterEnter: a.onAfterEnter,
|
|
231
|
+
onAfterLeave: a.onAfterLeave
|
|
232
|
+
}, {
|
|
233
|
+
default: A(() => [j(b("div", { class: w([
|
|
234
|
+
"d-modal__dialog",
|
|
235
|
+
{ "d-modal__dialog--scrollable": n.fixedHeaderFooter },
|
|
236
|
+
n.dialogClass
|
|
237
|
+
]) }, [
|
|
238
|
+
i.hasSlotContent(e.$slots.header) ? (T(), y("div", {
|
|
239
|
+
key: 0,
|
|
240
|
+
id: n.labelledById,
|
|
241
|
+
class: "d-modal__header",
|
|
242
|
+
"data-qa": "dt-modal-title"
|
|
243
|
+
}, [E(e.$slots, "header")], 8, L)) : (T(), _(o, {
|
|
244
|
+
key: 1,
|
|
245
|
+
id: n.labelledById,
|
|
246
|
+
kind: "headline",
|
|
247
|
+
size: 600,
|
|
248
|
+
strength: "medium",
|
|
249
|
+
density: "100",
|
|
250
|
+
"text-box-trim": "start",
|
|
251
|
+
as: "h2",
|
|
252
|
+
class: "d-modal__header",
|
|
253
|
+
"data-qa": "dt-modal-title"
|
|
254
|
+
}, {
|
|
255
|
+
default: A(() => [x(O(n.title), 1)]),
|
|
256
|
+
_: 1
|
|
257
|
+
}, 8, ["id"])),
|
|
258
|
+
i.hasSlotContent(e.$slots.default) ? (T(), y("div", {
|
|
259
|
+
key: 2,
|
|
260
|
+
class: w(["d-modal__content", n.contentClass]),
|
|
261
|
+
"data-qa": "dt-modal-copy"
|
|
262
|
+
}, [E(e.$slots, "default")], 2)) : (T(), y("p", {
|
|
263
|
+
key: 3,
|
|
264
|
+
class: w(["d-modal__content", n.contentClass]),
|
|
265
|
+
"data-qa": "dt-modal-copy"
|
|
266
|
+
}, O(n.copy), 3)),
|
|
267
|
+
a.hasFooterSlot ? (T(), y("footer", R, [E(e.$slots, "footer")])) : v("", !0),
|
|
268
|
+
n.showClose ? (T(), _(l, {
|
|
269
|
+
key: 6,
|
|
270
|
+
class: "d-modal__close",
|
|
271
|
+
"data-qa": "dt-modal-close-button",
|
|
272
|
+
size: 300,
|
|
273
|
+
kind: "muted",
|
|
274
|
+
importance: "clear",
|
|
275
|
+
"aria-label": a.closeButtonTitle,
|
|
276
|
+
title: a.closeButtonTitle,
|
|
277
|
+
onClick: a.close
|
|
278
|
+
}, {
|
|
279
|
+
icon: A(({ iconSize: e }) => [S(c, { size: e }, null, 8, ["size"])]),
|
|
280
|
+
_: 1
|
|
281
|
+
}, 8, [
|
|
282
|
+
"aria-label",
|
|
283
|
+
"title",
|
|
284
|
+
"onClick"
|
|
285
|
+
])) : (T(), _(s, {
|
|
286
|
+
key: 5,
|
|
287
|
+
onClose: a.close
|
|
288
|
+
}, null, 8, ["onClose"]))
|
|
289
|
+
], 2), [[k, n.open]])]),
|
|
289
290
|
_: 3
|
|
290
|
-
},
|
|
291
|
-
"
|
|
292
|
-
"
|
|
293
|
-
"
|
|
294
|
-
])], 8, ["disabled", "to"]);
|
|
291
|
+
}, 8, [
|
|
292
|
+
"appear",
|
|
293
|
+
"onAfterEnter",
|
|
294
|
+
"onAfterLeave"
|
|
295
|
+
])], 16, I)], 8, ["disabled", "to"]);
|
|
295
296
|
}
|
|
296
|
-
var
|
|
297
|
+
var B = /* @__PURE__ */ a(F, [["render", z]]);
|
|
297
298
|
//#endregion
|
|
298
|
-
export {
|
|
299
|
+
export { B as default };
|
|
299
300
|
|
|
300
301
|
//# sourceMappingURL=modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","names":[],"sources":["../../../components/modal/modal.vue"],"sourcesContent":["<template>\n <teleport\n :disabled=\"!appendTo\"\n :to=\"appendTo\"\n >\n <dt-lazy-show\n ref=\"modalRoot\"\n transition=\"d-zoom\"\n :show=\"show\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-hidden=\"open\"\n v-on=\"modalListeners\"\n >\n <div\n v-if=\"show && (hasSlotContent($slots.banner) || bannerTitle)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerTitle prop -->\n <slot name=\"banner\">\n {{ bannerTitle }}\n </slot>\n </div>\n <transition\n appear\n name=\"d-modal__dialog\"\n >\n <div\n v-show=\"show\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-describedby=\"describedById\"\n :aria-labelledby=\"labelledById\"\n >\n <div\n v-if=\"hasSlotContent($slots.header)\"\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"title\" text prop -->\n <slot name=\"header\" />\n </div>\n <h2\n v-else\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ title }}\n </h2>\n <div\n v-if=\"hasSlotContent($slots.default)\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n class=\"d-modal__footer\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <sr-only-close-button\n v-if=\"hideClose\"\n @close=\"close\"\n />\n <dt-button\n v-else\n class=\"d-modal__close\"\n data-qa=\"dt-modal-close-button\"\n size=\"md\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-close\n :size=\"iconSize\"\n />\n </template>\n </dt-button>\n </div>\n </transition>\n </dt-lazy-show>\n </teleport>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport Modal from '@/common/mixins/modal';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { returnFirstEl, getUniqueString, hasSlotContent, disableRootScrolling, enableRootScrolling } from '@/common/utils';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Modals focus the user’s attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtModal',\n\n components: {\n DtLazyShow,\n DtButton,\n DtIconClose,\n SrOnlyCloseButton,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title text to display in the modal header.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Title text to display in the modal banner.\n */\n bannerTitle: {\n type: String,\n default: '',\n },\n\n /**\n * The theme of the modal. kind - default or danger,\n * @values default, danger\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, error, info, success, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Hides the close button on the modal\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n\n /**\n * A CSS selector string for the element to portal the modal to. If not provided, the modal will be rendered in its default location.\n */\n appendTo: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:show\n * @type {Boolean}\n */\n 'update:show',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n EVENT_KEYNAMES,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n modalListeners () {\n return {\n click: event => {\n // Handle backdrop clicks for closing modal\n if (this.closeOnClick && event.target === event.currentTarget) {\n this.close();\n } else if (this.show && event.target !== event.currentTarget) {\n // Ensure focus stays within modal when clicking inside it\n this.handleModalClick(event);\n }\n\n this.$emit('click', event);\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 this.$emit('keydown', event);\n },\n\n 'after-enter': async () => {\n this.$emit('update:show', true);\n await this.setFocusAfterTransition();\n },\n\n focusin: event => {\n // Ensure focus stays within modal\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n if (this.show && modalEl && !modalEl.contains(event.target)) {\n event.preventDefault();\n this.focusFirstElement(modalEl);\n }\n },\n };\n },\n\n open () {\n return `${!this.show}`;\n },\n\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n show: {\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 const modalEl = this.$refs.modalRoot?.$el || this.$el;\n disableRootScrolling(returnFirstEl(modalEl).getRootNode().host);\n } else {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n enableRootScrolling(returnFirstEl(modalEl).getRootNode().host);\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\n methods: {\n close () {\n this.$emit('update:show', false);\n },\n\n async setFocusAfterTransition () {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n if (this.initialFocusElement === 'first') {\n await this.focusFirstElement(modalEl);\n } else if (this.initialFocusElement.startsWith('#')) {\n await this.focusElementById(this.initialFocusElement);\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n\n trapFocus (e) {\n if (this.show) {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n this.focusTrappedTabPress(e, modalEl);\n }\n },\n\n handleModalClick (event) {\n // Ensure focus stays within modal when clicking inside it\n const clickedElement = event.target;\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n const focusableElements = this._getFocusableElements(modalEl);\n\n // If the clicked element is not focusable, ensure focus stays in modal\n if (focusableElements.length && !focusableElements.includes(clickedElement)) {\n // Check if current active element is still within the modal\n if (!focusableElements.includes(document.activeElement)) {\n this.focusFirstElement(modalEl);\n }\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modal.js","names":[],"sources":["../../../components/modal/modal.vue"],"sourcesContent":["<template>\n <teleport\n :disabled=\"!appendTo\"\n :to=\"appendTo\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <dialog\n ref=\"dialogEl\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-describedby=\"describedById || undefined\"\n :aria-labelledby=\"labelledById\"\n v-bind=\"modeAttrs\"\n @cancel.prevent=\"close\"\n @click=\"onBackdropClick\"\n @keydown=\"onKeydown\"\n >\n <div\n v-if=\"open && (hasSlotContent($slots.banner) || bannerTitle)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerTitle prop -->\n <slot name=\"banner\">\n {{ bannerTitle }}\n </slot>\n </div>\n <transition\n :appear=\"open\"\n name=\"d-modal__dialog\"\n @after-enter=\"onAfterEnter\"\n @after-leave=\"onAfterLeave\"\n >\n <div\n v-show=\"open\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n >\n <div\n v-if=\"hasSlotContent($slots.header)\"\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"title\" text prop -->\n <slot name=\"header\" />\n </div>\n <dt-text\n v-else\n :id=\"labelledById\"\n kind=\"headline\"\n :size=\"600\"\n strength=\"medium\"\n density=\"100\"\n text-box-trim=\"start\"\n as=\"h2\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ title }}\n </dt-text>\n <div\n v-if=\"hasSlotContent($slots.default)\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n class=\"d-modal__footer\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <sr-only-close-button\n v-if=\"!showClose\"\n @close=\"close\"\n />\n <dt-button\n v-else\n class=\"d-modal__close\"\n data-qa=\"dt-modal-close-button\"\n :size=\"300\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-close\n :size=\"iconSize\"\n />\n </template>\n </dt-button>\n </div>\n </transition>\n </dialog>\n </teleport>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtText } from '@/components/text';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue';\nimport ModeMixin from '@/common/mixins/mode';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { getUniqueString, hasSlotContent, returnFirstEl, disableRootScrolling, enableRootScrolling } from '@/common/utils';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\nimport { DialtoneLocalization } from '@/localization';\n\nconst focusableSelector = 'button:not(:disabled),[href],input:not(:disabled),select:not(:disabled),' +\n 'textarea:not(:disabled),details,[tabindex]:not([tabindex=\"-1\"]):not(:disabled):not([aria-disabled=\"true\"])';\n\n/**\n * Modals focus the user's attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtModal',\n\n components: {\n DtButton,\n DtText,\n DtIconClose,\n SrOnlyCloseButton,\n },\n\n mixins: [ModeMixin],\n\n props: {\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n open: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title text to display in the modal header.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Title text to display in the modal banner.\n */\n bannerTitle: {\n type: String,\n default: '',\n },\n\n /**\n * The theme of the modal.\n * @values default, critical\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, critical, info, positive, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validator (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Shows the close button on the modal\n * @values true, false\n */\n showClose: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n\n /**\n * A CSS selector string for the element to portal the modal to. If not provided, the modal will be rendered in its default location.\n */\n appendTo: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:open\n * @type {Boolean}\n */\n 'update:open',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n open (isShowing) {\n this.syncDialogState(isShowing);\n },\n },\n\n mounted () {\n if (this.open) {\n this.syncDialogState(true);\n }\n },\n\n beforeUnmount () {\n const dialogEl = this.$refs.dialogEl;\n if (dialogEl?.open) {\n dialogEl.close();\n enableRootScrolling(this.getScrollRoot());\n }\n this.previousActiveElement = null;\n },\n\n methods: {\n getScrollRoot () {\n return returnFirstEl(this.$refs.dialogEl)?.getRootNode()?.host;\n },\n\n syncDialogState (isShowing) {\n const dialogEl = this.$refs.dialogEl;\n if (!dialogEl) return;\n\n if (isShowing) {\n this.previousActiveElement = document.activeElement;\n if (!dialogEl.open) {\n dialogEl.showModal();\n }\n disableRootScrolling(this.getScrollRoot());\n } else if (dialogEl.open) {\n // Leave transition plays via v-show on inner content.\n // close() is called in onAfterLeave when transition completes.\n enableRootScrolling(this.getScrollRoot());\n }\n },\n\n close () {\n this.$emit('update:open', false);\n },\n\n onBackdropClick (event) {\n if (this.closeOnClick && event.target === event.currentTarget) {\n this.close();\n }\n this.$emit('click', event);\n },\n\n onKeydown (event) {\n this.$emit('keydown', event);\n },\n\n async onAfterEnter () {\n this.$emit('update:open', true);\n await this.setFocusAfterTransition();\n },\n\n onAfterLeave () {\n const dialogEl = this.$refs.dialogEl;\n if (dialogEl?.open) {\n dialogEl.close();\n }\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n },\n\n focusFirstTabbable (container) {\n const focusable = [...container.querySelectorAll(focusableSelector)];\n if (!focusable.length) return;\n let target = focusable[0];\n // If first focusable is an unchecked radio, prefer the checked radio in the same group.\n if (target.matches('[type=\"radio\"]:not(:checked)')) {\n target = focusable.find(el => el.checked && el.name === target.name) || target;\n }\n target.focus({ preventScroll: true });\n },\n\n async setFocusAfterTransition () {\n const dialogEl = this.$refs.dialogEl;\n if (!dialogEl) return;\n\n await this.$nextTick();\n\n if (this.initialFocusElement === 'first') {\n this.focusFirstTabbable(dialogEl);\n } else if (typeof this.initialFocusElement === 'string' && this.initialFocusElement.startsWith('#')) {\n const el = dialogEl.querySelector(this.initialFocusElement);\n if (el) {\n el.focus();\n } else {\n // eslint-disable-next-line no-console\n console.warn('Could not find the element specified in dt-modal prop \"initialFocusElement\". ' +\n 'Defaulting to focusing the first element.');\n this.focusFirstTabbable(dialogEl);\n }\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./mode.cjs`);exports.DtModeDirective=e.DtModeDirective;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../../mode_constants-CzYJW9ua.cjs`),t=require(`../mode-island/utils.cjs`);var n=e.n,r={inverted:`invert`},i={name:`dt-mode-directive`,install(e){let i=new WeakMap;e.directive(`dt-mode`,{mounted(e,t){if(t.value===!1)return;let n=o(e,a(t.arg));i.set(e,n)},updated(e,t){let n=i.get(e),r=t.value!==t.oldValue,l=a(t.arg),u=l!==n?.arg;if(!r&&!u||(c(n),s(e),i.delete(e),t.value===!1))return;let d=o(e,l);i.set(e,d)},unmounted(e){c(i.get(e)),s(e),i.delete(e)}});function a(e){return e?n.includes(e)?e:r[e]?(console.warn(`[DtModeDirective] Invalid mode "${e}". Did you mean "${r[e]}"? Falling back to "${r[e]}".`),r[e]):(console.warn(`[DtModeDirective] Invalid mode "${e}". Valid modes: ${n.join(`, `)}. Falling back to "invert".`),`invert`):`invert`}function o(e,n){let r={arg:n,contrastObserver:null,modeObserver:null};if(e.setAttribute(`data-dt-contrast`,t.getRootContrast()),r.contrastObserver=new MutationObserver(()=>{e.setAttribute(`data-dt-contrast`,t.getRootContrast())}),r.contrastObserver.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-dt-contrast`]}),n===`light`||n===`dark`)e.setAttribute(`data-dt-mode`,n);else{let n=t.findParentMode(e);e.setAttribute(`data-dt-mode`,t.getOppositeMode(n));let i={attributes:!0,attributeFilter:[`data-dt-mode`],subtree:!1};r.modeObserver=new MutationObserver(()=>{let n=t.findParentMode(e);e.setAttribute(`data-dt-mode`,t.getOppositeMode(n))}),r.modeObserver.observe(document.documentElement,i);let a=e.parentElement;for(;a&&a!==document.documentElement;)r.modeObserver.observe(a,i),a=a.parentElement}return r}function s(e){e.removeAttribute(`data-dt-mode`),e.removeAttribute(`data-dt-contrast`)}function c(e){e&&(e.contrastObserver&&(e.contrastObserver.disconnect(),e.contrastObserver=null),e.modeObserver&&(e.modeObserver.disconnect(),e.modeObserver=null))}}};exports.DtModeDirective=i,exports.default=i;
|
|
2
|
+
//# sourceMappingURL=mode.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode.cjs","names":["CONTENT_MODE_VALUES","getRootContrast","findParentMode","getOppositeMode"],"sources":["../../../directives/mode_directive/mode.js"],"sourcesContent":["import {\n getOppositeMode,\n getRootContrast,\n findParentMode,\n} from '@/components/mode_island/utils';\nimport { CONTENT_MODE_VALUES } from '@/common/mode_constants';\n\nconst VALID_MODES = CONTENT_MODE_VALUES;\n\nconst SUGGESTIONS = {\n inverted: 'invert',\n};\n\n/**\n * v-dt-mode directive — applies a color mode (light, dark, or invert) to an element.\n *\n * Sets `data-dt-mode` and `data-dt-contrast` attributes so descendant token-based\n * styles (`d-fc-primary`, `d-bgc-secondary`, etc.) resolve to the correct palette.\n *\n * @example\n * // Explicit modes\n * <section v-dt-mode:dark>Dark content</section>\n * <section v-dt-mode:light>Light content</section>\n *\n * // Invert nearest parent mode (default when no arg)\n * <section v-dt-mode>Inverted content</section>\n * <section v-dt-mode:invert>Same as above</section>\n *\n * // Dynamic arg\n * <section v-dt-mode:[reactiveMode]>Reactive mode</section>\n *\n * // Disable with false value\n * <section v-dt-mode:dark=\"false\">No mode applied</section>\n */\nexport const DtModeDirective = {\n name: 'dt-mode-directive',\n install (app) {\n const instances = new WeakMap();\n\n app.directive('dt-mode', {\n mounted (el, binding) {\n if (binding.value === false) return;\n const mode = resolveArg(binding.arg);\n const state = applyMode(el, mode);\n instances.set(el, state);\n },\n\n updated (el, binding) {\n const prev = instances.get(el);\n const valueChanged = binding.value !== binding.oldValue;\n const resolvedArg = resolveArg(binding.arg);\n const argChanged = resolvedArg !== prev?.arg;\n if (!valueChanged && !argChanged) return;\n\n cleanup(prev);\n removeAttributes(el);\n instances.delete(el);\n\n if (binding.value === false) return;\n\n const state = applyMode(el, resolvedArg);\n instances.set(el, state);\n },\n\n unmounted (el) {\n cleanup(instances.get(el));\n removeAttributes(el);\n instances.delete(el);\n },\n });\n\n function resolveArg (arg) {\n if (!arg) return 'invert';\n if (VALID_MODES.includes(arg)) return arg;\n if (SUGGESTIONS[arg]) {\n // eslint-disable-next-line no-console\n console.warn(\n `[DtModeDirective] Invalid mode \"${arg}\". Did you mean \"${SUGGESTIONS[arg]}\"? Falling back to \"${SUGGESTIONS[arg]}\".`,\n );\n return SUGGESTIONS[arg];\n }\n // eslint-disable-next-line no-console\n console.warn(\n `[DtModeDirective] Invalid mode \"${arg}\". Valid modes: ${VALID_MODES.join(', ')}. Falling back to \"invert\".`,\n );\n return 'invert';\n }\n\n function applyMode (el, mode) {\n const state = {\n arg: mode,\n contrastObserver: null,\n modeObserver: null,\n };\n\n // Set contrast from root\n el.setAttribute('data-dt-contrast', getRootContrast());\n\n // Watch for contrast changes on root\n state.contrastObserver = new MutationObserver(() => {\n el.setAttribute('data-dt-contrast', getRootContrast());\n });\n state.contrastObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['data-dt-contrast'],\n });\n\n if (mode === 'light' || mode === 'dark') {\n el.setAttribute('data-dt-mode', mode);\n } else {\n // invert mode\n const parentMode = findParentMode(el);\n el.setAttribute('data-dt-mode', getOppositeMode(parentMode));\n\n // Watch for mode changes on root and ancestors\n const config = {\n attributes: true,\n attributeFilter: ['data-dt-mode'],\n subtree: false,\n };\n\n state.modeObserver = new MutationObserver(() => {\n const currentParentMode = findParentMode(el);\n el.setAttribute('data-dt-mode', getOppositeMode(currentParentMode));\n });\n\n // Observe root element\n state.modeObserver.observe(document.documentElement, config);\n\n // Observe all ancestor elements for data-dt-mode changes.\n // This includes ancestors that don't yet have the attribute,\n // because a sibling directive may set it after this one mounts\n // (Vue 3 fires child mounted before parent mounted).\n let parent = el.parentElement;\n while (parent && parent !== document.documentElement) {\n state.modeObserver.observe(parent, config);\n parent = parent.parentElement;\n }\n }\n\n return state;\n }\n\n function removeAttributes (el) {\n el.removeAttribute('data-dt-mode');\n el.removeAttribute('data-dt-contrast');\n }\n\n function cleanup (state) {\n if (!state) return;\n if (state.contrastObserver) {\n state.contrastObserver.disconnect();\n state.contrastObserver = null;\n }\n if (state.modeObserver) {\n state.modeObserver.disconnect();\n state.modeObserver = null;\n }\n }\n },\n};\n\nexport default DtModeDirective;\n"],"mappings":"0LAOA,IAAM,EAAcA,EAAAA,EAEd,EAAc,CAClB,SAAU,SACX,CAuBY,EAAkB,CAC7B,KAAM,oBACN,QAAS,EAAK,CACZ,IAAM,EAAY,IAAI,QAEtB,EAAI,UAAU,UAAW,CACvB,QAAS,EAAI,EAAS,CACpB,GAAI,EAAQ,QAAU,GAAO,OAE7B,IAAM,EAAQ,EAAU,EADX,EAAW,EAAQ,IAAI,CACH,CACjC,EAAU,IAAI,EAAI,EAAM,EAG1B,QAAS,EAAI,EAAS,CACpB,IAAM,EAAO,EAAU,IAAI,EAAG,CACxB,EAAe,EAAQ,QAAU,EAAQ,SACzC,EAAc,EAAW,EAAQ,IAAI,CACrC,EAAa,IAAgB,GAAM,IAOzC,GANI,CAAC,GAAgB,CAAC,IAEtB,EAAQ,EAAK,CACb,EAAiB,EAAG,CACpB,EAAU,OAAO,EAAG,CAEhB,EAAQ,QAAU,IAAO,OAE7B,IAAM,EAAQ,EAAU,EAAI,EAAY,CACxC,EAAU,IAAI,EAAI,EAAM,EAG1B,UAAW,EAAI,CACb,EAAQ,EAAU,IAAI,EAAG,CAAC,CAC1B,EAAiB,EAAG,CACpB,EAAU,OAAO,EAAG,EAEvB,CAAC,CAEF,SAAS,EAAY,EAAK,CAcxB,OAbK,EACD,EAAY,SAAS,EAAI,CAAS,EAClC,EAAY,IAEd,QAAQ,KACN,mCAAmC,EAAI,mBAAmB,EAAY,GAAK,sBAAsB,EAAY,GAAK,IACnH,CACM,EAAY,KAGrB,QAAQ,KACN,mCAAmC,EAAI,kBAAkB,EAAY,KAAK,KAAK,CAAC,6BACjF,CACM,UAbU,SAgBnB,SAAS,EAAW,EAAI,EAAM,CAC5B,IAAM,EAAQ,CACZ,IAAK,EACL,iBAAkB,KAClB,aAAc,KACf,CAcD,GAXA,EAAG,aAAa,mBAAoBC,EAAAA,iBAAiB,CAAC,CAGtD,EAAM,iBAAmB,IAAI,qBAAuB,CAClD,EAAG,aAAa,mBAAoBA,EAAAA,iBAAiB,CAAC,EACtD,CACF,EAAM,iBAAiB,QAAQ,SAAS,gBAAiB,CACvD,WAAY,GACZ,gBAAiB,CAAC,mBAAmB,CACtC,CAAC,CAEE,IAAS,SAAW,IAAS,OAC/B,EAAG,aAAa,eAAgB,EAAK,KAChC,CAEL,IAAM,EAAaC,EAAAA,eAAe,EAAG,CACrC,EAAG,aAAa,eAAgBC,EAAAA,gBAAgB,EAAW,CAAC,CAG5D,IAAM,EAAS,CACb,WAAY,GACZ,gBAAiB,CAAC,eAAe,CACjC,QAAS,GACV,CAED,EAAM,aAAe,IAAI,qBAAuB,CAC9C,IAAM,EAAoBD,EAAAA,eAAe,EAAG,CAC5C,EAAG,aAAa,eAAgBC,EAAAA,gBAAgB,EAAkB,CAAC,EACnE,CAGF,EAAM,aAAa,QAAQ,SAAS,gBAAiB,EAAO,CAM5D,IAAI,EAAS,EAAG,cAChB,KAAO,GAAU,IAAW,SAAS,iBACnC,EAAM,aAAa,QAAQ,EAAQ,EAAO,CAC1C,EAAS,EAAO,cAIpB,OAAO,EAGT,SAAS,EAAkB,EAAI,CAC7B,EAAG,gBAAgB,eAAe,CAClC,EAAG,gBAAgB,mBAAmB,CAGxC,SAAS,EAAS,EAAO,CAClB,IACD,EAAM,mBACR,EAAM,iBAAiB,YAAY,CACnC,EAAM,iBAAmB,MAEvB,EAAM,eACR,EAAM,aAAa,YAAY,CAC/B,EAAM,aAAe,SAI5B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { n as e } from "../../mode_constants-tb7TL85q.js";
|
|
2
|
+
import { findParentMode as t, getOppositeMode as n, getRootContrast as r } from "../mode-island/utils.js";
|
|
3
|
+
//#region directives/mode_directive/mode.js
|
|
4
|
+
var i = e, a = { inverted: "invert" }, o = {
|
|
5
|
+
name: "dt-mode-directive",
|
|
6
|
+
install(e) {
|
|
7
|
+
let o = /* @__PURE__ */ new WeakMap();
|
|
8
|
+
e.directive("dt-mode", {
|
|
9
|
+
mounted(e, t) {
|
|
10
|
+
if (t.value === !1) return;
|
|
11
|
+
let n = c(e, s(t.arg));
|
|
12
|
+
o.set(e, n);
|
|
13
|
+
},
|
|
14
|
+
updated(e, t) {
|
|
15
|
+
let n = o.get(e), r = t.value !== t.oldValue, i = s(t.arg), a = i !== n?.arg;
|
|
16
|
+
if (!r && !a || (u(n), l(e), o.delete(e), t.value === !1)) return;
|
|
17
|
+
let d = c(e, i);
|
|
18
|
+
o.set(e, d);
|
|
19
|
+
},
|
|
20
|
+
unmounted(e) {
|
|
21
|
+
u(o.get(e)), l(e), o.delete(e);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
function s(e) {
|
|
25
|
+
return e ? i.includes(e) ? e : a[e] ? (console.warn(`[DtModeDirective] Invalid mode "${e}". Did you mean "${a[e]}"? Falling back to "${a[e]}".`), a[e]) : (console.warn(`[DtModeDirective] Invalid mode "${e}". Valid modes: ${i.join(", ")}. Falling back to "invert".`), "invert") : "invert";
|
|
26
|
+
}
|
|
27
|
+
function c(e, i) {
|
|
28
|
+
let a = {
|
|
29
|
+
arg: i,
|
|
30
|
+
contrastObserver: null,
|
|
31
|
+
modeObserver: null
|
|
32
|
+
};
|
|
33
|
+
if (e.setAttribute("data-dt-contrast", r()), a.contrastObserver = new MutationObserver(() => {
|
|
34
|
+
e.setAttribute("data-dt-contrast", r());
|
|
35
|
+
}), a.contrastObserver.observe(document.documentElement, {
|
|
36
|
+
attributes: !0,
|
|
37
|
+
attributeFilter: ["data-dt-contrast"]
|
|
38
|
+
}), i === "light" || i === "dark") e.setAttribute("data-dt-mode", i);
|
|
39
|
+
else {
|
|
40
|
+
let r = t(e);
|
|
41
|
+
e.setAttribute("data-dt-mode", n(r));
|
|
42
|
+
let i = {
|
|
43
|
+
attributes: !0,
|
|
44
|
+
attributeFilter: ["data-dt-mode"],
|
|
45
|
+
subtree: !1
|
|
46
|
+
};
|
|
47
|
+
a.modeObserver = new MutationObserver(() => {
|
|
48
|
+
let r = t(e);
|
|
49
|
+
e.setAttribute("data-dt-mode", n(r));
|
|
50
|
+
}), a.modeObserver.observe(document.documentElement, i);
|
|
51
|
+
let o = e.parentElement;
|
|
52
|
+
for (; o && o !== document.documentElement;) a.modeObserver.observe(o, i), o = o.parentElement;
|
|
53
|
+
}
|
|
54
|
+
return a;
|
|
55
|
+
}
|
|
56
|
+
function l(e) {
|
|
57
|
+
e.removeAttribute("data-dt-mode"), e.removeAttribute("data-dt-contrast");
|
|
58
|
+
}
|
|
59
|
+
function u(e) {
|
|
60
|
+
e && (e.contrastObserver && (e.contrastObserver.disconnect(), e.contrastObserver = null), e.modeObserver && (e.modeObserver.disconnect(), e.modeObserver = null));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
//#endregion
|
|
65
|
+
export { o as DtModeDirective, o as default };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode.js","names":[],"sources":["../../../directives/mode_directive/mode.js"],"sourcesContent":["import {\n getOppositeMode,\n getRootContrast,\n findParentMode,\n} from '@/components/mode_island/utils';\nimport { CONTENT_MODE_VALUES } from '@/common/mode_constants';\n\nconst VALID_MODES = CONTENT_MODE_VALUES;\n\nconst SUGGESTIONS = {\n inverted: 'invert',\n};\n\n/**\n * v-dt-mode directive — applies a color mode (light, dark, or invert) to an element.\n *\n * Sets `data-dt-mode` and `data-dt-contrast` attributes so descendant token-based\n * styles (`d-fc-primary`, `d-bgc-secondary`, etc.) resolve to the correct palette.\n *\n * @example\n * // Explicit modes\n * <section v-dt-mode:dark>Dark content</section>\n * <section v-dt-mode:light>Light content</section>\n *\n * // Invert nearest parent mode (default when no arg)\n * <section v-dt-mode>Inverted content</section>\n * <section v-dt-mode:invert>Same as above</section>\n *\n * // Dynamic arg\n * <section v-dt-mode:[reactiveMode]>Reactive mode</section>\n *\n * // Disable with false value\n * <section v-dt-mode:dark=\"false\">No mode applied</section>\n */\nexport const DtModeDirective = {\n name: 'dt-mode-directive',\n install (app) {\n const instances = new WeakMap();\n\n app.directive('dt-mode', {\n mounted (el, binding) {\n if (binding.value === false) return;\n const mode = resolveArg(binding.arg);\n const state = applyMode(el, mode);\n instances.set(el, state);\n },\n\n updated (el, binding) {\n const prev = instances.get(el);\n const valueChanged = binding.value !== binding.oldValue;\n const resolvedArg = resolveArg(binding.arg);\n const argChanged = resolvedArg !== prev?.arg;\n if (!valueChanged && !argChanged) return;\n\n cleanup(prev);\n removeAttributes(el);\n instances.delete(el);\n\n if (binding.value === false) return;\n\n const state = applyMode(el, resolvedArg);\n instances.set(el, state);\n },\n\n unmounted (el) {\n cleanup(instances.get(el));\n removeAttributes(el);\n instances.delete(el);\n },\n });\n\n function resolveArg (arg) {\n if (!arg) return 'invert';\n if (VALID_MODES.includes(arg)) return arg;\n if (SUGGESTIONS[arg]) {\n // eslint-disable-next-line no-console\n console.warn(\n `[DtModeDirective] Invalid mode \"${arg}\". Did you mean \"${SUGGESTIONS[arg]}\"? Falling back to \"${SUGGESTIONS[arg]}\".`,\n );\n return SUGGESTIONS[arg];\n }\n // eslint-disable-next-line no-console\n console.warn(\n `[DtModeDirective] Invalid mode \"${arg}\". Valid modes: ${VALID_MODES.join(', ')}. Falling back to \"invert\".`,\n );\n return 'invert';\n }\n\n function applyMode (el, mode) {\n const state = {\n arg: mode,\n contrastObserver: null,\n modeObserver: null,\n };\n\n // Set contrast from root\n el.setAttribute('data-dt-contrast', getRootContrast());\n\n // Watch for contrast changes on root\n state.contrastObserver = new MutationObserver(() => {\n el.setAttribute('data-dt-contrast', getRootContrast());\n });\n state.contrastObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['data-dt-contrast'],\n });\n\n if (mode === 'light' || mode === 'dark') {\n el.setAttribute('data-dt-mode', mode);\n } else {\n // invert mode\n const parentMode = findParentMode(el);\n el.setAttribute('data-dt-mode', getOppositeMode(parentMode));\n\n // Watch for mode changes on root and ancestors\n const config = {\n attributes: true,\n attributeFilter: ['data-dt-mode'],\n subtree: false,\n };\n\n state.modeObserver = new MutationObserver(() => {\n const currentParentMode = findParentMode(el);\n el.setAttribute('data-dt-mode', getOppositeMode(currentParentMode));\n });\n\n // Observe root element\n state.modeObserver.observe(document.documentElement, config);\n\n // Observe all ancestor elements for data-dt-mode changes.\n // This includes ancestors that don't yet have the attribute,\n // because a sibling directive may set it after this one mounts\n // (Vue 3 fires child mounted before parent mounted).\n let parent = el.parentElement;\n while (parent && parent !== document.documentElement) {\n state.modeObserver.observe(parent, config);\n parent = parent.parentElement;\n }\n }\n\n return state;\n }\n\n function removeAttributes (el) {\n el.removeAttribute('data-dt-mode');\n el.removeAttribute('data-dt-contrast');\n }\n\n function cleanup (state) {\n if (!state) return;\n if (state.contrastObserver) {\n state.contrastObserver.disconnect();\n state.contrastObserver = null;\n }\n if (state.modeObserver) {\n state.modeObserver.disconnect();\n state.modeObserver = null;\n }\n }\n },\n};\n\nexport default DtModeDirective;\n"],"mappings":";;;AAOA,IAAM,IAAc,GAEd,IAAc,EAClB,UAAU,UACX,EAuBY,IAAkB;CAC7B,MAAM;CACN,QAAS,GAAK;EACZ,IAAM,oBAAY,IAAI,SAAS;AAE/B,IAAI,UAAU,WAAW;GACvB,QAAS,GAAI,GAAS;AACpB,QAAI,EAAQ,UAAU,GAAO;IAE7B,IAAM,IAAQ,EAAU,GADX,EAAW,EAAQ,IAAI,CACH;AACjC,MAAU,IAAI,GAAI,EAAM;;GAG1B,QAAS,GAAI,GAAS;IACpB,IAAM,IAAO,EAAU,IAAI,EAAG,EACxB,IAAe,EAAQ,UAAU,EAAQ,UACzC,IAAc,EAAW,EAAQ,IAAI,EACrC,IAAa,MAAgB,GAAM;AAOzC,QANI,CAAC,KAAgB,CAAC,MAEtB,EAAQ,EAAK,EACb,EAAiB,EAAG,EACpB,EAAU,OAAO,EAAG,EAEhB,EAAQ,UAAU,IAAO;IAE7B,IAAM,IAAQ,EAAU,GAAI,EAAY;AACxC,MAAU,IAAI,GAAI,EAAM;;GAG1B,UAAW,GAAI;AAGb,IAFA,EAAQ,EAAU,IAAI,EAAG,CAAC,EAC1B,EAAiB,EAAG,EACpB,EAAU,OAAO,EAAG;;GAEvB,CAAC;EAEF,SAAS,EAAY,GAAK;AAcxB,UAbK,IACD,EAAY,SAAS,EAAI,GAAS,IAClC,EAAY,MAEd,QAAQ,KACN,mCAAmC,EAAI,mBAAmB,EAAY,GAAK,sBAAsB,EAAY,GAAK,IACnH,EACM,EAAY,OAGrB,QAAQ,KACN,mCAAmC,EAAI,kBAAkB,EAAY,KAAK,KAAK,CAAC,6BACjF,EACM,YAbU;;EAgBnB,SAAS,EAAW,GAAI,GAAM;GAC5B,IAAM,IAAQ;IACZ,KAAK;IACL,kBAAkB;IAClB,cAAc;IACf;AAcD,OAXA,EAAG,aAAa,oBAAoB,GAAiB,CAAC,EAGtD,EAAM,mBAAmB,IAAI,uBAAuB;AAClD,MAAG,aAAa,oBAAoB,GAAiB,CAAC;KACtD,EACF,EAAM,iBAAiB,QAAQ,SAAS,iBAAiB;IACvD,YAAY;IACZ,iBAAiB,CAAC,mBAAmB;IACtC,CAAC,EAEE,MAAS,WAAW,MAAS,OAC/B,GAAG,aAAa,gBAAgB,EAAK;QAChC;IAEL,IAAM,IAAa,EAAe,EAAG;AACrC,MAAG,aAAa,gBAAgB,EAAgB,EAAW,CAAC;IAG5D,IAAM,IAAS;KACb,YAAY;KACZ,iBAAiB,CAAC,eAAe;KACjC,SAAS;KACV;AAQD,IANA,EAAM,eAAe,IAAI,uBAAuB;KAC9C,IAAM,IAAoB,EAAe,EAAG;AAC5C,OAAG,aAAa,gBAAgB,EAAgB,EAAkB,CAAC;MACnE,EAGF,EAAM,aAAa,QAAQ,SAAS,iBAAiB,EAAO;IAM5D,IAAI,IAAS,EAAG;AAChB,WAAO,KAAU,MAAW,SAAS,iBAEnC,CADA,EAAM,aAAa,QAAQ,GAAQ,EAAO,EAC1C,IAAS,EAAO;;AAIpB,UAAO;;EAGT,SAAS,EAAkB,GAAI;AAE7B,GADA,EAAG,gBAAgB,eAAe,EAClC,EAAG,gBAAgB,mBAAmB;;EAGxC,SAAS,EAAS,GAAO;AAClB,SACD,EAAM,qBACR,EAAM,iBAAiB,YAAY,EACnC,EAAM,mBAAmB,OAEvB,EAAM,iBACR,EAAM,aAAa,YAAY,EAC/B,EAAM,eAAe;;;CAI5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./mode-island-constants.cjs`),t=require(`./mode-island.cjs`);exports.DT_MODE_ISLAND_TYPES=e.DT_MODE_ISLAND_TYPES,exports.DtModeIsland=t.default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e={INVERTED:`inverted`,LIGHT:`light`,DARK:`dark`},t={DT_MODE_ISLAND_TYPES:e};exports.DT_MODE_ISLAND_TYPES=e,exports.default=t;
|
|
2
|
+
//# sourceMappingURL=mode-island-constants.cjs.map
|