@carbon/web-components 2.0.0-beta.0 → 2.0.0-beta.1
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/custom-elements.json +5128 -3232
- package/es/components/breadcrumb/breadcrumb-skeleton.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es/components/button/button-set.d.ts +2 -2
- package/es/components/button/button-set.d.ts.map +1 -1
- package/es/components/button/button-set.js +4 -4
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button-skeleton.d.ts +3 -3
- package/es/components/button/button-skeleton.d.ts.map +1 -1
- package/es/components/button/button-skeleton.js +6 -6
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.css.js +1 -1
- package/es/components/button/button.d.ts +5 -5
- package/es/components/button/button.d.ts.map +1 -1
- package/es/components/button/button.js +6 -6
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/button.rtl.css.js +1 -1
- package/es/components/{tooltip/tooltip-footer.d.ts → checkbox/checkbox-skeleton.d.ts} +4 -4
- package/es/components/checkbox/checkbox-skeleton.d.ts.map +1 -0
- package/es/components/{tooltip/tooltip-footer.js → checkbox/checkbox-skeleton.js} +15 -9
- package/es/components/checkbox/checkbox-skeleton.js.map +1 -0
- package/es/components/checkbox/checkbox.css.js +1 -1
- package/es/components/checkbox/checkbox.d.ts +21 -8
- package/es/components/checkbox/checkbox.d.ts.map +1 -1
- package/es/components/checkbox/checkbox.js +65 -17
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/checkbox/checkbox.rtl.css.js +1 -1
- package/es/components/checkbox/index.d.ts +2 -1
- package/es/components/checkbox/index.d.ts.map +1 -1
- package/es/components/checkbox/index.js +2 -1
- package/es/components/checkbox/index.js.map +1 -1
- package/es/components/code-snippet/code-snippet.d.ts +0 -8
- package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
- package/es/components/code-snippet/code-snippet.js +20 -56
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/combo-box/combo-box-item.d.ts +3 -3
- package/es/components/combo-box/combo-box-item.d.ts.map +1 -1
- package/es/components/combo-box/combo-box-item.js +6 -6
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.css.js +1 -1
- package/es/components/combo-box/combo-box.d.ts +11 -11
- package/es/components/combo-box/combo-box.d.ts.map +1 -1
- package/es/components/combo-box/combo-box.js +40 -19
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-box/combo-box.rtl.css.js +1 -1
- package/es/components/content-switcher/content-switcher.css.js +1 -1
- package/es/components/content-switcher/content-switcher.rtl.css.js +1 -1
- package/es/components/copy/copy.d.ts +49 -0
- package/es/components/copy/copy.d.ts.map +1 -0
- package/es/components/copy/copy.js +183 -0
- package/es/components/copy/copy.js.map +1 -0
- package/es/components/copy-button/copy-button.css.js +1 -1
- package/es/components/copy-button/copy-button.d.ts +8 -53
- package/es/components/copy-button/copy-button.d.ts.map +1 -1
- package/es/components/copy-button/copy-button.js +22 -150
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/copy-button/copy-button.rtl.css.js +1 -1
- package/es/components/data-table/data-table.css.js +1 -1
- package/es/components/data-table/data-table.rtl.css.js +1 -1
- package/es/components/data-table/table-header-cell.d.ts.map +1 -1
- package/es/components/data-table/table-header-cell.js +2 -2
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.d.ts +3 -3
- package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +3 -3
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.d.ts +2 -2
- package/es/components/date-picker/date-picker-input-skeleton.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js +4 -4
- package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es/components/date-picker/date-picker-input.d.ts +38 -352
- package/es/components/date-picker/date-picker-input.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input.js +138 -97
- package/es/components/date-picker/date-picker-input.js.map +1 -1
- package/es/components/date-picker/date-picker.css.js +1 -1
- package/es/components/date-picker/date-picker.d.ts +23 -3
- package/es/components/date-picker/date-picker.d.ts.map +1 -1
- package/es/components/date-picker/date-picker.js +100 -24
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/date-picker.rtl.css.js +1 -1
- package/es/components/date-picker/defs.d.ts +1 -14
- package/es/components/date-picker/defs.d.ts.map +1 -1
- package/es/components/date-picker/defs.js +1 -10
- package/es/components/date-picker/defs.js.map +1 -1
- package/es/components/date-picker/fix-events-plugin.d.ts +6 -6
- package/es/components/date-picker/fix-events-plugin.d.ts.map +1 -1
- package/es/components/date-picker/fix-events-plugin.js +7 -7
- package/es/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es/components/date-picker/focus-plugin.d.ts +9 -9
- package/es/components/date-picker/focus-plugin.d.ts.map +1 -1
- package/es/components/date-picker/focus-plugin.js +16 -16
- package/es/components/date-picker/focus-plugin.js.map +1 -1
- package/es/components/date-picker/shadow-dom-events-plugin.d.ts +2 -2
- package/es/components/date-picker/shadow-dom-events-plugin.d.ts.map +1 -1
- package/es/components/date-picker/shadow-dom-events-plugin.js +4 -4
- package/es/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
- package/es/components/date-picker/state-handshake-plugin.d.ts +2 -2
- package/es/components/date-picker/state-handshake-plugin.d.ts.map +1 -1
- package/es/components/date-picker/state-handshake-plugin.js.map +1 -1
- package/es/components/dropdown/defs.d.ts +16 -3
- package/es/components/dropdown/defs.d.ts.map +1 -1
- package/es/components/dropdown/defs.js +11 -2
- package/es/components/dropdown/defs.js.map +1 -1
- package/es/components/dropdown/dropdown-item.d.ts +2 -2
- package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-item.js +4 -4
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.d.ts +2 -2
- package/es/components/dropdown/dropdown-skeleton.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +4 -4
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.css.js +1 -1
- package/es/components/dropdown/dropdown.d.ts +45 -20
- package/es/components/dropdown/dropdown.d.ts.map +1 -1
- package/es/components/dropdown/dropdown.js +156 -65
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/dropdown/dropdown.rtl.css.js +1 -1
- package/es/components/file-uploader/file-uploader.css.js +1 -1
- package/es/components/file-uploader/file-uploader.rtl.css.js +1 -1
- package/es/components/icon-button/defs.d.ts +64 -0
- package/es/components/icon-button/defs.d.ts.map +1 -0
- package/es/components/icon-button/defs.js +34 -0
- package/es/components/icon-button/defs.js.map +1 -0
- package/es/components/icon-button/icon-button.css.js +12 -0
- package/es/components/icon-button/icon-button.d.ts +50 -0
- package/es/components/icon-button/icon-button.d.ts.map +1 -0
- package/es/components/icon-button/icon-button.js +176 -0
- package/es/components/icon-button/icon-button.js.map +1 -0
- package/es/components/icon-button/icon-button.rtl.css.js +12 -0
- package/es/components/icon-button/index.d.ts +11 -0
- package/es/components/icon-button/index.d.ts.map +1 -0
- package/es/components/icon-button/index.js +11 -0
- package/es/components/icon-button/index.js.map +1 -0
- package/es/components/inline-loading/inline-loading.d.ts +6 -2
- package/es/components/inline-loading/inline-loading.d.ts.map +1 -1
- package/es/components/inline-loading/inline-loading.js +20 -5
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/input/defs.d.ts +1 -1
- package/es/components/input/defs.d.ts.map +1 -1
- package/es/components/input/defs.js +1 -1
- package/es/components/input/defs.js.map +1 -1
- package/es/components/input/input.d.ts +31 -7
- package/es/components/input/input.d.ts.map +1 -1
- package/es/components/input/input.js +88 -11
- package/es/components/input/input.js.map +1 -1
- package/es/components/layer/layer.css.js +1 -1
- package/es/components/layer/layer.rtl.css.js +1 -1
- package/es/components/list/list.css.js +1 -1
- package/es/components/list/list.rtl.css.js +1 -1
- package/es/components/list/ordered-list.d.ts +3 -3
- package/es/components/list/ordered-list.d.ts.map +1 -1
- package/es/components/list/ordered-list.js +6 -6
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.d.ts +2 -2
- package/es/components/list/unordered-list.d.ts.map +1 -1
- package/es/components/list/unordered-list.js +5 -5
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/loading/loading.css.js +1 -1
- package/es/components/loading/loading.d.ts +2 -2
- package/es/components/loading/loading.d.ts.map +1 -1
- package/es/components/loading/loading.js +4 -4
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/loading/loading.rtl.css.js +1 -1
- package/es/components/modal/modal-footer-button.d.ts +3 -3
- package/es/components/modal/modal-footer-button.d.ts.map +1 -1
- package/es/components/modal/modal-footer-button.js +6 -6
- package/es/components/modal/modal-footer-button.js.map +1 -1
- package/es/components/modal/modal-footer.d.ts.map +1 -1
- package/es/components/modal/modal-footer.js +1 -1
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal.css.js +1 -1
- package/es/components/modal/modal.d.ts.map +1 -1
- package/es/components/modal/modal.js +2 -2
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/modal/modal.rtl.css.js +1 -1
- package/es/components/multi-select/multi-select-item.d.ts +3 -3
- package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
- package/es/components/multi-select/multi-select-item.js +6 -6
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.css.js +1 -1
- package/es/components/multi-select/multi-select.d.ts +9 -9
- package/es/components/multi-select/multi-select.d.ts.map +1 -1
- package/es/components/multi-select/multi-select.js +17 -17
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/multi-select/multi-select.rtl.css.js +1 -1
- package/es/components/notification/actionable-notification-button.d.ts +21 -0
- package/es/components/notification/actionable-notification-button.d.ts.map +1 -0
- package/es/components/notification/actionable-notification-button.js +56 -0
- package/es/components/notification/actionable-notification-button.js.map +1 -0
- package/es/components/notification/actionable-notification.css.js +12 -0
- package/es/components/notification/actionable-notification.d.ts +370 -0
- package/es/components/notification/actionable-notification.d.ts.map +1 -0
- package/es/components/notification/actionable-notification.js +281 -0
- package/es/components/notification/actionable-notification.js.map +1 -0
- package/es/components/notification/actionable-notification.rtl.css.js +12 -0
- package/es/components/notification/defs.d.ts +17 -1
- package/es/components/notification/defs.d.ts.map +1 -1
- package/es/components/notification/defs.js +3 -0
- package/es/components/notification/defs.js.map +1 -1
- package/es/components/notification/index.d.ts +2 -0
- package/es/components/notification/index.d.ts.map +1 -1
- package/es/components/notification/index.js +2 -0
- package/es/components/notification/index.js.map +1 -1
- package/es/components/notification/inline-notification.css.js +1 -1
- package/es/components/notification/inline-notification.d.ts +8 -8
- package/es/components/notification/inline-notification.d.ts.map +1 -1
- package/es/components/notification/inline-notification.js +23 -18
- package/es/components/notification/inline-notification.js.map +1 -1
- package/es/components/notification/inline-notification.rtl.css.js +1 -1
- package/es/components/notification/toast-notification.css.js +1 -1
- package/es/components/notification/toast-notification.d.ts +4 -4
- package/es/components/notification/toast-notification.d.ts.map +1 -1
- package/es/components/notification/toast-notification.js +7 -7
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/notification/toast-notification.rtl.css.js +1 -1
- package/es/components/number-input/index.d.ts +2 -1
- package/es/components/number-input/index.d.ts.map +1 -1
- package/es/components/number-input/index.js +2 -1
- package/es/components/number-input/index.js.map +1 -1
- package/es/components/number-input/number-input-skeleton.d.ts +2 -2
- package/es/components/number-input/number-input-skeleton.d.ts.map +1 -1
- package/es/components/number-input/number-input-skeleton.js +4 -4
- package/es/components/number-input/number-input-skeleton.js.map +1 -1
- package/es/components/number-input/number-input.css.js +1 -1
- package/es/components/number-input/number-input.d.ts +12 -25
- package/es/components/number-input/number-input.d.ts.map +1 -1
- package/es/components/number-input/number-input.js +85 -106
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/number-input/number-input.rtl.css.js +1 -1
- package/es/components/pagination/pagination.css.js +1 -1
- package/es/components/pagination/pagination.rtl.css.js +1 -1
- package/es/components/popover/defs.d.ts +63 -0
- package/es/components/popover/defs.d.ts.map +1 -0
- package/es/components/popover/defs.js +28 -0
- package/es/components/popover/defs.js.map +1 -0
- package/es/components/popover/index.d.ts +12 -0
- package/es/components/popover/index.d.ts.map +1 -0
- package/es/components/popover/index.js +12 -0
- package/es/components/popover/index.js.map +1 -0
- package/es/components/popover/popover-content.d.ts +45 -0
- package/es/components/popover/popover-content.d.ts.map +1 -0
- package/es/components/popover/popover-content.js +141 -0
- package/es/components/popover/popover-content.js.map +1 -0
- package/es/components/popover/popover.css.js +12 -0
- package/es/components/popover/popover.d.ts +54 -0
- package/es/components/popover/popover.d.ts.map +1 -0
- package/es/components/popover/popover.js +201 -0
- package/es/components/popover/popover.js.map +1 -0
- package/es/components/popover/popover.rtl.css.js +12 -0
- package/es/components/progress-indicator/progress-indicator.css.js +1 -1
- package/es/components/progress-indicator/progress-indicator.rtl.css.js +1 -1
- package/es/components/radio-button/radio-button.css.js +1 -1
- package/es/components/radio-button/radio-button.rtl.css.js +1 -1
- package/es/components/search/search-skeleton.d.ts +3 -3
- package/es/components/search/search-skeleton.d.ts.map +1 -1
- package/es/components/search/search-skeleton.js +6 -6
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.css.js +1 -1
- package/es/components/search/search.d.ts +361 -19
- package/es/components/search/search.d.ts.map +1 -1
- package/es/components/search/search.js +136 -29
- package/es/components/search/search.js.map +1 -1
- package/es/components/search/search.rtl.css.js +1 -1
- package/es/components/select/index.d.ts +2 -1
- package/es/components/select/index.d.ts.map +1 -1
- package/es/components/select/index.js +2 -1
- package/es/components/select/index.js.map +1 -1
- package/es/components/select/select-item-group.d.ts +2 -2
- package/es/components/select/select-item-group.d.ts.map +1 -1
- package/es/components/select/select-item-group.js +4 -4
- package/es/components/select/select-item-group.js.map +1 -1
- package/es/components/select/select-item.d.ts +2 -2
- package/es/components/select/select-item.d.ts.map +1 -1
- package/es/components/select/select-item.js +4 -4
- package/es/components/select/select-item.js.map +1 -1
- package/es/components/select/select-skeleton.d.ts +23 -0
- package/es/components/select/select-skeleton.d.ts.map +1 -0
- package/es/components/select/select-skeleton.js +72 -0
- package/es/components/select/select-skeleton.js.map +1 -0
- package/es/components/select/select.css.js +1 -1
- package/es/components/select/select.d.ts +29 -331
- package/es/components/select/select.d.ts.map +1 -1
- package/es/components/select/select.js +151 -74
- package/es/components/select/select.js.map +1 -1
- package/es/components/select/select.rtl.css.js +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts +2 -2
- package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js +4 -4
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/defs.d.ts +2 -6
- package/es/components/skeleton-text/defs.d.ts.map +1 -1
- package/es/components/skeleton-text/defs.js +1 -2
- package/es/components/skeleton-text/defs.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.css.js +1 -1
- package/es/components/skeleton-text/skeleton-text.d.ts +2 -2
- package/es/components/skeleton-text/skeleton-text.d.ts.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js +4 -4
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.rtl.css.js +1 -1
- package/es/components/slider/slider-input.d.ts +11 -9
- package/es/components/slider/slider-input.d.ts.map +1 -1
- package/es/components/slider/slider-input.js +36 -18
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.d.ts +2 -2
- package/es/components/slider/slider-skeleton.d.ts.map +1 -1
- package/es/components/slider/slider-skeleton.js +4 -4
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.css.js +1 -1
- package/es/components/slider/slider.d.ts +38 -20
- package/es/components/slider/slider.d.ts.map +1 -1
- package/es/components/slider/slider.js +119 -54
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slider/slider.rtl.css.js +1 -1
- package/es/components/structured-list/structured-list.css.js +1 -1
- package/es/components/structured-list/structured-list.rtl.css.js +1 -1
- package/es/components/tabs/tabs.css.js +1 -1
- package/es/components/tabs/tabs.rtl.css.js +1 -1
- package/es/components/text-input/defs.d.ts +44 -0
- package/es/components/text-input/defs.d.ts.map +1 -0
- package/es/components/text-input/defs.js +36 -0
- package/es/components/text-input/defs.js.map +1 -0
- package/es/components/text-input/index.d.ts +12 -0
- package/es/components/text-input/index.d.ts.map +1 -0
- package/es/components/text-input/index.js +12 -0
- package/es/components/text-input/index.js.map +1 -0
- package/es/components/text-input/text-input-skeleton.d.ts +23 -0
- package/es/components/text-input/text-input-skeleton.d.ts.map +1 -0
- package/es/components/text-input/text-input-skeleton.js +72 -0
- package/es/components/text-input/text-input-skeleton.js.map +1 -0
- package/es/components/text-input/text-input.css.js +12 -0
- package/es/components/text-input/text-input.d.ts +786 -0
- package/es/components/text-input/text-input.d.ts.map +1 -0
- package/es/components/text-input/text-input.js +657 -0
- package/es/components/text-input/text-input.js.map +1 -0
- package/es/components/text-input/text-input.rtl.css.js +12 -0
- package/es/components/textarea/textarea-skeleton.d.ts +2 -2
- package/es/components/textarea/textarea-skeleton.d.ts.map +1 -1
- package/es/components/textarea/textarea-skeleton.js +4 -4
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/textarea/textarea.css.js +1 -1
- package/es/components/textarea/textarea.d.ts +6 -681
- package/es/components/textarea/textarea.d.ts.map +1 -1
- package/es/components/textarea/textarea.js +63 -197
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/textarea/textarea.rtl.css.js +1 -1
- package/es/components/tile/expandable-tile.d.ts.map +1 -1
- package/es/components/tile/expandable-tile.js +4 -0
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/tile.css.js +1 -1
- package/es/components/tile/tile.rtl.css.js +1 -1
- package/es/components/toggle-tip/toggletip.d.ts +2 -2
- package/es/components/toggle-tip/toggletip.d.ts.map +1 -1
- package/es/components/toggle-tip/toggletip.js +2 -2
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/index.d.ts +1 -3
- package/es/components/tooltip/index.d.ts.map +1 -1
- package/es/components/tooltip/index.js +1 -3
- package/es/components/tooltip/index.js.map +1 -1
- package/es/components/tooltip/tooltip-content.d.ts +20 -0
- package/es/components/tooltip/tooltip-content.d.ts.map +1 -0
- package/es/components/tooltip/tooltip-content.js +62 -0
- package/es/components/tooltip/tooltip-content.js.map +1 -0
- package/es/components/tooltip/tooltip.css.js +1 -1
- package/es/components/tooltip/tooltip.d.ts +36 -25
- package/es/components/tooltip/tooltip.d.ts.map +1 -1
- package/es/components/tooltip/tooltip.js +111 -124
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip.rtl.css.js +1 -1
- package/es/components-react/button/button-set.js +1 -1
- package/es/components-react/button/button-skeleton.d.ts +2 -2
- package/es/components-react/button/button-skeleton.js +1 -1
- package/es/components-react/button/button.d.ts +2 -2
- package/es/components-react/button/button.js +1 -1
- package/es/components-react/checkbox/checkbox-skeleton.d.ts +15 -0
- package/es/components-react/checkbox/checkbox-skeleton.js +21 -0
- package/es/components-react/checkbox/checkbox.d.ts +2 -2
- package/es/components-react/combo-box/combo-box-item.d.ts +2 -2
- package/es/components-react/combo-box/combo-box.d.ts +2 -2
- package/es/components-react/combo-box/combo-box.js +1 -5
- package/es/components-react/copy/copy.d.ts +14 -0
- package/es/components-react/copy/copy.js +23 -0
- package/es/components-react/copy-button/copy-button.d.ts +2 -2
- package/es/components-react/date-picker/date-picker-input-skeleton.d.ts +2 -2
- package/es/components-react/date-picker/date-picker-input.d.ts +2 -2
- package/es/components-react/date-picker/date-picker-input.js +0 -1
- package/es/components-react/date-picker/date-picker.d.ts +2 -2
- package/es/components-react/dropdown/dropdown-item.d.ts +2 -2
- package/es/components-react/dropdown/dropdown-skeleton.d.ts +2 -2
- package/es/components-react/dropdown/dropdown.d.ts +2 -2
- package/es/components-react/dropdown/dropdown.js +1 -1
- package/es/components-react/icon-button/defs.js +9 -0
- package/es/components-react/{tooltip/tooltip-body.d.ts → icon-button/icon-button.d.ts} +3 -3
- package/es/components-react/icon-button/icon-button.js +24 -0
- package/es/components-react/{slider/defs.js → icon-button/index.js} +0 -1
- package/es/components-react/inline-loading/inline-loading.d.ts +2 -2
- package/es/components-react/input/input.d.ts +2 -2
- package/es/components-react/list/ordered-list.d.ts +2 -2
- package/es/components-react/list/unordered-list.d.ts +2 -2
- package/es/components-react/loading/loading.d.ts +2 -2
- package/es/components-react/modal/modal-footer-button.d.ts +2 -2
- package/es/components-react/multi-select/multi-select-item.d.ts +2 -2
- package/es/components-react/multi-select/multi-select.d.ts +2 -2
- package/es/components-react/multi-select/multi-select.js +1 -5
- package/es/components-react/notification/actionable-notification-button.d.ts +15 -0
- package/es/components-react/notification/actionable-notification-button.js +23 -0
- package/es/components-react/notification/actionable-notification.d.ts +14 -0
- package/es/components-react/notification/actionable-notification.js +23 -0
- package/es/components-react/notification/inline-notification.d.ts +2 -2
- package/es/components-react/notification/toast-notification.d.ts +2 -2
- package/es/components-react/number-input/number-input-skeleton.d.ts +2 -2
- package/es/components-react/number-input/number-input.d.ts +3 -3
- package/es/components-react/number-input/number-input.js +3 -6
- package/es/components-react/popover/defs.d.ts +14 -0
- package/es/components-react/{tooltip → popover}/defs.js +1 -1
- package/es/components-react/popover/index.d.ts +14 -0
- package/es/components-react/popover/index.js +8 -0
- package/es/components-react/popover/popover-content.d.ts +15 -0
- package/es/components-react/popover/popover-content.js +21 -0
- package/es/components-react/{tooltip/tooltip-footer.d.ts → popover/popover.d.ts} +2 -2
- package/es/components-react/{tooltip/tooltip-footer.js → popover/popover.js} +2 -2
- package/es/components-react/search/search-skeleton.d.ts +2 -2
- package/es/components-react/search/search.d.ts +2 -2
- package/es/components-react/search/search.js +0 -1
- package/es/components-react/select/select-item-group.d.ts +2 -2
- package/es/components-react/select/select-item.d.ts +2 -2
- package/es/components-react/select/select-skeleton.d.ts +15 -0
- package/es/components-react/select/select-skeleton.js +21 -0
- package/es/components-react/select/select.d.ts +2 -2
- package/es/components-react/select/select.js +0 -1
- package/es/components-react/skeleton-placeholder/skeleton-placeholder.d.ts +2 -2
- package/es/components-react/skeleton-text/skeleton-text.d.ts +2 -2
- package/es/components-react/slider/slider-input.d.ts +2 -2
- package/es/components-react/slider/slider-input.js +0 -1
- package/es/components-react/slider/slider-skeleton.d.ts +2 -2
- package/es/components-react/slider/slider.d.ts +2 -2
- package/es/components-react/text-input/defs.d.ts +14 -0
- package/es/components-react/text-input/defs.js +9 -0
- package/es/components-react/text-input/index.d.ts +14 -0
- package/es/components-react/text-input/index.js +8 -0
- package/es/components-react/text-input/text-input-skeleton.d.ts +15 -0
- package/es/components-react/text-input/text-input-skeleton.js +21 -0
- package/es/components-react/text-input/text-input.d.ts +15 -0
- package/es/components-react/text-input/text-input.js +22 -0
- package/es/components-react/textarea/textarea-skeleton.d.ts +2 -2
- package/es/components-react/textarea/textarea.d.ts +4 -5
- package/es/components-react/textarea/textarea.js +4 -3
- package/es/components-react/tooltip/tooltip-content.d.ts +14 -0
- package/es/components-react/tooltip/{tooltip-body.js → tooltip-content.js} +4 -4
- package/es/components-react/tooltip/tooltip.d.ts +4 -5
- package/es/components-react/tooltip/tooltip.js +4 -2
- package/es/globals/settings.d.ts.map +1 -1
- package/es/globals/settings.js +1 -1
- package/es/globals/settings.js.map +1 -1
- package/es/globals/wrappers/createReactCustomElementType.d.ts +3 -3
- package/es/globals/wrappers/createReactCustomElementType.d.ts.map +1 -1
- package/es/globals/wrappers/createReactCustomElementType.js +3 -3
- package/es/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/es/icons/add/16.js +1 -1
- package/es/icons/arrows/16.js +1 -1
- package/es/icons/arrows--vertical/16.js +1 -1
- package/es/icons/caret--down/16.js +1 -1
- package/es/icons/caret--up/16.js +1 -1
- package/es/icons/information/16.js +1 -1
- package/es/icons/information--filled/20.js +1 -1
- package/es/icons/information--square--filled/20.js +1 -1
- package/es/icons/subtract/16.js +1 -1
- package/es/icons/warning--alt--filled/16.js +1 -1
- package/es/icons/warning--alt--filled/20.js +1 -1
- package/es/index.d.ts +110 -108
- package/es/index.d.ts.map +1 -1
- package/es/index.js +110 -108
- package/es/index.js.map +1 -1
- package/lib/components/date-picker/defs.js +2 -11
- package/lib/components/date-picker/defs.js.map +1 -1
- package/lib/components/dropdown/defs.js +12 -3
- package/lib/components/dropdown/defs.js.map +1 -1
- package/lib/components/icon-button/defs.js +40 -0
- package/lib/components/icon-button/defs.js.map +1 -0
- package/lib/components/input/defs.js +1 -1
- package/lib/components/input/defs.js.map +1 -1
- package/lib/components/notification/defs.js +3 -0
- package/lib/components/notification/defs.js.map +1 -1
- package/lib/components/popover/defs.js +34 -0
- package/lib/components/popover/defs.js.map +1 -0
- package/lib/components/skeleton-text/defs.js +1 -2
- package/lib/components/skeleton-text/defs.js.map +1 -1
- package/lib/components/text-input/defs.js +47 -0
- package/lib/components/text-input/defs.js.map +1 -0
- package/lib/components-react-node/button/button-set.js +1 -1
- package/lib/components-react-node/button/button-skeleton.js +1 -1
- package/lib/components-react-node/button/button.js +1 -1
- package/lib/components-react-node/{tooltip/tooltip-body.js → checkbox/checkbox-skeleton.js} +3 -4
- package/lib/components-react-node/combo-box/combo-box.js +2 -8
- package/lib/components-react-node/copy/copy.js +37 -0
- package/lib/components-react-node/date-picker/date-picker-input.js +0 -6
- package/lib/components-react-node/dropdown/dropdown.js +2 -2
- package/lib/components-react-node/icon-button/defs.js +24 -0
- package/lib/components-react-node/icon-button/icon-button.js +50 -0
- package/lib/components-react-node/icon-button/index.js +9 -0
- package/lib/components-react-node/multi-select/multi-select.js +0 -6
- package/lib/components-react-node/notification/actionable-notification-button.js +37 -0
- package/lib/components-react-node/notification/actionable-notification.js +37 -0
- package/lib/components-react-node/number-input/number-input.js +3 -9
- package/lib/components-react-node/{slider → popover}/defs.js +1 -1
- package/lib/components-react-node/popover/index.js +9 -0
- package/lib/components-react-node/popover/popover-content.js +36 -0
- package/lib/components-react-node/{tooltip/tooltip-footer.js → popover/popover.js} +1 -1
- package/lib/components-react-node/search/search.js +0 -7
- package/lib/components-react-node/select/select-skeleton.js +36 -0
- package/lib/components-react-node/select/select.js +0 -7
- package/lib/components-react-node/slider/slider-input.js +0 -7
- package/lib/components-react-node/{tooltip → text-input}/defs.js +1 -1
- package/lib/components-react-node/text-input/index.js +9 -0
- package/lib/components-react-node/text-input/text-input-skeleton.js +36 -0
- package/lib/components-react-node/text-input/text-input.js +55 -0
- package/lib/components-react-node/textarea/textarea.js +3 -9
- package/lib/components-react-node/tooltip/tooltip-content.js +37 -0
- package/lib/components-react-node/tooltip/tooltip.js +3 -2
- package/lib/globals/settings.js +1 -1
- package/lib/globals/settings.js.map +1 -1
- package/lib/globals/wrappers/createReactCustomElementType.js +3 -3
- package/lib/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/package.json +5 -5
- package/scss/components/button/button.scss +5 -5
- package/scss/components/checkbox/checkbox.scss +9 -1
- package/scss/components/combo-box/combo-box.scss +51 -42
- package/scss/components/copy-button/copy-button.scss +20 -0
- package/scss/components/date-picker/date-picker.scss +28 -14
- package/scss/components/dropdown/dropdown.scss +87 -34
- package/scss/components/icon-button/icon-button.scss +14 -0
- package/scss/components/layer/layer.scss +0 -6
- package/scss/components/list/list.scss +0 -5
- package/scss/components/loading/loading.scss +1 -0
- package/scss/components/modal/modal.scss +2 -2
- package/scss/components/notification/actionable-notification.scss +170 -0
- package/scss/components/notification/inline-notification.scss +26 -0
- package/scss/components/notification/toast-notification.scss +26 -0
- package/scss/components/number-input/number-input.scss +13 -0
- package/scss/components/popover/popover.scss +122 -0
- package/scss/components/search/search.scss +54 -21
- package/scss/components/select/select.scss +20 -4
- package/scss/components/skeleton-text/skeleton-text.scss +4 -0
- package/scss/components/slider/slider.scss +9 -1
- package/scss/components/text-input/text-input.scss +38 -0
- package/scss/components/textarea/textarea.scss +7 -0
- package/scss/components/tile/tile.scss +4 -0
- package/scss/components/tooltip/tooltip.scss +5 -135
- package/es/components/slider/defs.d.ts +0 -11
- package/es/components/slider/defs.d.ts.map +0 -1
- package/es/components/slider/defs.js +0 -11
- package/es/components/slider/defs.js.map +0 -1
- package/es/components/tooltip/defs.d.ts +0 -84
- package/es/components/tooltip/defs.d.ts.map +0 -1
- package/es/components/tooltip/defs.js +0 -39
- package/es/components/tooltip/defs.js.map +0 -1
- package/es/components/tooltip/tooltip-body.d.ts +0 -40
- package/es/components/tooltip/tooltip-body.d.ts.map +0 -1
- package/es/components/tooltip/tooltip-body.js +0 -175
- package/es/components/tooltip/tooltip-body.js.map +0 -1
- package/es/components/tooltip/tooltip-footer.d.ts.map +0 -1
- package/es/components/tooltip/tooltip-footer.js.map +0 -1
- package/lib/components/slider/defs.js +0 -21
- package/lib/components/slider/defs.js.map +0 -1
- package/lib/components/tooltip/defs.js +0 -45
- package/lib/components/tooltip/defs.js.map +0 -1
- /package/es/components-react/{slider → icon-button}/defs.d.ts +0 -0
- /package/es/components-react/{tooltip/defs.d.ts → icon-button/index.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/text-input/text-input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAQvC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD;;;;;;;GAOG;AACH,cACM,YAAa,SAAQ,iBAAoC;IAC7D;;OAEG;IAEH,SAAS,CAAC,MAAM,EAAG,gBAAgB,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,MAAM,SAAM;IAEtB;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK;IAIxC,eAAe,CAAC,KAAK,EAAE,KAAK;IAQ5B;;OAEG;IAEH,YAAY,SAAM;IAElB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,aAAa,UAAS;IAEtB;;OAEG;IAEH,UAAU,SAAM;IAEhB;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,QAAQ,MAAC;IAET;;OAEG;IAEH,IAAI,UAAS;IAEb;;OAEG;IAEH,QAAQ,SAAM;IAEd;;OAEG;IAEH,WAAW,SAAM;IAEjB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,OAAO,SAAM;IAEb;;OAEG;IAEH,WAAW,SAAM;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,uBAAuB,SAAiC;IAExD;;OAEG;IAEH,iBAAiB,SAAmB;IAEpC;;OAEG;IAEH,iBAAiB,SAAmB;IAEpC;;OAEG;IAMH,4BAA4B,UAAS;IAErC;;OAEG;IAEH,IAAI,aAAqB;IAEzB;;OAEG;IAEH,MAAM,UAAS;IAEf;;;OAGG;IAEH,gBAAgB,0BAAkC;IAElD;;;OAGG;IAEH,gBAAgB,0BAAkC;IAElD;;OAEG;IAEH,IAAI,aAAmB;IAEvB;;OAEG;IAEH,eAAe,SAAM;IAErB;;OAEG;IACH,IACI,KAAK,WAQR;IAED,IAAI,KAAK,CAAC,KAAK,QAAA,EAUd;IAED;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAKtC,MAAM;IAsMN,MAAM,CAAC,iBAAiB;;;;MAGtB;IACF,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,YAAY,CAAC","file":"text-input.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport View16 from '@carbon/icons/lib/view/16';\nimport ViewOff16 from '@carbon/icons/lib/view--off/16';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport WarningAltFilled16 from '@carbon/icons/lib/warning--alt--filled/16';\nimport {\n FLOATING_MENU_ALIGNMENT,\n FLOATING_MENU_DIRECTION,\n} from '../floating-menu/floating-menu';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport FormMixin from '../../globals/mixins/form';\nimport ValidityMixin from '../../globals/mixins/validity';\nimport { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TYPE } from './defs';\nimport styles from './text-input.scss';\n\nexport { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TYPE };\n\n/**\n * Text Input element. Supports all the usual attributes for textual input types\n *\n * @element cds-text-input\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-text-input`)\nclass CDSTextInput extends ValidityMixin(FormMixin(LitElement)) {\n /**\n * The underlying input element\n */\n @query('input')\n protected _input!: HTMLInputElement;\n\n /**\n * The internal value.\n */\n protected _value = '';\n\n /**\n * Handles `oninput` event on the `<input>`.\n *\n * @param event The event.\n */\n protected _handleInput({ target }: Event) {\n this.value = (target as HTMLInputElement).value;\n }\n\n _handleFormdata(event: Event) {\n const { formData } = event as any; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, value);\n }\n }\n\n /**\n * May be any of the standard HTML autocomplete options\n */\n @property()\n autocomplete = '';\n\n /**\n * Sets the input to be focussed automatically on page load. Defaults to false\n */\n @property({ type: Boolean })\n autofocus = false;\n\n /**\n * Controls the disabled state of the input\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify whether to display the character counter\n */\n @property({ type: Boolean, attribute: 'enable-counter', reflect: true })\n enableCounter = false;\n\n /**\n * The helper text.\n */\n @property({ attribute: 'helper-text' })\n helperText = '';\n\n /**\n * Specify if the currently value is invalid.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Max character count allowed for input. This is needed in order for enableCounter to display\n */\n @property({ type: Number, attribute: 'max-count', reflect: true })\n maxCount;\n\n /**\n * Specify whether the control is currently in warning state\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Provide the text that is displayed when the control is in warning state\n */\n @property({ attribute: 'warn-text' })\n warnText = '';\n\n /**\n * Message which is displayed if the value is invalid.\n */\n @property({ attribute: 'invalid-text' })\n invalidText = '';\n\n /**\n * Specify whether you want the underlying label to be visually hidden\n */\n @property({ attribute: 'hide-label', type: Boolean, reflect: true })\n hideLabel = false;\n\n /**\n * Generic label that will be used as the textual representation of what this field is for\n */\n @property({ attribute: 'label' })\n label = '';\n\n /**\n * Name for the input in the `FormData`\n */\n @property()\n name = '';\n\n /**\n * Pattern to validate the input against for HTML validity checking\n */\n @property()\n pattern = '';\n\n /**\n * Value to display when the input has an empty `value`\n */\n @property({ reflect: true })\n placeholder = '';\n\n /**\n * Specify if the component should be read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Boolean property to set the required status\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * The special validity message for `required`.\n */\n @property({ attribute: 'required-validity-message' })\n requiredValidityMessage = 'Please fill out this field.';\n\n /**\n * \"Hide password\" tooltip text on password visibility toggle\n */\n @property()\n hidePasswordLabel = 'Hide password';\n\n /**\n * \"Show password\" tooltip text on password visibility toggle\n */\n @property()\n showPasswordLabel = 'Show password';\n\n /**\n * Boolean property to render password visibility toggle\n */\n @property({\n type: Boolean,\n attribute: 'show-password-visibility-toggle',\n reflect: true,\n })\n showPasswordVisibilityToggle = false;\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n /**\n * true to use the inline version.\n */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /**\n * Specify the alignment of the tooltip to the icon-only button.\n * Can be one of: start, center, or end.\n */\n @property()\n tooltipAlignment = FLOATING_MENU_ALIGNMENT.CENTER;\n\n /**\n * Specify the direction of the tooltip for icon-only buttons.\n * Can be either top, right, bottom, or left.\n */\n @property()\n tooltipDirection = FLOATING_MENU_DIRECTION.BOTTOM;\n\n /**\n * The type of the input. Can be one of the types listed in the INPUT_TYPE enum\n */\n @property({ reflect: true })\n type = INPUT_TYPE.TEXT;\n\n /**\n * The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n @property({ attribute: 'validity-message' })\n validityMessage = '';\n\n /**\n * The value of the input.\n */\n @property({ reflect: true })\n get value() {\n // FIXME: Figure out how to deal with TS2611\n // once we have the input we can directly query for the value\n if (this._input) {\n return this._input.value;\n }\n // but before then _value will work fine\n return this._value;\n }\n\n set value(value) {\n const oldValue = this._value;\n this._value = value;\n // make sure that lit-element updates the right properties\n this.requestUpdate('value', oldValue);\n // we set the value directly on the input (when available)\n // so that programatic manipulation updates the UI correctly\n if (this._input) {\n this._input.value = value;\n }\n }\n\n /**\n * Handles password visibility toggle button click\n */\n private handleTogglePasswordVisibility() {\n this.type =\n this.type === INPUT_TYPE.PASSWORD ? INPUT_TYPE.TEXT : INPUT_TYPE.PASSWORD;\n }\n\n render() {\n const {\n disabled,\n enableCounter,\n helperText,\n hideLabel,\n inline,\n invalid,\n invalidText,\n label,\n maxCount,\n readonly,\n required,\n size,\n type,\n warn,\n warnText,\n value,\n _handleInput: handleInput,\n } = this;\n\n const invalidIcon = WarningFilled16({\n class: `${prefix}--text-input__invalid-icon`,\n });\n\n const warnIcon = WarningAltFilled16({\n class: `${prefix}--text-input__invalid-icon ${prefix}--text-input__invalid-icon--warning`,\n });\n\n let normalizedProps = {\n disabled: !readonly && disabled,\n invalid: !readonly && invalid,\n warn: !readonly && !invalid && warn,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n };\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = warnText;\n }\n\n const counterClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--text-input__label-counter`]: true,\n [`${prefix}--label--disabled`]: disabled,\n });\n\n const inputWrapperClasses = classMap({\n [`${prefix}--form-item`]: true,\n [`${prefix}--text-input-wrapper`]: true,\n [`${prefix}--text-input-wrapper--inline`]: inline,\n [`${prefix}--text-input-wrapper--readonly`]: readonly,\n [`${prefix}--text-input-wrapper--inline--invalid`]:\n inline && normalizedProps.invalid,\n });\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--invalid`]: normalizedProps.invalid,\n [`${prefix}--text-input--warning`]: normalizedProps.warn,\n [`${prefix}--text-input--${size}`]: size,\n [`${prefix}--password-input`]: type === INPUT_TYPE.PASSWORD,\n });\n\n const fieldOuterWrapperClasses = classMap({\n [`${prefix}--text-input__field-outer-wrapper`]: true,\n [`${prefix}--text-input__field-outer-wrapper--inline`]: inline,\n });\n\n const fieldWrapperClasses = classMap({\n [`${prefix}--text-input__field-wrapper`]: true,\n [`${prefix}--text-input__field-wrapper--warning`]: normalizedProps.warn,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: normalizedProps.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled,\n });\n\n const passwordIsVisible = type !== INPUT_TYPE.PASSWORD;\n const passwordVisibilityIcon = passwordIsVisible\n ? ViewOff16({ class: `${prefix}--icon-visibility-off` })\n : View16({ class: `${prefix}--icon-visibility-on` });\n\n const passwordVisibilityToggleClasses = classMap({\n [`${prefix}--text-input--password__visibility__toggle`]: true,\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--tooltip__trigger`]: true,\n [`${prefix}--tooltip--a11y`]: true,\n [`${prefix}--btn--disabled`]: normalizedProps.disabled,\n [`${prefix}--tooltip--${this.tooltipDirection}`]: this.tooltipDirection,\n [`${prefix}--tooltip--align-${this.tooltipAlignment}`]:\n this.tooltipAlignment,\n });\n\n const passwordButtonLabel = html`\n <span class=\"${prefix}--assistive-text\">\n ${passwordIsVisible ? this.hidePasswordLabel : this.showPasswordLabel}\n </span>\n `;\n\n const passwordVisibilityButton = () => html`\n <button\n type=\"button\"\n class=\"${passwordVisibilityToggleClasses}\"\n ?disabled=\"${normalizedProps.disabled}\"\n @click=\"${this.handleTogglePasswordVisibility}\">\n ${!normalizedProps.disabled ? passwordButtonLabel : null}\n ${passwordVisibilityIcon}\n </button>\n `;\n\n const textCount = value?.length;\n\n const counter =\n enableCounter && maxCount\n ? html` <label class=\"${counterClasses}\">\n <slot name=\"label-text\">${textCount}/${maxCount}</slot>\n </label>`\n : null;\n\n const labelText =\n label && !hideLabel\n ? html`<label class=\"${labelClasses}\"> ${label} </label>`\n : null;\n\n const labelWrapper = html`<div class=\"${prefix}--text-input__label-wrapper\">\n ${labelText} ${counter}\n </div>`;\n\n const helper = helperText\n ? html`<div\n class=\"${helperTextClasses}\"\n id=\"helper-text\"\n ?hidden=\"${normalizedProps.invalid || normalizedProps.warn}\">\n <slot name=\"helper-text\"> ${helperText} </slot>\n </div>`\n : null;\n\n return html`\n <div class=\"${inputWrapperClasses}\">\n ${!inline\n ? labelWrapper\n : html`<div class=\"${prefix}--text-input__label-helper-wrapper\">\n ${labelWrapper} ${helper}\n </div>`}\n <div class=\"${fieldOuterWrapperClasses}\">\n <div class=\"${fieldWrapperClasses}\" ?data-invalid=\"${invalid}\">\n ${normalizedProps.icon}\n <input\n ?autocomplete=\"${this.autocomplete}\"\n ?autofocus=\"${this.autofocus}\"\n class=\"${inputClasses}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n aria-describedby=\"helper-text\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${readonly}\"\n ?required=\"${required}\"\n type=\"${ifNonEmpty(type)}\"\n .value=\"${this._value}\"\n maxlength=\"${ifNonEmpty(maxCount)}\"\n @input=\"${handleInput}\" />\n ${this.showPasswordVisibilityToggle &&\n (type === INPUT_TYPE.PASSWORD || type === INPUT_TYPE.TEXT)\n ? passwordVisibilityButton()\n : null}\n </div>\n ${!inline ? helper : null}\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!normalizedProps.invalid && !normalizedProps.warn}\">\n <slot name=\"${normalizedProps['slot-name']}\">\n ${normalizedProps['slot-text']}\n </slot>\n </div>\n </div>\n </div>\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSTextInput;\n"]}
|
|
@@ -0,0 +1,657 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _decorate from "@babel/runtime/helpers/esm/decorate";
|
|
3
|
+
let _ = t => t,
|
|
4
|
+
_t,
|
|
5
|
+
_t2,
|
|
6
|
+
_t3,
|
|
7
|
+
_t4,
|
|
8
|
+
_t5,
|
|
9
|
+
_t6,
|
|
10
|
+
_t7,
|
|
11
|
+
_t8;
|
|
12
|
+
/**
|
|
13
|
+
* @license
|
|
14
|
+
*
|
|
15
|
+
* Copyright IBM Corp. 2019, 2023
|
|
16
|
+
*
|
|
17
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
18
|
+
* LICENSE file in the root directory of this source tree.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { LitElement, html } from 'lit';
|
|
22
|
+
import { property, customElement, query } from 'lit/decorators.js';
|
|
23
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
24
|
+
import { prefix } from '../../globals/settings';
|
|
25
|
+
import View16 from "../../icons/view/16";
|
|
26
|
+
import ViewOff16 from "../../icons/view--off/16";
|
|
27
|
+
import WarningFilled16 from "../../icons/warning--filled/16";
|
|
28
|
+
import WarningAltFilled16 from "../../icons/warning--alt--filled/16";
|
|
29
|
+
import { FLOATING_MENU_ALIGNMENT, FLOATING_MENU_DIRECTION } from '../floating-menu/floating-menu';
|
|
30
|
+
import ifNonEmpty from '../../globals/directives/if-non-empty';
|
|
31
|
+
import FormMixin from '../../globals/mixins/form';
|
|
32
|
+
import ValidityMixin from '../../globals/mixins/validity';
|
|
33
|
+
import { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TYPE } from './defs';
|
|
34
|
+
import styles from "././text-input.css.js";
|
|
35
|
+
export { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TYPE };
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Text Input element. Supports all the usual attributes for textual input types
|
|
39
|
+
*
|
|
40
|
+
* @element cds-text-input
|
|
41
|
+
* @slot helper-text - The helper text.
|
|
42
|
+
* @slot label-text - The label text.
|
|
43
|
+
* @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.
|
|
44
|
+
*/
|
|
45
|
+
let CDSTextInput = _decorate([customElement(`${prefix}-text-input`)], function (_initialize, _ValidityMixin) {
|
|
46
|
+
class CDSTextInput extends _ValidityMixin {
|
|
47
|
+
constructor(...args) {
|
|
48
|
+
super(...args);
|
|
49
|
+
_initialize(this);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
F: CDSTextInput,
|
|
54
|
+
d: [{
|
|
55
|
+
kind: "field",
|
|
56
|
+
decorators: [query('input')],
|
|
57
|
+
key: "_input",
|
|
58
|
+
value: void 0
|
|
59
|
+
}, {
|
|
60
|
+
kind: "field",
|
|
61
|
+
key: "_value",
|
|
62
|
+
value() {
|
|
63
|
+
return '';
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
kind: "method",
|
|
67
|
+
key: "_handleInput",
|
|
68
|
+
value:
|
|
69
|
+
/**
|
|
70
|
+
* The underlying input element
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The internal value.
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Handles `oninput` event on the `<input>`.
|
|
79
|
+
*
|
|
80
|
+
* @param event The event.
|
|
81
|
+
*/
|
|
82
|
+
function _handleInput({
|
|
83
|
+
target
|
|
84
|
+
}) {
|
|
85
|
+
this.value = target.value;
|
|
86
|
+
}
|
|
87
|
+
}, {
|
|
88
|
+
kind: "method",
|
|
89
|
+
key: "_handleFormdata",
|
|
90
|
+
value: function _handleFormdata(event) {
|
|
91
|
+
const {
|
|
92
|
+
formData
|
|
93
|
+
} = event; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`
|
|
94
|
+
const {
|
|
95
|
+
disabled,
|
|
96
|
+
name,
|
|
97
|
+
value
|
|
98
|
+
} = this;
|
|
99
|
+
if (!disabled) {
|
|
100
|
+
formData.append(name, value);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* May be any of the standard HTML autocomplete options
|
|
106
|
+
*/
|
|
107
|
+
}, {
|
|
108
|
+
kind: "field",
|
|
109
|
+
decorators: [property()],
|
|
110
|
+
key: "autocomplete",
|
|
111
|
+
value() {
|
|
112
|
+
return '';
|
|
113
|
+
}
|
|
114
|
+
}, {
|
|
115
|
+
kind: "field",
|
|
116
|
+
decorators: [property({
|
|
117
|
+
type: Boolean
|
|
118
|
+
})],
|
|
119
|
+
key: "autofocus",
|
|
120
|
+
value() {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}, {
|
|
124
|
+
kind: "field",
|
|
125
|
+
decorators: [property({
|
|
126
|
+
type: Boolean,
|
|
127
|
+
reflect: true
|
|
128
|
+
})],
|
|
129
|
+
key: "disabled",
|
|
130
|
+
value() {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}, {
|
|
134
|
+
kind: "field",
|
|
135
|
+
decorators: [property({
|
|
136
|
+
type: Boolean,
|
|
137
|
+
attribute: 'enable-counter',
|
|
138
|
+
reflect: true
|
|
139
|
+
})],
|
|
140
|
+
key: "enableCounter",
|
|
141
|
+
value() {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}, {
|
|
145
|
+
kind: "field",
|
|
146
|
+
decorators: [property({
|
|
147
|
+
attribute: 'helper-text'
|
|
148
|
+
})],
|
|
149
|
+
key: "helperText",
|
|
150
|
+
value() {
|
|
151
|
+
return '';
|
|
152
|
+
}
|
|
153
|
+
}, {
|
|
154
|
+
kind: "field",
|
|
155
|
+
decorators: [property({
|
|
156
|
+
type: Boolean,
|
|
157
|
+
reflect: true
|
|
158
|
+
})],
|
|
159
|
+
key: "invalid",
|
|
160
|
+
value() {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
}, {
|
|
164
|
+
kind: "field",
|
|
165
|
+
decorators: [property({
|
|
166
|
+
type: Number,
|
|
167
|
+
attribute: 'max-count',
|
|
168
|
+
reflect: true
|
|
169
|
+
})],
|
|
170
|
+
key: "maxCount",
|
|
171
|
+
value: void 0
|
|
172
|
+
}, {
|
|
173
|
+
kind: "field",
|
|
174
|
+
decorators: [property({
|
|
175
|
+
type: Boolean,
|
|
176
|
+
reflect: true
|
|
177
|
+
})],
|
|
178
|
+
key: "warn",
|
|
179
|
+
value() {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
}, {
|
|
183
|
+
kind: "field",
|
|
184
|
+
decorators: [property({
|
|
185
|
+
attribute: 'warn-text'
|
|
186
|
+
})],
|
|
187
|
+
key: "warnText",
|
|
188
|
+
value() {
|
|
189
|
+
return '';
|
|
190
|
+
}
|
|
191
|
+
}, {
|
|
192
|
+
kind: "field",
|
|
193
|
+
decorators: [property({
|
|
194
|
+
attribute: 'invalid-text'
|
|
195
|
+
})],
|
|
196
|
+
key: "invalidText",
|
|
197
|
+
value() {
|
|
198
|
+
return '';
|
|
199
|
+
}
|
|
200
|
+
}, {
|
|
201
|
+
kind: "field",
|
|
202
|
+
decorators: [property({
|
|
203
|
+
attribute: 'hide-label',
|
|
204
|
+
type: Boolean,
|
|
205
|
+
reflect: true
|
|
206
|
+
})],
|
|
207
|
+
key: "hideLabel",
|
|
208
|
+
value() {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
}, {
|
|
212
|
+
kind: "field",
|
|
213
|
+
decorators: [property({
|
|
214
|
+
attribute: 'label'
|
|
215
|
+
})],
|
|
216
|
+
key: "label",
|
|
217
|
+
value() {
|
|
218
|
+
return '';
|
|
219
|
+
}
|
|
220
|
+
}, {
|
|
221
|
+
kind: "field",
|
|
222
|
+
decorators: [property()],
|
|
223
|
+
key: "name",
|
|
224
|
+
value() {
|
|
225
|
+
return '';
|
|
226
|
+
}
|
|
227
|
+
}, {
|
|
228
|
+
kind: "field",
|
|
229
|
+
decorators: [property()],
|
|
230
|
+
key: "pattern",
|
|
231
|
+
value() {
|
|
232
|
+
return '';
|
|
233
|
+
}
|
|
234
|
+
}, {
|
|
235
|
+
kind: "field",
|
|
236
|
+
decorators: [property({
|
|
237
|
+
reflect: true
|
|
238
|
+
})],
|
|
239
|
+
key: "placeholder",
|
|
240
|
+
value() {
|
|
241
|
+
return '';
|
|
242
|
+
}
|
|
243
|
+
}, {
|
|
244
|
+
kind: "field",
|
|
245
|
+
decorators: [property({
|
|
246
|
+
type: Boolean,
|
|
247
|
+
reflect: true
|
|
248
|
+
})],
|
|
249
|
+
key: "readonly",
|
|
250
|
+
value() {
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
}, {
|
|
254
|
+
kind: "field",
|
|
255
|
+
decorators: [property({
|
|
256
|
+
type: Boolean,
|
|
257
|
+
reflect: true
|
|
258
|
+
})],
|
|
259
|
+
key: "required",
|
|
260
|
+
value() {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
}, {
|
|
264
|
+
kind: "field",
|
|
265
|
+
decorators: [property({
|
|
266
|
+
attribute: 'required-validity-message'
|
|
267
|
+
})],
|
|
268
|
+
key: "requiredValidityMessage",
|
|
269
|
+
value() {
|
|
270
|
+
return 'Please fill out this field.';
|
|
271
|
+
}
|
|
272
|
+
}, {
|
|
273
|
+
kind: "field",
|
|
274
|
+
decorators: [property()],
|
|
275
|
+
key: "hidePasswordLabel",
|
|
276
|
+
value() {
|
|
277
|
+
return 'Hide password';
|
|
278
|
+
}
|
|
279
|
+
}, {
|
|
280
|
+
kind: "field",
|
|
281
|
+
decorators: [property()],
|
|
282
|
+
key: "showPasswordLabel",
|
|
283
|
+
value() {
|
|
284
|
+
return 'Show password';
|
|
285
|
+
}
|
|
286
|
+
}, {
|
|
287
|
+
kind: "field",
|
|
288
|
+
decorators: [property({
|
|
289
|
+
type: Boolean,
|
|
290
|
+
attribute: 'show-password-visibility-toggle',
|
|
291
|
+
reflect: true
|
|
292
|
+
})],
|
|
293
|
+
key: "showPasswordVisibilityToggle",
|
|
294
|
+
value() {
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
}, {
|
|
298
|
+
kind: "field",
|
|
299
|
+
decorators: [property({
|
|
300
|
+
reflect: true
|
|
301
|
+
})],
|
|
302
|
+
key: "size",
|
|
303
|
+
value() {
|
|
304
|
+
return INPUT_SIZE.MEDIUM;
|
|
305
|
+
}
|
|
306
|
+
}, {
|
|
307
|
+
kind: "field",
|
|
308
|
+
decorators: [property({
|
|
309
|
+
type: Boolean,
|
|
310
|
+
reflect: true
|
|
311
|
+
})],
|
|
312
|
+
key: "inline",
|
|
313
|
+
value() {
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
316
|
+
}, {
|
|
317
|
+
kind: "field",
|
|
318
|
+
decorators: [property()],
|
|
319
|
+
key: "tooltipAlignment",
|
|
320
|
+
value() {
|
|
321
|
+
return FLOATING_MENU_ALIGNMENT.CENTER;
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
kind: "field",
|
|
325
|
+
decorators: [property()],
|
|
326
|
+
key: "tooltipDirection",
|
|
327
|
+
value() {
|
|
328
|
+
return FLOATING_MENU_DIRECTION.BOTTOM;
|
|
329
|
+
}
|
|
330
|
+
}, {
|
|
331
|
+
kind: "field",
|
|
332
|
+
decorators: [property({
|
|
333
|
+
reflect: true
|
|
334
|
+
})],
|
|
335
|
+
key: "type",
|
|
336
|
+
value() {
|
|
337
|
+
return INPUT_TYPE.TEXT;
|
|
338
|
+
}
|
|
339
|
+
}, {
|
|
340
|
+
kind: "field",
|
|
341
|
+
decorators: [property({
|
|
342
|
+
attribute: 'validity-message'
|
|
343
|
+
})],
|
|
344
|
+
key: "validityMessage",
|
|
345
|
+
value() {
|
|
346
|
+
return '';
|
|
347
|
+
}
|
|
348
|
+
}, {
|
|
349
|
+
kind: "get",
|
|
350
|
+
decorators: [property({
|
|
351
|
+
reflect: true
|
|
352
|
+
})],
|
|
353
|
+
key: "value",
|
|
354
|
+
value:
|
|
355
|
+
/**
|
|
356
|
+
* Sets the input to be focussed automatically on page load. Defaults to false
|
|
357
|
+
*/
|
|
358
|
+
/**
|
|
359
|
+
* Controls the disabled state of the input
|
|
360
|
+
*/
|
|
361
|
+
/**
|
|
362
|
+
* Specify whether to display the character counter
|
|
363
|
+
*/
|
|
364
|
+
/**
|
|
365
|
+
* The helper text.
|
|
366
|
+
*/
|
|
367
|
+
/**
|
|
368
|
+
* Specify if the currently value is invalid.
|
|
369
|
+
*/
|
|
370
|
+
/**
|
|
371
|
+
* Max character count allowed for input. This is needed in order for enableCounter to display
|
|
372
|
+
*/
|
|
373
|
+
/**
|
|
374
|
+
* Specify whether the control is currently in warning state
|
|
375
|
+
*/
|
|
376
|
+
/**
|
|
377
|
+
* Provide the text that is displayed when the control is in warning state
|
|
378
|
+
*/
|
|
379
|
+
/**
|
|
380
|
+
* Message which is displayed if the value is invalid.
|
|
381
|
+
*/
|
|
382
|
+
/**
|
|
383
|
+
* Specify whether you want the underlying label to be visually hidden
|
|
384
|
+
*/
|
|
385
|
+
/**
|
|
386
|
+
* Generic label that will be used as the textual representation of what this field is for
|
|
387
|
+
*/
|
|
388
|
+
/**
|
|
389
|
+
* Name for the input in the `FormData`
|
|
390
|
+
*/
|
|
391
|
+
/**
|
|
392
|
+
* Pattern to validate the input against for HTML validity checking
|
|
393
|
+
*/
|
|
394
|
+
/**
|
|
395
|
+
* Value to display when the input has an empty `value`
|
|
396
|
+
*/
|
|
397
|
+
/**
|
|
398
|
+
* Specify if the component should be read-only
|
|
399
|
+
*/
|
|
400
|
+
/**
|
|
401
|
+
* Boolean property to set the required status
|
|
402
|
+
*/
|
|
403
|
+
/**
|
|
404
|
+
* The special validity message for `required`.
|
|
405
|
+
*/
|
|
406
|
+
/**
|
|
407
|
+
* "Hide password" tooltip text on password visibility toggle
|
|
408
|
+
*/
|
|
409
|
+
/**
|
|
410
|
+
* "Show password" tooltip text on password visibility toggle
|
|
411
|
+
*/
|
|
412
|
+
/**
|
|
413
|
+
* Boolean property to render password visibility toggle
|
|
414
|
+
*/
|
|
415
|
+
/**
|
|
416
|
+
* The input box size.
|
|
417
|
+
*/
|
|
418
|
+
/**
|
|
419
|
+
* true to use the inline version.
|
|
420
|
+
*/
|
|
421
|
+
/**
|
|
422
|
+
* Specify the alignment of the tooltip to the icon-only button.
|
|
423
|
+
* Can be one of: start, center, or end.
|
|
424
|
+
*/
|
|
425
|
+
/**
|
|
426
|
+
* Specify the direction of the tooltip for icon-only buttons.
|
|
427
|
+
* Can be either top, right, bottom, or left.
|
|
428
|
+
*/
|
|
429
|
+
/**
|
|
430
|
+
* The type of the input. Can be one of the types listed in the INPUT_TYPE enum
|
|
431
|
+
*/
|
|
432
|
+
/**
|
|
433
|
+
* The validity message. If present and non-empty, this input shows the UI of its invalid state.
|
|
434
|
+
*/
|
|
435
|
+
/**
|
|
436
|
+
* The value of the input.
|
|
437
|
+
*/
|
|
438
|
+
function value() {
|
|
439
|
+
// FIXME: Figure out how to deal with TS2611
|
|
440
|
+
// once we have the input we can directly query for the value
|
|
441
|
+
if (this._input) {
|
|
442
|
+
return this._input.value;
|
|
443
|
+
}
|
|
444
|
+
// but before then _value will work fine
|
|
445
|
+
return this._value;
|
|
446
|
+
}
|
|
447
|
+
}, {
|
|
448
|
+
kind: "set",
|
|
449
|
+
key: "value",
|
|
450
|
+
value: function value(_value) {
|
|
451
|
+
const oldValue = this._value;
|
|
452
|
+
this._value = _value;
|
|
453
|
+
// make sure that lit-element updates the right properties
|
|
454
|
+
this.requestUpdate('value', oldValue);
|
|
455
|
+
// we set the value directly on the input (when available)
|
|
456
|
+
// so that programatic manipulation updates the UI correctly
|
|
457
|
+
if (this._input) {
|
|
458
|
+
this._input.value = _value;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Handles password visibility toggle button click
|
|
464
|
+
*/
|
|
465
|
+
}, {
|
|
466
|
+
kind: "method",
|
|
467
|
+
key: "handleTogglePasswordVisibility",
|
|
468
|
+
value: function handleTogglePasswordVisibility() {
|
|
469
|
+
this.type = this.type === INPUT_TYPE.PASSWORD ? INPUT_TYPE.TEXT : INPUT_TYPE.PASSWORD;
|
|
470
|
+
}
|
|
471
|
+
}, {
|
|
472
|
+
kind: "method",
|
|
473
|
+
key: "render",
|
|
474
|
+
value: function render() {
|
|
475
|
+
const {
|
|
476
|
+
disabled,
|
|
477
|
+
enableCounter,
|
|
478
|
+
helperText,
|
|
479
|
+
hideLabel,
|
|
480
|
+
inline,
|
|
481
|
+
invalid,
|
|
482
|
+
invalidText,
|
|
483
|
+
label,
|
|
484
|
+
maxCount,
|
|
485
|
+
readonly,
|
|
486
|
+
required,
|
|
487
|
+
size,
|
|
488
|
+
type,
|
|
489
|
+
warn,
|
|
490
|
+
warnText,
|
|
491
|
+
value,
|
|
492
|
+
_handleInput: handleInput
|
|
493
|
+
} = this;
|
|
494
|
+
const invalidIcon = WarningFilled16({
|
|
495
|
+
class: `${prefix}--text-input__invalid-icon`
|
|
496
|
+
});
|
|
497
|
+
const warnIcon = WarningAltFilled16({
|
|
498
|
+
class: `${prefix}--text-input__invalid-icon ${prefix}--text-input__invalid-icon--warning`
|
|
499
|
+
});
|
|
500
|
+
let normalizedProps = {
|
|
501
|
+
disabled: !readonly && disabled,
|
|
502
|
+
invalid: !readonly && invalid,
|
|
503
|
+
warn: !readonly && !invalid && warn,
|
|
504
|
+
'slot-name': '',
|
|
505
|
+
'slot-text': '',
|
|
506
|
+
icon: null
|
|
507
|
+
};
|
|
508
|
+
if (normalizedProps.invalid) {
|
|
509
|
+
normalizedProps.icon = invalidIcon;
|
|
510
|
+
normalizedProps['slot-name'] = 'invalid-text';
|
|
511
|
+
normalizedProps['slot-text'] = invalidText;
|
|
512
|
+
} else if (normalizedProps.warn) {
|
|
513
|
+
normalizedProps.icon = warnIcon;
|
|
514
|
+
normalizedProps['slot-name'] = 'warn-text';
|
|
515
|
+
normalizedProps['slot-text'] = warnText;
|
|
516
|
+
}
|
|
517
|
+
const counterClasses = classMap({
|
|
518
|
+
[`${prefix}--label`]: true,
|
|
519
|
+
[`${prefix}--text-input__label-counter`]: true,
|
|
520
|
+
[`${prefix}--label--disabled`]: disabled
|
|
521
|
+
});
|
|
522
|
+
const inputWrapperClasses = classMap({
|
|
523
|
+
[`${prefix}--form-item`]: true,
|
|
524
|
+
[`${prefix}--text-input-wrapper`]: true,
|
|
525
|
+
[`${prefix}--text-input-wrapper--inline`]: inline,
|
|
526
|
+
[`${prefix}--text-input-wrapper--readonly`]: readonly,
|
|
527
|
+
[`${prefix}--text-input-wrapper--inline--invalid`]: inline && normalizedProps.invalid
|
|
528
|
+
});
|
|
529
|
+
const inputClasses = classMap({
|
|
530
|
+
[`${prefix}--text-input`]: true,
|
|
531
|
+
[`${prefix}--text-input--invalid`]: normalizedProps.invalid,
|
|
532
|
+
[`${prefix}--text-input--warning`]: normalizedProps.warn,
|
|
533
|
+
[`${prefix}--text-input--${size}`]: size,
|
|
534
|
+
[`${prefix}--password-input`]: type === INPUT_TYPE.PASSWORD
|
|
535
|
+
});
|
|
536
|
+
const fieldOuterWrapperClasses = classMap({
|
|
537
|
+
[`${prefix}--text-input__field-outer-wrapper`]: true,
|
|
538
|
+
[`${prefix}--text-input__field-outer-wrapper--inline`]: inline
|
|
539
|
+
});
|
|
540
|
+
const fieldWrapperClasses = classMap({
|
|
541
|
+
[`${prefix}--text-input__field-wrapper`]: true,
|
|
542
|
+
[`${prefix}--text-input__field-wrapper--warning`]: normalizedProps.warn
|
|
543
|
+
});
|
|
544
|
+
const labelClasses = classMap({
|
|
545
|
+
[`${prefix}--label`]: true,
|
|
546
|
+
[`${prefix}--visually-hidden`]: hideLabel,
|
|
547
|
+
[`${prefix}--label--disabled`]: normalizedProps.disabled
|
|
548
|
+
});
|
|
549
|
+
const helperTextClasses = classMap({
|
|
550
|
+
[`${prefix}--form__helper-text`]: true,
|
|
551
|
+
[`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled
|
|
552
|
+
});
|
|
553
|
+
const passwordIsVisible = type !== INPUT_TYPE.PASSWORD;
|
|
554
|
+
const passwordVisibilityIcon = passwordIsVisible ? ViewOff16({
|
|
555
|
+
class: `${prefix}--icon-visibility-off`
|
|
556
|
+
}) : View16({
|
|
557
|
+
class: `${prefix}--icon-visibility-on`
|
|
558
|
+
});
|
|
559
|
+
const passwordVisibilityToggleClasses = classMap({
|
|
560
|
+
[`${prefix}--text-input--password__visibility__toggle`]: true,
|
|
561
|
+
[`${prefix}--btn`]: true,
|
|
562
|
+
[`${prefix}--btn--icon-only`]: true,
|
|
563
|
+
[`${prefix}--tooltip__trigger`]: true,
|
|
564
|
+
[`${prefix}--tooltip--a11y`]: true,
|
|
565
|
+
[`${prefix}--btn--disabled`]: normalizedProps.disabled,
|
|
566
|
+
[`${prefix}--tooltip--${this.tooltipDirection}`]: this.tooltipDirection,
|
|
567
|
+
[`${prefix}--tooltip--align-${this.tooltipAlignment}`]: this.tooltipAlignment
|
|
568
|
+
});
|
|
569
|
+
const passwordButtonLabel = html(_t || (_t = _`
|
|
570
|
+
<span class="${0}--assistive-text">
|
|
571
|
+
${0}
|
|
572
|
+
</span>
|
|
573
|
+
`), prefix, passwordIsVisible ? this.hidePasswordLabel : this.showPasswordLabel);
|
|
574
|
+
const passwordVisibilityButton = () => html(_t2 || (_t2 = _`
|
|
575
|
+
<button
|
|
576
|
+
type="button"
|
|
577
|
+
class="${0}"
|
|
578
|
+
?disabled="${0}"
|
|
579
|
+
@click="${0}">
|
|
580
|
+
${0}
|
|
581
|
+
${0}
|
|
582
|
+
</button>
|
|
583
|
+
`), passwordVisibilityToggleClasses, normalizedProps.disabled, this.handleTogglePasswordVisibility, !normalizedProps.disabled ? passwordButtonLabel : null, passwordVisibilityIcon);
|
|
584
|
+
const textCount = value === null || value === void 0 ? void 0 : value.length;
|
|
585
|
+
const counter = enableCounter && maxCount ? html(_t3 || (_t3 = _` <label class="${0}">
|
|
586
|
+
<slot name="label-text">${0}/${0}</slot>
|
|
587
|
+
</label>`), counterClasses, textCount, maxCount) : null;
|
|
588
|
+
const labelText = label && !hideLabel ? html(_t4 || (_t4 = _`<label class="${0}"> ${0} </label>`), labelClasses, label) : null;
|
|
589
|
+
const labelWrapper = html(_t5 || (_t5 = _`<div class="${0}--text-input__label-wrapper">
|
|
590
|
+
${0} ${0}
|
|
591
|
+
</div>`), prefix, labelText, counter);
|
|
592
|
+
const helper = helperText ? html(_t6 || (_t6 = _`<div
|
|
593
|
+
class="${0}"
|
|
594
|
+
id="helper-text"
|
|
595
|
+
?hidden="${0}">
|
|
596
|
+
<slot name="helper-text"> ${0} </slot>
|
|
597
|
+
</div>`), helperTextClasses, normalizedProps.invalid || normalizedProps.warn, helperText) : null;
|
|
598
|
+
return html(_t7 || (_t7 = _`
|
|
599
|
+
<div class="${0}">
|
|
600
|
+
${0}
|
|
601
|
+
<div class="${0}">
|
|
602
|
+
<div class="${0}" ?data-invalid="${0}">
|
|
603
|
+
${0}
|
|
604
|
+
<input
|
|
605
|
+
?autocomplete="${0}"
|
|
606
|
+
?autofocus="${0}"
|
|
607
|
+
class="${0}"
|
|
608
|
+
?data-invalid="${0}"
|
|
609
|
+
?disabled="${0}"
|
|
610
|
+
aria-describedby="helper-text"
|
|
611
|
+
id="input"
|
|
612
|
+
name="${0}"
|
|
613
|
+
pattern="${0}"
|
|
614
|
+
placeholder="${0}"
|
|
615
|
+
?readonly="${0}"
|
|
616
|
+
?required="${0}"
|
|
617
|
+
type="${0}"
|
|
618
|
+
.value="${0}"
|
|
619
|
+
maxlength="${0}"
|
|
620
|
+
@input="${0}" />
|
|
621
|
+
${0}
|
|
622
|
+
</div>
|
|
623
|
+
${0}
|
|
624
|
+
<div
|
|
625
|
+
class="${0}--form-requirement"
|
|
626
|
+
?hidden="${0}">
|
|
627
|
+
<slot name="${0}">
|
|
628
|
+
${0}
|
|
629
|
+
</slot>
|
|
630
|
+
</div>
|
|
631
|
+
</div>
|
|
632
|
+
</div>
|
|
633
|
+
`), inputWrapperClasses, !inline ? labelWrapper : html(_t8 || (_t8 = _`<div class="${0}--text-input__label-helper-wrapper">
|
|
634
|
+
${0} ${0}
|
|
635
|
+
</div>`), prefix, labelWrapper, helper), fieldOuterWrapperClasses, fieldWrapperClasses, invalid, normalizedProps.icon, this.autocomplete, this.autofocus, inputClasses, invalid, disabled, ifNonEmpty(this.name), ifNonEmpty(this.pattern), ifNonEmpty(this.placeholder), readonly, required, ifNonEmpty(type), this._value, ifNonEmpty(maxCount), handleInput, this.showPasswordVisibilityToggle && (type === INPUT_TYPE.PASSWORD || type === INPUT_TYPE.TEXT) ? passwordVisibilityButton() : null, !inline ? helper : null, prefix, !normalizedProps.invalid && !normalizedProps.warn, normalizedProps['slot-name'], normalizedProps['slot-text']);
|
|
636
|
+
}
|
|
637
|
+
}, {
|
|
638
|
+
kind: "field",
|
|
639
|
+
static: true,
|
|
640
|
+
key: "shadowRootOptions",
|
|
641
|
+
value() {
|
|
642
|
+
return _objectSpread(_objectSpread({}, LitElement.shadowRootOptions), {}, {
|
|
643
|
+
delegatesFocus: true
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
}, {
|
|
647
|
+
kind: "field",
|
|
648
|
+
static: true,
|
|
649
|
+
key: "styles",
|
|
650
|
+
value() {
|
|
651
|
+
return styles;
|
|
652
|
+
}
|
|
653
|
+
}]
|
|
654
|
+
};
|
|
655
|
+
}, ValidityMixin(FormMixin(LitElement)));
|
|
656
|
+
export default CDSTextInput;
|
|
657
|
+
//# sourceMappingURL=text-input.js.map
|