@dialpad/dialtone-vue 3.223.0-next.3 → 3.223.0-next.4
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/Combobox-CYEmi3dv.cjs +3 -0
- package/dist/Combobox-CYEmi3dv.cjs.map +1 -0
- package/dist/{Combobox-By01ETlj.js → Combobox-D8nQeBIf.js} +33 -32
- package/dist/Combobox-D8nQeBIf.js.map +1 -0
- package/dist/TextList-B6XFfQfD.js +88 -0
- package/dist/TextList-B6XFfQfD.js.map +1 -0
- package/dist/TextList-Dd-ROFiI.cjs +2 -0
- package/dist/TextList-Dd-ROFiI.cjs.map +1 -0
- package/dist/TextListItem-DIlrCkaM.cjs +2 -0
- package/dist/TextListItem-DIlrCkaM.cjs.map +1 -0
- package/dist/TextListItem-ImUi_FWh.js +62 -0
- package/dist/TextListItem-ImUi_FWh.js.map +1 -0
- package/dist/{Toast-CHbVmbBg.js → Toast-BIHkIpZP.js} +95 -94
- package/dist/Toast-BIHkIpZP.js.map +1 -0
- package/dist/Toast-D8ARDEgT.cjs +2 -0
- package/dist/Toast-D8ARDEgT.cjs.map +1 -0
- package/dist/{attachment_carousel-BFIAXWOZ.js → attachment_carousel-CyiexPBk.js} +1 -1
- package/dist/{attachment_carousel-BFIAXWOZ.js.map → attachment_carousel-CyiexPBk.js.map} +1 -1
- package/dist/{attachment_carousel-BJxqNJ5T.cjs → attachment_carousel-DJqILY7f.cjs} +1 -1
- package/dist/{attachment_carousel-BJxqNJ5T.cjs.map → attachment_carousel-DJqILY7f.cjs.map} +1 -1
- package/dist/common/mixins/input.d.ts +4 -4
- package/dist/common/mixins/input_group.d.ts +2 -2
- package/dist/common/sr_only_close_button.vue.d.ts +30 -30
- package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
- package/dist/common/validators/index.cjs +1 -1
- package/dist/common/validators/index.cjs.map +1 -1
- package/dist/common/validators/index.d.ts +2 -0
- package/dist/common/validators/index.d.ts.map +1 -1
- package/dist/common/validators/index.js +9 -2
- package/dist/common/validators/index.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/components/Avatar/Avatar.vue.d.ts +10 -10
- package/dist/components/Avatar/Avatar.vue.d.ts.map +1 -1
- package/dist/components/Badge/Badge.vue.d.ts +13 -13
- package/dist/components/Banner/Banner.vue.d.ts +106 -106
- package/dist/components/Banner/Banner.vue.d.ts.map +1 -1
- package/dist/components/Box/Box.vue.d.ts +18 -0
- package/dist/components/Box/Box.vue.d.ts.map +1 -1
- package/dist/components/Box/BoxConstants.d.ts +4 -0
- package/dist/components/Box/BoxConstants.d.ts.map +1 -1
- package/dist/components/Box/Validators.d.ts +4 -0
- package/dist/components/Box/Validators.d.ts.map +1 -1
- package/dist/components/Box/index.d.ts +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.vue.d.ts +1 -0
- package/dist/components/Breadcrumbs/BreadcrumbItem.vue.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.vue.d.ts +3 -2
- package/dist/components/Button/Button.vue.d.ts +25 -25
- package/dist/components/Button/Button.vue.d.ts.map +1 -1
- package/dist/components/Card/Card.vue.d.ts +6 -6
- package/dist/components/Checkbox/Checkbox.vue.d.ts +26 -26
- package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +46 -46
- package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -1
- package/dist/components/Chip/Chip.vue.d.ts +40 -40
- package/dist/components/Chip/Chip.vue.d.ts.map +1 -1
- package/dist/components/Codeblock/Codeblock.vue.d.ts +2 -2
- package/dist/components/Collapsible/Collapsible.vue.d.ts +39 -39
- package/dist/components/Collapsible/Collapsible.vue.d.ts.map +1 -1
- package/dist/components/Combobox/Combobox.vue.d.ts +66 -66
- package/dist/components/Combobox/Combobox.vue.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxEmptyList.vue.d.ts +29 -29
- package/dist/components/Combobox/ComboboxEmptyList.vue.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxLoadingList.vue.d.ts +35 -35
- package/dist/components/Combobox/ComboboxLoadingList.vue.d.ts.map +1 -1
- package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts +216 -216
- package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.vue.d.ts +4 -4
- package/dist/components/Dropdown/Dropdown.vue.d.ts +82 -82
- package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
- package/dist/components/Emoji/Emoji.vue.d.ts +17 -17
- package/dist/components/EmojiPicker/EmojiPicker.vue.d.ts +37 -37
- package/dist/components/EmojiPicker/EmojiPicker.vue.d.ts.map +1 -1
- package/dist/components/EmojiPicker/Modules/EmojiSearch.vue.d.ts +37 -37
- package/dist/components/EmojiPicker/Modules/EmojiSearch.vue.d.ts.map +1 -1
- package/dist/components/EmojiTextWrapper/EmojiTextWrapper.vue.d.ts +24 -24
- package/dist/components/EmojiTextWrapper/EmojiTextWrapper.vue.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.vue.d.ts.map +1 -1
- package/dist/components/FilterPill/FilterPill.vue.d.ts +308 -308
- package/dist/components/FilterPill/FilterPill.vue.d.ts.map +1 -1
- package/dist/components/Hovercard/Hovercard.vue.d.ts +156 -156
- package/dist/components/Hovercard/Hovercard.vue.d.ts.map +1 -1
- package/dist/components/Icon/Icon.vue.d.ts +7 -7
- package/dist/components/ImageViewer/ImageViewer.vue.d.ts +60 -60
- package/dist/components/ImageViewer/ImageViewer.vue.d.ts.map +1 -1
- package/dist/components/Input/Input.vue.d.ts +37 -37
- package/dist/components/Input/Input.vue.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroup.vue.d.ts +46 -46
- package/dist/components/InputGroup/InputGroup.vue.d.ts.map +1 -1
- package/dist/components/ItemLayout/ItemLayout.vue.d.ts +20 -20
- package/dist/components/KeyboardShortcut/KeyboardShortcut.vue.d.ts +80 -80
- package/dist/components/KeyboardShortcut/KeyboardShortcut.vue.d.ts.map +1 -1
- package/dist/components/Link/Link.vue.d.ts +1 -0
- package/dist/components/Link/LinkConstants.d.ts +3 -0
- package/dist/components/Link/LinkConstants.d.ts.map +1 -1
- package/dist/components/ListItem/ListItem.vue.d.ts +27 -27
- package/dist/components/ListItem/ListItem.vue.d.ts.map +1 -1
- package/dist/components/ListItemGroup/ListItemGroup.vue.d.ts +4 -4
- package/dist/components/Loader/Loader.vue.d.ts +7 -7
- package/dist/components/Modal/Modal.vue.d.ts +79 -85
- package/dist/components/Modal/Modal.vue.d.ts.map +1 -1
- package/dist/components/Modal/ModalConstants.d.ts +0 -5
- package/dist/components/Modal/index.d.ts +1 -1
- package/dist/components/Notice/Notice.vue.d.ts +106 -106
- package/dist/components/Notice/Notice.vue.d.ts.map +1 -1
- package/dist/components/Notice/NoticeAction.vue.d.ts +62 -62
- package/dist/components/Notice/NoticeAction.vue.d.ts.map +1 -1
- package/dist/components/Notice/NoticeContent.vue.d.ts +4 -4
- package/dist/components/Notice/NoticeIcon.vue.d.ts +32 -32
- package/dist/components/Notice/NoticeIcon.vue.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.vue.d.ts +40 -40
- package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
- package/dist/components/Popover/Popover.vue.d.ts +78 -78
- package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
- package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts +34 -34
- package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts.map +1 -1
- package/dist/components/ProgressCircle/ProgressCircle.vue.d.ts +7 -7
- package/dist/components/Prose/Prose.vue.d.ts.map +1 -1
- package/dist/components/Radio/Radio.vue.d.ts +26 -26
- package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.vue.d.ts +46 -46
- package/dist/components/RadioGroup/RadioGroup.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelComponent.vue.d.ts +6 -5
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelComponent.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelSuggestion.vue.d.ts +10 -10
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelSuggestion.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Emoji/EmojiComponent.vue.d.ts +17 -17
- package/dist/components/RichTextEditor/Extensions/Emoji/EmojiSuggestion.vue.d.ts +17 -17
- package/dist/components/RichTextEditor/Extensions/Mentions/MentionComponent.vue.d.ts +1 -0
- package/dist/components/RichTextEditor/Extensions/Mentions/MentionSuggestion.vue.d.ts +10 -10
- package/dist/components/RichTextEditor/Extensions/Suggestion/SuggestionList.vue.d.ts +27 -27
- package/dist/components/RichTextEditor/Extensions/Suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts +153 -153
- package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts.map +1 -1
- package/dist/components/RootLayout/RootLayout.vue.d.ts +10 -10
- package/dist/components/SegmentedControl/SegmentedControl.vue.d.ts.map +1 -1
- package/dist/components/SelectMenu/SelectMenu.vue.d.ts +33 -33
- package/dist/components/SelectMenu/SelectMenu.vue.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.vue.d.ts +8 -8
- package/dist/components/Skeleton/SkeletonListItem.vue.d.ts +4 -4
- package/dist/components/Skeleton/SkeletonParagraph.vue.d.ts +2 -2
- package/dist/components/Skeleton/SkeletonShape.vue.d.ts +2 -2
- package/dist/components/SplitButton/SplitButton.vue.d.ts +157 -157
- package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
- package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts +30 -30
- package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts.map +1 -1
- package/dist/components/SplitButton/SplitButtonStart.vue.d.ts +31 -31
- package/dist/components/Tab/Tab.vue.d.ts +33 -33
- package/dist/components/Tab/TabGroup.vue.d.ts +6 -6
- package/dist/components/Tab/TabPanel.vue.d.ts +2 -2
- package/dist/components/TextList/TextList.vue.d.ts +87 -0
- package/dist/components/TextList/TextList.vue.d.ts.map +1 -0
- package/dist/components/TextList/TextListConstants.d.ts +20 -0
- package/dist/components/TextList/TextListConstants.d.ts.map +1 -0
- package/dist/components/TextList/TextListItem.vue.d.ts +60 -0
- package/dist/components/TextList/TextListItem.vue.d.ts.map +1 -0
- package/dist/components/TextList/Validators.d.ts +5 -0
- package/dist/components/TextList/Validators.d.ts.map +1 -0
- package/dist/components/TextList/index.d.ts +4 -0
- package/dist/components/TextList/index.d.ts.map +1 -0
- package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts +108 -108
- package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts.map +1 -1
- package/dist/components/Toast/Layouts/ToastLayoutAlternateIcon.vue.d.ts +34 -34
- package/dist/components/Toast/Layouts/ToastLayoutAlternateIcon.vue.d.ts.map +1 -1
- package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts +106 -106
- package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts.map +1 -1
- package/dist/components/Toast/Toast.vue.d.ts +436 -436
- package/dist/components/Toast/Toast.vue.d.ts.map +1 -1
- package/dist/components/Toggle/Toggle.vue.d.ts +4 -4
- package/dist/components/Toggle/Toggle.vue.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.vue.d.ts +4 -4
- package/dist/components/ValidationMessages/ValidationMessages.vue.d.ts +22 -22
- package/dist/components/ValidationMessages/ValidationMessages.vue.d.ts.map +1 -1
- package/dist/dialtone-vue.cjs +1 -1
- package/dist/dialtone-vue.js +134 -130
- package/dist/index.d.ts +1 -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.cjs +1 -1
- package/dist/lib/avatar/avatar.cjs.map +1 -1
- package/dist/lib/avatar/avatar.js +55 -54
- package/dist/lib/avatar/avatar.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 +36 -35
- package/dist/lib/badge/badge.js.map +1 -1
- package/dist/lib/box/box-constants.cjs +1 -1
- package/dist/lib/box/box-constants.cjs.map +1 -1
- package/dist/lib/box/box-constants.js +34 -7
- package/dist/lib/box/box-constants.js.map +1 -1
- package/dist/lib/box/box.cjs +1 -1
- package/dist/lib/box/box.cjs.map +1 -1
- package/dist/lib/box/box.js +93 -34
- package/dist/lib/box/box.js.map +1 -1
- package/dist/lib/box/index.cjs +1 -1
- package/dist/lib/box/index.js +3 -3
- package/dist/lib/box/validators.cjs +1 -1
- package/dist/lib/box/validators.cjs.map +1 -1
- package/dist/lib/box/validators.js +4 -4
- package/dist/lib/box/validators.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 +69 -68
- package/dist/lib/button/button.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 +36 -35
- package/dist/lib/chip/chip.js.map +1 -1
- package/dist/lib/codeblock/codeblock.cjs +1 -1
- package/dist/lib/codeblock/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock/codeblock.js +11 -10
- package/dist/lib/codeblock/codeblock.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.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 +53 -53
- 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 +48 -47
- package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
- package/dist/lib/editor/editor.cjs +1 -1
- package/dist/lib/editor/editor.js +1 -1
- package/dist/lib/emoji/emoji.cjs +1 -1
- package/dist/lib/emoji/emoji.cjs.map +1 -1
- package/dist/lib/emoji/emoji.js +25 -24
- package/dist/lib/emoji/emoji.js.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +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 +20 -19
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.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 +31 -30
- package/dist/lib/empty-state/empty-state.js.map +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs.map +1 -1
- package/dist/lib/filter-pill/filter-pill.js +73 -72
- package/dist/lib/filter-pill/filter-pill.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 +16 -15
- package/dist/lib/icon/icon.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 +64 -63
- package/dist/lib/input/input.js.map +1 -1
- 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 +11 -9
- 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 -14
- package/dist/lib/link/link.js.map +1 -1
- package/dist/lib/loader/loader.cjs +3 -3
- package/dist/lib/loader/loader.cjs.map +1 -1
- package/dist/lib/loader/loader.js +21 -20
- package/dist/lib/loader/loader.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.cjs +1 -1
- package/dist/lib/message-input/message-input.js +1 -1
- package/dist/lib/modal/index.cjs +1 -1
- package/dist/lib/modal/index.js +3 -3
- 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 +1 -4
- 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 +40 -42
- package/dist/lib/modal/modal.js.map +1 -1
- package/dist/lib/progress-circle/progress-circle.cjs +1 -1
- package/dist/lib/progress-circle/progress-circle.cjs.map +1 -1
- package/dist/lib/progress-circle/progress-circle.js +33 -32
- package/dist/lib/progress-circle/progress-circle.js.map +1 -1
- package/dist/lib/prose/prose.cjs +1 -1
- package/dist/lib/prose/prose.cjs.map +1 -1
- package/dist/lib/prose/prose.js +23 -22
- package/dist/lib/prose/prose.js.map +1 -1
- package/dist/lib/segmented-control/segmented-control.cjs +1 -1
- package/dist/lib/segmented-control/segmented-control.cjs.map +1 -1
- package/dist/lib/segmented-control/segmented-control.js +42 -41
- package/dist/lib/segmented-control/segmented-control.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 +48 -47
- package/dist/lib/select-menu/select-menu.js.map +1 -1
- 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 +45 -44
- package/dist/lib/split-button/split-button.js.map +1 -1
- 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 +34 -35
- package/dist/lib/tab/tab-group.js.map +1 -1
- package/dist/lib/text-list/index.cjs +1 -0
- package/dist/lib/text-list/index.js +4 -0
- package/dist/lib/text-list/text-list-constants.cjs +2 -0
- package/dist/lib/text-list/text-list-constants.cjs.map +1 -0
- package/dist/lib/text-list/text-list-constants.js +31 -0
- package/dist/lib/text-list/text-list-constants.js.map +1 -0
- package/dist/lib/text-list/text-list-item.cjs +1 -0
- package/dist/lib/text-list/text-list-item.js +2 -0
- package/dist/lib/text-list/text-list.cjs +1 -0
- package/dist/lib/text-list/text-list.js +2 -0
- package/dist/lib/text-list/validators.cjs +2 -0
- package/dist/lib/text-list/validators.cjs.map +1 -0
- package/dist/lib/text-list/validators.js +10 -0
- package/dist/lib/text-list/validators.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.cjs +1 -1
- package/dist/lib/toggle/toggle.cjs.map +1 -1
- package/dist/lib/toggle/toggle.js +23 -22
- package/dist/lib/toggle/toggle.js.map +1 -1
- package/dist/{message_input-DOE5NEU9.js → message_input-C6BcWqr8.js} +1 -1
- package/dist/{message_input-DOE5NEU9.js.map → message_input-C6BcWqr8.js.map} +1 -1
- package/dist/{message_input-DMyIOe4y.cjs → message_input-ftx8f8wC.cjs} +1 -1
- package/dist/{message_input-DMyIOe4y.cjs.map → message_input-ftx8f8wC.cjs.map} +1 -1
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +33 -33
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +149 -149
- 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 +147 -147
- 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 +173 -173
- 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 +40 -40
- 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 +132 -132
- 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 +97 -97
- 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 +25 -25
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +107 -107
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +103 -103
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts +636 -636
- 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 +70 -70
- 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 +66 -66
- 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 +55 -55
- 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 +55 -55
- 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 +604 -604
- 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 +109 -109
- 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 +254 -254
- 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 +149 -149
- 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 +30 -30
- 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 +30 -30
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +28 -28
- 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 +72 -72
- 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 +215 -215
- 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 +176 -176
- 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 +80 -80
- 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 +181 -181
- 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 +10 -10
- package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/Combobox-By01ETlj.js.map +0 -1
- package/dist/Combobox-D4hc1-41.cjs +0 -3
- package/dist/Combobox-D4hc1-41.cjs.map +0 -1
- package/dist/Toast-CHbVmbBg.js.map +0 -1
- package/dist/Toast-DX-REYXG.cjs +0 -2
- package/dist/Toast-DX-REYXG.cjs.map +0 -1
package/dist/lib/icon/icon.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { ordinalSizeValidator as e } from "../../common/validators/index.js";
|
|
2
|
+
import { t } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
|
|
3
|
+
import { ICON_NAMES as n, ICON_SIZE_MODIFIERS as r } from "./icon-constants.js";
|
|
4
|
+
import { createBlock as i, createCommentVNode as a, openBlock as o, resolveDynamicComponent as s } from "vue";
|
|
5
|
+
import { icons as c } from "@dialpad/dialtone-icons/vue";
|
|
5
6
|
//#region components/Icon/Icon.vue
|
|
6
|
-
var
|
|
7
|
+
var l = {
|
|
7
8
|
name: "DtIcon",
|
|
8
9
|
props: {
|
|
9
10
|
size: {
|
|
10
|
-
type: String,
|
|
11
|
-
default:
|
|
12
|
-
validator:
|
|
11
|
+
type: [String, Number],
|
|
12
|
+
default: 500,
|
|
13
|
+
validator: e(r)
|
|
13
14
|
},
|
|
14
15
|
name: {
|
|
15
16
|
type: String,
|
|
16
17
|
required: !0,
|
|
17
|
-
validator: (e) =>
|
|
18
|
+
validator: (e) => n.includes(e)
|
|
18
19
|
},
|
|
19
20
|
ariaLabel: {
|
|
20
21
|
type: String,
|
|
@@ -26,15 +27,15 @@ var c = {
|
|
|
26
27
|
},
|
|
27
28
|
computed: {
|
|
28
29
|
icon() {
|
|
29
|
-
return
|
|
30
|
+
return c[`./src/icons/${this.name}.vue`];
|
|
30
31
|
},
|
|
31
32
|
iconAriaLabel() {
|
|
32
33
|
return this.ariaLabel;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
};
|
|
36
|
-
function
|
|
37
|
-
return l.icon ? (
|
|
37
|
+
function u(e, t, n, r, c, l) {
|
|
38
|
+
return l.icon ? (o(), i(s(l.icon), {
|
|
38
39
|
key: 0,
|
|
39
40
|
size: n.size,
|
|
40
41
|
"aria-label": l.iconAriaLabel,
|
|
@@ -43,10 +44,10 @@ function l(e, t, n, s, c, l) {
|
|
|
43
44
|
"size",
|
|
44
45
|
"aria-label",
|
|
45
46
|
"data-qa"
|
|
46
|
-
])) :
|
|
47
|
+
])) : a("", !0);
|
|
47
48
|
}
|
|
48
|
-
var
|
|
49
|
+
var d = /* @__PURE__ */ t(l, [["render", u]]);
|
|
49
50
|
//#endregion
|
|
50
|
-
export {
|
|
51
|
+
export { d as default };
|
|
51
52
|
|
|
52
53
|
//# sourceMappingURL=icon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","names":[],"sources":["../../../components/Icon/Icon.vue"],"sourcesContent":["<template>\n <component\n :is=\"icon\"\n v-if=\"icon\"\n :size=\"size\"\n :aria-label=\"iconAriaLabel\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-icon'\"\n />\n</template>\n\n<script>\nimport { icons } from '@dialpad/dialtone-icons/vue';\nimport { ICON_SIZE_MODIFIERS, ICON_NAMES } from './IconConstants';\n// import { DialtoneLocalization } from '@/localization';\n// import { toFluentKeyString } from '@/common/utils';\n\n/**\n * The Icon component provides a set of glyphs and sizes to provide context your application.\n * @see https://dialtone.dialpad.com/components/icon.html\n */\nexport default {\n name: 'DtIcon',\n\n props: {\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default:
|
|
1
|
+
{"version":3,"file":"icon.js","names":[],"sources":["../../../components/Icon/Icon.vue"],"sourcesContent":["<template>\n <component\n :is=\"icon\"\n v-if=\"icon\"\n :size=\"size\"\n :aria-label=\"iconAriaLabel\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-icon'\"\n />\n</template>\n\n<script>\nimport { icons } from '@dialpad/dialtone-icons/vue';\nimport { ICON_SIZE_MODIFIERS, ICON_NAMES } from './IconConstants';\nimport { ordinalSizeValidator } from '@/common/validators';\n// import { DialtoneLocalization } from '@/localization';\n// import { toFluentKeyString } from '@/common/utils';\n\n/**\n * The Icon component provides a set of glyphs and sizes to provide context your application.\n * @see https://dialtone.dialpad.com/components/icon.html\n */\nexport default {\n name: 'DtIcon',\n\n props: {\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: [String, Number],\n default: 500,\n validator: ordinalSizeValidator(ICON_SIZE_MODIFIERS),\n },\n\n /**\n * The icon name in kebab-case\n */\n name: {\n type: String,\n required: true,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * The label of the icon as read out by a screen-reader. Leave this unset if your icon is purely presentational\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n data () {\n return {\n // i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n icon () {\n return icons[`./src/icons/${this.name}.vue`];\n },\n\n iconAriaLabel () {\n // const fluentKey = toFluentKeyString(this.name);\n // return this.ariaLabel || this.i18n.$t(`DIALTONE_ICON_${fluentKey}`);\n return this.ariaLabel;\n },\n },\n};\n</script>\n"],"mappings":";;;;;;AAqBA,IAAK,IAAU;CACb,MAAM;CAEN,OAAO;EAKL,MAAM;GACJ,MAAM,CAAC,QAAQ,OAAO;GACtB,SAAS;GACT,WAAW,EAAqB,EAAoB;GACrD;EAKD,MAAM;GACJ,MAAM;GACN,UAAU;GACV,YAAY,MAAS,EAAW,SAAS,EAAK;GAC/C;EAKD,WAAW;GACT,MAAM;GACN,SAAS,KAAA;GACV;EACF;CAED,OAAQ;AACN,SAAO,EAEN;;CAGH,UAAU;EACR,OAAQ;AACN,UAAO,EAAM,eAAe,KAAK,KAAK;;EAGxC,gBAAiB;AAGf,UAAO,KAAK;;EAEf;CACF;;QAnES,EAAA,QAAA,GAAA,EAFR,EAME,EALK,EAAA,KAAI,EAAA;;EAER,MAAM,EAAA;EACN,cAAY,EAAA;EACZ,WAAS,EAAA,OAAM,cAAA"}
|
package/dist/lib/input/input.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/constants/index.cjs`),t=require(`../../common/utils/index.cjs`),n=require(`../../common/mixins/input.cjs`),r=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),i=require(`../validation-messages/validation-messages.cjs`),a=require(`../text/text-constants.cjs`),o=require(`../text/text.cjs`),s=require(`./input-constants.cjs`);let c=require(`vue`);var l={name:`DtInput`,components:{DtValidationMessages:i.default,DtText:o.default},mixins:[n.MessagesMixin],inheritAttrs:!1,props:{name:{type:String,default:``},type:{type:String,default:s.INPUT_TYPES.TEXT,validator:e=>Object.values(s.INPUT_TYPES).includes(e)},modelValue:{type:[String,Number],default:``},disabled:{type:Boolean,default:!1},label:{type:String,default:``},showLabel:{type:Boolean,default:!0},description:{type:String,default:``},descriptionClass:{type:[String,Array,Object],default:``},size:{type:[String,Number],default:300,validator:e=>Object.keys(s.INPUT_ICON_SIZES).includes(String(e))},inputClass:{type:[String,Object,Array],default:``},inputWrapperClass:{type:[String,Object,Array],default:``},currentLength:{type:Number,default:null},retainWarning:{type:Boolean,default:!1},validate:{type:Object,default:null},hidden:{type:Boolean,default:!1},labelSize:{type:[String,Number],default:null,validator:e=>a.TEXT_SIZE_MODIFIERS.label.includes(String(e))},labelStrength:{type:String,default:null,validator:e=>Object.keys(a.TEXT_STRENGTH_MODIFIERS).includes(e)},labelClass:{type:[String,Array,Object],default:``},startIconClass:{type:[String,Array,Object],default:``},endIconClass:{type:[String,Array,Object],default:``}},emits:[`blur`,`clear`,`focus`,`focusin`,`focusout`,`update:modelValue`,`update:length`,`update:invalid`],data(){return{isInputFocused:!1,isInvalid:!1,defaultLength:0,hasSlotContent:t.hasSlotContent,isComposing:!1,justEndedComposition:!1,messagesId:t.getUniqueString()}},computed:{isTextarea(){return this.type===s.INPUT_TYPES.TEXTAREA},isDefaultSize(){return String(this.size)===s.INPUT_SIZES.DEFAULT||String(this.size)===`300`},iconSize(){return s.INPUT_ICON_SIZES[String(this.size)]},isValidSize(){return Object.keys(s.INPUT_ICON_SIZES).includes(String(this.size))},isValidDescriptionSize(){return Object.values(e.DESCRIPTION_SIZE_TYPES).includes(this.size)},inputComponent(){return this.isTextarea?`textarea`:`input`},inputListeners(){return{compositionstart:()=>{this.isComposing=!0},compositionend:()=>{this.isComposing=!1,this.justEndedComposition=!0;let e=this.$refs.input.value;this.$emit(`update:modelValue`,e),Promise.resolve().then(()=>{this.justEndedComposition=!1})},input:async e=>{if(this.isComposing||this.justEndedComposition)return;let t=e.target.value;this.type===s.INPUT_TYPES.FILE&&(t=Array.from(e.target.files).map(e=>e.name)),this.$emit(`update:modelValue`,t)},blur:e=>{this.isInputFocused=!1,this.onBlur(e)},focus:e=>{this.isInputFocused=!0,this.$emit(`focus`,e)},focusin:e=>this.$emit(`focusin`,e),focusout:e=>this.$emit(`focusout`,e)}},descriptionKey(){return`input-description-${t.getUniqueString()}`},inputState(){return t.getValidationState(this.validationMessages)},ariaInvalid(){return this.inputState===e.VALIDATION_MESSAGE_TYPES.CRITICAL?`true`:void 0},ariaDescribedBy(){return this.showMessages&&this.validationMessages.length>0?this.messagesId:void 0},defaultLengthCalculation(){return this.calculateLength(this.modelValue)},validationProps(){return{length:{description:this?.validate?.length?.description,max:this?.validate?.length?.max,warn:this?.validate?.length?.warn,message:this?.validate?.length?.message,limitMaxLength:this?.validate?.length?.limitMaxLength?this.validate.length.limitMaxLength:!1}}},validationMessages(){return this.showLengthLimitValidation?this.formattedMessages.concat([this.inputLengthErrorMessage()]):this.formattedMessages},showInputState(){return this.showMessages&&this.inputState},inputLength(){return this.currentLength?this.currentLength:this.defaultLengthCalculation},inputLengthState(){return this.inputLength<this.validationProps.length.warn?null:this.inputLength<=this.validationProps.length.max?this.validationProps.length.warn?e.VALIDATION_MESSAGE_TYPES.WARNING:null:e.VALIDATION_MESSAGE_TYPES.CRITICAL},shouldValidateLength(){return!!(this.validationProps.length.description&&this.validationProps.length.max)},shouldLimitMaxLength(){return this.shouldValidateLength&&this.validationProps.length.limitMaxLength},showLengthLimitValidation(){return this.shouldValidateLength&&this.inputLengthState!==null&&this.validationProps.length.message&&(this.retainWarning||this.isInputFocused||this.isInvalid)},resolvedLabelSize(){if(this.labelSize!=null)return this.labelSize;let e=String(this.size);return e===`xl`||e===`500`?e===`500`?`400`:`lg`:this.size},resolvedDescriptionSize(){return{100:`xs`,200:`xs`,300:`sm`,400:`sm`,500:`md`,xs:`xs`,sm:`xs`,md:`sm`,lg:`sm`,xl:`md`}[String(this.size)]||`sm`},resolvedDescriptionDensity(){let e=String(this.size);return e===`xl`||e===`500`?`300`:void 0},sizeModifierClass(){return this.isDefaultSize||!this.isValidSize?``:s.INPUT_SIZE_CLASSES[this.inputComponent][String(this.size)]},stateClass(){return[s.INPUT_STATE_CLASSES[this.inputState]]}},watch:{isInvalid(e){this.$emit(`update:invalid`,e)},modelValue:{immediate:!0,handler(e){this.shouldValidateLength&&this.validateLength(this.inputLength),this.currentLength??this.$emit(`update:length`,this.calculateLength(e)),this.isTextarea&&!this.isComposing&&this.$refs.input&&this.$refs.input.value!==e&&(this.$refs.input.value=e)}}},mounted(){this.isTextarea&&this.$refs.input&&(this.$refs.input.value=this.modelValue),this.runValidations()},methods:{removeClassStyleAttrs:t.removeClassStyleAttrs,inputClasses(){return[`d-input__input`,this.inputComponent===`input`?`d-input`:`d-textarea`,{[this.stateClass]:this.showInputState,"d-input-icon--left":this.$slots.startIcon||this.$slots.leftIcon,"d-input-icon--right":this.$slots.endIcon||this.$slots.rightIcon},this.sizeModifierClass,this.inputClass]},inputWrapperClasses(){return this.hidden?[]:[`d-input__wrapper`,{[this.stateClass]:this.showInputState},this.inputWrapperClass]},calculateLength(e){return typeof e==`string`?[...e].length:0},inputLengthErrorMessage(){return{message:this.validationProps.length.message,type:this.inputLengthState}},onBlur(e){this.$refs.container?.contains(e.relatedTarget)||this.$emit(`blur`,e)},emitClearEvents(){this.$emit(`clear`),this.$emit(`update:modelValue`,``)},blur(){this.$refs.input.blur()},focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},getMessageKey(e,t){return`message-${e}-${t}`},validateLength(e){this.isInvalid=e>this.validationProps.length.max},clearInput(){this.$refs.input.value=``,this.$refs.input.focus(),this.emitClearEvents()},runValidations(){!this.label&&!this.$attrs[`aria-label`]&&console.info(`[Dialtone] A label is required for accessibility. Provide a label prop and use show-label="false" to hide it visually.`)}}},u=[`aria-details`],d={key:0},f={key:1,"data-qa":`dt-input-length-description`,class:`d-input__length-description`},p=[`read-only`],m=[`name`,`disabled`,`autocomplete`,`maxlength`,`aria-label`,`aria-invalid`,`aria-describedby`],h=[`value`,`name`,`type`,`disabled`,`autocomplete`,`maxlength`,`aria-label`,`aria-invalid`,`aria-describedby`];function g(e,t,n,r,i,a){let o=(0,c.resolveComponent)(`dt-text`),s=(0,c.resolveComponent)(`dt-validation-messages`);return(0,c.openBlock)(),(0,c.createElementBlock)(`div`,{ref:`container`,class:(0,c.normalizeClass)([`d-input__root`,{"d-input--hidden":n.hidden},e.$attrs.class]),style:(0,c.normalizeStyle)(e.$attrs.style),"data-qa":`dt-input`},[(0,c.createElementVNode)(`label`,{class:`d-input__label`,"aria-details":e.$slots.description||n.description?a.descriptionKey:void 0,"data-qa":`dt-input-label-wrapper`},[(0,c.renderSlot)(e.$slots,`label`,{},()=>[n.showLabel&&n.label?((0,c.openBlock)(),(0,c.createBlock)(o,{key:0,ref:`label`,"data-qa":`dt-input-label`,kind:`label`,size:a.resolvedLabelSize,strength:n.labelStrength,tone:`secondary`,class:(0,c.normalizeClass)([`d-input__label-text`,n.labelClass])},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)(n.label),1)]),_:1},8,[`size`,`strength`,`class`])):(0,c.createCommentVNode)(``,!0)]),i.hasSlotContent(e.$slots.description)||n.description||a.shouldValidateLength?((0,c.openBlock)(),(0,c.createBlock)(o,{key:0,id:a.descriptionKey,ref:`description`,kind:`body`,size:a.resolvedDescriptionSize,tone:`tertiary`,density:a.resolvedDescriptionDensity,as:`div`,class:(0,c.normalizeClass)([`d-input__description`,`d-description`,n.descriptionClass]),"data-qa":`dt-input-description`},{default:(0,c.withCtx)(()=>[i.hasSlotContent(e.$slots.description)||n.description?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,d,[(0,c.renderSlot)(e.$slots,`description`,{},()=>[(0,c.createTextVNode)((0,c.toDisplayString)(n.description),1)])])):(0,c.createCommentVNode)(``,!0),a.shouldValidateLength?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,f,(0,c.toDisplayString)(a.validationProps.length.description),1)):(0,c.createCommentVNode)(``,!0)]),_:3},8,[`id`,`size`,`density`,`class`])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)(a.inputWrapperClasses()),"read-only":n.disabled===!0?!0:void 0},[(0,c.createElementVNode)(`span`,{class:(0,c.normalizeClass)([`d-input-icon`,`d-input-icon--left`,n.startIconClass]),"data-qa":`dt-input-left-icon-wrapper`,onFocusout:t[0]||(t[0]=(...e)=>a.onBlur&&a.onBlur(...e))},[e.$slots.startIcon?(0,c.renderSlot)(e.$slots,`startIcon`,{key:0,iconSize:a.iconSize}):(0,c.renderSlot)(e.$slots,`leftIcon`,{key:1,iconSize:a.iconSize})],34),a.isTextarea?((0,c.openBlock)(),(0,c.createElementBlock)(`textarea`,(0,c.mergeProps)({key:0,ref:`input`,name:n.name,disabled:n.disabled,autocomplete:e.$attrs.autocomplete??`off`,class:a.inputClasses(),maxlength:a.shouldLimitMaxLength?a.validationProps.length.max:null,"aria-label":!n.showLabel&&n.label?n.label:void 0,"aria-invalid":a.ariaInvalid,"aria-describedby":a.ariaDescribedBy,"data-qa":`dt-input-input`},a.removeClassStyleAttrs(e.$attrs),(0,c.toHandlers)(a.inputListeners,!0)),null,16,m)):((0,c.openBlock)(),(0,c.createElementBlock)(`input`,(0,c.mergeProps)({key:1,ref:`input`,value:n.modelValue,name:n.name,type:n.type,disabled:n.disabled,autocomplete:e.$attrs.autocomplete??`off`,class:a.inputClasses(),maxlength:a.shouldLimitMaxLength?a.validationProps.length.max:null,"aria-label":!n.showLabel&&n.label?n.label:void 0,"aria-invalid":a.ariaInvalid,"aria-describedby":a.ariaDescribedBy,"data-qa":`dt-input-input`},a.removeClassStyleAttrs(e.$attrs),(0,c.toHandlers)(a.inputListeners,!0)),null,16,h)),(0,c.createElementVNode)(`span`,{class:(0,c.normalizeClass)([`d-input-icon`,`d-input-icon--right`,n.endIconClass]),"data-qa":`dt-input-right-icon-wrapper`,onFocusout:t[1]||(t[1]=(...e)=>a.onBlur&&a.onBlur(...e))},[e.$slots.endIcon?(0,c.renderSlot)(e.$slots,`endIcon`,{key:0,iconSize:a.iconSize,clear:a.clearInput}):(0,c.renderSlot)(e.$slots,`rightIcon`,{key:1,iconSize:a.iconSize,clear:a.clearInput})],34)],10,p)],8,u),(0,c.createVNode)(s,(0,c.mergeProps)(e.messagesChildProps,{id:i.messagesId,"validation-messages":a.validationMessages,"show-messages":e.showMessages,class:e.messagesClass,"data-qa":`dt-input-messages`}),null,16,[`id`,`validation-messages`,`show-messages`,`class`])],6)}var _=r.t(l,[[`render`,g]]);exports.default=_;
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/constants/index.cjs`),t=require(`../../common/validators/index.cjs`),n=require(`../../common/utils/index.cjs`),r=require(`../../common/mixins/input.cjs`),i=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),a=require(`../validation-messages/validation-messages.cjs`),o=require(`../text/text-constants.cjs`),s=require(`../text/text.cjs`),c=require(`./input-constants.cjs`);let l=require(`vue`);var u=t.ordinalSizeValidator(c.INPUT_ICON_SIZES),d={name:`DtInput`,components:{DtValidationMessages:a.default,DtText:s.default},mixins:[r.MessagesMixin],inheritAttrs:!1,props:{name:{type:String,default:``},type:{type:String,default:c.INPUT_TYPES.TEXT,validator:e=>Object.values(c.INPUT_TYPES).includes(e)},modelValue:{type:[String,Number],default:``},disabled:{type:Boolean,default:!1},label:{type:String,default:``},showLabel:{type:Boolean,default:!0},description:{type:String,default:``},descriptionClass:{type:[String,Array,Object],default:``},size:{type:[String,Number],default:300,validator:u},inputClass:{type:[String,Object,Array],default:``},inputWrapperClass:{type:[String,Object,Array],default:``},currentLength:{type:Number,default:null},retainWarning:{type:Boolean,default:!1},validate:{type:Object,default:null},hidden:{type:Boolean,default:!1},labelSize:{type:[String,Number],default:null,validator:e=>o.TEXT_SIZE_MODIFIERS.label.includes(String(e))},labelStrength:{type:String,default:null,validator:e=>Object.keys(o.TEXT_STRENGTH_MODIFIERS).includes(e)},labelClass:{type:[String,Array,Object],default:``},startIconClass:{type:[String,Array,Object],default:``},endIconClass:{type:[String,Array,Object],default:``}},emits:[`blur`,`clear`,`focus`,`focusin`,`focusout`,`update:modelValue`,`update:length`,`update:invalid`],data(){return{isInputFocused:!1,isInvalid:!1,defaultLength:0,hasSlotContent:n.hasSlotContent,isComposing:!1,justEndedComposition:!1,messagesId:n.getUniqueString()}},computed:{isTextarea(){return this.type===c.INPUT_TYPES.TEXTAREA},isDefaultSize(){return String(this.size)===c.INPUT_SIZES.DEFAULT||String(this.size)===`300`},iconSize(){return c.INPUT_ICON_SIZES[String(this.size)]},isValidSize(){return u(this.size)},isValidDescriptionSize(){return Object.values(e.DESCRIPTION_SIZE_TYPES).includes(this.size)},inputComponent(){return this.isTextarea?`textarea`:`input`},inputListeners(){return{compositionstart:()=>{this.isComposing=!0},compositionend:()=>{this.isComposing=!1,this.justEndedComposition=!0;let e=this.$refs.input.value;this.$emit(`update:modelValue`,e),Promise.resolve().then(()=>{this.justEndedComposition=!1})},input:async e=>{if(this.isComposing||this.justEndedComposition)return;let t=e.target.value;this.type===c.INPUT_TYPES.FILE&&(t=Array.from(e.target.files).map(e=>e.name)),this.$emit(`update:modelValue`,t)},blur:e=>{this.isInputFocused=!1,this.onBlur(e)},focus:e=>{this.isInputFocused=!0,this.$emit(`focus`,e)},focusin:e=>this.$emit(`focusin`,e),focusout:e=>this.$emit(`focusout`,e)}},descriptionKey(){return`input-description-${n.getUniqueString()}`},inputState(){return n.getValidationState(this.validationMessages)},ariaInvalid(){return this.inputState===e.VALIDATION_MESSAGE_TYPES.CRITICAL?`true`:void 0},ariaDescribedBy(){return this.showMessages&&this.validationMessages.length>0?this.messagesId:void 0},defaultLengthCalculation(){return this.calculateLength(this.modelValue)},validationProps(){return{length:{description:this?.validate?.length?.description,max:this?.validate?.length?.max,warn:this?.validate?.length?.warn,message:this?.validate?.length?.message,limitMaxLength:this?.validate?.length?.limitMaxLength?this.validate.length.limitMaxLength:!1}}},validationMessages(){return this.showLengthLimitValidation?this.formattedMessages.concat([this.inputLengthErrorMessage()]):this.formattedMessages},showInputState(){return this.showMessages&&this.inputState},inputLength(){return this.currentLength?this.currentLength:this.defaultLengthCalculation},inputLengthState(){return this.inputLength<this.validationProps.length.warn?null:this.inputLength<=this.validationProps.length.max?this.validationProps.length.warn?e.VALIDATION_MESSAGE_TYPES.WARNING:null:e.VALIDATION_MESSAGE_TYPES.CRITICAL},shouldValidateLength(){return!!(this.validationProps.length.description&&this.validationProps.length.max)},shouldLimitMaxLength(){return this.shouldValidateLength&&this.validationProps.length.limitMaxLength},showLengthLimitValidation(){return this.shouldValidateLength&&this.inputLengthState!==null&&this.validationProps.length.message&&(this.retainWarning||this.isInputFocused||this.isInvalid)},resolvedLabelSize(){if(this.labelSize!=null)return this.labelSize;let e=String(this.size);return e===`xl`||e===`500`?e===`500`?`400`:`lg`:this.size},resolvedDescriptionSize(){return{100:`xs`,200:`xs`,300:`sm`,400:`sm`,500:`md`,xs:`xs`,sm:`xs`,md:`sm`,lg:`sm`,xl:`md`}[String(this.size)]||`sm`},resolvedDescriptionDensity(){let e=String(this.size);return e===`xl`||e===`500`?`300`:void 0},sizeModifierClass(){return this.isDefaultSize||!this.isValidSize?``:c.INPUT_SIZE_CLASSES[this.inputComponent][String(this.size)]},stateClass(){return[c.INPUT_STATE_CLASSES[this.inputState]]}},watch:{isInvalid(e){this.$emit(`update:invalid`,e)},modelValue:{immediate:!0,handler(e){this.shouldValidateLength&&this.validateLength(this.inputLength),this.currentLength??this.$emit(`update:length`,this.calculateLength(e)),this.isTextarea&&!this.isComposing&&this.$refs.input&&this.$refs.input.value!==e&&(this.$refs.input.value=e)}}},mounted(){this.isTextarea&&this.$refs.input&&(this.$refs.input.value=this.modelValue),this.runValidations()},methods:{removeClassStyleAttrs:n.removeClassStyleAttrs,inputClasses(){return[`d-input__input`,this.inputComponent===`input`?`d-input`:`d-textarea`,{[this.stateClass]:this.showInputState,"d-input-icon--left":this.$slots.startIcon||this.$slots.leftIcon,"d-input-icon--right":this.$slots.endIcon||this.$slots.rightIcon},this.sizeModifierClass,this.inputClass]},inputWrapperClasses(){return this.hidden?[]:[`d-input__wrapper`,{[this.stateClass]:this.showInputState},this.inputWrapperClass]},calculateLength(e){return typeof e==`string`?[...e].length:0},inputLengthErrorMessage(){return{message:this.validationProps.length.message,type:this.inputLengthState}},onBlur(e){this.$refs.container?.contains(e.relatedTarget)||this.$emit(`blur`,e)},emitClearEvents(){this.$emit(`clear`),this.$emit(`update:modelValue`,``)},blur(){this.$refs.input.blur()},focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},getMessageKey(e,t){return`message-${e}-${t}`},validateLength(e){this.isInvalid=e>this.validationProps.length.max},clearInput(){this.$refs.input.value=``,this.$refs.input.focus(),this.emitClearEvents()},runValidations(){!this.label&&!this.$attrs[`aria-label`]&&console.info(`[Dialtone] A label is required for accessibility. Provide a label prop and use show-label="false" to hide it visually.`)}}},f=[`aria-details`],p={key:0},m={key:1,"data-qa":`dt-input-length-description`,class:`d-input__length-description`},h=[`read-only`],g=[`name`,`disabled`,`autocomplete`,`maxlength`,`aria-label`,`aria-invalid`,`aria-describedby`],_=[`value`,`name`,`type`,`disabled`,`autocomplete`,`maxlength`,`aria-label`,`aria-invalid`,`aria-describedby`];function v(e,t,n,r,i,a){let o=(0,l.resolveComponent)(`dt-text`),s=(0,l.resolveComponent)(`dt-validation-messages`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,{ref:`container`,class:(0,l.normalizeClass)([`d-input__root`,{"d-input--hidden":n.hidden},e.$attrs.class]),style:(0,l.normalizeStyle)(e.$attrs.style),"data-qa":`dt-input`},[(0,l.createElementVNode)(`label`,{class:`d-input__label`,"aria-details":e.$slots.description||n.description?a.descriptionKey:void 0,"data-qa":`dt-input-label-wrapper`},[(0,l.renderSlot)(e.$slots,`label`,{},()=>[n.showLabel&&n.label?((0,l.openBlock)(),(0,l.createBlock)(o,{key:0,ref:`label`,"data-qa":`dt-input-label`,kind:`label`,size:a.resolvedLabelSize,strength:n.labelStrength,tone:`secondary`,class:(0,l.normalizeClass)([`d-input__label-text`,n.labelClass])},{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(n.label),1)]),_:1},8,[`size`,`strength`,`class`])):(0,l.createCommentVNode)(``,!0)]),i.hasSlotContent(e.$slots.description)||n.description||a.shouldValidateLength?((0,l.openBlock)(),(0,l.createBlock)(o,{key:0,id:a.descriptionKey,ref:`description`,kind:`body`,size:a.resolvedDescriptionSize,tone:`tertiary`,density:a.resolvedDescriptionDensity,as:`div`,class:(0,l.normalizeClass)([`d-input__description`,`d-description`,n.descriptionClass]),"data-qa":`dt-input-description`},{default:(0,l.withCtx)(()=>[i.hasSlotContent(e.$slots.description)||n.description?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,p,[(0,l.renderSlot)(e.$slots,`description`,{},()=>[(0,l.createTextVNode)((0,l.toDisplayString)(n.description),1)])])):(0,l.createCommentVNode)(``,!0),a.shouldValidateLength?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,m,(0,l.toDisplayString)(a.validationProps.length.description),1)):(0,l.createCommentVNode)(``,!0)]),_:3},8,[`id`,`size`,`density`,`class`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,{class:(0,l.normalizeClass)(a.inputWrapperClasses()),"read-only":n.disabled===!0?!0:void 0},[(0,l.createElementVNode)(`span`,{class:(0,l.normalizeClass)([`d-input-icon`,`d-input-icon--left`,n.startIconClass]),"data-qa":`dt-input-left-icon-wrapper`,onFocusout:t[0]||(t[0]=(...e)=>a.onBlur&&a.onBlur(...e))},[e.$slots.startIcon?(0,l.renderSlot)(e.$slots,`startIcon`,{key:0,iconSize:a.iconSize}):(0,l.renderSlot)(e.$slots,`leftIcon`,{key:1,iconSize:a.iconSize})],34),a.isTextarea?((0,l.openBlock)(),(0,l.createElementBlock)(`textarea`,(0,l.mergeProps)({key:0,ref:`input`,name:n.name,disabled:n.disabled,autocomplete:e.$attrs.autocomplete??`off`,class:a.inputClasses(),maxlength:a.shouldLimitMaxLength?a.validationProps.length.max:null,"aria-label":!n.showLabel&&n.label?n.label:void 0,"aria-invalid":a.ariaInvalid,"aria-describedby":a.ariaDescribedBy,"data-qa":`dt-input-input`},a.removeClassStyleAttrs(e.$attrs),(0,l.toHandlers)(a.inputListeners,!0)),null,16,g)):((0,l.openBlock)(),(0,l.createElementBlock)(`input`,(0,l.mergeProps)({key:1,ref:`input`,value:n.modelValue,name:n.name,type:n.type,disabled:n.disabled,autocomplete:e.$attrs.autocomplete??`off`,class:a.inputClasses(),maxlength:a.shouldLimitMaxLength?a.validationProps.length.max:null,"aria-label":!n.showLabel&&n.label?n.label:void 0,"aria-invalid":a.ariaInvalid,"aria-describedby":a.ariaDescribedBy,"data-qa":`dt-input-input`},a.removeClassStyleAttrs(e.$attrs),(0,l.toHandlers)(a.inputListeners,!0)),null,16,_)),(0,l.createElementVNode)(`span`,{class:(0,l.normalizeClass)([`d-input-icon`,`d-input-icon--right`,n.endIconClass]),"data-qa":`dt-input-right-icon-wrapper`,onFocusout:t[1]||(t[1]=(...e)=>a.onBlur&&a.onBlur(...e))},[e.$slots.endIcon?(0,l.renderSlot)(e.$slots,`endIcon`,{key:0,iconSize:a.iconSize,clear:a.clearInput}):(0,l.renderSlot)(e.$slots,`rightIcon`,{key:1,iconSize:a.iconSize,clear:a.clearInput})],34)],10,h)],8,f),(0,l.createVNode)(s,(0,l.mergeProps)(e.messagesChildProps,{id:i.messagesId,"validation-messages":a.validationMessages,"show-messages":e.showMessages,class:e.messagesClass,"data-qa":`dt-input-messages`}),null,16,[`id`,`validation-messages`,`show-messages`,`class`])],6)}var y=i.t(d,[[`render`,v]]);exports.default=y;
|
|
2
2
|
//# sourceMappingURL=input.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.cjs","names":[],"sources":["../../../components/Input/Input.vue"],"sourcesContent":["<template>\n <div\n ref=\"container\"\n :class=\"['d-input__root', { 'd-input--hidden': hidden }, $attrs.class]\"\n :style=\"$attrs.style\"\n data-qa=\"dt-input\"\n >\n <label\n class=\"d-input__label\"\n :aria-details=\"$slots.description || description ? descriptionKey : undefined\"\n data-qa=\"dt-input-label-wrapper\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">\n <dt-text\n v-if=\"showLabel && label\"\n ref=\"label\"\n data-qa=\"dt-input-label\"\n kind=\"label\"\n :size=\"resolvedLabelSize\"\n :strength=\"labelStrength\"\n tone=\"secondary\"\n :class=\"['d-input__label-text', labelClass]\"\n >\n {{ label }}\n </dt-text>\n </slot>\n <dt-text\n v-if=\"hasSlotContent($slots.description) || description || shouldValidateLength\"\n :id=\"descriptionKey\"\n ref=\"description\"\n kind=\"body\"\n :size=\"resolvedDescriptionSize\"\n tone=\"tertiary\"\n :density=\"resolvedDescriptionDensity\"\n as=\"div\"\n :class=\"[\n 'd-input__description',\n 'd-description',\n descriptionClass,\n ]\"\n data-qa=\"dt-input-description\"\n >\n <div\n v-if=\"hasSlotContent($slots.description) || description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n v-if=\"shouldValidateLength\"\n data-qa=\"dt-input-length-description\"\n class=\"d-input__length-description\"\n >\n {{ validationProps.length.description }}\n </div>\n </dt-text>\n <div\n :class=\"inputWrapperClasses()\"\n :read-only=\"disabled === true ? true : undefined\"\n >\n <span\n :class=\"['d-input-icon', 'd-input-icon--left', startIconClass]\"\n data-qa=\"dt-input-left-icon-wrapper\"\n @focusout=\"onBlur\"\n >\n <!-- @slot Slot for start icon -->\n <slot\n v-if=\"$slots.startIcon\"\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n <!-- @slot @deprecated Use startIcon -->\n <slot\n v-else\n name=\"leftIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <textarea\n v-if=\"isTextarea\"\n ref=\"input\"\n :name=\"name\"\n :disabled=\"disabled\"\n :autocomplete=\"$attrs.autocomplete ?? 'off'\"\n :class=\"inputClasses()\"\n :maxlength=\"shouldLimitMaxLength ? validationProps.length.max : null\"\n :aria-label=\"!showLabel && label ? label : undefined\"\n :aria-invalid=\"ariaInvalid\"\n :aria-describedby=\"ariaDescribedBy\"\n data-qa=\"dt-input-input\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n />\n <input\n v-else\n ref=\"input\"\n :value=\"modelValue\"\n :name=\"name\"\n :type=\"type\"\n :disabled=\"disabled\"\n :autocomplete=\"$attrs.autocomplete ?? 'off'\"\n :class=\"inputClasses()\"\n :maxlength=\"shouldLimitMaxLength ? validationProps.length.max : null\"\n :aria-label=\"!showLabel && label ? label : undefined\"\n :aria-invalid=\"ariaInvalid\"\n :aria-describedby=\"ariaDescribedBy\"\n data-qa=\"dt-input-input\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n >\n <span\n :class=\"['d-input-icon', 'd-input-icon--right', endIconClass]\"\n data-qa=\"dt-input-right-icon-wrapper\"\n @focusout=\"onBlur\"\n >\n <!-- @slot Slot for end icon -->\n <slot\n v-if=\"$slots.endIcon\"\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n :clear=\"clearInput\"\n />\n <!-- @slot @deprecated Use endIcon -->\n <slot\n v-else\n name=\"rightIcon\"\n :icon-size=\"iconSize\"\n :clear=\"clearInput\"\n />\n </span>\n </div>\n </label>\n <dt-validation-messages\n v-bind=\"messagesChildProps\"\n :id=\"messagesId\"\n :validation-messages=\"validationMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n data-qa=\"dt-input-messages\"\n />\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DESCRIPTION_SIZE_TYPES, VALIDATION_MESSAGE_TYPES } from '@/common/constants';\nimport {\n INPUT_TYPES,\n INPUT_SIZES,\n INPUT_SIZE_CLASSES,\n INPUT_ICON_SIZES,\n INPUT_STATE_CLASSES,\n} from './InputConstants';\nimport {\n getUniqueString,\n getValidationState,\n hasSlotContent,\n removeClassStyleAttrs,\n} from '@/common/utils';\nimport { DtValidationMessages } from '@/components/ValidationMessages';\nimport { DtText, TEXT_SIZE_MODIFIERS, TEXT_STRENGTH_MODIFIERS } from '@/components/Text';\nimport { MessagesMixin } from '@/common/mixins/input';\n\n/**\n * An input field is an input control that allows users to enter alphanumeric information.\n * It can have a range of options and supports single line and multi-line lengths,\n * as well as varying formats, including numbers, masked passwords, etc.\n * @property {Boolean} placeholder attribute\n * @see https://dialtone.dialpad.com/components/input.html\n */\nexport default {\n name: 'DtInput',\n\n components: { DtValidationMessages, DtText },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Name property of the input element\n */\n name: {\n type: String,\n default: '',\n },\n\n /**\n * Type of the input.\n * When `textarea` a `<textarea>` element will be rendered instead of an `<input>` element.\n * @values text, password, email, number, textarea, date, time, file, tel, search, color\n * @default 'text'\n */\n type: {\n type: String,\n default: INPUT_TYPES.TEXT,\n validator: (t) => Object.values(INPUT_TYPES).includes(t),\n },\n\n /**\n * Value of the input\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * Disables the input\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Label for the input.\n * Can also be overridden with a slot of the same name.\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: (t) => Object.keys(INPUT_ICON_SIZES).includes(String(t)),\n },\n\n /**\n * Additional class name for the input 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 inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * The current character length that the user has entered into the input.\n * This will only need to be used if you are using `validate.length` and\n * the string contains abnormal characters.\n * For example, an emoji could take up many characters in the input, but should only count as 1 character.\n * If no number is provided, a built-in length calculation will be used for the length validation.\n */\n currentLength: {\n type: Number,\n default: null,\n },\n\n /**\n * Whether the input will continue to display a warning validation message even if the input has lost focus.\n */\n retainWarning: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Validation for the input. Supports maximum length validation with the structure:\n * `{ \"length\": {\"description\": string, \"max\": number, \"warn\": number, \"message\": string,\n * \"limitMaxLength\": boolean }}`\n */\n validate: {\n type: Object,\n default: null,\n },\n\n /**\n * hidden allows to use input without the element visually present in DOM\n */\n hidden: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Overrides the label text size. When not provided, the label size\n * is derived from the component size prop.\n * @values 100, 200, 300, 400\n */\n labelSize: {\n type: [String, Number],\n default: null,\n validator: (s) => TEXT_SIZE_MODIFIERS.label.includes(String(s)),\n },\n\n /**\n * Overrides the label font weight.\n * @values bold, semibold, medium, normal\n */\n labelStrength: {\n type: String,\n default: null,\n validator: (s) => Object.keys(TEXT_STRENGTH_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the start icon container\n */\n startIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the end icon container\n */\n endIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input blur event\n *\n * @event blur\n * @type {FocusEvent}\n */\n 'blur',\n\n /**\n * Input clear event\n *\n * @event clear\n */\n 'clear',\n\n /**\n * Native input focus event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native input focusin event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native input focusout event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n * @event update:modelValue\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Length of the input when currentLength prop is not passed\n *\n * @event update:length\n * @type {Number}\n */\n 'update:length',\n\n /**\n * Result of the input validation\n *\n * @event update:invalid\n * @type {Boolean}\n */\n 'update:invalid',\n ],\n\n data () {\n return {\n isInputFocused: false,\n isInvalid: false,\n defaultLength: 0,\n hasSlotContent,\n isComposing: false,\n justEndedComposition: false,\n messagesId: getUniqueString(),\n };\n },\n\n computed: {\n\n isTextarea () {\n return this.type === INPUT_TYPES.TEXTAREA;\n },\n\n isDefaultSize () {\n return String(this.size) === INPUT_SIZES.DEFAULT || String(this.size) === '300';\n },\n\n iconSize () {\n return INPUT_ICON_SIZES[String(this.size)];\n },\n\n isValidSize () {\n return Object.keys(INPUT_ICON_SIZES).includes(String(this.size));\n },\n\n isValidDescriptionSize () {\n return Object.values(DESCRIPTION_SIZE_TYPES).includes(this.size);\n },\n\n inputComponent () {\n if (this.isTextarea) {\n return 'textarea';\n }\n\n return 'input';\n },\n\n inputListeners () {\n return {\n compositionstart: () => {\n this.isComposing = true;\n },\n\n compositionend: () => {\n this.isComposing = false;\n this.justEndedComposition = true;\n const val = this.$refs.input.value;\n this.$emit('update:modelValue', val);\n // Clear the flag after the current synchronous event processing so\n // Firefox's post-compositionend input event is skipped, but the\n // next real user input (a separate browser task) is not.\n Promise.resolve().then(() => { this.justEndedComposition = false; });\n },\n\n input: async event => {\n if (this.isComposing) return;\n if (this.justEndedComposition) return;\n let val = event.target.value;\n if (this.type === INPUT_TYPES.FILE) {\n const files = Array.from(event.target.files);\n val = files.map(file => file.name);\n }\n this.$emit('update:modelValue', val);\n },\n\n blur: event => {\n this.isInputFocused = false;\n this.onBlur(event);\n },\n\n focus: event => {\n this.isInputFocused = true;\n this.$emit('focus', event);\n },\n\n focusin: event => this.$emit('focusin', event),\n focusout: event => this.$emit('focusout', event),\n };\n },\n\n descriptionKey () {\n return `input-description-${getUniqueString()}`;\n },\n\n inputState () {\n return getValidationState(this.validationMessages);\n },\n\n ariaInvalid () {\n return this.inputState === VALIDATION_MESSAGE_TYPES.CRITICAL ? 'true' : undefined;\n },\n\n ariaDescribedBy () {\n return this.showMessages && this.validationMessages.length > 0 ? this.messagesId : undefined;\n },\n\n defaultLengthCalculation () {\n return this.calculateLength(this.modelValue);\n },\n\n validationProps () {\n return {\n length: {\n description: this?.validate?.length?.description,\n max: this?.validate?.length?.max,\n warn: this?.validate?.length?.warn,\n message: this?.validate?.length?.message,\n limitMaxLength: this?.validate?.length?.limitMaxLength ? this.validate.length.limitMaxLength : false,\n },\n };\n },\n\n validationMessages () {\n // Add length validation message if exists\n if (this.showLengthLimitValidation) {\n return this.formattedMessages.concat([this.inputLengthErrorMessage()]);\n }\n\n return this.formattedMessages;\n },\n\n showInputState () {\n return this.showMessages && this.inputState;\n },\n\n inputLength () {\n return this.currentLength ? this.currentLength : this.defaultLengthCalculation;\n },\n\n inputLengthState () {\n if (this.inputLength < this.validationProps.length.warn) {\n return null;\n } else if (this.inputLength <= this.validationProps.length.max) {\n return this.validationProps.length.warn ? VALIDATION_MESSAGE_TYPES.WARNING : null;\n } else {\n return VALIDATION_MESSAGE_TYPES.CRITICAL;\n }\n },\n\n shouldValidateLength () {\n return !!(\n this.validationProps.length.description &&\n this.validationProps.length.max\n );\n },\n\n shouldLimitMaxLength () {\n return this.shouldValidateLength && this.validationProps.length.limitMaxLength;\n },\n\n showLengthLimitValidation () {\n return (\n this.shouldValidateLength &&\n this.inputLengthState !== null &&\n this.validationProps.length.message &&\n (this.retainWarning || this.isInputFocused || this.isInvalid)\n );\n },\n\n resolvedLabelSize () {\n if (this.labelSize != null) return this.labelSize;\n const sizeStr = String(this.size);\n // xl/500 exceeds label's max size — cap at lg/400\n if (sizeStr === 'xl' || sizeStr === '500') return sizeStr === '500' ? '400' : 'lg';\n return this.size;\n },\n\n resolvedDescriptionSize () {\n const map = {\n 100: 'xs', 200: 'xs', 300: 'sm', 400: 'sm', 500: 'md',\n xs: 'xs', sm: 'xs', md: 'sm', lg: 'sm', xl: 'md',\n };\n return map[String(this.size)] || 'sm';\n },\n\n resolvedDescriptionDensity () {\n const sizeStr = String(this.size);\n return (sizeStr === 'xl' || sizeStr === '500') ? '300' : undefined;\n },\n\n sizeModifierClass () {\n if (this.isDefaultSize || !this.isValidSize) {\n return '';\n }\n\n return INPUT_SIZE_CLASSES[this.inputComponent][String(this.size)];\n },\n\n stateClass () {\n return [INPUT_STATE_CLASSES[this.inputState]];\n },\n },\n\n watch: {\n isInvalid (val) {\n this.$emit('update:invalid', val);\n },\n\n modelValue: {\n immediate: true,\n handler (newValue) {\n if (this.shouldValidateLength) {\n this.validateLength(this.inputLength);\n }\n\n if (this.currentLength == null) {\n this.$emit('update:length', this.calculateLength(newValue));\n }\n\n // Set textarea value programmatically to avoid attribute binding\n // Skip during IME composition to avoid interrupting in-progress input\n if (this.isTextarea && !this.isComposing && this.$refs.input && this.$refs.input.value !== newValue) {\n this.$refs.input.value = newValue;\n }\n },\n },\n },\n\n mounted () {\n // Set initial textarea value programmatically\n if (this.isTextarea && this.$refs.input) {\n this.$refs.input.value = this.modelValue;\n }\n this.runValidations();\n },\n\n methods: {\n removeClassStyleAttrs,\n inputClasses () {\n return [\n 'd-input__input',\n this.inputComponent === 'input' ? 'd-input' : 'd-textarea',\n {\n [this.stateClass]: this.showInputState,\n 'd-input-icon--left': this.$slots.startIcon || this.$slots.leftIcon,\n 'd-input-icon--right': this.$slots.endIcon || this.$slots.rightIcon,\n },\n this.sizeModifierClass,\n this.inputClass,\n ];\n },\n\n inputWrapperClasses () {\n if (this.hidden) {\n return [];\n }\n return [\n 'd-input__wrapper',\n { [this.stateClass]: this.showInputState },\n this.inputWrapperClass,\n ];\n },\n\n calculateLength (value) {\n if (typeof value !== 'string') {\n return 0;\n }\n\n return [...value].length;\n },\n\n inputLengthErrorMessage () {\n return {\n message: this.validationProps.length.message,\n type: this.inputLengthState,\n };\n },\n\n onBlur (e) {\n // Do not emit a blur event if the target element is a child of this component\n if (!this.$refs.container?.contains(e.relatedTarget)) {\n this.$emit('blur', e);\n }\n },\n\n emitClearEvents () {\n this.$emit('clear');\n this.$emit('update:modelValue', '');\n },\n\n blur () {\n this.$refs.input.blur();\n },\n\n focus () {\n this.$refs.input.focus();\n },\n\n select () {\n this.$refs.input.select();\n },\n\n getMessageKey (type, index) {\n return `message-${type}-${index}`;\n },\n\n validateLength (length) {\n this.isInvalid = (length > this.validationProps.length.max);\n },\n\n clearInput () {\n this.$refs.input.value = '';\n this.$refs.input.focus();\n this.emitClearEvents();\n },\n\n runValidations () {\n if (!this.label && !this.$attrs['aria-label']) {\n console.info(\n '[Dialtone] A label is required for accessibility. Provide a label prop and use show-label=\"false\" to hide it visually.',\n );\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input.cjs","names":[],"sources":["../../../components/Input/Input.vue"],"sourcesContent":["<template>\n <div\n ref=\"container\"\n :class=\"['d-input__root', { 'd-input--hidden': hidden }, $attrs.class]\"\n :style=\"$attrs.style\"\n data-qa=\"dt-input\"\n >\n <label\n class=\"d-input__label\"\n :aria-details=\"$slots.description || description ? descriptionKey : undefined\"\n data-qa=\"dt-input-label-wrapper\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">\n <dt-text\n v-if=\"showLabel && label\"\n ref=\"label\"\n data-qa=\"dt-input-label\"\n kind=\"label\"\n :size=\"resolvedLabelSize\"\n :strength=\"labelStrength\"\n tone=\"secondary\"\n :class=\"['d-input__label-text', labelClass]\"\n >\n {{ label }}\n </dt-text>\n </slot>\n <dt-text\n v-if=\"hasSlotContent($slots.description) || description || shouldValidateLength\"\n :id=\"descriptionKey\"\n ref=\"description\"\n kind=\"body\"\n :size=\"resolvedDescriptionSize\"\n tone=\"tertiary\"\n :density=\"resolvedDescriptionDensity\"\n as=\"div\"\n :class=\"[\n 'd-input__description',\n 'd-description',\n descriptionClass,\n ]\"\n data-qa=\"dt-input-description\"\n >\n <div\n v-if=\"hasSlotContent($slots.description) || description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n v-if=\"shouldValidateLength\"\n data-qa=\"dt-input-length-description\"\n class=\"d-input__length-description\"\n >\n {{ validationProps.length.description }}\n </div>\n </dt-text>\n <div\n :class=\"inputWrapperClasses()\"\n :read-only=\"disabled === true ? true : undefined\"\n >\n <span\n :class=\"['d-input-icon', 'd-input-icon--left', startIconClass]\"\n data-qa=\"dt-input-left-icon-wrapper\"\n @focusout=\"onBlur\"\n >\n <!-- @slot Slot for start icon -->\n <slot\n v-if=\"$slots.startIcon\"\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n <!-- @slot @deprecated Use startIcon -->\n <slot\n v-else\n name=\"leftIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <textarea\n v-if=\"isTextarea\"\n ref=\"input\"\n :name=\"name\"\n :disabled=\"disabled\"\n :autocomplete=\"$attrs.autocomplete ?? 'off'\"\n :class=\"inputClasses()\"\n :maxlength=\"shouldLimitMaxLength ? validationProps.length.max : null\"\n :aria-label=\"!showLabel && label ? label : undefined\"\n :aria-invalid=\"ariaInvalid\"\n :aria-describedby=\"ariaDescribedBy\"\n data-qa=\"dt-input-input\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n />\n <input\n v-else\n ref=\"input\"\n :value=\"modelValue\"\n :name=\"name\"\n :type=\"type\"\n :disabled=\"disabled\"\n :autocomplete=\"$attrs.autocomplete ?? 'off'\"\n :class=\"inputClasses()\"\n :maxlength=\"shouldLimitMaxLength ? validationProps.length.max : null\"\n :aria-label=\"!showLabel && label ? label : undefined\"\n :aria-invalid=\"ariaInvalid\"\n :aria-describedby=\"ariaDescribedBy\"\n data-qa=\"dt-input-input\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n >\n <span\n :class=\"['d-input-icon', 'd-input-icon--right', endIconClass]\"\n data-qa=\"dt-input-right-icon-wrapper\"\n @focusout=\"onBlur\"\n >\n <!-- @slot Slot for end icon -->\n <slot\n v-if=\"$slots.endIcon\"\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n :clear=\"clearInput\"\n />\n <!-- @slot @deprecated Use endIcon -->\n <slot\n v-else\n name=\"rightIcon\"\n :icon-size=\"iconSize\"\n :clear=\"clearInput\"\n />\n </span>\n </div>\n </label>\n <dt-validation-messages\n v-bind=\"messagesChildProps\"\n :id=\"messagesId\"\n :validation-messages=\"validationMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n data-qa=\"dt-input-messages\"\n />\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DESCRIPTION_SIZE_TYPES, VALIDATION_MESSAGE_TYPES } from '@/common/constants';\nimport {\n INPUT_TYPES,\n INPUT_SIZES,\n INPUT_SIZE_CLASSES,\n INPUT_ICON_SIZES,\n INPUT_STATE_CLASSES,\n} from './InputConstants';\nimport {\n getUniqueString,\n getValidationState,\n hasSlotContent,\n removeClassStyleAttrs,\n} from '@/common/utils';\nimport { ordinalSizeValidator } from '@/common/validators';\nimport { DtValidationMessages } from '@/components/ValidationMessages';\nimport { DtText, TEXT_SIZE_MODIFIERS, TEXT_STRENGTH_MODIFIERS } from '@/components/Text';\nimport { MessagesMixin } from '@/common/mixins/input';\n\nconst isValidInputSize = ordinalSizeValidator(INPUT_ICON_SIZES);\n\n/**\n * An input field is an input control that allows users to enter alphanumeric information.\n * It can have a range of options and supports single line and multi-line lengths,\n * as well as varying formats, including numbers, masked passwords, etc.\n * @property {Boolean} placeholder attribute\n * @see https://dialtone.dialpad.com/components/input.html\n */\nexport default {\n name: 'DtInput',\n\n components: { DtValidationMessages, DtText },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Name property of the input element\n */\n name: {\n type: String,\n default: '',\n },\n\n /**\n * Type of the input.\n * When `textarea` a `<textarea>` element will be rendered instead of an `<input>` element.\n * @values text, password, email, number, textarea, date, time, file, tel, search, color\n * @default 'text'\n */\n type: {\n type: String,\n default: INPUT_TYPES.TEXT,\n validator: (t) => Object.values(INPUT_TYPES).includes(t),\n },\n\n /**\n * Value of the input\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * Disables the input\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Label for the input.\n * Can also be overridden with a slot of the same name.\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: isValidInputSize,\n },\n\n /**\n * Additional class name for the input 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 inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * The current character length that the user has entered into the input.\n * This will only need to be used if you are using `validate.length` and\n * the string contains abnormal characters.\n * For example, an emoji could take up many characters in the input, but should only count as 1 character.\n * If no number is provided, a built-in length calculation will be used for the length validation.\n */\n currentLength: {\n type: Number,\n default: null,\n },\n\n /**\n * Whether the input will continue to display a warning validation message even if the input has lost focus.\n */\n retainWarning: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Validation for the input. Supports maximum length validation with the structure:\n * `{ \"length\": {\"description\": string, \"max\": number, \"warn\": number, \"message\": string,\n * \"limitMaxLength\": boolean }}`\n */\n validate: {\n type: Object,\n default: null,\n },\n\n /**\n * hidden allows to use input without the element visually present in DOM\n */\n hidden: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Overrides the label text size. When not provided, the label size\n * is derived from the component size prop.\n * @values 100, 200, 300, 400\n */\n labelSize: {\n type: [String, Number],\n default: null,\n validator: (s) => TEXT_SIZE_MODIFIERS.label.includes(String(s)),\n },\n\n /**\n * Overrides the label font weight.\n * @values bold, semibold, medium, normal\n */\n labelStrength: {\n type: String,\n default: null,\n validator: (s) => Object.keys(TEXT_STRENGTH_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the start icon container\n */\n startIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the end icon container\n */\n endIconClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input blur event\n *\n * @event blur\n * @type {FocusEvent}\n */\n 'blur',\n\n /**\n * Input clear event\n *\n * @event clear\n */\n 'clear',\n\n /**\n * Native input focus event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native input focusin event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native input focusout event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n * @event update:modelValue\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Length of the input when currentLength prop is not passed\n *\n * @event update:length\n * @type {Number}\n */\n 'update:length',\n\n /**\n * Result of the input validation\n *\n * @event update:invalid\n * @type {Boolean}\n */\n 'update:invalid',\n ],\n\n data () {\n return {\n isInputFocused: false,\n isInvalid: false,\n defaultLength: 0,\n hasSlotContent,\n isComposing: false,\n justEndedComposition: false,\n messagesId: getUniqueString(),\n };\n },\n\n computed: {\n\n isTextarea () {\n return this.type === INPUT_TYPES.TEXTAREA;\n },\n\n isDefaultSize () {\n return String(this.size) === INPUT_SIZES.DEFAULT || String(this.size) === '300';\n },\n\n iconSize () {\n return INPUT_ICON_SIZES[String(this.size)];\n },\n\n isValidSize () {\n return isValidInputSize(this.size);\n },\n\n isValidDescriptionSize () {\n return Object.values(DESCRIPTION_SIZE_TYPES).includes(this.size);\n },\n\n inputComponent () {\n if (this.isTextarea) {\n return 'textarea';\n }\n\n return 'input';\n },\n\n inputListeners () {\n return {\n compositionstart: () => {\n this.isComposing = true;\n },\n\n compositionend: () => {\n this.isComposing = false;\n this.justEndedComposition = true;\n const val = this.$refs.input.value;\n this.$emit('update:modelValue', val);\n // Clear the flag after the current synchronous event processing so\n // Firefox's post-compositionend input event is skipped, but the\n // next real user input (a separate browser task) is not.\n Promise.resolve().then(() => { this.justEndedComposition = false; });\n },\n\n input: async event => {\n if (this.isComposing) return;\n if (this.justEndedComposition) return;\n let val = event.target.value;\n if (this.type === INPUT_TYPES.FILE) {\n const files = Array.from(event.target.files);\n val = files.map(file => file.name);\n }\n this.$emit('update:modelValue', val);\n },\n\n blur: event => {\n this.isInputFocused = false;\n this.onBlur(event);\n },\n\n focus: event => {\n this.isInputFocused = true;\n this.$emit('focus', event);\n },\n\n focusin: event => this.$emit('focusin', event),\n focusout: event => this.$emit('focusout', event),\n };\n },\n\n descriptionKey () {\n return `input-description-${getUniqueString()}`;\n },\n\n inputState () {\n return getValidationState(this.validationMessages);\n },\n\n ariaInvalid () {\n return this.inputState === VALIDATION_MESSAGE_TYPES.CRITICAL ? 'true' : undefined;\n },\n\n ariaDescribedBy () {\n return this.showMessages && this.validationMessages.length > 0 ? this.messagesId : undefined;\n },\n\n defaultLengthCalculation () {\n return this.calculateLength(this.modelValue);\n },\n\n validationProps () {\n return {\n length: {\n description: this?.validate?.length?.description,\n max: this?.validate?.length?.max,\n warn: this?.validate?.length?.warn,\n message: this?.validate?.length?.message,\n limitMaxLength: this?.validate?.length?.limitMaxLength ? this.validate.length.limitMaxLength : false,\n },\n };\n },\n\n validationMessages () {\n // Add length validation message if exists\n if (this.showLengthLimitValidation) {\n return this.formattedMessages.concat([this.inputLengthErrorMessage()]);\n }\n\n return this.formattedMessages;\n },\n\n showInputState () {\n return this.showMessages && this.inputState;\n },\n\n inputLength () {\n return this.currentLength ? this.currentLength : this.defaultLengthCalculation;\n },\n\n inputLengthState () {\n if (this.inputLength < this.validationProps.length.warn) {\n return null;\n } else if (this.inputLength <= this.validationProps.length.max) {\n return this.validationProps.length.warn ? VALIDATION_MESSAGE_TYPES.WARNING : null;\n } else {\n return VALIDATION_MESSAGE_TYPES.CRITICAL;\n }\n },\n\n shouldValidateLength () {\n return !!(\n this.validationProps.length.description &&\n this.validationProps.length.max\n );\n },\n\n shouldLimitMaxLength () {\n return this.shouldValidateLength && this.validationProps.length.limitMaxLength;\n },\n\n showLengthLimitValidation () {\n return (\n this.shouldValidateLength &&\n this.inputLengthState !== null &&\n this.validationProps.length.message &&\n (this.retainWarning || this.isInputFocused || this.isInvalid)\n );\n },\n\n resolvedLabelSize () {\n if (this.labelSize != null) return this.labelSize;\n const sizeStr = String(this.size);\n // xl/500 exceeds label's max size — cap at lg/400\n if (sizeStr === 'xl' || sizeStr === '500') return sizeStr === '500' ? '400' : 'lg';\n return this.size;\n },\n\n resolvedDescriptionSize () {\n const map = {\n 100: 'xs', 200: 'xs', 300: 'sm', 400: 'sm', 500: 'md',\n xs: 'xs', sm: 'xs', md: 'sm', lg: 'sm', xl: 'md',\n };\n return map[String(this.size)] || 'sm';\n },\n\n resolvedDescriptionDensity () {\n const sizeStr = String(this.size);\n return (sizeStr === 'xl' || sizeStr === '500') ? '300' : undefined;\n },\n\n sizeModifierClass () {\n if (this.isDefaultSize || !this.isValidSize) {\n return '';\n }\n\n return INPUT_SIZE_CLASSES[this.inputComponent][String(this.size)];\n },\n\n stateClass () {\n return [INPUT_STATE_CLASSES[this.inputState]];\n },\n },\n\n watch: {\n isInvalid (val) {\n this.$emit('update:invalid', val);\n },\n\n modelValue: {\n immediate: true,\n handler (newValue) {\n if (this.shouldValidateLength) {\n this.validateLength(this.inputLength);\n }\n\n if (this.currentLength == null) {\n this.$emit('update:length', this.calculateLength(newValue));\n }\n\n // Set textarea value programmatically to avoid attribute binding\n // Skip during IME composition to avoid interrupting in-progress input\n if (this.isTextarea && !this.isComposing && this.$refs.input && this.$refs.input.value !== newValue) {\n this.$refs.input.value = newValue;\n }\n },\n },\n },\n\n mounted () {\n // Set initial textarea value programmatically\n if (this.isTextarea && this.$refs.input) {\n this.$refs.input.value = this.modelValue;\n }\n this.runValidations();\n },\n\n methods: {\n removeClassStyleAttrs,\n inputClasses () {\n return [\n 'd-input__input',\n this.inputComponent === 'input' ? 'd-input' : 'd-textarea',\n {\n [this.stateClass]: this.showInputState,\n 'd-input-icon--left': this.$slots.startIcon || this.$slots.leftIcon,\n 'd-input-icon--right': this.$slots.endIcon || this.$slots.rightIcon,\n },\n this.sizeModifierClass,\n this.inputClass,\n ];\n },\n\n inputWrapperClasses () {\n if (this.hidden) {\n return [];\n }\n return [\n 'd-input__wrapper',\n { [this.stateClass]: this.showInputState },\n this.inputWrapperClass,\n ];\n },\n\n calculateLength (value) {\n if (typeof value !== 'string') {\n return 0;\n }\n\n return [...value].length;\n },\n\n inputLengthErrorMessage () {\n return {\n message: this.validationProps.length.message,\n type: this.inputLengthState,\n };\n },\n\n onBlur (e) {\n // Do not emit a blur event if the target element is a child of this component\n if (!this.$refs.container?.contains(e.relatedTarget)) {\n this.$emit('blur', e);\n }\n },\n\n emitClearEvents () {\n this.$emit('clear');\n this.$emit('update:modelValue', '');\n },\n\n blur () {\n this.$refs.input.blur();\n },\n\n focus () {\n this.$refs.input.focus();\n },\n\n select () {\n this.$refs.input.select();\n },\n\n getMessageKey (type, index) {\n return `message-${type}-${index}`;\n },\n\n validateLength (length) {\n this.isInvalid = (length > this.validationProps.length.max);\n },\n\n clearInput () {\n this.$refs.input.value = '';\n this.$refs.input.focus();\n this.emitClearEvents();\n },\n\n runValidations () {\n if (!this.label && !this.$attrs['aria-label']) {\n console.info(\n '[Dialtone] A label is required for accessibility. Provide a label prop and use show-label=\"false\" to hide it visually.',\n );\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
package/dist/lib/input/input.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { DESCRIPTION_SIZE_TYPES as e, VALIDATION_MESSAGE_TYPES as t } from "../../common/constants/index.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import c from "
|
|
6
|
-
import
|
|
7
|
-
import d from "../text/text.js";
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
2
|
+
import { ordinalSizeValidator as n } from "../../common/validators/index.js";
|
|
3
|
+
import { getUniqueString as r, getValidationState as i, hasSlotContent as a, removeClassStyleAttrs as o } from "../../common/utils/index.js";
|
|
4
|
+
import { MessagesMixin as s } from "../../common/mixins/input.js";
|
|
5
|
+
import { t as c } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
|
|
6
|
+
import l from "../validation-messages/validation-messages.js";
|
|
7
|
+
import { TEXT_SIZE_MODIFIERS as u, TEXT_STRENGTH_MODIFIERS as d } from "../text/text-constants.js";
|
|
8
|
+
import f from "../text/text.js";
|
|
9
|
+
import { INPUT_ICON_SIZES as p, INPUT_SIZES as m, INPUT_SIZE_CLASSES as h, INPUT_STATE_CLASSES as g, INPUT_TYPES as _ } from "./input-constants.js";
|
|
10
|
+
import { createBlock as v, createCommentVNode as y, createElementBlock as b, createElementVNode as x, createTextVNode as S, createVNode as C, mergeProps as w, normalizeClass as T, normalizeStyle as E, openBlock as D, renderSlot as O, resolveComponent as k, toDisplayString as A, toHandlers as j, withCtx as M } from "vue";
|
|
10
11
|
//#region components/Input/Input.vue
|
|
11
|
-
var
|
|
12
|
+
var N = n(p), P = {
|
|
12
13
|
name: "DtInput",
|
|
13
14
|
components: {
|
|
14
|
-
DtValidationMessages:
|
|
15
|
-
DtText:
|
|
15
|
+
DtValidationMessages: l,
|
|
16
|
+
DtText: f
|
|
16
17
|
},
|
|
17
|
-
mixins: [
|
|
18
|
+
mixins: [s],
|
|
18
19
|
inheritAttrs: !1,
|
|
19
20
|
props: {
|
|
20
21
|
name: {
|
|
@@ -23,8 +24,8 @@ var M = {
|
|
|
23
24
|
},
|
|
24
25
|
type: {
|
|
25
26
|
type: String,
|
|
26
|
-
default:
|
|
27
|
-
validator: (e) => Object.values(
|
|
27
|
+
default: _.TEXT,
|
|
28
|
+
validator: (e) => Object.values(_).includes(e)
|
|
28
29
|
},
|
|
29
30
|
modelValue: {
|
|
30
31
|
type: [String, Number],
|
|
@@ -57,7 +58,7 @@ var M = {
|
|
|
57
58
|
size: {
|
|
58
59
|
type: [String, Number],
|
|
59
60
|
default: 300,
|
|
60
|
-
validator:
|
|
61
|
+
validator: N
|
|
61
62
|
},
|
|
62
63
|
inputClass: {
|
|
63
64
|
type: [
|
|
@@ -94,12 +95,12 @@ var M = {
|
|
|
94
95
|
labelSize: {
|
|
95
96
|
type: [String, Number],
|
|
96
97
|
default: null,
|
|
97
|
-
validator: (e) =>
|
|
98
|
+
validator: (e) => u.label.includes(String(e))
|
|
98
99
|
},
|
|
99
100
|
labelStrength: {
|
|
100
101
|
type: String,
|
|
101
102
|
default: null,
|
|
102
|
-
validator: (e) => Object.keys(
|
|
103
|
+
validator: (e) => Object.keys(d).includes(e)
|
|
103
104
|
},
|
|
104
105
|
labelClass: {
|
|
105
106
|
type: [
|
|
@@ -141,24 +142,24 @@ var M = {
|
|
|
141
142
|
isInputFocused: !1,
|
|
142
143
|
isInvalid: !1,
|
|
143
144
|
defaultLength: 0,
|
|
144
|
-
hasSlotContent:
|
|
145
|
+
hasSlotContent: a,
|
|
145
146
|
isComposing: !1,
|
|
146
147
|
justEndedComposition: !1,
|
|
147
|
-
messagesId:
|
|
148
|
+
messagesId: r()
|
|
148
149
|
};
|
|
149
150
|
},
|
|
150
151
|
computed: {
|
|
151
152
|
isTextarea() {
|
|
152
|
-
return this.type ===
|
|
153
|
+
return this.type === _.TEXTAREA;
|
|
153
154
|
},
|
|
154
155
|
isDefaultSize() {
|
|
155
|
-
return String(this.size) ===
|
|
156
|
+
return String(this.size) === m.DEFAULT || String(this.size) === "300";
|
|
156
157
|
},
|
|
157
158
|
iconSize() {
|
|
158
|
-
return
|
|
159
|
+
return p[String(this.size)];
|
|
159
160
|
},
|
|
160
161
|
isValidSize() {
|
|
161
|
-
return
|
|
162
|
+
return N(this.size);
|
|
162
163
|
},
|
|
163
164
|
isValidDescriptionSize() {
|
|
164
165
|
return Object.values(e).includes(this.size);
|
|
@@ -181,7 +182,7 @@ var M = {
|
|
|
181
182
|
input: async (e) => {
|
|
182
183
|
if (this.isComposing || this.justEndedComposition) return;
|
|
183
184
|
let t = e.target.value;
|
|
184
|
-
this.type ===
|
|
185
|
+
this.type === _.FILE && (t = Array.from(e.target.files).map((e) => e.name)), this.$emit("update:modelValue", t);
|
|
185
186
|
},
|
|
186
187
|
blur: (e) => {
|
|
187
188
|
this.isInputFocused = !1, this.onBlur(e);
|
|
@@ -194,10 +195,10 @@ var M = {
|
|
|
194
195
|
};
|
|
195
196
|
},
|
|
196
197
|
descriptionKey() {
|
|
197
|
-
return `input-description-${
|
|
198
|
+
return `input-description-${r()}`;
|
|
198
199
|
},
|
|
199
200
|
inputState() {
|
|
200
|
-
return
|
|
201
|
+
return i(this.validationMessages);
|
|
201
202
|
},
|
|
202
203
|
ariaInvalid() {
|
|
203
204
|
return this.inputState === t.CRITICAL ? "true" : void 0;
|
|
@@ -262,10 +263,10 @@ var M = {
|
|
|
262
263
|
return e === "xl" || e === "500" ? "300" : void 0;
|
|
263
264
|
},
|
|
264
265
|
sizeModifierClass() {
|
|
265
|
-
return this.isDefaultSize || !this.isValidSize ? "" :
|
|
266
|
+
return this.isDefaultSize || !this.isValidSize ? "" : h[this.inputComponent][String(this.size)];
|
|
266
267
|
},
|
|
267
268
|
stateClass() {
|
|
268
|
-
return [
|
|
269
|
+
return [g[this.inputState]];
|
|
269
270
|
}
|
|
270
271
|
},
|
|
271
272
|
watch: {
|
|
@@ -283,7 +284,7 @@ var M = {
|
|
|
283
284
|
this.isTextarea && this.$refs.input && (this.$refs.input.value = this.modelValue), this.runValidations();
|
|
284
285
|
},
|
|
285
286
|
methods: {
|
|
286
|
-
removeClassStyleAttrs:
|
|
287
|
+
removeClassStyleAttrs: o,
|
|
287
288
|
inputClasses() {
|
|
288
289
|
return [
|
|
289
290
|
"d-input__input",
|
|
@@ -341,11 +342,11 @@ var M = {
|
|
|
341
342
|
!this.label && !this.$attrs["aria-label"] && console.info("[Dialtone] A label is required for accessibility. Provide a label prop and use show-label=\"false\" to hide it visually.");
|
|
342
343
|
}
|
|
343
344
|
}
|
|
344
|
-
},
|
|
345
|
+
}, F = ["aria-details"], I = { key: 0 }, L = {
|
|
345
346
|
key: 1,
|
|
346
347
|
"data-qa": "dt-input-length-description",
|
|
347
348
|
class: "d-input__length-description"
|
|
348
|
-
},
|
|
349
|
+
}, R = ["read-only"], z = [
|
|
349
350
|
"name",
|
|
350
351
|
"disabled",
|
|
351
352
|
"autocomplete",
|
|
@@ -353,7 +354,7 @@ var M = {
|
|
|
353
354
|
"aria-label",
|
|
354
355
|
"aria-invalid",
|
|
355
356
|
"aria-describedby"
|
|
356
|
-
],
|
|
357
|
+
], B = [
|
|
357
358
|
"value",
|
|
358
359
|
"name",
|
|
359
360
|
"type",
|
|
@@ -364,23 +365,23 @@ var M = {
|
|
|
364
365
|
"aria-invalid",
|
|
365
366
|
"aria-describedby"
|
|
366
367
|
];
|
|
367
|
-
function
|
|
368
|
-
let o =
|
|
369
|
-
return
|
|
368
|
+
function V(e, t, n, r, i, a) {
|
|
369
|
+
let o = k("dt-text"), s = k("dt-validation-messages");
|
|
370
|
+
return D(), b("div", {
|
|
370
371
|
ref: "container",
|
|
371
|
-
class:
|
|
372
|
+
class: T([
|
|
372
373
|
"d-input__root",
|
|
373
374
|
{ "d-input--hidden": n.hidden },
|
|
374
375
|
e.$attrs.class
|
|
375
376
|
]),
|
|
376
|
-
style:
|
|
377
|
+
style: E(e.$attrs.style),
|
|
377
378
|
"data-qa": "dt-input"
|
|
378
|
-
}, [
|
|
379
|
+
}, [x("label", {
|
|
379
380
|
class: "d-input__label",
|
|
380
381
|
"aria-details": e.$slots.description || n.description ? a.descriptionKey : void 0,
|
|
381
382
|
"data-qa": "dt-input-label-wrapper"
|
|
382
383
|
}, [
|
|
383
|
-
|
|
384
|
+
O(e.$slots, "label", {}, () => [n.showLabel && n.label ? (D(), v(o, {
|
|
384
385
|
key: 0,
|
|
385
386
|
ref: "label",
|
|
386
387
|
"data-qa": "dt-input-label",
|
|
@@ -388,16 +389,16 @@ function z(e, t, n, r, i, a) {
|
|
|
388
389
|
size: a.resolvedLabelSize,
|
|
389
390
|
strength: n.labelStrength,
|
|
390
391
|
tone: "secondary",
|
|
391
|
-
class:
|
|
392
|
+
class: T(["d-input__label-text", n.labelClass])
|
|
392
393
|
}, {
|
|
393
|
-
default:
|
|
394
|
+
default: M(() => [S(A(n.label), 1)]),
|
|
394
395
|
_: 1
|
|
395
396
|
}, 8, [
|
|
396
397
|
"size",
|
|
397
398
|
"strength",
|
|
398
399
|
"class"
|
|
399
|
-
])) :
|
|
400
|
-
i.hasSlotContent(e.$slots.description) || n.description || a.shouldValidateLength ? (
|
|
400
|
+
])) : y("", !0)]),
|
|
401
|
+
i.hasSlotContent(e.$slots.description) || n.description || a.shouldValidateLength ? (D(), v(o, {
|
|
401
402
|
key: 0,
|
|
402
403
|
id: a.descriptionKey,
|
|
403
404
|
ref: "description",
|
|
@@ -406,41 +407,41 @@ function z(e, t, n, r, i, a) {
|
|
|
406
407
|
tone: "tertiary",
|
|
407
408
|
density: a.resolvedDescriptionDensity,
|
|
408
409
|
as: "div",
|
|
409
|
-
class:
|
|
410
|
+
class: T([
|
|
410
411
|
"d-input__description",
|
|
411
412
|
"d-description",
|
|
412
413
|
n.descriptionClass
|
|
413
414
|
]),
|
|
414
415
|
"data-qa": "dt-input-description"
|
|
415
416
|
}, {
|
|
416
|
-
default:
|
|
417
|
+
default: M(() => [i.hasSlotContent(e.$slots.description) || n.description ? (D(), b("div", I, [O(e.$slots, "description", {}, () => [S(A(n.description), 1)])])) : y("", !0), a.shouldValidateLength ? (D(), b("div", L, A(a.validationProps.length.description), 1)) : y("", !0)]),
|
|
417
418
|
_: 3
|
|
418
419
|
}, 8, [
|
|
419
420
|
"id",
|
|
420
421
|
"size",
|
|
421
422
|
"density",
|
|
422
423
|
"class"
|
|
423
|
-
])) :
|
|
424
|
-
|
|
425
|
-
class:
|
|
424
|
+
])) : y("", !0),
|
|
425
|
+
x("div", {
|
|
426
|
+
class: T(a.inputWrapperClasses()),
|
|
426
427
|
"read-only": n.disabled === !0 ? !0 : void 0
|
|
427
428
|
}, [
|
|
428
|
-
|
|
429
|
-
class:
|
|
429
|
+
x("span", {
|
|
430
|
+
class: T([
|
|
430
431
|
"d-input-icon",
|
|
431
432
|
"d-input-icon--left",
|
|
432
433
|
n.startIconClass
|
|
433
434
|
]),
|
|
434
435
|
"data-qa": "dt-input-left-icon-wrapper",
|
|
435
436
|
onFocusout: t[0] || (t[0] = (...e) => a.onBlur && a.onBlur(...e))
|
|
436
|
-
}, [e.$slots.startIcon ?
|
|
437
|
+
}, [e.$slots.startIcon ? O(e.$slots, "startIcon", {
|
|
437
438
|
key: 0,
|
|
438
439
|
iconSize: a.iconSize
|
|
439
|
-
}) :
|
|
440
|
+
}) : O(e.$slots, "leftIcon", {
|
|
440
441
|
key: 1,
|
|
441
442
|
iconSize: a.iconSize
|
|
442
443
|
})], 34),
|
|
443
|
-
a.isTextarea ? (
|
|
444
|
+
a.isTextarea ? (D(), b("textarea", w({
|
|
444
445
|
key: 0,
|
|
445
446
|
ref: "input",
|
|
446
447
|
name: n.name,
|
|
@@ -452,7 +453,7 @@ function z(e, t, n, r, i, a) {
|
|
|
452
453
|
"aria-invalid": a.ariaInvalid,
|
|
453
454
|
"aria-describedby": a.ariaDescribedBy,
|
|
454
455
|
"data-qa": "dt-input-input"
|
|
455
|
-
}, a.removeClassStyleAttrs(e.$attrs),
|
|
456
|
+
}, a.removeClassStyleAttrs(e.$attrs), j(a.inputListeners, !0)), null, 16, z)) : (D(), b("input", w({
|
|
456
457
|
key: 1,
|
|
457
458
|
ref: "input",
|
|
458
459
|
value: n.modelValue,
|
|
@@ -466,26 +467,26 @@ function z(e, t, n, r, i, a) {
|
|
|
466
467
|
"aria-invalid": a.ariaInvalid,
|
|
467
468
|
"aria-describedby": a.ariaDescribedBy,
|
|
468
469
|
"data-qa": "dt-input-input"
|
|
469
|
-
}, a.removeClassStyleAttrs(e.$attrs),
|
|
470
|
-
|
|
471
|
-
class:
|
|
470
|
+
}, a.removeClassStyleAttrs(e.$attrs), j(a.inputListeners, !0)), null, 16, B)),
|
|
471
|
+
x("span", {
|
|
472
|
+
class: T([
|
|
472
473
|
"d-input-icon",
|
|
473
474
|
"d-input-icon--right",
|
|
474
475
|
n.endIconClass
|
|
475
476
|
]),
|
|
476
477
|
"data-qa": "dt-input-right-icon-wrapper",
|
|
477
478
|
onFocusout: t[1] || (t[1] = (...e) => a.onBlur && a.onBlur(...e))
|
|
478
|
-
}, [e.$slots.endIcon ?
|
|
479
|
+
}, [e.$slots.endIcon ? O(e.$slots, "endIcon", {
|
|
479
480
|
key: 0,
|
|
480
481
|
iconSize: a.iconSize,
|
|
481
482
|
clear: a.clearInput
|
|
482
|
-
}) :
|
|
483
|
+
}) : O(e.$slots, "rightIcon", {
|
|
483
484
|
key: 1,
|
|
484
485
|
iconSize: a.iconSize,
|
|
485
486
|
clear: a.clearInput
|
|
486
487
|
})], 34)
|
|
487
|
-
], 10,
|
|
488
|
-
], 8,
|
|
488
|
+
], 10, R)
|
|
489
|
+
], 8, F), C(s, w(e.messagesChildProps, {
|
|
489
490
|
id: i.messagesId,
|
|
490
491
|
"validation-messages": a.validationMessages,
|
|
491
492
|
"show-messages": e.showMessages,
|
|
@@ -498,8 +499,8 @@ function z(e, t, n, r, i, a) {
|
|
|
498
499
|
"class"
|
|
499
500
|
])], 6);
|
|
500
501
|
}
|
|
501
|
-
var
|
|
502
|
+
var H = /* @__PURE__ */ c(P, [["render", V]]);
|
|
502
503
|
//#endregion
|
|
503
|
-
export {
|
|
504
|
+
export { H as default };
|
|
504
505
|
|
|
505
506
|
//# sourceMappingURL=input.js.map
|