@carbon/web-components 1.26.0-rc.2 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion.min.js +2 -2
- package/dist/accordion.rtl.min.js +2 -2
- package/dist/breadcrumb.min.js +1 -1
- package/dist/breadcrumb.rtl.min.js +1 -1
- package/dist/{button-0eeac278.js → button-c71594fa.js} +2 -2
- package/dist/{button-4b4837f0.js → button-e31ba29e.js} +2 -2
- package/dist/button.min.js +1 -1
- package/dist/button.rtl.min.js +1 -1
- package/dist/{decorators-0a905d41.js → carbon-element-18175602.js} +9 -1
- package/dist/checkbox-3fc0ced9.js +65 -0
- package/dist/checkbox-a740039c.js +65 -0
- package/dist/checkbox.min.js +1 -1
- package/dist/checkbox.rtl.min.js +1 -1
- package/dist/code-snippet.min.js +2 -2
- package/dist/code-snippet.rtl.min.js +2 -2
- package/dist/combo-box.min.js +1 -1
- package/dist/combo-box.rtl.min.js +1 -1
- package/dist/{content-switcher-item-d37071b9.js → content-switcher-item-77b690a9.js} +2 -2
- package/dist/{content-switcher-item-db96b7e3.js → content-switcher-item-96395561.js} +2 -2
- package/dist/content-switcher.min.js +1 -1
- package/dist/content-switcher.rtl.min.js +1 -1
- package/dist/copy-button-50221d0f.js +65 -0
- package/dist/copy-button-9cb9a0c6.js +65 -0
- package/dist/copy-button.min.js +1 -1
- package/dist/copy-button.rtl.min.js +1 -1
- package/dist/data-table.min.js +2 -2
- package/dist/data-table.rtl.min.js +2 -2
- package/dist/date-picker.min.js +3 -3
- package/dist/date-picker.rtl.min.js +3 -3
- package/dist/decorators-56213c84.js +78 -0
- package/dist/{dropdown-item-1630cdb0.js → dropdown-item-62abeaa7.js} +2 -2
- package/dist/{dropdown-item-8c9136d9.js → dropdown-item-97eb5366.js} +2 -2
- package/dist/dropdown.min.js +1 -1
- package/dist/dropdown.rtl.min.js +1 -1
- package/dist/file-uploader.min.js +2 -2
- package/dist/file-uploader.rtl.min.js +2 -2
- package/dist/form.min.js +1 -1
- package/dist/form.rtl.min.js +1 -1
- package/dist/inline-loading.min.js +2 -2
- package/dist/inline-loading.rtl.min.js +2 -2
- package/dist/{input-1583283e.js → input-254c34ac.js} +2 -2
- package/dist/{input-b817aa3d.js → input-bb75e577.js} +2 -2
- package/dist/input.min.js +1 -1
- package/dist/input.rtl.min.js +1 -1
- package/dist/link-3c734b06.js +65 -0
- package/dist/link-aecb4d2a.js +65 -0
- package/dist/link.min.js +1 -1
- package/dist/link.rtl.min.js +1 -1
- package/dist/list.min.js +1 -1
- package/dist/list.rtl.min.js +1 -1
- package/dist/loading-9ce928f0.js +65 -0
- package/dist/loading-c77e0b8d.js +65 -0
- package/dist/loading.min.js +1 -1
- package/dist/loading.rtl.min.js +1 -1
- package/dist/modal.min.js +2 -2
- package/dist/modal.rtl.min.js +2 -2
- package/dist/multi-select.min.js +1 -1
- package/dist/multi-select.rtl.min.js +1 -1
- package/dist/notification.min.js +2 -2
- package/dist/notification.rtl.min.js +2 -2
- package/dist/number-input.min.js +2 -2
- package/dist/number-input.rtl.min.js +2 -2
- package/dist/overflow-menu.min.js +2 -2
- package/dist/overflow-menu.rtl.min.js +2 -2
- package/dist/pagination.min.js +1 -1
- package/dist/pagination.rtl.min.js +1 -1
- package/dist/progress-indicator.min.js +2 -2
- package/dist/progress-indicator.rtl.min.js +2 -2
- package/dist/radio-button.min.js +2 -2
- package/dist/radio-button.rtl.min.js +2 -2
- package/dist/search-99e65bb6.js +65 -0
- package/dist/search-dfddc65c.js +65 -0
- package/dist/search.min.js +1 -1
- package/dist/search.rtl.min.js +1 -1
- package/dist/select.min.js +1 -1
- package/dist/select.rtl.min.js +1 -1
- package/dist/skeleton-placeholder.min.js +1 -1
- package/dist/skeleton-placeholder.rtl.min.js +1 -1
- package/dist/skeleton-text.min.js +2 -2
- package/dist/skeleton-text.rtl.min.js +2 -2
- package/dist/skip-to-content.min.js +1 -1
- package/dist/skip-to-content.rtl.min.js +1 -1
- package/dist/slider.min.js +1 -1
- package/dist/slider.rtl.min.js +1 -1
- package/dist/structured-list.min.js +1 -1
- package/dist/structured-list.rtl.min.js +1 -1
- package/dist/tabs.min.js +2 -2
- package/dist/tabs.rtl.min.js +2 -2
- package/dist/tag.min.js +2 -2
- package/dist/tag.rtl.min.js +2 -2
- package/dist/textarea.min.js +1 -1
- package/dist/textarea.rtl.min.js +1 -1
- package/dist/tile.min.js +1 -1
- package/dist/tile.rtl.min.js +1 -1
- package/dist/toggle.min.js +2 -2
- package/dist/toggle.rtl.min.js +2 -2
- package/dist/tooltip.min.js +2 -2
- package/dist/tooltip.rtl.min.js +2 -2
- package/dist/ui-shell.min.js +2 -2
- package/dist/ui-shell.rtl.min.js +2 -2
- package/es/components/accordion/accordion-item.d.ts +1 -1
- package/es/components/accordion/accordion-item.d.ts.map +1 -1
- package/es/components/accordion/accordion-item.js +4 -3
- package/es/components/accordion/accordion-item.js.map +1 -1
- package/es/components/accordion/accordion.d.ts +1 -1
- package/es/components/accordion/accordion.d.ts.map +1 -1
- package/es/components/accordion/accordion.js +3 -2
- package/es/components/accordion/accordion.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.d.ts +1 -1
- package/es/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js +3 -2
- package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-link.d.ts +1 -1
- package/es/components/breadcrumb/breadcrumb-link.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-link.js +2 -2
- package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js +3 -2
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.d.ts +1 -1
- package/es/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb.js +3 -2
- package/es/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es/components/button/button-skeleton.d.ts +1 -1
- package/es/components/button/button-skeleton.d.ts.map +1 -1
- package/es/components/button/button-skeleton.js +3 -2
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.d.ts +1 -1
- package/es/components/button/button.d.ts.map +1 -1
- package/es/components/button/button.js +3 -2
- package/es/components/button/button.js.map +1 -1
- package/es/components/checkbox/checkbox.d.ts +1 -1
- package/es/components/checkbox/checkbox.d.ts.map +1 -1
- package/es/components/checkbox/checkbox.js +3 -2
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.d.ts +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.d.ts.map +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js +3 -2
- package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es/components/code-snippet/code-snippet.d.ts +1 -1
- package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
- package/es/components/code-snippet/code-snippet.js +3 -2
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/combo-box/combo-box-item.d.ts +1 -1
- package/es/components/combo-box/combo-box-item.d.ts.map +1 -1
- package/es/components/combo-box/combo-box-item.js +2 -2
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.d.ts +1 -1
- package/es/components/combo-box/combo-box.d.ts.map +1 -1
- package/es/components/combo-box/combo-box.js +3 -2
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/content-switcher/content-switcher-item.d.ts +1 -1
- package/es/components/content-switcher/content-switcher-item.d.ts.map +1 -1
- package/es/components/content-switcher/content-switcher-item.js +3 -2
- package/es/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es/components/content-switcher/content-switcher.d.ts +1 -1
- package/es/components/content-switcher/content-switcher.d.ts.map +1 -1
- package/es/components/content-switcher/content-switcher.js +3 -2
- package/es/components/content-switcher/content-switcher.js.map +1 -1
- package/es/components/copy-button/copy-button.d.ts +1 -1
- package/es/components/copy-button/copy-button.d.ts.map +1 -1
- package/es/components/copy-button/copy-button.js +3 -2
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/data-table/table-batch-actions.d.ts +1 -1
- package/es/components/data-table/table-batch-actions.d.ts.map +1 -1
- package/es/components/data-table/table-batch-actions.js +3 -2
- package/es/components/data-table/table-batch-actions.js.map +1 -1
- package/es/components/data-table/table-body.d.ts +1 -1
- package/es/components/data-table/table-body.d.ts.map +1 -1
- package/es/components/data-table/table-body.js +3 -2
- package/es/components/data-table/table-body.js.map +1 -1
- package/es/components/data-table/table-cell-skeleton.d.ts +1 -1
- package/es/components/data-table/table-cell-skeleton.d.ts.map +1 -1
- package/es/components/data-table/table-cell-skeleton.js +3 -2
- package/es/components/data-table/table-cell-skeleton.js.map +1 -1
- package/es/components/data-table/table-cell.d.ts +1 -1
- package/es/components/data-table/table-cell.d.ts.map +1 -1
- package/es/components/data-table/table-cell.js +3 -2
- package/es/components/data-table/table-cell.js.map +1 -1
- package/es/components/data-table/table-expand-row.d.ts +1 -1
- package/es/components/data-table/table-expand-row.d.ts.map +1 -1
- package/es/components/data-table/table-expand-row.js +3 -2
- package/es/components/data-table/table-expand-row.js.map +1 -1
- package/es/components/data-table/table-expanded-row.d.ts +1 -1
- package/es/components/data-table/table-expanded-row.d.ts.map +1 -1
- package/es/components/data-table/table-expanded-row.js +3 -2
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-head.d.ts +1 -1
- package/es/components/data-table/table-head.d.ts.map +1 -1
- package/es/components/data-table/table-head.js +3 -2
- package/es/components/data-table/table-head.js.map +1 -1
- package/es/components/data-table/table-header-cell-skeleton.d.ts +1 -1
- package/es/components/data-table/table-header-cell-skeleton.d.ts.map +1 -1
- package/es/components/data-table/table-header-cell-skeleton.js +2 -2
- package/es/components/data-table/table-header-cell-skeleton.js.map +1 -1
- package/es/components/data-table/table-header-cell.d.ts +1 -1
- package/es/components/data-table/table-header-cell.d.ts.map +1 -1
- package/es/components/data-table/table-header-cell.js +3 -2
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-header-expand-row.d.ts +1 -1
- package/es/components/data-table/table-header-expand-row.d.ts.map +1 -1
- package/es/components/data-table/table-header-expand-row.js +2 -2
- package/es/components/data-table/table-header-expand-row.js.map +1 -1
- package/es/components/data-table/table-header-row.d.ts +1 -1
- package/es/components/data-table/table-header-row.d.ts.map +1 -1
- package/es/components/data-table/table-header-row.js +2 -2
- package/es/components/data-table/table-header-row.js.map +1 -1
- package/es/components/data-table/table-row.d.ts +1 -1
- package/es/components/data-table/table-row.d.ts.map +1 -1
- package/es/components/data-table/table-row.js +3 -2
- package/es/components/data-table/table-row.js.map +1 -1
- package/es/components/data-table/table-toolbar-content.d.ts +1 -1
- package/es/components/data-table/table-toolbar-content.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-content.js +3 -2
- package/es/components/data-table/table-toolbar-content.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.d.ts +1 -1
- package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +3 -2
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/data-table/table-toolbar.d.ts +1 -1
- package/es/components/data-table/table-toolbar.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar.js +3 -2
- package/es/components/data-table/table-toolbar.js.map +1 -1
- package/es/components/data-table/table.d.ts +1 -1
- package/es/components/data-table/table.d.ts.map +1 -1
- package/es/components/data-table/table.js +3 -2
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.d.ts +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js +3 -2
- package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es/components/date-picker/date-picker-input.d.ts +3 -7
- package/es/components/date-picker/date-picker-input.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input.js +3 -2
- package/es/components/date-picker/date-picker-input.js.map +1 -1
- package/es/components/date-picker/date-picker.d.ts +2 -4
- package/es/components/date-picker/date-picker.d.ts.map +1 -1
- package/es/components/date-picker/date-picker.js +3 -2
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/dropdown/dropdown-item.d.ts +1 -1
- package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-item.js +3 -2
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.d.ts +1 -1
- package/es/components/dropdown/dropdown-skeleton.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +3 -2
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.d.ts.map +1 -1
- package/es/components/dropdown/dropdown.js +2 -1
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/file-uploader/drop-container.d.ts +4 -1
- package/es/components/file-uploader/drop-container.d.ts.map +1 -1
- package/es/components/file-uploader/drop-container.js +3 -2
- package/es/components/file-uploader/drop-container.js.map +1 -1
- package/es/components/file-uploader/file-uploader-item.d.ts +1 -1
- package/es/components/file-uploader/file-uploader-item.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader-item.js +3 -2
- package/es/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es/components/file-uploader/file-uploader.d.ts +1 -1
- package/es/components/file-uploader/file-uploader.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader.js +3 -2
- package/es/components/file-uploader/file-uploader.js.map +1 -1
- package/es/components/form/form-item.d.ts +1 -1
- package/es/components/form/form-item.d.ts.map +1 -1
- package/es/components/form/form-item.js +3 -2
- package/es/components/form/form-item.js.map +1 -1
- package/es/components/inline-loading/inline-loading.d.ts +1 -1
- package/es/components/inline-loading/inline-loading.d.ts.map +1 -1
- package/es/components/inline-loading/inline-loading.js +3 -2
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/input/input.d.ts +1 -4
- package/es/components/input/input.d.ts.map +1 -1
- package/es/components/input/input.js +3 -2
- package/es/components/input/input.js.map +1 -1
- package/es/components/link/link.d.ts +1 -1
- package/es/components/link/link.d.ts.map +1 -1
- package/es/components/link/link.js +3 -2
- package/es/components/link/link.js.map +1 -1
- package/es/components/list/list-item.d.ts +1 -1
- package/es/components/list/list-item.d.ts.map +1 -1
- package/es/components/list/list-item.js +3 -2
- package/es/components/list/list-item.js.map +1 -1
- package/es/components/list/ordered-list.d.ts +1 -1
- package/es/components/list/ordered-list.d.ts.map +1 -1
- package/es/components/list/ordered-list.js +3 -2
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.d.ts +1 -1
- package/es/components/list/unordered-list.d.ts.map +1 -1
- package/es/components/list/unordered-list.js +3 -2
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/loading/loading.d.ts +1 -1
- package/es/components/loading/loading.d.ts.map +1 -1
- package/es/components/loading/loading.js +3 -2
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/modal/modal-body.d.ts +1 -1
- package/es/components/modal/modal-body.d.ts.map +1 -1
- package/es/components/modal/modal-body.js +3 -2
- package/es/components/modal/modal-body.js.map +1 -1
- package/es/components/modal/modal-close-button.d.ts +1 -1
- package/es/components/modal/modal-close-button.d.ts.map +1 -1
- package/es/components/modal/modal-close-button.js +3 -2
- package/es/components/modal/modal-close-button.js.map +1 -1
- package/es/components/modal/modal-footer-button.d.ts +1 -1
- package/es/components/modal/modal-footer-button.d.ts.map +1 -1
- package/es/components/modal/modal-footer-button.js +2 -2
- package/es/components/modal/modal-footer-button.js.map +1 -1
- package/es/components/modal/modal-footer.d.ts +1 -1
- package/es/components/modal/modal-footer.d.ts.map +1 -1
- package/es/components/modal/modal-footer.js +3 -2
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal-header.d.ts +1 -1
- package/es/components/modal/modal-header.d.ts.map +1 -1
- package/es/components/modal/modal-header.js +3 -2
- package/es/components/modal/modal-header.js.map +1 -1
- package/es/components/modal/modal-heading.d.ts +1 -1
- package/es/components/modal/modal-heading.d.ts.map +1 -1
- package/es/components/modal/modal-heading.js +3 -2
- package/es/components/modal/modal-heading.js.map +1 -1
- package/es/components/modal/modal-label.d.ts +1 -1
- package/es/components/modal/modal-label.d.ts.map +1 -1
- package/es/components/modal/modal-label.js +3 -2
- package/es/components/modal/modal-label.js.map +1 -1
- package/es/components/modal/modal.d.ts +1 -1
- package/es/components/modal/modal.d.ts.map +1 -1
- package/es/components/modal/modal.js +3 -2
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/multi-select/multi-select-item.d.ts +1 -1
- package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
- package/es/components/multi-select/multi-select-item.js +3 -2
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.d.ts +1 -1
- package/es/components/multi-select/multi-select.d.ts.map +1 -1
- package/es/components/multi-select/multi-select.js +3 -2
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/notification/inline-notification.d.ts +1 -1
- package/es/components/notification/inline-notification.d.ts.map +1 -1
- package/es/components/notification/inline-notification.js +4 -3
- package/es/components/notification/inline-notification.js.map +1 -1
- package/es/components/notification/toast-notification.d.ts +1 -1
- package/es/components/notification/toast-notification.d.ts.map +1 -1
- package/es/components/notification/toast-notification.js +3 -2
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/number-input/number-input-skeleton.d.ts +1 -1
- package/es/components/number-input/number-input-skeleton.d.ts.map +1 -1
- package/es/components/number-input/number-input-skeleton.js +3 -2
- package/es/components/number-input/number-input-skeleton.js.map +1 -1
- package/es/components/number-input/number-input.d.ts +1 -1
- package/es/components/number-input/number-input.d.ts.map +1 -1
- package/es/components/number-input/number-input.js +3 -2
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.d.ts +1 -1
- package/es/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +3 -2
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.d.ts +1 -1
- package/es/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js +3 -2
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.d.ts +4 -1
- package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +3 -2
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/pagination/page-sizes-select.d.ts +1 -1
- package/es/components/pagination/page-sizes-select.d.ts.map +1 -1
- package/es/components/pagination/page-sizes-select.js +3 -2
- package/es/components/pagination/page-sizes-select.js.map +1 -1
- package/es/components/pagination/pages-select.d.ts +1 -1
- package/es/components/pagination/pages-select.d.ts.map +1 -1
- package/es/components/pagination/pages-select.js +3 -2
- package/es/components/pagination/pages-select.js.map +1 -1
- package/es/components/pagination/pagination.d.ts +1 -1
- package/es/components/pagination/pagination.d.ts.map +1 -1
- package/es/components/pagination/pagination.js +3 -2
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.d.ts +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js +3 -2
- package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator.d.ts +1 -1
- package/es/components/progress-indicator/progress-indicator.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-indicator.js +3 -2
- package/es/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.d.ts +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js +3 -2
- package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-step.d.ts +1 -1
- package/es/components/progress-indicator/progress-step.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-step.js +3 -2
- package/es/components/progress-indicator/progress-step.js.map +1 -1
- package/es/components/radio-button/radio-button-group.d.ts +1 -1
- package/es/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/es/components/radio-button/radio-button-group.js +3 -2
- package/es/components/radio-button/radio-button-group.js.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.d.ts +1 -1
- package/es/components/radio-button/radio-button-skeleton.d.ts.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.js +3 -2
- package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es/components/radio-button/radio-button.d.ts +1 -1
- package/es/components/radio-button/radio-button.d.ts.map +1 -1
- package/es/components/radio-button/radio-button.js +3 -2
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/search/search-skeleton.d.ts +1 -1
- package/es/components/search/search-skeleton.d.ts.map +1 -1
- package/es/components/search/search-skeleton.js +3 -2
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.d.ts +1 -1
- package/es/components/search/search.d.ts.map +1 -1
- package/es/components/search/search.js +3 -2
- package/es/components/search/search.js.map +1 -1
- package/es/components/select/select-item-group.d.ts +1 -1
- package/es/components/select/select-item-group.d.ts.map +1 -1
- package/es/components/select/select-item-group.js +3 -2
- package/es/components/select/select-item-group.js.map +1 -1
- package/es/components/select/select-item.d.ts +1 -1
- package/es/components/select/select-item.d.ts.map +1 -1
- package/es/components/select/select-item.js +3 -2
- package/es/components/select/select-item.js.map +1 -1
- package/es/components/select/select.d.ts +6 -2
- package/es/components/select/select.d.ts.map +1 -1
- package/es/components/select/select.js +3 -2
- package/es/components/select/select.js.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js +3 -2
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.d.ts +1 -1
- package/es/components/skeleton-text/skeleton-text.d.ts.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js +3 -2
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.d.ts +1 -1
- package/es/components/skip-to-content/skip-to-content.d.ts.map +1 -1
- package/es/components/skip-to-content/skip-to-content.js +3 -2
- package/es/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es/components/slider/slider-input.d.ts +1 -1
- package/es/components/slider/slider-input.d.ts.map +1 -1
- package/es/components/slider/slider-input.js +3 -2
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.d.ts +1 -1
- package/es/components/slider/slider-skeleton.d.ts.map +1 -1
- package/es/components/slider/slider-skeleton.js +3 -2
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.d.ts +1 -1
- package/es/components/slider/slider.d.ts.map +1 -1
- package/es/components/slider/slider.js +3 -2
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/structured-list/structured-list-body.d.ts +1 -1
- package/es/components/structured-list/structured-list-body.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-body.js +3 -2
- package/es/components/structured-list/structured-list-body.js.map +1 -1
- package/es/components/structured-list/structured-list-cell.d.ts +1 -1
- package/es/components/structured-list/structured-list-cell.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-cell.js +3 -2
- package/es/components/structured-list/structured-list-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-head.d.ts +1 -1
- package/es/components/structured-list/structured-list-head.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-head.js +3 -2
- package/es/components/structured-list/structured-list-head.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.d.ts +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.js +3 -2
- package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell.d.ts +1 -1
- package/es/components/structured-list/structured-list-header-cell.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-header-cell.js +3 -2
- package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-header-row.d.ts +1 -1
- package/es/components/structured-list/structured-list-header-row.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-header-row.js +3 -2
- package/es/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es/components/structured-list/structured-list-row.d.ts +1 -1
- package/es/components/structured-list/structured-list-row.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-row.js +3 -2
- package/es/components/structured-list/structured-list-row.js.map +1 -1
- package/es/components/structured-list/structured-list.d.ts +1 -1
- package/es/components/structured-list/structured-list.d.ts.map +1 -1
- package/es/components/structured-list/structured-list.js +3 -2
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/tabs/tab-skeleton.d.ts +1 -1
- package/es/components/tabs/tab-skeleton.d.ts.map +1 -1
- package/es/components/tabs/tab-skeleton.js +3 -2
- package/es/components/tabs/tab-skeleton.js.map +1 -1
- package/es/components/tabs/tab.d.ts +1 -1
- package/es/components/tabs/tab.d.ts.map +1 -1
- package/es/components/tabs/tab.js +3 -2
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tabs/tabs-skeleton.d.ts +1 -1
- package/es/components/tabs/tabs-skeleton.d.ts.map +1 -1
- package/es/components/tabs/tabs-skeleton.js +3 -2
- package/es/components/tabs/tabs-skeleton.js.map +1 -1
- package/es/components/tabs/tabs.d.ts +3 -3
- package/es/components/tabs/tabs.d.ts.map +1 -1
- package/es/components/tabs/tabs.js +5 -4
- package/es/components/tabs/tabs.js.map +1 -1
- package/es/components/tag/filter-tag.d.ts +5 -2
- package/es/components/tag/filter-tag.d.ts.map +1 -1
- package/es/components/tag/filter-tag.js +3 -2
- package/es/components/tag/filter-tag.js.map +1 -1
- package/es/components/tag/tag.d.ts +1 -1
- package/es/components/tag/tag.d.ts.map +1 -1
- package/es/components/tag/tag.js +3 -2
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/textarea/textarea-skeleton.d.ts +1 -1
- package/es/components/textarea/textarea-skeleton.d.ts.map +1 -1
- package/es/components/textarea/textarea-skeleton.js +3 -2
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/textarea/textarea.d.ts +1 -1
- package/es/components/textarea/textarea.d.ts.map +1 -1
- package/es/components/textarea/textarea.js +3 -2
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/tile/clickable-tile.d.ts +1 -1
- package/es/components/tile/clickable-tile.d.ts.map +1 -1
- package/es/components/tile/clickable-tile.js +3 -2
- package/es/components/tile/clickable-tile.js.map +1 -1
- package/es/components/tile/expandable-tile.d.ts +1 -1
- package/es/components/tile/expandable-tile.d.ts.map +1 -1
- package/es/components/tile/expandable-tile.js +3 -2
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/radio-tile.d.ts +1 -1
- package/es/components/tile/radio-tile.d.ts.map +1 -1
- package/es/components/tile/radio-tile.js +2 -2
- package/es/components/tile/radio-tile.js.map +1 -1
- package/es/components/tile/selectable-tile.d.ts.map +1 -1
- package/es/components/tile/selectable-tile.js +2 -1
- package/es/components/tile/selectable-tile.js.map +1 -1
- package/es/components/tile/tile-group.d.ts +1 -1
- package/es/components/tile/tile-group.d.ts.map +1 -1
- package/es/components/tile/tile-group.js +3 -2
- package/es/components/tile/tile-group.js.map +1 -1
- package/es/components/tile/tile.d.ts +1 -1
- package/es/components/tile/tile.d.ts.map +1 -1
- package/es/components/tile/tile.js +3 -2
- package/es/components/tile/tile.js.map +1 -1
- package/es/components/toggle/toggle.d.ts +1 -1
- package/es/components/toggle/toggle.d.ts.map +1 -1
- package/es/components/toggle/toggle.js +3 -2
- package/es/components/toggle/toggle.js.map +1 -1
- package/es/components/tooltip/tooltip-body.d.ts.map +1 -1
- package/es/components/tooltip/tooltip-body.js +2 -1
- package/es/components/tooltip/tooltip-body.js.map +1 -1
- package/es/components/tooltip/tooltip-definition.d.ts +1 -1
- package/es/components/tooltip/tooltip-definition.d.ts.map +1 -1
- package/es/components/tooltip/tooltip-definition.js +3 -2
- package/es/components/tooltip/tooltip-definition.js.map +1 -1
- package/es/components/tooltip/tooltip-footer.d.ts +1 -1
- package/es/components/tooltip/tooltip-footer.d.ts.map +1 -1
- package/es/components/tooltip/tooltip-footer.js +3 -2
- package/es/components/tooltip/tooltip-footer.js.map +1 -1
- package/es/components/tooltip/tooltip-icon.d.ts +1 -1
- package/es/components/tooltip/tooltip-icon.d.ts.map +1 -1
- package/es/components/tooltip/tooltip-icon.js +3 -2
- package/es/components/tooltip/tooltip-icon.js.map +1 -1
- package/es/components/tooltip/tooltip.d.ts.map +1 -1
- package/es/components/tooltip/tooltip.js +2 -1
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/ui-shell/header-menu-button.d.ts +1 -1
- package/es/components/ui-shell/header-menu-button.d.ts.map +1 -1
- package/es/components/ui-shell/header-menu-button.js +3 -2
- package/es/components/ui-shell/header-menu-button.js.map +1 -1
- package/es/components/ui-shell/header-menu-item.d.ts +1 -1
- package/es/components/ui-shell/header-menu-item.d.ts.map +1 -1
- package/es/components/ui-shell/header-menu-item.js +2 -2
- package/es/components/ui-shell/header-menu-item.js.map +1 -1
- package/es/components/ui-shell/header-menu.d.ts +1 -1
- package/es/components/ui-shell/header-menu.d.ts.map +1 -1
- package/es/components/ui-shell/header-menu.js +3 -2
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header-name.d.ts +1 -1
- package/es/components/ui-shell/header-name.d.ts.map +1 -1
- package/es/components/ui-shell/header-name.js +3 -2
- package/es/components/ui-shell/header-name.js.map +1 -1
- package/es/components/ui-shell/header-nav-item.d.ts +1 -1
- package/es/components/ui-shell/header-nav-item.d.ts.map +1 -1
- package/es/components/ui-shell/header-nav-item.js +3 -2
- package/es/components/ui-shell/header-nav-item.js.map +1 -1
- package/es/components/ui-shell/header-nav.d.ts +1 -1
- package/es/components/ui-shell/header-nav.d.ts.map +1 -1
- package/es/components/ui-shell/header-nav.js +3 -2
- package/es/components/ui-shell/header-nav.js.map +1 -1
- package/es/components/ui-shell/header.d.ts +1 -1
- package/es/components/ui-shell/header.d.ts.map +1 -1
- package/es/components/ui-shell/header.js +3 -2
- package/es/components/ui-shell/header.js.map +1 -1
- package/es/components/ui-shell/side-nav-divider.d.ts +1 -1
- package/es/components/ui-shell/side-nav-divider.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-divider.js +3 -2
- package/es/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es/components/ui-shell/side-nav-items.d.ts +1 -1
- package/es/components/ui-shell/side-nav-items.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-items.js +3 -2
- package/es/components/ui-shell/side-nav-items.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.d.ts +1 -1
- package/es/components/ui-shell/side-nav-link.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +3 -2
- package/es/components/ui-shell/side-nav-link.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.d.ts +1 -1
- package/es/components/ui-shell/side-nav-menu-item.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js +3 -2
- package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu.d.ts +1 -1
- package/es/components/ui-shell/side-nav-menu.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-menu.js +3 -2
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/components/ui-shell/side-nav.d.ts +1 -1
- package/es/components/ui-shell/side-nav.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav.js +3 -2
- package/es/components/ui-shell/side-nav.js.map +1 -1
- package/es/globals/decorators/carbon-element.d.ts +235 -0
- package/es/globals/decorators/carbon-element.d.ts.map +1 -0
- package/es/globals/decorators/carbon-element.js +429 -0
- package/es/globals/decorators/carbon-element.js.map +1 -0
- package/package.json +2 -2
- package/dist/checkbox-0edcc860.js +0 -65
- package/dist/checkbox-155d2e12.js +0 -65
- package/dist/copy-button-d50482da.js +0 -65
- package/dist/copy-button-e0c0c272.js +0 -65
- package/dist/link-5cef0608.js +0 -65
- package/dist/link-c666ff67.js +0 -65
- package/dist/loading-3754cb83.js +0 -65
- package/dist/loading-a86f38a0.js +0 -65
- package/dist/search-11f3a241.js +0 -65
- package/dist/search-487b4714.js +0 -65
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/date-picker/date-picker-input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"sources":["components/date-picker/date-picker-input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAyB,UAAU,EAAE,MAAM,aAAa,CAAC;AAMhE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,iCAAiC,EAClC,MAAM,QAAQ,CAAC;AAIhB,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,iCAAiC,GAClC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIF;;;;GAIG;AACH,cACM,iBAAkB,SAAQ,sBAAqC;IACnE;;OAEG;IAEH,OAAO,CAAC,SAAS,CAAc;IAE/B;;OAEG;IAEH,OAAO,CAAC,oBAAoB,CAAmB;IAE/C;;OAEG;IACH,OAAO,KAAK,mBAAmB,GAM9B;IAED;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAIxC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IAEH,KAAK,EAAG,gBAAgB,CAAC;IAEzB;;OAEG;IAEH,WAAW,iCAA0C;IAErD;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,IAAI,yBAAiC;IAErC;;OAEG;IAEH,SAAS,EAAG,MAAM,CAAC;IAEnB;;OAEG;IAEH,OAAO,EAAG,MAAM,CAAC;IAEjB;;OAEG;IAEH,WAAW,EAAG,MAAM,CAAC;IAErB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,uBAAuB,SAAiC;IAExD;;OAEG;IAEH,IAAI,aAAsB;IAE1B;;;OAGG;IAEH,cAAc,oCAA6C;IAE3D;;OAEG;IAEH,IAAI,EAAG,MAAM,CAAC;IAEd;;;OAGG;IAEH,eAAe,SAAM;IAErB;;OAEG;IAEH,KAAK,EAAG,MAAM,CAAC;IAEf,gBAAgB;IAShB,MAAM;IA+CN;;OAEG;IACH,MAAM,CAAC,cAAc,SAAkC;IAEvD;;OAEG;IACH,MAAM,CAAC,WAAW,SAAU;IAE5B;;OAEG;IACH,MAAM,KAAK,cAAc,WAExB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,iBAAiB,CAAC","file":"date-picker-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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, LitElement } from 'lit-element';\nimport Calendar16 from '@carbon/icons/lib/calendar/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport ifNonNull from '../../globals/directives/if-non-null';\nimport FocusMixin from '../../globals/mixins/focus';\nimport ValidityMixin from '../../globals/mixins/validity';\nimport { INPUT_SIZE } from '../input/input';\nimport {\n DATE_PICKER_INPUT_COLOR_SCHEME,\n DATE_PICKER_INPUT_KIND,\n DATE_PICKER_INPUT_SIZE_HORIZONTAL,\n} from './defs';\nimport styles from './date-picker.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DATE_PICKER_INPUT_COLOR_SCHEME,\n DATE_PICKER_INPUT_KIND,\n DATE_PICKER_INPUT_SIZE_HORIZONTAL,\n};\n\nconst { prefix } = settings;\n\n/**\n * The input box for date picker.\n *\n * @element bx-date-picker-input\n */\n@customElement(`${prefix}-date-picker-input`)\nclass BXDatePickerInput extends ValidityMixin(FocusMixin(LitElement)) {\n /**\n * The calendar icon.\n */\n @query(`.${prefix}--date-picker__icon`)\n private _iconNode!: SVGElement;\n\n /**\n * The `<slot>` for the validity message.\n */\n @query('slot[name=\"validity-message\"]')\n private _slotValidityMessage!: HTMLSlotElement;\n\n /**\n * `true` if validity message is given via `validityMessage` property or via `<slot name=\"validity-message\">`.\n */\n private get _hasValidityMessage() {\n const { validityMessage, _slotValidityMessage: slotValidityMessage } = this;\n return (\n validityMessage ||\n (slotValidityMessage && slotValidityMessage.assignedNodes.length > 0)\n );\n }\n\n /**\n * Handles `click` event on the calendar icon.\n *\n * @param event The event.\n */\n private _handleClickWrapper(event: MouseEvent) {\n if (event.target === this._iconNode) {\n this.input.focus();\n }\n }\n\n /**\n * Handles `slotchange` event on `<slot name=\"validity-message\">`.\n */\n private _handleSlotChangeValidityMessage() {\n this.requestUpdate();\n }\n\n /**\n * Handles `input` event on `<input>` in the shadow DOM.\n *\n * @param event The event.\n */\n private _handleInput({ target }: Event) {\n const { value } = target as HTMLInputElement;\n this.value = value;\n }\n\n /**\n * @returns The template for the the calendar icon.\n */\n private _renderIcon() {\n return this.kind === DATE_PICKER_INPUT_KIND.SIMPLE\n ? undefined\n : Calendar16({\n class: `${prefix}--date-picker__icon`,\n role: 'img',\n children: [html` <title>Open calendar</title> `],\n });\n }\n\n /**\n * @returns The template for the the validity message.\n */\n private _renderValidityMessage() {\n const {\n validityMessage,\n _hasValidityMessage: hasValidityMessage,\n _handleSlotChangeValidityMessage: handleSlotChangeValidityMessage,\n } = this;\n return html`\n <div ?hidden=\"${!hasValidityMessage}\" class=\"${prefix}--form-requirement\">\n <slot\n name=\"validity-message\"\n @slotchange=\"${handleSlotChangeValidityMessage}\"\n >${validityMessage}</slot\n >\n </div>\n `;\n }\n\n /**\n * The `<input>`, used for Flatpickr to grab.\n */\n @query('input')\n input!: HTMLInputElement;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = DATE_PICKER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the label should be hidden.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Controls the invalid state and visibility of the `validityMessage`.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Date picker input kind.\n */\n @property({ reflect: true })\n kind = DATE_PICKER_INPUT_KIND.SIMPLE;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText!: string;\n\n /**\n * The `pattern` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n pattern!: string;\n\n /**\n * The placeholder text.\n */\n @property()\n placeholder!: string;\n\n /**\n * `true` if the value is required.\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 * Vertical size of this date picker input.\n */\n @property({ attribute: 'size', reflect: true })\n size = INPUT_SIZE.REGULAR;\n\n /**\n * Horizontal size of this date picker input.\n * Effective only when `kind` property is `DATE_PICKER_INPUT_KIND.SIMPLE`.\n */\n @property({ attribute: 'size-horizontal', reflect: true })\n sizeHorizontal = DATE_PICKER_INPUT_SIZE_HORIZONTAL.REGULAR;\n\n /**\n * The `type` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n type!: string;\n\n /**\n * The validity message.\n * If present and non-empty, this date picker input shows the UI of its invalid state.\n */\n @property({ attribute: 'validity-message' })\n validityMessage = '';\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const constructor = this.constructor as typeof BXDatePickerInput;\n const {\n disabled,\n hideLabel,\n invalid,\n labelText,\n pattern = constructor.defaultPattern,\n placeholder,\n size,\n type = constructor.defaultType,\n value,\n _handleClickWrapper: handleClickWrapper,\n _handleInput: handleInput,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: disabled,\n });\n const inputClasses = classMap({\n [`${prefix}--date-picker__input`]: true,\n [`${prefix}--date-picker__input--${size}`]: size,\n });\n return html`\n <label for=\"input\" class=\"${labelClasses}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div\n class=\"${prefix}--date-picker-input__wrapper\"\n @click=\"${handleClickWrapper}\">\n <input\n id=\"input\"\n type=\"${type}\"\n class=\"${inputClasses}\"\n ?disabled=\"${disabled}\"\n pattern=\"${pattern}\"\n placeholder=\"${ifNonNull(placeholder)}\"\n .value=\"${ifNonNull(value)}\"\n ?data-invalid=\"${invalid}\"\n @input=\"${handleInput}\" />\n ${this._renderIcon()}\n </div>\n ${this._renderValidityMessage()}\n `;\n }\n\n /**\n * The default value for `pattern` property.\n */\n static defaultPattern = '\\\\d{1,2}\\\\/\\\\d{1,2}\\\\/\\\\d{4}';\n\n /**\n * The default value for `type` property.\n */\n static defaultType = 'text';\n\n /**\n * A selector that will return the parent date picker.\n */\n static get selectorParent() {\n return `${prefix}-date-picker`;\n }\n\n static styles = styles;\n}\n\nexport default BXDatePickerInput;\n"]}
|
|
@@ -6,14 +6,14 @@ let _ = t => t,
|
|
|
6
6
|
/**
|
|
7
7
|
* @license
|
|
8
8
|
*
|
|
9
|
-
* Copyright IBM Corp. 2019,
|
|
9
|
+
* Copyright IBM Corp. 2019, 2023
|
|
10
10
|
*
|
|
11
11
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
12
12
|
* LICENSE file in the root directory of this source tree.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { classMap } from 'lit-html/directives/class-map';
|
|
16
|
-
import { html, property, query,
|
|
16
|
+
import { html, property, query, LitElement } from 'lit-element';
|
|
17
17
|
import Calendar16 from "../../icons/calendar/16";
|
|
18
18
|
import settings from 'carbon-components/es/globals/js/settings';
|
|
19
19
|
import ifNonNull from '../../globals/directives/if-non-null';
|
|
@@ -22,6 +22,7 @@ import ValidityMixin from '../../globals/mixins/validity';
|
|
|
22
22
|
import { INPUT_SIZE } from '../input/input';
|
|
23
23
|
import { DATE_PICKER_INPUT_COLOR_SCHEME, DATE_PICKER_INPUT_KIND, DATE_PICKER_INPUT_SIZE_HORIZONTAL } from './defs';
|
|
24
24
|
import styles from "././date-picker.css.js";
|
|
25
|
+
import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
|
|
25
26
|
export { DATE_PICKER_INPUT_COLOR_SCHEME, DATE_PICKER_INPUT_KIND, DATE_PICKER_INPUT_SIZE_HORIZONTAL };
|
|
26
27
|
const {
|
|
27
28
|
prefix
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker-input.js","names":["classMap","html","property","query","customElement","LitElement","Calendar16","settings","ifNonNull","FocusMixin","ValidityMixin","INPUT_SIZE","DATE_PICKER_INPUT_COLOR_SCHEME","DATE_PICKER_INPUT_KIND","DATE_PICKER_INPUT_SIZE_HORIZONTAL","styles","prefix","BXDatePickerInput","_decorate","_initialize","_ValidityMixin","constructor","args","F","d","kind","decorators","key","value","_hasValidityMessage","validityMessage","_slotValidityMessage","slotValidityMessage","assignedNodes","length","_handleClickWrapper","event","target","_iconNode","input","focus","_handleSlotChangeValidityMessage","requestUpdate","_handleInput","_renderIcon","SIMPLE","undefined","class","role","children","_t","_","_renderValidityMessage","hasValidityMessage","handleSlotChangeValidityMessage","_t2","attribute","reflect","REGULAR","type","Boolean","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","render","disabled","hideLabel","invalid","labelText","pattern","defaultPattern","placeholder","size","defaultType","handleClickWrapper","handleInput","labelClasses","inputClasses","_t3","static","selectorParent"],"sources":["components/date-picker/date-picker-input.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, customElement, LitElement } from 'lit-element';\nimport Calendar16 from '@carbon/icons/lib/calendar/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport ifNonNull from '../../globals/directives/if-non-null';\nimport FocusMixin from '../../globals/mixins/focus';\nimport ValidityMixin from '../../globals/mixins/validity';\nimport { INPUT_SIZE } from '../input/input';\nimport {\n DATE_PICKER_INPUT_COLOR_SCHEME,\n DATE_PICKER_INPUT_KIND,\n DATE_PICKER_INPUT_SIZE_HORIZONTAL,\n} from './defs';\nimport styles from './date-picker.scss';\n\nexport {\n DATE_PICKER_INPUT_COLOR_SCHEME,\n DATE_PICKER_INPUT_KIND,\n DATE_PICKER_INPUT_SIZE_HORIZONTAL,\n};\n\nconst { prefix } = settings;\n\n/**\n * The input box for date picker.\n *\n * @element bx-date-picker-input\n */\n@customElement(`${prefix}-date-picker-input`)\nclass BXDatePickerInput extends ValidityMixin(FocusMixin(LitElement)) {\n /**\n * The calendar icon.\n */\n @query(`.${prefix}--date-picker__icon`)\n private _iconNode!: SVGElement;\n\n /**\n * The `<slot>` for the validity message.\n */\n @query('slot[name=\"validity-message\"]')\n private _slotValidityMessage!: HTMLSlotElement;\n\n /**\n * `true` if validity message is given via `validityMessage` property or via `<slot name=\"validity-message\">`.\n */\n private get _hasValidityMessage() {\n const { validityMessage, _slotValidityMessage: slotValidityMessage } = this;\n return (\n validityMessage ||\n (slotValidityMessage && slotValidityMessage.assignedNodes.length > 0)\n );\n }\n\n /**\n * Handles `click` event on the calendar icon.\n *\n * @param event The event.\n */\n private _handleClickWrapper(event: MouseEvent) {\n if (event.target === this._iconNode) {\n this.input.focus();\n }\n }\n\n /**\n * Handles `slotchange` event on `<slot name=\"validity-message\">`.\n */\n private _handleSlotChangeValidityMessage() {\n this.requestUpdate();\n }\n\n /**\n * Handles `input` event on `<input>` in the shadow DOM.\n *\n * @param event The event.\n */\n private _handleInput({ target }: Event) {\n const { value } = target as HTMLInputElement;\n this.value = value;\n }\n\n /**\n * @returns The template for the the calendar icon.\n */\n private _renderIcon() {\n return this.kind === DATE_PICKER_INPUT_KIND.SIMPLE\n ? undefined\n : Calendar16({\n class: `${prefix}--date-picker__icon`,\n role: 'img',\n children: [html` <title>Open calendar</title> `],\n });\n }\n\n /**\n * @returns The template for the the validity message.\n */\n private _renderValidityMessage() {\n const {\n validityMessage,\n _hasValidityMessage: hasValidityMessage,\n _handleSlotChangeValidityMessage: handleSlotChangeValidityMessage,\n } = this;\n return html`\n <div ?hidden=\"${!hasValidityMessage}\" class=\"${prefix}--form-requirement\">\n <slot\n name=\"validity-message\"\n @slotchange=\"${handleSlotChangeValidityMessage}\"\n >${validityMessage}</slot\n >\n </div>\n `;\n }\n\n /**\n * The `<input>`, used for Flatpickr to grab.\n */\n @query('input')\n input!: HTMLInputElement;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = DATE_PICKER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the label should be hidden.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Controls the invalid state and visibility of the `validityMessage`.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Date picker input kind.\n */\n @property({ reflect: true })\n kind = DATE_PICKER_INPUT_KIND.SIMPLE;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText!: string;\n\n /**\n * The `pattern` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n pattern!: string;\n\n /**\n * The placeholder text.\n */\n @property()\n placeholder!: string;\n\n /**\n * `true` if the value is required.\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 * Vertical size of this date picker input.\n */\n @property({ attribute: 'size', reflect: true })\n size = INPUT_SIZE.REGULAR;\n\n /**\n * Horizontal size of this date picker input.\n * Effective only when `kind` property is `DATE_PICKER_INPUT_KIND.SIMPLE`.\n */\n @property({ attribute: 'size-horizontal', reflect: true })\n sizeHorizontal = DATE_PICKER_INPUT_SIZE_HORIZONTAL.REGULAR;\n\n /**\n * The `type` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n type!: string;\n\n /**\n * The validity message.\n * If present and non-empty, this date picker input shows the UI of its invalid state.\n */\n @property({ attribute: 'validity-message' })\n validityMessage = '';\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const constructor = this.constructor as typeof BXDatePickerInput;\n const {\n disabled,\n hideLabel,\n invalid,\n labelText,\n pattern = constructor.defaultPattern,\n placeholder,\n size,\n type = constructor.defaultType,\n value,\n _handleClickWrapper: handleClickWrapper,\n _handleInput: handleInput,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: disabled,\n });\n const inputClasses = classMap({\n [`${prefix}--date-picker__input`]: true,\n [`${prefix}--date-picker__input--${size}`]: size,\n });\n return html`\n <label for=\"input\" class=\"${labelClasses}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div\n class=\"${prefix}--date-picker-input__wrapper\"\n @click=\"${handleClickWrapper}\">\n <input\n id=\"input\"\n type=\"${type}\"\n class=\"${inputClasses}\"\n ?disabled=\"${disabled}\"\n pattern=\"${pattern}\"\n placeholder=\"${ifNonNull(placeholder)}\"\n .value=\"${ifNonNull(value)}\"\n ?data-invalid=\"${invalid}\"\n @input=\"${handleInput}\" />\n ${this._renderIcon()}\n </div>\n ${this._renderValidityMessage()}\n `;\n }\n\n /**\n * The default value for `pattern` property.\n */\n static defaultPattern = '\\\\d{1,2}\\\\/\\\\d{1,2}\\\\/\\\\d{4}';\n\n /**\n * The default value for `type` property.\n */\n static defaultType = 'text';\n\n /**\n * A selector that will return the parent date picker.\n */\n static get selectorParent() {\n return `${prefix}-date-picker`;\n }\n\n static styles = styles;\n}\n\nexport default BXDatePickerInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-picker-input.js","names":["classMap","html","property","query","LitElement","Calendar16","settings","ifNonNull","FocusMixin","ValidityMixin","INPUT_SIZE","DATE_PICKER_INPUT_COLOR_SCHEME","DATE_PICKER_INPUT_KIND","DATE_PICKER_INPUT_SIZE_HORIZONTAL","styles","carbonElement","customElement","prefix","BXDatePickerInput","_decorate","_initialize","_ValidityMixin","constructor","args","F","d","kind","decorators","key","value","_hasValidityMessage","validityMessage","_slotValidityMessage","slotValidityMessage","assignedNodes","length","_handleClickWrapper","event","target","_iconNode","input","focus","_handleSlotChangeValidityMessage","requestUpdate","_handleInput","_renderIcon","SIMPLE","undefined","class","role","children","_t","_","_renderValidityMessage","hasValidityMessage","handleSlotChangeValidityMessage","_t2","attribute","reflect","REGULAR","type","Boolean","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","render","disabled","hideLabel","invalid","labelText","pattern","defaultPattern","placeholder","size","defaultType","handleClickWrapper","handleInput","labelClasses","inputClasses","_t3","static","selectorParent"],"sources":["components/date-picker/date-picker-input.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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, LitElement } from 'lit-element';\nimport Calendar16 from '@carbon/icons/lib/calendar/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport ifNonNull from '../../globals/directives/if-non-null';\nimport FocusMixin from '../../globals/mixins/focus';\nimport ValidityMixin from '../../globals/mixins/validity';\nimport { INPUT_SIZE } from '../input/input';\nimport {\n DATE_PICKER_INPUT_COLOR_SCHEME,\n DATE_PICKER_INPUT_KIND,\n DATE_PICKER_INPUT_SIZE_HORIZONTAL,\n} from './defs';\nimport styles from './date-picker.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DATE_PICKER_INPUT_COLOR_SCHEME,\n DATE_PICKER_INPUT_KIND,\n DATE_PICKER_INPUT_SIZE_HORIZONTAL,\n};\n\nconst { prefix } = settings;\n\n/**\n * The input box for date picker.\n *\n * @element bx-date-picker-input\n */\n@customElement(`${prefix}-date-picker-input`)\nclass BXDatePickerInput extends ValidityMixin(FocusMixin(LitElement)) {\n /**\n * The calendar icon.\n */\n @query(`.${prefix}--date-picker__icon`)\n private _iconNode!: SVGElement;\n\n /**\n * The `<slot>` for the validity message.\n */\n @query('slot[name=\"validity-message\"]')\n private _slotValidityMessage!: HTMLSlotElement;\n\n /**\n * `true` if validity message is given via `validityMessage` property or via `<slot name=\"validity-message\">`.\n */\n private get _hasValidityMessage() {\n const { validityMessage, _slotValidityMessage: slotValidityMessage } = this;\n return (\n validityMessage ||\n (slotValidityMessage && slotValidityMessage.assignedNodes.length > 0)\n );\n }\n\n /**\n * Handles `click` event on the calendar icon.\n *\n * @param event The event.\n */\n private _handleClickWrapper(event: MouseEvent) {\n if (event.target === this._iconNode) {\n this.input.focus();\n }\n }\n\n /**\n * Handles `slotchange` event on `<slot name=\"validity-message\">`.\n */\n private _handleSlotChangeValidityMessage() {\n this.requestUpdate();\n }\n\n /**\n * Handles `input` event on `<input>` in the shadow DOM.\n *\n * @param event The event.\n */\n private _handleInput({ target }: Event) {\n const { value } = target as HTMLInputElement;\n this.value = value;\n }\n\n /**\n * @returns The template for the the calendar icon.\n */\n private _renderIcon() {\n return this.kind === DATE_PICKER_INPUT_KIND.SIMPLE\n ? undefined\n : Calendar16({\n class: `${prefix}--date-picker__icon`,\n role: 'img',\n children: [html` <title>Open calendar</title> `],\n });\n }\n\n /**\n * @returns The template for the the validity message.\n */\n private _renderValidityMessage() {\n const {\n validityMessage,\n _hasValidityMessage: hasValidityMessage,\n _handleSlotChangeValidityMessage: handleSlotChangeValidityMessage,\n } = this;\n return html`\n <div ?hidden=\"${!hasValidityMessage}\" class=\"${prefix}--form-requirement\">\n <slot\n name=\"validity-message\"\n @slotchange=\"${handleSlotChangeValidityMessage}\"\n >${validityMessage}</slot\n >\n </div>\n `;\n }\n\n /**\n * The `<input>`, used for Flatpickr to grab.\n */\n @query('input')\n input!: HTMLInputElement;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = DATE_PICKER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the label should be hidden.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Controls the invalid state and visibility of the `validityMessage`.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Date picker input kind.\n */\n @property({ reflect: true })\n kind = DATE_PICKER_INPUT_KIND.SIMPLE;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText!: string;\n\n /**\n * The `pattern` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n pattern!: string;\n\n /**\n * The placeholder text.\n */\n @property()\n placeholder!: string;\n\n /**\n * `true` if the value is required.\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 * Vertical size of this date picker input.\n */\n @property({ attribute: 'size', reflect: true })\n size = INPUT_SIZE.REGULAR;\n\n /**\n * Horizontal size of this date picker input.\n * Effective only when `kind` property is `DATE_PICKER_INPUT_KIND.SIMPLE`.\n */\n @property({ attribute: 'size-horizontal', reflect: true })\n sizeHorizontal = DATE_PICKER_INPUT_SIZE_HORIZONTAL.REGULAR;\n\n /**\n * The `type` attribute for the `<input>` in the shadow DOM.\n */\n @property()\n type!: string;\n\n /**\n * The validity message.\n * If present and non-empty, this date picker input shows the UI of its invalid state.\n */\n @property({ attribute: 'validity-message' })\n validityMessage = '';\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const constructor = this.constructor as typeof BXDatePickerInput;\n const {\n disabled,\n hideLabel,\n invalid,\n labelText,\n pattern = constructor.defaultPattern,\n placeholder,\n size,\n type = constructor.defaultType,\n value,\n _handleClickWrapper: handleClickWrapper,\n _handleInput: handleInput,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: disabled,\n });\n const inputClasses = classMap({\n [`${prefix}--date-picker__input`]: true,\n [`${prefix}--date-picker__input--${size}`]: size,\n });\n return html`\n <label for=\"input\" class=\"${labelClasses}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div\n class=\"${prefix}--date-picker-input__wrapper\"\n @click=\"${handleClickWrapper}\">\n <input\n id=\"input\"\n type=\"${type}\"\n class=\"${inputClasses}\"\n ?disabled=\"${disabled}\"\n pattern=\"${pattern}\"\n placeholder=\"${ifNonNull(placeholder)}\"\n .value=\"${ifNonNull(value)}\"\n ?data-invalid=\"${invalid}\"\n @input=\"${handleInput}\" />\n ${this._renderIcon()}\n </div>\n ${this._renderValidityMessage()}\n `;\n }\n\n /**\n * The default value for `pattern` property.\n */\n static defaultPattern = '\\\\d{1,2}\\\\/\\\\d{1,2}\\\\/\\\\d{4}';\n\n /**\n * The default value for `type` property.\n */\n static defaultType = 'text';\n\n /**\n * A selector that will return the parent date picker.\n */\n static get selectorParent() {\n return `${prefix}-date-picker`;\n }\n\n static styles = styles;\n}\n\nexport default BXDatePickerInput;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
*
|
|
4
|
-
* Copyright IBM Corp. 2019,
|
|
4
|
+
* Copyright IBM Corp. 2019, 2023
|
|
5
5
|
*
|
|
6
6
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -12,9 +12,7 @@ import { Locale as FlatpickrLocale } from 'flatpickr/dist/types/locale';
|
|
|
12
12
|
declare const BXDatePicker_base: {
|
|
13
13
|
new (...args: any[]): {
|
|
14
14
|
_handles: Set<import("../../globals/internal/handle").default>;
|
|
15
|
-
connectedCallback(): void;
|
|
16
|
-
* @returns The effective date picker mode, determined by the child `<bx-date-picker-input>`.
|
|
17
|
-
*/
|
|
15
|
+
connectedCallback(): void;
|
|
18
16
|
disconnectedCallback(): void;
|
|
19
17
|
accessKey: string;
|
|
20
18
|
readonly accessKeyLabel: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/date-picker/date-picker.ts"],"names":[],"mappings":"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","file":"date-picker.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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 { html, property, query, customElement, LitElement } from 'lit-element';\nimport flatpickr from 'flatpickr';\nimport { Instance as FlatpickrInstance } from 'flatpickr/dist/types/instance';\nimport { Locale as FlatpickrLocale } from 'flatpickr/dist/types/locale';\nimport {\n Options as FlatpickrOptions,\n Plugin as FlatpickrPlugin,\n} from 'flatpickr/dist/types/options';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { getISODateString, parseISODateString } from './iso-date';\nimport BXDatePickerInput from './date-picker-input';\nimport appendToPlugin from './append-to-plugin';\nimport cssClassPlugin from './css-class-plugin';\nimport fixEventsPlugin from './fix-events-plugin';\nimport focusPlugin from './focus-plugin';\nimport iconPlugin from './icon-plugin';\nimport monthSelectPlugin from './month-select-plugin';\nimport rangePlugin from './range-plugin';\nimport shadowDOMEventPlugin from './shadow-dom-events-plugin';\nimport stateHandshakePlugin from './state-handshake-plugin';\nimport styles from './date-picker.scss';\n\nconst { prefix } = settings;\n\n/**\n * Date picker modes.\n */\nenum DATE_PICKER_MODE {\n /**\n * Simple mode, without calendar dropdown.\n */\n SIMPLE = 'simple',\n\n /**\n * Single date mode.\n */\n SINGLE = 'single',\n\n /**\n * Range mode.\n */\n RANGE = 'range',\n}\n\n/**\n * Date picker.\n *\n * @element bx-date-picker\n * @fires bx-date-picker-changed - The custom event fired on this element when Flatpickr updates its value.\n */\n@customElement(`${prefix}-date-picker`)\nclass BXDatePicker extends HostListenerMixin(FormMixin(LitElement)) {\n /**\n * The slotted `<bx-date-input kind=\"from\">`.\n */\n private _dateInteractNode: BXDatePickerInput | null = null;\n\n /**\n * The element to put calendar dropdown in.\n */\n @query('#floating-menu-container')\n private _floatingMenuContainerNode!: HTMLDivElement;\n\n /**\n * The internal placeholder for the `value` property.\n */\n private _value!: string;\n\n /**\n * @returns The effective date picker mode, determined by the child `<bx-date-picker-input>`.\n */\n private get _mode() {\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n if (this.querySelector(selectorInputTo)) {\n return DATE_PICKER_MODE.RANGE;\n }\n if (this.querySelector(selectorInputFrom)) {\n return DATE_PICKER_MODE.SINGLE;\n }\n return DATE_PICKER_MODE.SIMPLE;\n }\n\n /**\n * @returns The Flatpickr plugins to use.\n */\n private get _datePickerPlugins(): FlatpickrPlugin[] {\n const {\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorInputFrom,\n selectorInputTo,\n _selectorFlatpickrMonthYearContainer: selectorFlatpickrMonthYearContainer,\n _selectorFlatpickrYearContainer: selectorFlatpickrYearContainer,\n _selectorFlatpickrCurrentMonth: selectorFlatpickrCurrentMonth,\n _selectorFlatpickrMonth: selectorFlatpickrMonth,\n _selectorFlatpickrWeekdays: selectorFlatpickrWeekdays,\n _selectorFlatpickrDays: selectorFlatpickrDays,\n _selectorFlatpickrWeekday: selectorFlatpickrWeekday,\n _selectorFlatpickrDay: selectorFlatpickrDay,\n _classFlatpickrCurrentMonth: classFlatpickrCurrentMonth,\n _classFlatpickrToday: classFlatpickrToday,\n } = this.constructor as typeof BXDatePicker;\n const {\n _floatingMenuContainerNode: floatingMenuContainerNode,\n _mode: mode,\n } = this;\n const inputFrom = this.querySelector(selectorInputFrom);\n const inputTo = this.querySelector(selectorInputTo);\n const plugins = [\n appendToPlugin({ appendTo: floatingMenuContainerNode }),\n cssClassPlugin({\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorFlatpickrMonth,\n selectorFlatpickrWeekdays,\n selectorFlatpickrDays,\n selectorFlatpickrWeekday,\n selectorFlatpickrDay,\n classFlatpickrToday,\n }),\n fixEventsPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n focusPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n iconPlugin(),\n monthSelectPlugin({\n selectorFlatpickrMonthYearContainer,\n selectorFlatpickrYearContainer,\n selectorFlatpickrCurrentMonth,\n classFlatpickrCurrentMonth,\n }),\n shadowDOMEventPlugin(),\n stateHandshakePlugin(this),\n ];\n if (mode === DATE_PICKER_MODE.RANGE) {\n // Flatpickr runs event handlers of last registered plugins first.\n // Ensures `onValueUpdate` of `rangePlugin` runs first\n // given Flatpickr puts `01/01/1970 to 01/02/1970` to from date\n // where `rangePlugin` overrides it to separate them to from/to dates.\n // We want to ensure our handler of `onValueUpdate` (notably one in `<bx-date-picker-input>`)\n // gets the `<input>` value set by `rangePlugin` instead of Flatpickr core.\n plugins.push(rangePlugin({ input: inputTo as HTMLInputElement }));\n }\n return plugins;\n }\n\n /**\n * @returns The options to instantiate Flatpickr with.\n */\n private get _datePickerOptions(): FlatpickrOptions {\n const {\n locale = (this.constructor as typeof BXDatePicker).defaultLocale,\n enabledRange,\n _dateInteractNode: dateInteractNode,\n _datePickerPlugins: plugins,\n _handleFlatpickrError: handleFlatpickrError,\n } = this;\n // We use `<bx-date-picker-input>` to communicate values/events with Flatpickr,\n // but want to use `<input>` in shadow DOM to base the calendar dropdown's position on\n const { input: positionElement } = dateInteractNode!;\n const [minDate = undefined, maxDate = undefined] = !enabledRange\n ? []\n : enabledRange.split('/');\n return {\n allowInput: true,\n dateFormat:\n this.dateFormat ??\n (this.constructor as typeof BXDatePicker).defaultDateFormat,\n disableMobile: true,\n errorHandler: handleFlatpickrError,\n locale,\n maxDate,\n minDate,\n positionElement,\n plugins,\n };\n }\n\n /**\n * Handles `${prefix}-date-picker-changed` event on this element.\n */\n @HostListener('eventChange')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChange = ({ detail }: CustomEvent) => {\n this._value = detail.selectedDates\n .map((date) => getISODateString(date))\n .join('/');\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 * Handles `slotchange` event in the `<slot>`.\n */\n private _handleSlotChange({ target }: Event) {\n const { _dateInteractNode: oldDateInteractNode } = this;\n const dateInteractNode = (target as HTMLSlotElement)\n .assignedNodes()\n .find(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as HTMLElement).matches(\n (this.constructor as typeof BXDatePicker).selectorInputFrom\n )\n );\n if (oldDateInteractNode !== dateInteractNode) {\n this._dateInteractNode = dateInteractNode as BXDatePickerInput;\n this._instantiateDatePicker();\n }\n }\n\n /**\n * Fires a custom event to notify an error in Flatpickr.\n */\n private _handleFlatpickrError = (error: Error) => {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXDatePicker).eventFlatpickrError,\n {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {\n error,\n },\n }\n )\n );\n };\n\n /**\n * Instantiates Flatpickr.\n *\n * @returns The Flatpickr instance.\n */\n private _instantiateDatePicker() {\n this._releaseDatePicker();\n const { _dateInteractNode: dateInteractNode } = this;\n // `this._dateInteractNode` won't be there unless there is a slotted `<bx-date-input type=\"from\">`,\n // which means Flatpickr will never be instantiated in \"simple\" mode.\n if (dateInteractNode && dateInteractNode.input) {\n this.calendar = flatpickr(\n dateInteractNode as any,\n this._datePickerOptions\n );\n }\n return this.calendar;\n }\n\n /**\n * Releases Flatpickr instances.\n */\n private _releaseDatePicker() {\n if (this.calendar) {\n this.calendar.destroy();\n this.calendar = null;\n }\n return this.calendar;\n }\n\n /**\n * The Flatpickr instance.\n */\n calendar: FlatpickrInstance | null = null;\n\n /**\n * The date format to let Flatpickr use.\n */\n @property({ attribute: 'date-format' })\n dateFormat!: string;\n\n /**\n * Controls the disabled state of the input\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The localization data.\n */\n @property({ attribute: false })\n locale!: FlatpickrLocale;\n\n /**\n * The date range that a user can pick in calendar dropdown.\n */\n @property({ attribute: 'enabled-range' })\n enabledRange!: string;\n\n /**\n * Name for the input in the `FormData`\n */\n @property()\n name = '';\n\n /**\n * `true` if the date picker should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * The date(s) in ISO8601 format (date portion only), for range mode, '/' is used for separate start/end dates.\n */\n @property()\n get value() {\n return this._value;\n }\n\n set value(value: string) {\n const { _value: oldValue } = this;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._instantiateDatePicker();\n }\n\n disconnectedCallback() {\n this._releaseDatePicker();\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { calendar, disabled, open } = this;\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n const inputFrom = this.querySelector(\n selectorInputFrom\n ) as BXDatePickerInput;\n const inputTo = this.querySelector(selectorInputTo) as BXDatePickerInput;\n if (calendar && changedProperties.has('dateFormat')) {\n const { dateFormat } = this;\n calendar.set({ dateFormat });\n }\n if (changedProperties.has('enabledRange')) {\n const { enabledRange } = this;\n const dates = enabledRange\n .split('/')\n .map((item) => (!item ? undefined : parseISODateString(item))); // Allows empty start/end\n if (dates.some((item) => Boolean(item && isNaN(Number(item))))) {\n // Allows empty start/end\n throw new Error(\n `Wrong date format found in \\`enabledRange\\` property: ${enabledRange}`\n );\n }\n const [minDate, maxDate] = dates;\n if (minDate && maxDate && minDate > maxDate) {\n throw new Error(\n `In \\`enabledRange\\` property, the end date shouldn't be smaller than the start date. You have: ${enabledRange}`\n );\n }\n if (calendar) {\n calendar.set({ minDate, maxDate });\n }\n }\n if (changedProperties.has('open') && calendar) {\n if (open) {\n calendar.open();\n } else {\n calendar.close();\n }\n }\n if (changedProperties.has('disabled')) {\n [inputFrom, inputTo].forEach((input) => {\n if (input) {\n input.disabled = disabled;\n }\n });\n }\n if (changedProperties.has('value')) {\n const { value } = this;\n const dates = value\n .split('/')\n .filter(Boolean)\n .map((item) => parseISODateString(item));\n if (dates.some((item) => isNaN(Number(item)))) {\n throw new Error(\n `Wrong date format found in \\`value\\` property: ${value}`\n );\n }\n const [startDate, endDate] = dates;\n if (startDate && endDate && startDate > endDate) {\n throw new Error(\n `In \\`value\\` property, the end date shouldn't be smaller than the start date. You have: ${value}`\n );\n }\n if (calendar) {\n calendar.setDate(dates);\n [inputFrom, inputTo].forEach((input, i) => {\n if (input) {\n input.value = !dates[i]\n ? ''\n : calendar.formatDate(\n new Date(dates[i]),\n calendar.config.dateFormat\n );\n }\n });\n }\n }\n }\n\n render() {\n const { _handleSlotChange: handleSlotChange } = this;\n return html`\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n <div id=\"floating-menu-container\"></div>\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n /**\n * The CSS selector for Flatpickr's month/year portion.\n */\n private static _selectorFlatpickrMonthYearContainer =\n '.flatpickr-current-month';\n\n /**\n * The CSS selector for Flatpickr's year portion.\n */\n private static _selectorFlatpickrYearContainer = '.numInputWrapper';\n\n /**\n * The CSS selector for the inner element of Flatpickr's month portion.\n */\n private static _selectorFlatpickrCurrentMonth = '.cur-month';\n\n /**\n * The CSS selector for Flatpickr's month navigator.\n */\n private static _selectorFlatpickrMonth = '.flatpickr-month';\n\n /**\n * The CSS selector for Flatpickr's container of the weekdays.\n */\n private static _selectorFlatpickrWeekdays = '.flatpickr-weekdays';\n\n /**\n * The CSS selector for Flatpickr's container of the days.\n */\n private static _selectorFlatpickrDays = '.flatpickr-days';\n\n /**\n * The CSS selector applied to Flatpickr's each weekdays.\n */\n private static _selectorFlatpickrWeekday = '.flatpickr-weekday';\n\n /**\n * The CSS selector applied to Flatpickr's each days.\n */\n private static _selectorFlatpickrDay = '.flatpickr-day';\n\n /**\n * The CSS class for the inner element of Flatpickr's month portion.\n */\n private static _classFlatpickrCurrentMonth = 'cur-month';\n\n /**\n * The CSS class applied to Flatpickr's \"today\" highlight.\n */\n private static _classFlatpickrToday = 'today';\n\n /**\n * The CSS class for the calendar dropdown.\n */\n static get classCalendarContainer() {\n return `${prefix}--date-picker__calendar`;\n }\n\n /**\n * The CSS class for the month navigator.\n */\n static get classMonth() {\n return `${prefix}--date-picker__month`;\n }\n\n /**\n * The CSS class for the container of the weekdays.\n */\n static get classWeekdays() {\n return `${prefix}--date-picker__weekdays`;\n }\n\n /**\n * The CSS class for the container of the days.\n */\n static get classDays() {\n return `${prefix}--date-picker__days`;\n }\n\n /**\n * The CSS class applied to each weekdays.\n */\n static get classWeekday() {\n return `${prefix}--date-picker__weekday`;\n }\n\n /**\n * The CSS class applied to each days.\n */\n static get classDay() {\n return `${prefix}--date-picker__day`;\n }\n\n /**\n * The CSS class applied to the \"today\" highlight if there are any dates selected.\n */\n static classNoBorder = 'no-border';\n\n /**\n * The default date format.\n */\n static defaultDateFormat = 'm/d/Y';\n\n /**\n * The default localization data.\n */\n static defaultLocale = flatpickr.l10ns.default;\n\n /**\n * A selector that will return the `<input>` to enter starting date.\n */\n static get selectorInputFrom() {\n return `${prefix}-date-picker-input[kind=\"single\"],${prefix}-date-picker-input[kind=\"from\"]`;\n }\n\n /**\n * A selector that will return the `<input>` to enter end date.\n */\n static get selectorInputTo() {\n return `${prefix}-date-picker-input[kind=\"to\"]`;\n }\n\n /**\n * The name of the custom event when Flatpickr throws an error.\n */\n static get eventFlatpickrError() {\n return `${prefix}-date-picker-flatpickr-error`;\n }\n\n /**\n * The name of the custom event fired on this element when Flatpickr updates its value.\n */\n static get eventChange() {\n return `${prefix}-date-picker-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXDatePicker;\n"]}
|
|
1
|
+
{"version":3,"sources":["components/date-picker/date-picker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAyB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CxE;;;;;GAKG;AACH,cACM,YAAa,SAAQ,iBAAwC;IACjE;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAkC;IAE3D;;OAEG;IAEH,OAAO,CAAC,0BAA0B,CAAkB;IAEpD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAU;IAExB;;OAEG;IACH,OAAO,KAAK,KAAK,GAUhB;IAED;;OAEG;IACH,OAAO,KAAK,kBAAkB,GAyE7B;IAED;;OAEG;IACH,OAAO,KAAK,kBAAkB,GA2B7B;IAED;;OAEG;IAGH,OAAO,CAAC,aAAa,CAInB;IAEF,eAAe,CAAC,KAAK,EAAE,KAAK;IAQ5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAc3B;IAEF;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE1C;;OAEG;IAEH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,MAAM,EAAG,eAAe,CAAC;IAEzB;;OAEG;IAEH,YAAY,EAAG,MAAM,CAAC;IAEtB;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,IAAI,UAAS;IAEb;;OAEG;IACH,IACI,KAAK,IAIQ,MAAM,CAFtB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAItB;IAED,iBAAiB;IAKjB,oBAAoB;IAKpB,OAAO,CAAC,iBAAiB,KAAA;IAgFzB,MAAM;IAgBN;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oCAAoC,CACtB;IAE7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAsB;IAEpE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAAgB;IAE7D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAsB;IAE5D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAyB;IAElE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAqB;IAE1D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAwB;IAEhE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAoB;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAe;IAEzD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAW;IAE9C;;OAEG;IACH,MAAM,KAAK,sBAAsB,WAEhC;IAED;;OAEG;IACH,MAAM,KAAK,UAAU,WAEpB;IAED;;OAEG;IACH,MAAM,KAAK,aAAa,WAEvB;IAED;;OAEG;IACH,MAAM,KAAK,SAAS,WAEnB;IAED;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED;;OAEG;IACH,MAAM,KAAK,QAAQ,WAElB;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,SAAe;IAEnC;;OAEG;IACH,MAAM,CAAC,iBAAiB,SAAW;IAEnC;;OAEG;IACH,MAAM,CAAC,aAAa,uEAA2B;IAE/C;;OAEG;IACH,MAAM,KAAK,iBAAiB,WAE3B;IAED;;OAEG;IACH,MAAM,KAAK,eAAe,WAEzB;IAED;;OAEG;IACH,MAAM,KAAK,mBAAmB,WAE7B;IAED;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,YAAY,CAAC","file":"date-picker.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 { html, property, query, LitElement } from 'lit-element';\nimport flatpickr from 'flatpickr';\nimport { Instance as FlatpickrInstance } from 'flatpickr/dist/types/instance';\nimport { Locale as FlatpickrLocale } from 'flatpickr/dist/types/locale';\nimport {\n Options as FlatpickrOptions,\n Plugin as FlatpickrPlugin,\n} from 'flatpickr/dist/types/options';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { getISODateString, parseISODateString } from './iso-date';\nimport BXDatePickerInput from './date-picker-input';\nimport appendToPlugin from './append-to-plugin';\nimport cssClassPlugin from './css-class-plugin';\nimport fixEventsPlugin from './fix-events-plugin';\nimport focusPlugin from './focus-plugin';\nimport iconPlugin from './icon-plugin';\nimport monthSelectPlugin from './month-select-plugin';\nimport rangePlugin from './range-plugin';\nimport shadowDOMEventPlugin from './shadow-dom-events-plugin';\nimport stateHandshakePlugin from './state-handshake-plugin';\nimport styles from './date-picker.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Date picker modes.\n */\nenum DATE_PICKER_MODE {\n /**\n * Simple mode, without calendar dropdown.\n */\n SIMPLE = 'simple',\n\n /**\n * Single date mode.\n */\n SINGLE = 'single',\n\n /**\n * Range mode.\n */\n RANGE = 'range',\n}\n\n/**\n * Date picker.\n *\n * @element bx-date-picker\n * @fires bx-date-picker-changed - The custom event fired on this element when Flatpickr updates its value.\n */\n@customElement(`${prefix}-date-picker`)\nclass BXDatePicker extends HostListenerMixin(FormMixin(LitElement)) {\n /**\n * The slotted `<bx-date-input kind=\"from\">`.\n */\n private _dateInteractNode: BXDatePickerInput | null = null;\n\n /**\n * The element to put calendar dropdown in.\n */\n @query('#floating-menu-container')\n private _floatingMenuContainerNode!: HTMLDivElement;\n\n /**\n * The internal placeholder for the `value` property.\n */\n private _value!: string;\n\n /**\n * @returns The effective date picker mode, determined by the child `<bx-date-picker-input>`.\n */\n private get _mode() {\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n if (this.querySelector(selectorInputTo)) {\n return DATE_PICKER_MODE.RANGE;\n }\n if (this.querySelector(selectorInputFrom)) {\n return DATE_PICKER_MODE.SINGLE;\n }\n return DATE_PICKER_MODE.SIMPLE;\n }\n\n /**\n * @returns The Flatpickr plugins to use.\n */\n private get _datePickerPlugins(): FlatpickrPlugin[] {\n const {\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorInputFrom,\n selectorInputTo,\n _selectorFlatpickrMonthYearContainer: selectorFlatpickrMonthYearContainer,\n _selectorFlatpickrYearContainer: selectorFlatpickrYearContainer,\n _selectorFlatpickrCurrentMonth: selectorFlatpickrCurrentMonth,\n _selectorFlatpickrMonth: selectorFlatpickrMonth,\n _selectorFlatpickrWeekdays: selectorFlatpickrWeekdays,\n _selectorFlatpickrDays: selectorFlatpickrDays,\n _selectorFlatpickrWeekday: selectorFlatpickrWeekday,\n _selectorFlatpickrDay: selectorFlatpickrDay,\n _classFlatpickrCurrentMonth: classFlatpickrCurrentMonth,\n _classFlatpickrToday: classFlatpickrToday,\n } = this.constructor as typeof BXDatePicker;\n const {\n _floatingMenuContainerNode: floatingMenuContainerNode,\n _mode: mode,\n } = this;\n const inputFrom = this.querySelector(selectorInputFrom);\n const inputTo = this.querySelector(selectorInputTo);\n const plugins = [\n appendToPlugin({ appendTo: floatingMenuContainerNode }),\n cssClassPlugin({\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorFlatpickrMonth,\n selectorFlatpickrWeekdays,\n selectorFlatpickrDays,\n selectorFlatpickrWeekday,\n selectorFlatpickrDay,\n classFlatpickrToday,\n }),\n fixEventsPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n focusPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n iconPlugin(),\n monthSelectPlugin({\n selectorFlatpickrMonthYearContainer,\n selectorFlatpickrYearContainer,\n selectorFlatpickrCurrentMonth,\n classFlatpickrCurrentMonth,\n }),\n shadowDOMEventPlugin(),\n stateHandshakePlugin(this),\n ];\n if (mode === DATE_PICKER_MODE.RANGE) {\n // Flatpickr runs event handlers of last registered plugins first.\n // Ensures `onValueUpdate` of `rangePlugin` runs first\n // given Flatpickr puts `01/01/1970 to 01/02/1970` to from date\n // where `rangePlugin` overrides it to separate them to from/to dates.\n // We want to ensure our handler of `onValueUpdate` (notably one in `<bx-date-picker-input>`)\n // gets the `<input>` value set by `rangePlugin` instead of Flatpickr core.\n plugins.push(rangePlugin({ input: inputTo as HTMLInputElement }));\n }\n return plugins;\n }\n\n /**\n * @returns The options to instantiate Flatpickr with.\n */\n private get _datePickerOptions(): FlatpickrOptions {\n const {\n locale = (this.constructor as typeof BXDatePicker).defaultLocale,\n enabledRange,\n _dateInteractNode: dateInteractNode,\n _datePickerPlugins: plugins,\n _handleFlatpickrError: handleFlatpickrError,\n } = this;\n // We use `<bx-date-picker-input>` to communicate values/events with Flatpickr,\n // but want to use `<input>` in shadow DOM to base the calendar dropdown's position on\n const { input: positionElement } = dateInteractNode!;\n const [minDate = undefined, maxDate = undefined] = !enabledRange\n ? []\n : enabledRange.split('/');\n return {\n allowInput: true,\n dateFormat:\n this.dateFormat ??\n (this.constructor as typeof BXDatePicker).defaultDateFormat,\n disableMobile: true,\n errorHandler: handleFlatpickrError,\n locale,\n maxDate,\n minDate,\n positionElement,\n plugins,\n };\n }\n\n /**\n * Handles `${prefix}-date-picker-changed` event on this element.\n */\n @HostListener('eventChange')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChange = ({ detail }: CustomEvent) => {\n this._value = detail.selectedDates\n .map((date) => getISODateString(date))\n .join('/');\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 * Handles `slotchange` event in the `<slot>`.\n */\n private _handleSlotChange({ target }: Event) {\n const { _dateInteractNode: oldDateInteractNode } = this;\n const dateInteractNode = (target as HTMLSlotElement)\n .assignedNodes()\n .find(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as HTMLElement).matches(\n (this.constructor as typeof BXDatePicker).selectorInputFrom\n )\n );\n if (oldDateInteractNode !== dateInteractNode) {\n this._dateInteractNode = dateInteractNode as BXDatePickerInput;\n this._instantiateDatePicker();\n }\n }\n\n /**\n * Fires a custom event to notify an error in Flatpickr.\n */\n private _handleFlatpickrError = (error: Error) => {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXDatePicker).eventFlatpickrError,\n {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {\n error,\n },\n }\n )\n );\n };\n\n /**\n * Instantiates Flatpickr.\n *\n * @returns The Flatpickr instance.\n */\n private _instantiateDatePicker() {\n this._releaseDatePicker();\n const { _dateInteractNode: dateInteractNode } = this;\n // `this._dateInteractNode` won't be there unless there is a slotted `<bx-date-input type=\"from\">`,\n // which means Flatpickr will never be instantiated in \"simple\" mode.\n if (dateInteractNode && dateInteractNode.input) {\n this.calendar = flatpickr(\n dateInteractNode as any,\n this._datePickerOptions\n );\n }\n return this.calendar;\n }\n\n /**\n * Releases Flatpickr instances.\n */\n private _releaseDatePicker() {\n if (this.calendar) {\n this.calendar.destroy();\n this.calendar = null;\n }\n return this.calendar;\n }\n\n /**\n * The Flatpickr instance.\n */\n calendar: FlatpickrInstance | null = null;\n\n /**\n * The date format to let Flatpickr use.\n */\n @property({ attribute: 'date-format' })\n dateFormat!: string;\n\n /**\n * Controls the disabled state of the input\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The localization data.\n */\n @property({ attribute: false })\n locale!: FlatpickrLocale;\n\n /**\n * The date range that a user can pick in calendar dropdown.\n */\n @property({ attribute: 'enabled-range' })\n enabledRange!: string;\n\n /**\n * Name for the input in the `FormData`\n */\n @property()\n name = '';\n\n /**\n * `true` if the date picker should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * The date(s) in ISO8601 format (date portion only), for range mode, '/' is used for separate start/end dates.\n */\n @property()\n get value() {\n return this._value;\n }\n\n set value(value: string) {\n const { _value: oldValue } = this;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._instantiateDatePicker();\n }\n\n disconnectedCallback() {\n this._releaseDatePicker();\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { calendar, disabled, open } = this;\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n const inputFrom = this.querySelector(\n selectorInputFrom\n ) as BXDatePickerInput;\n const inputTo = this.querySelector(selectorInputTo) as BXDatePickerInput;\n if (calendar && changedProperties.has('dateFormat')) {\n const { dateFormat } = this;\n calendar.set({ dateFormat });\n }\n if (changedProperties.has('enabledRange')) {\n const { enabledRange } = this;\n const dates = enabledRange\n .split('/')\n .map((item) => (!item ? undefined : parseISODateString(item))); // Allows empty start/end\n if (dates.some((item) => Boolean(item && isNaN(Number(item))))) {\n // Allows empty start/end\n throw new Error(\n `Wrong date format found in \\`enabledRange\\` property: ${enabledRange}`\n );\n }\n const [minDate, maxDate] = dates;\n if (minDate && maxDate && minDate > maxDate) {\n throw new Error(\n `In \\`enabledRange\\` property, the end date shouldn't be smaller than the start date. You have: ${enabledRange}`\n );\n }\n if (calendar) {\n calendar.set({ minDate, maxDate });\n }\n }\n if (changedProperties.has('open') && calendar) {\n if (open) {\n calendar.open();\n } else {\n calendar.close();\n }\n }\n if (changedProperties.has('disabled')) {\n [inputFrom, inputTo].forEach((input) => {\n if (input) {\n input.disabled = disabled;\n }\n });\n }\n if (changedProperties.has('value')) {\n const { value } = this;\n const dates = value\n .split('/')\n .filter(Boolean)\n .map((item) => parseISODateString(item));\n if (dates.some((item) => isNaN(Number(item)))) {\n throw new Error(\n `Wrong date format found in \\`value\\` property: ${value}`\n );\n }\n const [startDate, endDate] = dates;\n if (startDate && endDate && startDate > endDate) {\n throw new Error(\n `In \\`value\\` property, the end date shouldn't be smaller than the start date. You have: ${value}`\n );\n }\n if (calendar) {\n calendar.setDate(dates);\n [inputFrom, inputTo].forEach((input, i) => {\n if (input) {\n input.value = !dates[i]\n ? ''\n : calendar.formatDate(\n new Date(dates[i]),\n calendar.config.dateFormat\n );\n }\n });\n }\n }\n }\n\n render() {\n const { _handleSlotChange: handleSlotChange } = this;\n return html`\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n <div id=\"floating-menu-container\"></div>\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n /**\n * The CSS selector for Flatpickr's month/year portion.\n */\n private static _selectorFlatpickrMonthYearContainer =\n '.flatpickr-current-month';\n\n /**\n * The CSS selector for Flatpickr's year portion.\n */\n private static _selectorFlatpickrYearContainer = '.numInputWrapper';\n\n /**\n * The CSS selector for the inner element of Flatpickr's month portion.\n */\n private static _selectorFlatpickrCurrentMonth = '.cur-month';\n\n /**\n * The CSS selector for Flatpickr's month navigator.\n */\n private static _selectorFlatpickrMonth = '.flatpickr-month';\n\n /**\n * The CSS selector for Flatpickr's container of the weekdays.\n */\n private static _selectorFlatpickrWeekdays = '.flatpickr-weekdays';\n\n /**\n * The CSS selector for Flatpickr's container of the days.\n */\n private static _selectorFlatpickrDays = '.flatpickr-days';\n\n /**\n * The CSS selector applied to Flatpickr's each weekdays.\n */\n private static _selectorFlatpickrWeekday = '.flatpickr-weekday';\n\n /**\n * The CSS selector applied to Flatpickr's each days.\n */\n private static _selectorFlatpickrDay = '.flatpickr-day';\n\n /**\n * The CSS class for the inner element of Flatpickr's month portion.\n */\n private static _classFlatpickrCurrentMonth = 'cur-month';\n\n /**\n * The CSS class applied to Flatpickr's \"today\" highlight.\n */\n private static _classFlatpickrToday = 'today';\n\n /**\n * The CSS class for the calendar dropdown.\n */\n static get classCalendarContainer() {\n return `${prefix}--date-picker__calendar`;\n }\n\n /**\n * The CSS class for the month navigator.\n */\n static get classMonth() {\n return `${prefix}--date-picker__month`;\n }\n\n /**\n * The CSS class for the container of the weekdays.\n */\n static get classWeekdays() {\n return `${prefix}--date-picker__weekdays`;\n }\n\n /**\n * The CSS class for the container of the days.\n */\n static get classDays() {\n return `${prefix}--date-picker__days`;\n }\n\n /**\n * The CSS class applied to each weekdays.\n */\n static get classWeekday() {\n return `${prefix}--date-picker__weekday`;\n }\n\n /**\n * The CSS class applied to each days.\n */\n static get classDay() {\n return `${prefix}--date-picker__day`;\n }\n\n /**\n * The CSS class applied to the \"today\" highlight if there are any dates selected.\n */\n static classNoBorder = 'no-border';\n\n /**\n * The default date format.\n */\n static defaultDateFormat = 'm/d/Y';\n\n /**\n * The default localization data.\n */\n static defaultLocale = flatpickr.l10ns.default;\n\n /**\n * A selector that will return the `<input>` to enter starting date.\n */\n static get selectorInputFrom() {\n return `${prefix}-date-picker-input[kind=\"single\"],${prefix}-date-picker-input[kind=\"from\"]`;\n }\n\n /**\n * A selector that will return the `<input>` to enter end date.\n */\n static get selectorInputTo() {\n return `${prefix}-date-picker-input[kind=\"to\"]`;\n }\n\n /**\n * The name of the custom event when Flatpickr throws an error.\n */\n static get eventFlatpickrError() {\n return `${prefix}-date-picker-flatpickr-error`;\n }\n\n /**\n * The name of the custom event fired on this element when Flatpickr updates its value.\n */\n static get eventChange() {\n return `${prefix}-date-picker-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXDatePicker;\n"]}
|
|
@@ -6,13 +6,13 @@ let _ = t => t,
|
|
|
6
6
|
/**
|
|
7
7
|
* @license
|
|
8
8
|
*
|
|
9
|
-
* Copyright IBM Corp. 2019,
|
|
9
|
+
* Copyright IBM Corp. 2019, 2023
|
|
10
10
|
*
|
|
11
11
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
12
12
|
* LICENSE file in the root directory of this source tree.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { html, property, query,
|
|
15
|
+
import { html, property, query, LitElement } from 'lit-element';
|
|
16
16
|
import flatpickr from 'flatpickr';
|
|
17
17
|
import settings from 'carbon-components/es/globals/js/settings';
|
|
18
18
|
import FormMixin from '../../globals/mixins/form';
|
|
@@ -29,6 +29,7 @@ import rangePlugin from './range-plugin';
|
|
|
29
29
|
import shadowDOMEventPlugin from './shadow-dom-events-plugin';
|
|
30
30
|
import stateHandshakePlugin from './state-handshake-plugin';
|
|
31
31
|
import styles from "././date-picker.css.js";
|
|
32
|
+
import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
|
|
32
33
|
const {
|
|
33
34
|
prefix
|
|
34
35
|
} = settings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","names":["html","property","query","customElement","LitElement","flatpickr","settings","FormMixin","HostListenerMixin","HostListener","getISODateString","parseISODateString","appendToPlugin","cssClassPlugin","fixEventsPlugin","focusPlugin","iconPlugin","monthSelectPlugin","rangePlugin","shadowDOMEventPlugin","stateHandshakePlugin","styles","prefix","DATE_PICKER_MODE","BXDatePicker","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","_mode","selectorInputFrom","selectorInputTo","querySelector","RANGE","SINGLE","SIMPLE","_datePickerPlugins","classCalendarContainer","classMonth","classWeekdays","classDays","classWeekday","classDay","classNoBorder","_selectorFlatpickrMonthYearContainer","selectorFlatpickrMonthYearContainer","_selectorFlatpickrYearContainer","selectorFlatpickrYearContainer","_selectorFlatpickrCurrentMonth","selectorFlatpickrCurrentMonth","_selectorFlatpickrMonth","selectorFlatpickrMonth","_selectorFlatpickrWeekdays","selectorFlatpickrWeekdays","_selectorFlatpickrDays","selectorFlatpickrDays","_selectorFlatpickrWeekday","selectorFlatpickrWeekday","_selectorFlatpickrDay","selectorFlatpickrDay","_classFlatpickrCurrentMonth","classFlatpickrCurrentMonth","_classFlatpickrToday","classFlatpickrToday","_floatingMenuContainerNode","floatingMenuContainerNode","mode","inputFrom","inputTo","plugins","appendTo","push","input","_datePickerOptions","_this$dateFormat","locale","defaultLocale","enabledRange","_dateInteractNode","dateInteractNode","_handleFlatpickrError","handleFlatpickrError","positionElement","minDate","undefined","maxDate","split","allowInput","dateFormat","defaultDateFormat","disableMobile","errorHandler","detail","_value","selectedDates","map","date","join","_handleFormdata","event","formData","disabled","name","append","_handleSlotChange","target","oldDateInteractNode","assignedNodes","find","node","nodeType","Node","ELEMENT_NODE","matches","_instantiateDatePicker","error","dispatchEvent","CustomEvent","eventFlatpickrError","bubbles","cancelable","composed","_releaseDatePicker","calendar","destroy","attribute","type","Boolean","reflect","oldValue","requestUpdate","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","updated","changedProperties","open","has","set","dates","item","some","isNaN","Number","Error","close","forEach","filter","startDate","endDate","setDate","i","formatDate","Date","config","render","handleSlotChange","_t","_","static","l10ns","default","eventChange"],"sources":["components/date-picker/date-picker.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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 { html, property, query, customElement, LitElement } from 'lit-element';\nimport flatpickr from 'flatpickr';\nimport { Instance as FlatpickrInstance } from 'flatpickr/dist/types/instance';\nimport { Locale as FlatpickrLocale } from 'flatpickr/dist/types/locale';\nimport {\n Options as FlatpickrOptions,\n Plugin as FlatpickrPlugin,\n} from 'flatpickr/dist/types/options';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { getISODateString, parseISODateString } from './iso-date';\nimport BXDatePickerInput from './date-picker-input';\nimport appendToPlugin from './append-to-plugin';\nimport cssClassPlugin from './css-class-plugin';\nimport fixEventsPlugin from './fix-events-plugin';\nimport focusPlugin from './focus-plugin';\nimport iconPlugin from './icon-plugin';\nimport monthSelectPlugin from './month-select-plugin';\nimport rangePlugin from './range-plugin';\nimport shadowDOMEventPlugin from './shadow-dom-events-plugin';\nimport stateHandshakePlugin from './state-handshake-plugin';\nimport styles from './date-picker.scss';\n\nconst { prefix } = settings;\n\n/**\n * Date picker modes.\n */\nenum DATE_PICKER_MODE {\n /**\n * Simple mode, without calendar dropdown.\n */\n SIMPLE = 'simple',\n\n /**\n * Single date mode.\n */\n SINGLE = 'single',\n\n /**\n * Range mode.\n */\n RANGE = 'range',\n}\n\n/**\n * Date picker.\n *\n * @element bx-date-picker\n * @fires bx-date-picker-changed - The custom event fired on this element when Flatpickr updates its value.\n */\n@customElement(`${prefix}-date-picker`)\nclass BXDatePicker extends HostListenerMixin(FormMixin(LitElement)) {\n /**\n * The slotted `<bx-date-input kind=\"from\">`.\n */\n private _dateInteractNode: BXDatePickerInput | null = null;\n\n /**\n * The element to put calendar dropdown in.\n */\n @query('#floating-menu-container')\n private _floatingMenuContainerNode!: HTMLDivElement;\n\n /**\n * The internal placeholder for the `value` property.\n */\n private _value!: string;\n\n /**\n * @returns The effective date picker mode, determined by the child `<bx-date-picker-input>`.\n */\n private get _mode() {\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n if (this.querySelector(selectorInputTo)) {\n return DATE_PICKER_MODE.RANGE;\n }\n if (this.querySelector(selectorInputFrom)) {\n return DATE_PICKER_MODE.SINGLE;\n }\n return DATE_PICKER_MODE.SIMPLE;\n }\n\n /**\n * @returns The Flatpickr plugins to use.\n */\n private get _datePickerPlugins(): FlatpickrPlugin[] {\n const {\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorInputFrom,\n selectorInputTo,\n _selectorFlatpickrMonthYearContainer: selectorFlatpickrMonthYearContainer,\n _selectorFlatpickrYearContainer: selectorFlatpickrYearContainer,\n _selectorFlatpickrCurrentMonth: selectorFlatpickrCurrentMonth,\n _selectorFlatpickrMonth: selectorFlatpickrMonth,\n _selectorFlatpickrWeekdays: selectorFlatpickrWeekdays,\n _selectorFlatpickrDays: selectorFlatpickrDays,\n _selectorFlatpickrWeekday: selectorFlatpickrWeekday,\n _selectorFlatpickrDay: selectorFlatpickrDay,\n _classFlatpickrCurrentMonth: classFlatpickrCurrentMonth,\n _classFlatpickrToday: classFlatpickrToday,\n } = this.constructor as typeof BXDatePicker;\n const {\n _floatingMenuContainerNode: floatingMenuContainerNode,\n _mode: mode,\n } = this;\n const inputFrom = this.querySelector(selectorInputFrom);\n const inputTo = this.querySelector(selectorInputTo);\n const plugins = [\n appendToPlugin({ appendTo: floatingMenuContainerNode }),\n cssClassPlugin({\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorFlatpickrMonth,\n selectorFlatpickrWeekdays,\n selectorFlatpickrDays,\n selectorFlatpickrWeekday,\n selectorFlatpickrDay,\n classFlatpickrToday,\n }),\n fixEventsPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n focusPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n iconPlugin(),\n monthSelectPlugin({\n selectorFlatpickrMonthYearContainer,\n selectorFlatpickrYearContainer,\n selectorFlatpickrCurrentMonth,\n classFlatpickrCurrentMonth,\n }),\n shadowDOMEventPlugin(),\n stateHandshakePlugin(this),\n ];\n if (mode === DATE_PICKER_MODE.RANGE) {\n // Flatpickr runs event handlers of last registered plugins first.\n // Ensures `onValueUpdate` of `rangePlugin` runs first\n // given Flatpickr puts `01/01/1970 to 01/02/1970` to from date\n // where `rangePlugin` overrides it to separate them to from/to dates.\n // We want to ensure our handler of `onValueUpdate` (notably one in `<bx-date-picker-input>`)\n // gets the `<input>` value set by `rangePlugin` instead of Flatpickr core.\n plugins.push(rangePlugin({ input: inputTo as HTMLInputElement }));\n }\n return plugins;\n }\n\n /**\n * @returns The options to instantiate Flatpickr with.\n */\n private get _datePickerOptions(): FlatpickrOptions {\n const {\n locale = (this.constructor as typeof BXDatePicker).defaultLocale,\n enabledRange,\n _dateInteractNode: dateInteractNode,\n _datePickerPlugins: plugins,\n _handleFlatpickrError: handleFlatpickrError,\n } = this;\n // We use `<bx-date-picker-input>` to communicate values/events with Flatpickr,\n // but want to use `<input>` in shadow DOM to base the calendar dropdown's position on\n const { input: positionElement } = dateInteractNode!;\n const [minDate = undefined, maxDate = undefined] = !enabledRange\n ? []\n : enabledRange.split('/');\n return {\n allowInput: true,\n dateFormat:\n this.dateFormat ??\n (this.constructor as typeof BXDatePicker).defaultDateFormat,\n disableMobile: true,\n errorHandler: handleFlatpickrError,\n locale,\n maxDate,\n minDate,\n positionElement,\n plugins,\n };\n }\n\n /**\n * Handles `${prefix}-date-picker-changed` event on this element.\n */\n @HostListener('eventChange')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChange = ({ detail }: CustomEvent) => {\n this._value = detail.selectedDates\n .map((date) => getISODateString(date))\n .join('/');\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 * Handles `slotchange` event in the `<slot>`.\n */\n private _handleSlotChange({ target }: Event) {\n const { _dateInteractNode: oldDateInteractNode } = this;\n const dateInteractNode = (target as HTMLSlotElement)\n .assignedNodes()\n .find(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as HTMLElement).matches(\n (this.constructor as typeof BXDatePicker).selectorInputFrom\n )\n );\n if (oldDateInteractNode !== dateInteractNode) {\n this._dateInteractNode = dateInteractNode as BXDatePickerInput;\n this._instantiateDatePicker();\n }\n }\n\n /**\n * Fires a custom event to notify an error in Flatpickr.\n */\n private _handleFlatpickrError = (error: Error) => {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXDatePicker).eventFlatpickrError,\n {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {\n error,\n },\n }\n )\n );\n };\n\n /**\n * Instantiates Flatpickr.\n *\n * @returns The Flatpickr instance.\n */\n private _instantiateDatePicker() {\n this._releaseDatePicker();\n const { _dateInteractNode: dateInteractNode } = this;\n // `this._dateInteractNode` won't be there unless there is a slotted `<bx-date-input type=\"from\">`,\n // which means Flatpickr will never be instantiated in \"simple\" mode.\n if (dateInteractNode && dateInteractNode.input) {\n this.calendar = flatpickr(\n dateInteractNode as any,\n this._datePickerOptions\n );\n }\n return this.calendar;\n }\n\n /**\n * Releases Flatpickr instances.\n */\n private _releaseDatePicker() {\n if (this.calendar) {\n this.calendar.destroy();\n this.calendar = null;\n }\n return this.calendar;\n }\n\n /**\n * The Flatpickr instance.\n */\n calendar: FlatpickrInstance | null = null;\n\n /**\n * The date format to let Flatpickr use.\n */\n @property({ attribute: 'date-format' })\n dateFormat!: string;\n\n /**\n * Controls the disabled state of the input\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The localization data.\n */\n @property({ attribute: false })\n locale!: FlatpickrLocale;\n\n /**\n * The date range that a user can pick in calendar dropdown.\n */\n @property({ attribute: 'enabled-range' })\n enabledRange!: string;\n\n /**\n * Name for the input in the `FormData`\n */\n @property()\n name = '';\n\n /**\n * `true` if the date picker should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * The date(s) in ISO8601 format (date portion only), for range mode, '/' is used for separate start/end dates.\n */\n @property()\n get value() {\n return this._value;\n }\n\n set value(value: string) {\n const { _value: oldValue } = this;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._instantiateDatePicker();\n }\n\n disconnectedCallback() {\n this._releaseDatePicker();\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { calendar, disabled, open } = this;\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n const inputFrom = this.querySelector(\n selectorInputFrom\n ) as BXDatePickerInput;\n const inputTo = this.querySelector(selectorInputTo) as BXDatePickerInput;\n if (calendar && changedProperties.has('dateFormat')) {\n const { dateFormat } = this;\n calendar.set({ dateFormat });\n }\n if (changedProperties.has('enabledRange')) {\n const { enabledRange } = this;\n const dates = enabledRange\n .split('/')\n .map((item) => (!item ? undefined : parseISODateString(item))); // Allows empty start/end\n if (dates.some((item) => Boolean(item && isNaN(Number(item))))) {\n // Allows empty start/end\n throw new Error(\n `Wrong date format found in \\`enabledRange\\` property: ${enabledRange}`\n );\n }\n const [minDate, maxDate] = dates;\n if (minDate && maxDate && minDate > maxDate) {\n throw new Error(\n `In \\`enabledRange\\` property, the end date shouldn't be smaller than the start date. You have: ${enabledRange}`\n );\n }\n if (calendar) {\n calendar.set({ minDate, maxDate });\n }\n }\n if (changedProperties.has('open') && calendar) {\n if (open) {\n calendar.open();\n } else {\n calendar.close();\n }\n }\n if (changedProperties.has('disabled')) {\n [inputFrom, inputTo].forEach((input) => {\n if (input) {\n input.disabled = disabled;\n }\n });\n }\n if (changedProperties.has('value')) {\n const { value } = this;\n const dates = value\n .split('/')\n .filter(Boolean)\n .map((item) => parseISODateString(item));\n if (dates.some((item) => isNaN(Number(item)))) {\n throw new Error(\n `Wrong date format found in \\`value\\` property: ${value}`\n );\n }\n const [startDate, endDate] = dates;\n if (startDate && endDate && startDate > endDate) {\n throw new Error(\n `In \\`value\\` property, the end date shouldn't be smaller than the start date. You have: ${value}`\n );\n }\n if (calendar) {\n calendar.setDate(dates);\n [inputFrom, inputTo].forEach((input, i) => {\n if (input) {\n input.value = !dates[i]\n ? ''\n : calendar.formatDate(\n new Date(dates[i]),\n calendar.config.dateFormat\n );\n }\n });\n }\n }\n }\n\n render() {\n const { _handleSlotChange: handleSlotChange } = this;\n return html`\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n <div id=\"floating-menu-container\"></div>\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n /**\n * The CSS selector for Flatpickr's month/year portion.\n */\n private static _selectorFlatpickrMonthYearContainer =\n '.flatpickr-current-month';\n\n /**\n * The CSS selector for Flatpickr's year portion.\n */\n private static _selectorFlatpickrYearContainer = '.numInputWrapper';\n\n /**\n * The CSS selector for the inner element of Flatpickr's month portion.\n */\n private static _selectorFlatpickrCurrentMonth = '.cur-month';\n\n /**\n * The CSS selector for Flatpickr's month navigator.\n */\n private static _selectorFlatpickrMonth = '.flatpickr-month';\n\n /**\n * The CSS selector for Flatpickr's container of the weekdays.\n */\n private static _selectorFlatpickrWeekdays = '.flatpickr-weekdays';\n\n /**\n * The CSS selector for Flatpickr's container of the days.\n */\n private static _selectorFlatpickrDays = '.flatpickr-days';\n\n /**\n * The CSS selector applied to Flatpickr's each weekdays.\n */\n private static _selectorFlatpickrWeekday = '.flatpickr-weekday';\n\n /**\n * The CSS selector applied to Flatpickr's each days.\n */\n private static _selectorFlatpickrDay = '.flatpickr-day';\n\n /**\n * The CSS class for the inner element of Flatpickr's month portion.\n */\n private static _classFlatpickrCurrentMonth = 'cur-month';\n\n /**\n * The CSS class applied to Flatpickr's \"today\" highlight.\n */\n private static _classFlatpickrToday = 'today';\n\n /**\n * The CSS class for the calendar dropdown.\n */\n static get classCalendarContainer() {\n return `${prefix}--date-picker__calendar`;\n }\n\n /**\n * The CSS class for the month navigator.\n */\n static get classMonth() {\n return `${prefix}--date-picker__month`;\n }\n\n /**\n * The CSS class for the container of the weekdays.\n */\n static get classWeekdays() {\n return `${prefix}--date-picker__weekdays`;\n }\n\n /**\n * The CSS class for the container of the days.\n */\n static get classDays() {\n return `${prefix}--date-picker__days`;\n }\n\n /**\n * The CSS class applied to each weekdays.\n */\n static get classWeekday() {\n return `${prefix}--date-picker__weekday`;\n }\n\n /**\n * The CSS class applied to each days.\n */\n static get classDay() {\n return `${prefix}--date-picker__day`;\n }\n\n /**\n * The CSS class applied to the \"today\" highlight if there are any dates selected.\n */\n static classNoBorder = 'no-border';\n\n /**\n * The default date format.\n */\n static defaultDateFormat = 'm/d/Y';\n\n /**\n * The default localization data.\n */\n static defaultLocale = flatpickr.l10ns.default;\n\n /**\n * A selector that will return the `<input>` to enter starting date.\n */\n static get selectorInputFrom() {\n return `${prefix}-date-picker-input[kind=\"single\"],${prefix}-date-picker-input[kind=\"from\"]`;\n }\n\n /**\n * A selector that will return the `<input>` to enter end date.\n */\n static get selectorInputTo() {\n return `${prefix}-date-picker-input[kind=\"to\"]`;\n }\n\n /**\n * The name of the custom event when Flatpickr throws an error.\n */\n static get eventFlatpickrError() {\n return `${prefix}-date-picker-flatpickr-error`;\n }\n\n /**\n * The name of the custom event fired on this element when Flatpickr updates its value.\n */\n static get eventChange() {\n return `${prefix}-date-picker-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXDatePicker;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-picker.js","names":["html","property","query","LitElement","flatpickr","settings","FormMixin","HostListenerMixin","HostListener","getISODateString","parseISODateString","appendToPlugin","cssClassPlugin","fixEventsPlugin","focusPlugin","iconPlugin","monthSelectPlugin","rangePlugin","shadowDOMEventPlugin","stateHandshakePlugin","styles","carbonElement","customElement","prefix","DATE_PICKER_MODE","BXDatePicker","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","_mode","selectorInputFrom","selectorInputTo","querySelector","RANGE","SINGLE","SIMPLE","_datePickerPlugins","classCalendarContainer","classMonth","classWeekdays","classDays","classWeekday","classDay","classNoBorder","_selectorFlatpickrMonthYearContainer","selectorFlatpickrMonthYearContainer","_selectorFlatpickrYearContainer","selectorFlatpickrYearContainer","_selectorFlatpickrCurrentMonth","selectorFlatpickrCurrentMonth","_selectorFlatpickrMonth","selectorFlatpickrMonth","_selectorFlatpickrWeekdays","selectorFlatpickrWeekdays","_selectorFlatpickrDays","selectorFlatpickrDays","_selectorFlatpickrWeekday","selectorFlatpickrWeekday","_selectorFlatpickrDay","selectorFlatpickrDay","_classFlatpickrCurrentMonth","classFlatpickrCurrentMonth","_classFlatpickrToday","classFlatpickrToday","_floatingMenuContainerNode","floatingMenuContainerNode","mode","inputFrom","inputTo","plugins","appendTo","push","input","_datePickerOptions","_this$dateFormat","locale","defaultLocale","enabledRange","_dateInteractNode","dateInteractNode","_handleFlatpickrError","handleFlatpickrError","positionElement","minDate","undefined","maxDate","split","allowInput","dateFormat","defaultDateFormat","disableMobile","errorHandler","detail","_value","selectedDates","map","date","join","_handleFormdata","event","formData","disabled","name","append","_handleSlotChange","target","oldDateInteractNode","assignedNodes","find","node","nodeType","Node","ELEMENT_NODE","matches","_instantiateDatePicker","error","dispatchEvent","CustomEvent","eventFlatpickrError","bubbles","cancelable","composed","_releaseDatePicker","calendar","destroy","attribute","type","Boolean","reflect","oldValue","requestUpdate","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","updated","changedProperties","open","has","set","dates","item","some","isNaN","Number","Error","close","forEach","filter","startDate","endDate","setDate","i","formatDate","Date","config","render","handleSlotChange","_t","_","static","l10ns","default","eventChange"],"sources":["components/date-picker/date-picker.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 { html, property, query, LitElement } from 'lit-element';\nimport flatpickr from 'flatpickr';\nimport { Instance as FlatpickrInstance } from 'flatpickr/dist/types/instance';\nimport { Locale as FlatpickrLocale } from 'flatpickr/dist/types/locale';\nimport {\n Options as FlatpickrOptions,\n Plugin as FlatpickrPlugin,\n} from 'flatpickr/dist/types/options';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { getISODateString, parseISODateString } from './iso-date';\nimport BXDatePickerInput from './date-picker-input';\nimport appendToPlugin from './append-to-plugin';\nimport cssClassPlugin from './css-class-plugin';\nimport fixEventsPlugin from './fix-events-plugin';\nimport focusPlugin from './focus-plugin';\nimport iconPlugin from './icon-plugin';\nimport monthSelectPlugin from './month-select-plugin';\nimport rangePlugin from './range-plugin';\nimport shadowDOMEventPlugin from './shadow-dom-events-plugin';\nimport stateHandshakePlugin from './state-handshake-plugin';\nimport styles from './date-picker.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Date picker modes.\n */\nenum DATE_PICKER_MODE {\n /**\n * Simple mode, without calendar dropdown.\n */\n SIMPLE = 'simple',\n\n /**\n * Single date mode.\n */\n SINGLE = 'single',\n\n /**\n * Range mode.\n */\n RANGE = 'range',\n}\n\n/**\n * Date picker.\n *\n * @element bx-date-picker\n * @fires bx-date-picker-changed - The custom event fired on this element when Flatpickr updates its value.\n */\n@customElement(`${prefix}-date-picker`)\nclass BXDatePicker extends HostListenerMixin(FormMixin(LitElement)) {\n /**\n * The slotted `<bx-date-input kind=\"from\">`.\n */\n private _dateInteractNode: BXDatePickerInput | null = null;\n\n /**\n * The element to put calendar dropdown in.\n */\n @query('#floating-menu-container')\n private _floatingMenuContainerNode!: HTMLDivElement;\n\n /**\n * The internal placeholder for the `value` property.\n */\n private _value!: string;\n\n /**\n * @returns The effective date picker mode, determined by the child `<bx-date-picker-input>`.\n */\n private get _mode() {\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n if (this.querySelector(selectorInputTo)) {\n return DATE_PICKER_MODE.RANGE;\n }\n if (this.querySelector(selectorInputFrom)) {\n return DATE_PICKER_MODE.SINGLE;\n }\n return DATE_PICKER_MODE.SIMPLE;\n }\n\n /**\n * @returns The Flatpickr plugins to use.\n */\n private get _datePickerPlugins(): FlatpickrPlugin[] {\n const {\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorInputFrom,\n selectorInputTo,\n _selectorFlatpickrMonthYearContainer: selectorFlatpickrMonthYearContainer,\n _selectorFlatpickrYearContainer: selectorFlatpickrYearContainer,\n _selectorFlatpickrCurrentMonth: selectorFlatpickrCurrentMonth,\n _selectorFlatpickrMonth: selectorFlatpickrMonth,\n _selectorFlatpickrWeekdays: selectorFlatpickrWeekdays,\n _selectorFlatpickrDays: selectorFlatpickrDays,\n _selectorFlatpickrWeekday: selectorFlatpickrWeekday,\n _selectorFlatpickrDay: selectorFlatpickrDay,\n _classFlatpickrCurrentMonth: classFlatpickrCurrentMonth,\n _classFlatpickrToday: classFlatpickrToday,\n } = this.constructor as typeof BXDatePicker;\n const {\n _floatingMenuContainerNode: floatingMenuContainerNode,\n _mode: mode,\n } = this;\n const inputFrom = this.querySelector(selectorInputFrom);\n const inputTo = this.querySelector(selectorInputTo);\n const plugins = [\n appendToPlugin({ appendTo: floatingMenuContainerNode }),\n cssClassPlugin({\n classCalendarContainer,\n classMonth,\n classWeekdays,\n classDays,\n classWeekday,\n classDay,\n classNoBorder,\n selectorFlatpickrMonth,\n selectorFlatpickrWeekdays,\n selectorFlatpickrDays,\n selectorFlatpickrWeekday,\n selectorFlatpickrDay,\n classFlatpickrToday,\n }),\n fixEventsPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n focusPlugin({\n inputFrom: inputFrom as BXDatePickerInput,\n inputTo: inputTo as BXDatePickerInput,\n }),\n iconPlugin(),\n monthSelectPlugin({\n selectorFlatpickrMonthYearContainer,\n selectorFlatpickrYearContainer,\n selectorFlatpickrCurrentMonth,\n classFlatpickrCurrentMonth,\n }),\n shadowDOMEventPlugin(),\n stateHandshakePlugin(this),\n ];\n if (mode === DATE_PICKER_MODE.RANGE) {\n // Flatpickr runs event handlers of last registered plugins first.\n // Ensures `onValueUpdate` of `rangePlugin` runs first\n // given Flatpickr puts `01/01/1970 to 01/02/1970` to from date\n // where `rangePlugin` overrides it to separate them to from/to dates.\n // We want to ensure our handler of `onValueUpdate` (notably one in `<bx-date-picker-input>`)\n // gets the `<input>` value set by `rangePlugin` instead of Flatpickr core.\n plugins.push(rangePlugin({ input: inputTo as HTMLInputElement }));\n }\n return plugins;\n }\n\n /**\n * @returns The options to instantiate Flatpickr with.\n */\n private get _datePickerOptions(): FlatpickrOptions {\n const {\n locale = (this.constructor as typeof BXDatePicker).defaultLocale,\n enabledRange,\n _dateInteractNode: dateInteractNode,\n _datePickerPlugins: plugins,\n _handleFlatpickrError: handleFlatpickrError,\n } = this;\n // We use `<bx-date-picker-input>` to communicate values/events with Flatpickr,\n // but want to use `<input>` in shadow DOM to base the calendar dropdown's position on\n const { input: positionElement } = dateInteractNode!;\n const [minDate = undefined, maxDate = undefined] = !enabledRange\n ? []\n : enabledRange.split('/');\n return {\n allowInput: true,\n dateFormat:\n this.dateFormat ??\n (this.constructor as typeof BXDatePicker).defaultDateFormat,\n disableMobile: true,\n errorHandler: handleFlatpickrError,\n locale,\n maxDate,\n minDate,\n positionElement,\n plugins,\n };\n }\n\n /**\n * Handles `${prefix}-date-picker-changed` event on this element.\n */\n @HostListener('eventChange')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChange = ({ detail }: CustomEvent) => {\n this._value = detail.selectedDates\n .map((date) => getISODateString(date))\n .join('/');\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 * Handles `slotchange` event in the `<slot>`.\n */\n private _handleSlotChange({ target }: Event) {\n const { _dateInteractNode: oldDateInteractNode } = this;\n const dateInteractNode = (target as HTMLSlotElement)\n .assignedNodes()\n .find(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as HTMLElement).matches(\n (this.constructor as typeof BXDatePicker).selectorInputFrom\n )\n );\n if (oldDateInteractNode !== dateInteractNode) {\n this._dateInteractNode = dateInteractNode as BXDatePickerInput;\n this._instantiateDatePicker();\n }\n }\n\n /**\n * Fires a custom event to notify an error in Flatpickr.\n */\n private _handleFlatpickrError = (error: Error) => {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXDatePicker).eventFlatpickrError,\n {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {\n error,\n },\n }\n )\n );\n };\n\n /**\n * Instantiates Flatpickr.\n *\n * @returns The Flatpickr instance.\n */\n private _instantiateDatePicker() {\n this._releaseDatePicker();\n const { _dateInteractNode: dateInteractNode } = this;\n // `this._dateInteractNode` won't be there unless there is a slotted `<bx-date-input type=\"from\">`,\n // which means Flatpickr will never be instantiated in \"simple\" mode.\n if (dateInteractNode && dateInteractNode.input) {\n this.calendar = flatpickr(\n dateInteractNode as any,\n this._datePickerOptions\n );\n }\n return this.calendar;\n }\n\n /**\n * Releases Flatpickr instances.\n */\n private _releaseDatePicker() {\n if (this.calendar) {\n this.calendar.destroy();\n this.calendar = null;\n }\n return this.calendar;\n }\n\n /**\n * The Flatpickr instance.\n */\n calendar: FlatpickrInstance | null = null;\n\n /**\n * The date format to let Flatpickr use.\n */\n @property({ attribute: 'date-format' })\n dateFormat!: string;\n\n /**\n * Controls the disabled state of the input\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The localization data.\n */\n @property({ attribute: false })\n locale!: FlatpickrLocale;\n\n /**\n * The date range that a user can pick in calendar dropdown.\n */\n @property({ attribute: 'enabled-range' })\n enabledRange!: string;\n\n /**\n * Name for the input in the `FormData`\n */\n @property()\n name = '';\n\n /**\n * `true` if the date picker should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * The date(s) in ISO8601 format (date portion only), for range mode, '/' is used for separate start/end dates.\n */\n @property()\n get value() {\n return this._value;\n }\n\n set value(value: string) {\n const { _value: oldValue } = this;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._instantiateDatePicker();\n }\n\n disconnectedCallback() {\n this._releaseDatePicker();\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { calendar, disabled, open } = this;\n const { selectorInputFrom, selectorInputTo } = this\n .constructor as typeof BXDatePicker;\n const inputFrom = this.querySelector(\n selectorInputFrom\n ) as BXDatePickerInput;\n const inputTo = this.querySelector(selectorInputTo) as BXDatePickerInput;\n if (calendar && changedProperties.has('dateFormat')) {\n const { dateFormat } = this;\n calendar.set({ dateFormat });\n }\n if (changedProperties.has('enabledRange')) {\n const { enabledRange } = this;\n const dates = enabledRange\n .split('/')\n .map((item) => (!item ? undefined : parseISODateString(item))); // Allows empty start/end\n if (dates.some((item) => Boolean(item && isNaN(Number(item))))) {\n // Allows empty start/end\n throw new Error(\n `Wrong date format found in \\`enabledRange\\` property: ${enabledRange}`\n );\n }\n const [minDate, maxDate] = dates;\n if (minDate && maxDate && minDate > maxDate) {\n throw new Error(\n `In \\`enabledRange\\` property, the end date shouldn't be smaller than the start date. You have: ${enabledRange}`\n );\n }\n if (calendar) {\n calendar.set({ minDate, maxDate });\n }\n }\n if (changedProperties.has('open') && calendar) {\n if (open) {\n calendar.open();\n } else {\n calendar.close();\n }\n }\n if (changedProperties.has('disabled')) {\n [inputFrom, inputTo].forEach((input) => {\n if (input) {\n input.disabled = disabled;\n }\n });\n }\n if (changedProperties.has('value')) {\n const { value } = this;\n const dates = value\n .split('/')\n .filter(Boolean)\n .map((item) => parseISODateString(item));\n if (dates.some((item) => isNaN(Number(item)))) {\n throw new Error(\n `Wrong date format found in \\`value\\` property: ${value}`\n );\n }\n const [startDate, endDate] = dates;\n if (startDate && endDate && startDate > endDate) {\n throw new Error(\n `In \\`value\\` property, the end date shouldn't be smaller than the start date. You have: ${value}`\n );\n }\n if (calendar) {\n calendar.setDate(dates);\n [inputFrom, inputTo].forEach((input, i) => {\n if (input) {\n input.value = !dates[i]\n ? ''\n : calendar.formatDate(\n new Date(dates[i]),\n calendar.config.dateFormat\n );\n }\n });\n }\n }\n }\n\n render() {\n const { _handleSlotChange: handleSlotChange } = this;\n return html`\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n <div id=\"floating-menu-container\"></div>\n <a\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n /**\n * The CSS selector for Flatpickr's month/year portion.\n */\n private static _selectorFlatpickrMonthYearContainer =\n '.flatpickr-current-month';\n\n /**\n * The CSS selector for Flatpickr's year portion.\n */\n private static _selectorFlatpickrYearContainer = '.numInputWrapper';\n\n /**\n * The CSS selector for the inner element of Flatpickr's month portion.\n */\n private static _selectorFlatpickrCurrentMonth = '.cur-month';\n\n /**\n * The CSS selector for Flatpickr's month navigator.\n */\n private static _selectorFlatpickrMonth = '.flatpickr-month';\n\n /**\n * The CSS selector for Flatpickr's container of the weekdays.\n */\n private static _selectorFlatpickrWeekdays = '.flatpickr-weekdays';\n\n /**\n * The CSS selector for Flatpickr's container of the days.\n */\n private static _selectorFlatpickrDays = '.flatpickr-days';\n\n /**\n * The CSS selector applied to Flatpickr's each weekdays.\n */\n private static _selectorFlatpickrWeekday = '.flatpickr-weekday';\n\n /**\n * The CSS selector applied to Flatpickr's each days.\n */\n private static _selectorFlatpickrDay = '.flatpickr-day';\n\n /**\n * The CSS class for the inner element of Flatpickr's month portion.\n */\n private static _classFlatpickrCurrentMonth = 'cur-month';\n\n /**\n * The CSS class applied to Flatpickr's \"today\" highlight.\n */\n private static _classFlatpickrToday = 'today';\n\n /**\n * The CSS class for the calendar dropdown.\n */\n static get classCalendarContainer() {\n return `${prefix}--date-picker__calendar`;\n }\n\n /**\n * The CSS class for the month navigator.\n */\n static get classMonth() {\n return `${prefix}--date-picker__month`;\n }\n\n /**\n * The CSS class for the container of the weekdays.\n */\n static get classWeekdays() {\n return `${prefix}--date-picker__weekdays`;\n }\n\n /**\n * The CSS class for the container of the days.\n */\n static get classDays() {\n return `${prefix}--date-picker__days`;\n }\n\n /**\n * The CSS class applied to each weekdays.\n */\n static get classWeekday() {\n return `${prefix}--date-picker__weekday`;\n }\n\n /**\n * The CSS class applied to each days.\n */\n static get classDay() {\n return `${prefix}--date-picker__day`;\n }\n\n /**\n * The CSS class applied to the \"today\" highlight if there are any dates selected.\n */\n static classNoBorder = 'no-border';\n\n /**\n * The default date format.\n */\n static defaultDateFormat = 'm/d/Y';\n\n /**\n * The default localization data.\n */\n static defaultLocale = flatpickr.l10ns.default;\n\n /**\n * A selector that will return the `<input>` to enter starting date.\n */\n static get selectorInputFrom() {\n return `${prefix}-date-picker-input[kind=\"single\"],${prefix}-date-picker-input[kind=\"from\"]`;\n }\n\n /**\n * A selector that will return the `<input>` to enter end date.\n */\n static get selectorInputTo() {\n return `${prefix}-date-picker-input[kind=\"to\"]`;\n }\n\n /**\n * The name of the custom event when Flatpickr throws an error.\n */\n static get eventFlatpickrError() {\n return `${prefix}-date-picker-flatpickr-error`;\n }\n\n /**\n * The name of the custom event fired on this element when Flatpickr updates its value.\n */\n static get eventChange() {\n return `${prefix}-date-picker-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXDatePicker;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/dropdown/dropdown-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"sources":["components/dropdown/dropdown-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM3C;;;;;GAKG;AACH,cACM,cAAe,SAAQ,UAAU;IACrC;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;;;;OAKG;IAEH,WAAW,UAAS;IAEpB;;;;OAIG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,gBAAyB;IAE7B;;OAEG;IAEH,KAAK,SAAM;IAEX,MAAM;IAeN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,cAAc,CAAC","file":"dropdown-item.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 settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, LitElement } from 'lit-element';\nimport Checkmark16 from '@carbon/icons/lib/checkmark/16';\nimport { DROPDOWN_SIZE } from './dropdown';\nimport styles from './dropdown.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Dropdown item.\n *\n * @element bx-dropdown-item\n * @csspart selected-icon The selected icon.\n */\n@customElement(`${prefix}-dropdown-item`)\nclass BXDropdownItem extends LitElement {\n /**\n * `true` if this dropdown item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this dropdown item should be highlighted.\n * If `true`, parent `<dropdown>` selects/deselects this dropdown item upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * `true` if this dropdown item should be selected.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * Dropdown size.\n */\n @property({ reflect: true })\n size = DROPDOWN_SIZE.REGULAR;\n\n /**\n * The `value` attribute that is set to the parent `<bx-dropdown>` when this dropdown item is selected.\n */\n @property()\n value = '';\n\n render() {\n const { selected } = this;\n return html`\n <div class=\"${prefix}--list-box__menu-item__option\">\n <slot></slot>\n ${!selected\n ? undefined\n : Checkmark16({\n part: 'selected-icon',\n class: `${prefix}--list-box__menu-item__selected-icon`,\n })}\n </div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXDropdownItem;\n"]}
|
|
@@ -4,17 +4,18 @@ let _ = t => t,
|
|
|
4
4
|
/**
|
|
5
5
|
* @license
|
|
6
6
|
*
|
|
7
|
-
* Copyright IBM Corp. 2019,
|
|
7
|
+
* Copyright IBM Corp. 2019, 2023
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
10
10
|
* LICENSE file in the root directory of this source tree.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import settings from 'carbon-components/es/globals/js/settings';
|
|
14
|
-
import { html, property,
|
|
14
|
+
import { html, property, LitElement } from 'lit-element';
|
|
15
15
|
import Checkmark16 from "../../icons/checkmark/16";
|
|
16
16
|
import { DROPDOWN_SIZE } from './dropdown';
|
|
17
17
|
import styles from "././dropdown.css.js";
|
|
18
|
+
import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
|
|
18
19
|
const {
|
|
19
20
|
prefix
|
|
20
21
|
} = settings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-item.js","names":["settings","html","property","
|
|
1
|
+
{"version":3,"file":"dropdown-item.js","names":["settings","html","property","LitElement","Checkmark16","DROPDOWN_SIZE","styles","carbonElement","customElement","prefix","BXDropdownItem","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","REGULAR","render","selected","_t","_","undefined","part","class","static"],"sources":["components/dropdown/dropdown-item.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 settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, LitElement } from 'lit-element';\nimport Checkmark16 from '@carbon/icons/lib/checkmark/16';\nimport { DROPDOWN_SIZE } from './dropdown';\nimport styles from './dropdown.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Dropdown item.\n *\n * @element bx-dropdown-item\n * @csspart selected-icon The selected icon.\n */\n@customElement(`${prefix}-dropdown-item`)\nclass BXDropdownItem extends LitElement {\n /**\n * `true` if this dropdown item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this dropdown item should be highlighted.\n * If `true`, parent `<dropdown>` selects/deselects this dropdown item upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * `true` if this dropdown item should be selected.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * Dropdown size.\n */\n @property({ reflect: true })\n size = DROPDOWN_SIZE.REGULAR;\n\n /**\n * The `value` attribute that is set to the parent `<bx-dropdown>` when this dropdown item is selected.\n */\n @property()\n value = '';\n\n render() {\n const { selected } = this;\n return html`\n <div class=\"${prefix}--list-box__menu-item__option\">\n <slot></slot>\n ${!selected\n ? undefined\n : Checkmark16({\n part: 'selected-icon',\n class: `${prefix}--list-box__menu-item__selected-icon`,\n })}\n </div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXDropdownItem;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,aAAa;AACxD,OAAOC,WAAW,MAAM,0BAAgC;AACxD,SAASC,aAAa,QAAQ,YAAY;AAC1C,OAAOC,MAAM,MAAM,qBAAiB;AACpC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGT,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AALA,IAOMU,cAAc,GAAAC,SAAA,EADnBH,aAAa,CAAE,GAAEC,MAAO,gBAAe,CAAC,aAAAG,WAAA,EAAAC,WAAA;EAAzC,MACMH,cAAc,SAAAG,WAAA,CAAoB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAoDxC;EAAC;IAAAI,CAAA,EApDKN,cAAc;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAIjBjB,QAAQ,CAAC;QAAEkB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAQfjB,QAAQ,CAAC;QAAEkB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAC7B,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAOlBjB,QAAQ,CAAC;QAAEkB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAKfjB,QAAQ,CAAC;QAAEoB,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACrBnB,aAAa,CAACoB,OAAO;MAAA;IAAA;MAAAP,IAAA;MAAAC,UAAA,GAK3BjB,QAAQ,EAAE;MAAAqB,GAAA;MAAAC,MAAA;QAAA,OACH,EAAE;MAAA;IAAA;MAAAN,IAAA;MAAAK,GAAA;MAAAC,KAAA;MAjCV;AACF;AACA;;MAIE;AACF;AACA;AACA;AACA;AACA;;MAIE;AACF;AACA;AACA;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE,SAAAE,OAAA,EAAS;QACP,MAAM;UAAEC;QAAS,CAAC,GAAG,IAAI;QACzB,OAAO1B,IAAI,CAAA2B,EAAA,KAAAA,EAAA,GAAAC,CAAA,gFACKpB,MAAM,EAEhB,CAACkB,QAAQ,GACPG,SAAS,GACT1B,WAAW,CAAC;UACV2B,IAAI,EAAE,eAAe;UACrBC,KAAK,EAAG,GAAEvB,MAAO;QACnB,CAAC,CAAC;MAGZ;IAAC;MAAAS,IAAA;MAAAe,MAAA;MAAAV,GAAA;MAAAC,MAAA;QAAA,OAEelB,MAAM;MAAA;IAAA;EAAA;AAAA,GAnDKH,UAAU;AAsDvC,eAAeO,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/dropdown/dropdown-skeleton.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"sources":["components/dropdown/dropdown-skeleton.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,UAAU,EAAE,MAAM,aAAa,CAAC;AAO/C;;GAEG;AACH,cACM,kBAAmB,SAAQ,UAAU;IACzC,MAAM;IAWN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,kBAAkB,CAAC","file":"dropdown-skeleton.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 { html, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport styles from './dropdown.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Skeleton version of dropdown.\n */\n@customElement(`${prefix}-dropdown-skeleton`)\nclass BXDropdownSkeleton extends LitElement {\n render() {\n return html`\n <div\n class=\"${prefix}--skeleton ${prefix}--dropdown-v2 ${prefix}--list-box ${prefix}--form-item\">\n <div class=\"${prefix}--list-box__field\">\n <span class=\"${prefix}--list-box__label\"></span>\n </div>\n </div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXDropdownSkeleton;\n"]}
|
|
@@ -4,15 +4,16 @@ let _ = t => t,
|
|
|
4
4
|
/**
|
|
5
5
|
* @license
|
|
6
6
|
*
|
|
7
|
-
* Copyright IBM Corp. 2019,
|
|
7
|
+
* Copyright IBM Corp. 2019, 2023
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
10
10
|
* LICENSE file in the root directory of this source tree.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import { html,
|
|
13
|
+
import { html, LitElement } from 'lit-element';
|
|
14
14
|
import settings from 'carbon-components/es/globals/js/settings';
|
|
15
15
|
import styles from "././dropdown.css.js";
|
|
16
|
+
import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
|
|
16
17
|
const {
|
|
17
18
|
prefix
|
|
18
19
|
} = settings;
|