@carbon/web-components 2.0.0-rc.1 → 2.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +307 -79
- package/es/components/accordion/accordion-item.d.ts.map +1 -1
- package/es/components/accordion/accordion-item.js +3 -2
- package/es/components/accordion/accordion-item.js.map +1 -1
- package/es/components/accordion/accordion-skeleton.js.map +1 -1
- package/es/components/accordion/accordion.css.js +1 -1
- package/es/components/accordion/accordion.d.ts.map +1 -1
- package/es/components/accordion/accordion.js +2 -1
- package/es/components/accordion/accordion.js.map +1 -1
- package/es/components/accordion/accordion.rtl.css.js +1 -1
- package/es/components/accordion/defs.d.ts +1 -1
- package/es/components/accordion/defs.d.ts.map +1 -1
- package/es/components/accordion/defs.js +1 -1
- package/es/components/accordion/defs.js.map +1 -1
- package/es/components/accordion/index.d.ts +1 -1
- package/es/components/accordion/index.d.ts.map +1 -1
- package/es/components/accordion/index.js +1 -1
- package/es/components/accordion/index.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js +2 -6
- package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-link.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-link.js +2 -6
- package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js +2 -6
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.css.js +1 -1
- package/es/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb.js +3 -6
- package/es/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.rtl.css.js +1 -1
- package/es/components/breadcrumb/index.d.ts +1 -1
- package/es/components/breadcrumb/index.d.ts.map +1 -1
- package/es/components/breadcrumb/index.js +1 -1
- package/es/components/breadcrumb/index.js.map +1 -1
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button-skeleton.d.ts.map +1 -1
- package/es/components/button/button-skeleton.js +2 -4
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.css.js +1 -1
- package/es/components/button/button.d.ts +1 -1
- package/es/components/button/button.d.ts.map +1 -1
- package/es/components/button/button.js +12 -9
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/button.rtl.css.js +1 -1
- package/es/components/button/defs.d.ts +1 -1
- package/es/components/button/defs.d.ts.map +1 -1
- package/es/components/button/defs.js +1 -1
- package/es/components/button/defs.js.map +1 -1
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/index.d.ts.map +1 -1
- package/es/components/button/index.js +1 -1
- package/es/components/button/index.js.map +1 -1
- package/es/components/checkbox/checkbox.css.js +1 -1
- package/es/components/checkbox/checkbox.d.ts.map +1 -1
- package/es/components/checkbox/checkbox.js +3 -9
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/checkbox/checkbox.rtl.css.js +1 -1
- package/es/components/checkbox/index.d.ts +1 -1
- package/es/components/checkbox/index.d.ts.map +1 -1
- package/es/components/checkbox/index.js +1 -1
- package/es/components/checkbox/index.js.map +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 -4
- package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es/components/code-snippet/code-snippet.css.js +1 -1
- package/es/components/code-snippet/code-snippet.d.ts +4 -0
- package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
- package/es/components/code-snippet/code-snippet.js +20 -9
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/code-snippet/code-snippet.rtl.css.js +1 -1
- package/es/components/code-snippet/defs.d.ts +1 -1
- package/es/components/code-snippet/defs.d.ts.map +1 -1
- package/es/components/code-snippet/defs.js +1 -1
- package/es/components/code-snippet/defs.js.map +1 -1
- package/es/components/code-snippet/index.d.ts +1 -1
- package/es/components/code-snippet/index.d.ts.map +1 -1
- package/es/components/code-snippet/index.js +1 -1
- package/es/components/code-snippet/index.js.map +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 -6
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.css.js +1 -1
- package/es/components/combo-box/combo-box.d.ts.map +1 -1
- package/es/components/combo-box/combo-box.js +2 -1
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-box/combo-box.rtl.css.js +1 -1
- package/es/components/combo-box/index.d.ts +1 -1
- package/es/components/combo-box/index.d.ts.map +1 -1
- package/es/components/combo-box/index.js +1 -1
- package/es/components/combo-box/index.js.map +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 -6
- package/es/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es/components/content-switcher/content-switcher.css.js +1 -1
- package/es/components/content-switcher/content-switcher.d.ts.map +1 -1
- package/es/components/content-switcher/content-switcher.js +2 -1
- package/es/components/content-switcher/content-switcher.js.map +1 -1
- package/es/components/content-switcher/content-switcher.rtl.css.js +1 -1
- package/es/components/content-switcher/defs.d.ts +1 -1
- package/es/components/content-switcher/defs.d.ts.map +1 -1
- package/es/components/content-switcher/defs.js +1 -1
- package/es/components/content-switcher/defs.js.map +1 -1
- package/es/components/content-switcher/index.d.ts +1 -1
- package/es/components/content-switcher/index.d.ts.map +1 -1
- package/es/components/content-switcher/index.js +1 -1
- package/es/components/content-switcher/index.js.map +1 -1
- package/es/components/copy/copy.d.ts.map +1 -1
- package/es/components/copy/copy.js +3 -1
- package/es/components/copy/copy.js.map +1 -1
- package/es/components/copy-button/copy-button.css.js +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 +7 -7
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/copy-button/copy-button.rtl.css.js +1 -1
- package/es/components/copy-button/index.d.ts +1 -1
- package/es/components/copy-button/index.d.ts.map +1 -1
- package/es/components/copy-button/index.js +1 -1
- package/es/components/copy-button/index.js.map +1 -1
- package/es/components/data-table/data-table.css.js +1 -1
- package/es/components/data-table/data-table.rtl.css.js +1 -1
- package/es/components/data-table/index.d.ts +1 -1
- package/es/components/data-table/index.d.ts.map +1 -1
- package/es/components/data-table/index.js +1 -1
- package/es/components/data-table/index.js.map +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 -7
- package/es/components/data-table/table-batch-actions.js.map +1 -1
- package/es/components/data-table/table-body.d.ts.map +1 -1
- package/es/components/data-table/table-body.js +3 -6
- package/es/components/data-table/table-body.js.map +1 -1
- package/es/components/data-table/table-cell.d.ts.map +1 -1
- package/es/components/data-table/table-cell.js +3 -7
- package/es/components/data-table/table-cell.js.map +1 -1
- package/es/components/data-table/table-expanded-row.d.ts.map +1 -1
- package/es/components/data-table/table-expanded-row.js +2 -1
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-head.d.ts.map +1 -1
- package/es/components/data-table/table-head.js +2 -6
- package/es/components/data-table/table-head.js.map +1 -1
- package/es/components/data-table/table-header-cell.d.ts.map +1 -1
- package/es/components/data-table/table-header-cell.js +2 -1
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-header-row.d.ts.map +1 -1
- package/es/components/data-table/table-header-row.js +1 -1
- package/es/components/data-table/table-header-row.js.map +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-skeleton.js.map +1 -1
- package/es/components/data-table/table-toolbar-content.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-content.js +4 -7
- package/es/components/data-table/table-toolbar-content.js.map +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 -7
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/data-table/table-toolbar.d.ts +0 -8
- package/es/components/data-table/table-toolbar.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar.js +3 -30
- package/es/components/data-table/table-toolbar.js.map +1 -1
- package/es/components/data-table/table.d.ts.map +1 -1
- package/es/components/data-table/table.js +3 -3
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/append-to-plugin.js.map +1 -1
- package/es/components/date-picker/css-class-plugin.js.map +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 -4
- package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es/components/date-picker/date-picker-input.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input.js +2 -1
- package/es/components/date-picker/date-picker-input.js.map +1 -1
- package/es/components/date-picker/date-picker.css.js +1 -1
- package/es/components/date-picker/date-picker.d.ts.map +1 -1
- package/es/components/date-picker/date-picker.js +7 -4
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/date-picker.rtl.css.js +1 -1
- package/es/components/date-picker/defs.d.ts +1 -1
- package/es/components/date-picker/defs.d.ts.map +1 -1
- package/es/components/date-picker/defs.js +1 -1
- package/es/components/date-picker/defs.js.map +1 -1
- package/es/components/date-picker/fix-events-plugin.js +9 -0
- package/es/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es/components/date-picker/focus-plugin.d.ts.map +1 -1
- package/es/components/date-picker/focus-plugin.js +14 -4
- package/es/components/date-picker/focus-plugin.js.map +1 -1
- package/es/components/date-picker/icon-plugin.js.map +1 -1
- package/es/components/date-picker/index.d.ts +1 -1
- package/es/components/date-picker/index.d.ts.map +1 -1
- package/es/components/date-picker/index.js +1 -1
- package/es/components/date-picker/index.js.map +1 -1
- package/es/components/date-picker/iso-date.js.map +1 -1
- package/es/components/date-picker/month-select-plugin.js.map +1 -1
- package/es/components/date-picker/range-plugin.d.ts +21 -6
- package/es/components/date-picker/range-plugin.d.ts.map +1 -1
- package/es/components/date-picker/range-plugin.js +51 -17
- package/es/components/date-picker/range-plugin.js.map +1 -1
- package/es/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
- package/es/components/date-picker/state-handshake-plugin.js.map +1 -1
- package/es/components/dropdown/defs.d.ts +1 -1
- package/es/components/dropdown/defs.d.ts.map +1 -1
- package/es/components/dropdown/defs.js +1 -1
- package/es/components/dropdown/defs.js.map +1 -1
- package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-item.js +3 -7
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +2 -4
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.css.js +1 -1
- package/es/components/dropdown/dropdown.d.ts +1 -3
- 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/dropdown/dropdown.rtl.css.js +1 -1
- package/es/components/dropdown/index.d.ts +1 -1
- package/es/components/dropdown/index.d.ts.map +1 -1
- package/es/components/dropdown/index.js +1 -1
- package/es/components/dropdown/index.js.map +1 -1
- package/es/components/file-uploader/defs.d.ts +1 -1
- package/es/components/file-uploader/defs.d.ts.map +1 -1
- package/es/components/file-uploader/defs.js +1 -1
- package/es/components/file-uploader/defs.js.map +1 -1
- package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es/components/file-uploader/file-uploader-button.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader-button.js +1 -0
- package/es/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.js +2 -1
- package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es/components/file-uploader/file-uploader-item.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader-item.js +2 -1
- package/es/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es/components/file-uploader/file-uploader.css.js +1 -1
- package/es/components/file-uploader/file-uploader.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader.js +3 -8
- package/es/components/file-uploader/file-uploader.js.map +1 -1
- package/es/components/file-uploader/file-uploader.rtl.css.js +1 -1
- package/es/components/file-uploader/index.d.ts +1 -1
- package/es/components/file-uploader/index.d.ts.map +1 -1
- package/es/components/file-uploader/index.js +1 -1
- package/es/components/file-uploader/index.js.map +1 -1
- package/es/components/floating-menu/defs.d.ts +1 -1
- package/es/components/floating-menu/defs.d.ts.map +1 -1
- package/es/components/floating-menu/defs.js +1 -1
- package/es/components/floating-menu/defs.js.map +1 -1
- package/es/components/floating-menu/floating-menu-trigger.d.ts +1 -1
- package/es/components/floating-menu/floating-menu-trigger.d.ts.map +1 -1
- package/es/components/floating-menu/floating-menu.js +9 -2
- package/es/components/floating-menu/floating-menu.js.map +1 -1
- package/es/components/floating-menu/index.d.ts +1 -1
- package/es/components/floating-menu/index.d.ts.map +1 -1
- package/es/components/floating-menu/index.js +1 -1
- package/es/components/floating-menu/index.js.map +1 -1
- package/es/components/form/form-item.css.js +1 -1
- package/es/components/form/form-item.d.ts.map +1 -1
- package/es/components/form/form-item.js +2 -6
- package/es/components/form/form-item.js.map +1 -1
- package/es/components/form/form-item.rtl.css.js +1 -1
- package/es/components/form/index.d.ts +1 -1
- package/es/components/form/index.d.ts.map +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/index.js.map +1 -1
- package/es/components/form-group/form-group.css.js +1 -1
- package/es/components/form-group/form-group.rtl.css.js +1 -1
- package/es/components/icon-button/icon-button.css.js +1 -1
- package/es/components/icon-button/icon-button.d.ts.map +1 -1
- package/es/components/icon-button/icon-button.js +3 -1
- package/es/components/icon-button/icon-button.js.map +1 -1
- package/es/components/icon-button/icon-button.rtl.css.js +1 -1
- package/es/components/inline-loading/defs.d.ts +1 -1
- package/es/components/inline-loading/defs.d.ts.map +1 -1
- package/es/components/inline-loading/defs.js +1 -1
- package/es/components/inline-loading/defs.js.map +1 -1
- package/es/components/inline-loading/index.d.ts +1 -1
- package/es/components/inline-loading/index.d.ts.map +1 -1
- package/es/components/inline-loading/index.js +1 -1
- package/es/components/inline-loading/index.js.map +1 -1
- package/es/components/inline-loading/inline-loading.css.js +1 -1
- package/es/components/inline-loading/inline-loading.d.ts.map +1 -1
- package/es/components/inline-loading/inline-loading.js +2 -1
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/inline-loading/inline-loading.rtl.css.js +1 -1
- package/es/components/layer/layer.js.map +1 -1
- package/es/components/link/index.d.ts +1 -1
- package/es/components/link/index.d.ts.map +1 -1
- package/es/components/link/index.js +1 -1
- package/es/components/link/index.js.map +1 -1
- package/es/components/link/link.d.ts.map +1 -1
- package/es/components/link/link.js +3 -4
- package/es/components/link/link.js.map +1 -1
- package/es/components/list/index.d.ts +1 -1
- package/es/components/list/index.d.ts.map +1 -1
- package/es/components/list/index.js +1 -1
- package/es/components/list/index.js.map +1 -1
- package/es/components/list/list-item.d.ts.map +1 -1
- package/es/components/list/list-item.js +3 -7
- package/es/components/list/list-item.js.map +1 -1
- package/es/components/list/ordered-list.d.ts.map +1 -1
- package/es/components/list/ordered-list.js +2 -1
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.d.ts.map +1 -1
- package/es/components/list/unordered-list.js +3 -4
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/loading/defs.d.ts +1 -1
- package/es/components/loading/defs.d.ts.map +1 -1
- package/es/components/loading/defs.js +1 -1
- package/es/components/loading/defs.js.map +1 -1
- package/es/components/loading/index.d.ts +1 -1
- package/es/components/loading/index.d.ts.map +1 -1
- package/es/components/loading/index.js +1 -1
- package/es/components/loading/index.js.map +1 -1
- package/es/components/loading/loading.css.js +1 -1
- package/es/components/loading/loading.d.ts.map +1 -1
- package/es/components/loading/loading.js +3 -6
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/loading/loading.rtl.css.js +1 -1
- package/es/components/loading/types.d.ts +1 -1
- package/es/components/loading/types.d.ts.map +1 -1
- package/es/components/loading/types.js +1 -1
- package/es/components/loading/types.js.map +1 -1
- package/es/components/modal/defs.d.ts +1 -1
- package/es/components/modal/defs.d.ts.map +1 -1
- package/es/components/modal/defs.js +1 -1
- package/es/components/modal/defs.js.map +1 -1
- package/es/components/modal/index.d.ts +1 -1
- package/es/components/modal/index.d.ts.map +1 -1
- package/es/components/modal/index.js +1 -1
- package/es/components/modal/index.js.map +1 -1
- package/es/components/modal/modal-body.d.ts.map +1 -1
- package/es/components/modal/modal-body.js +2 -6
- package/es/components/modal/modal-body.js.map +1 -1
- package/es/components/modal/modal-close-button.d.ts.map +1 -1
- package/es/components/modal/modal-close-button.js +3 -8
- package/es/components/modal/modal-close-button.js.map +1 -1
- package/es/components/modal/modal-footer-button.d.ts.map +1 -1
- package/es/components/modal/modal-footer-button.js +2 -6
- package/es/components/modal/modal-footer-button.js.map +1 -1
- package/es/components/modal/modal-footer.d.ts.map +1 -1
- package/es/components/modal/modal-footer.js +3 -6
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal-header.d.ts.map +1 -1
- package/es/components/modal/modal-header.js +2 -6
- package/es/components/modal/modal-header.js.map +1 -1
- package/es/components/modal/modal-heading.d.ts.map +1 -1
- package/es/components/modal/modal-heading.js +2 -6
- package/es/components/modal/modal-heading.js.map +1 -1
- package/es/components/modal/modal-label.d.ts.map +1 -1
- package/es/components/modal/modal-label.js +2 -6
- package/es/components/modal/modal-label.js.map +1 -1
- package/es/components/modal/modal.css.js +1 -1
- package/es/components/modal/modal.d.ts.map +1 -1
- package/es/components/modal/modal.js +2 -1
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/modal/modal.rtl.css.js +1 -1
- package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
- package/es/components/multi-select/multi-select-item.js +3 -6
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.css.js +1 -1
- package/es/components/multi-select/multi-select.d.ts.map +1 -1
- package/es/components/multi-select/multi-select.js +2 -1
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/multi-select/multi-select.rtl.css.js +1 -1
- package/es/components/notification/actionable-notification-button.js.map +1 -1
- package/es/components/notification/actionable-notification.css.js +1 -1
- package/es/components/notification/actionable-notification.js.map +1 -1
- package/es/components/notification/actionable-notification.rtl.css.js +1 -1
- package/es/components/notification/inline-notification.css.js +1 -1
- package/es/components/notification/inline-notification.d.ts.map +1 -1
- package/es/components/notification/inline-notification.js +2 -1
- package/es/components/notification/inline-notification.js.map +1 -1
- package/es/components/notification/inline-notification.rtl.css.js +1 -1
- package/es/components/notification/toast-notification.css.js +1 -1
- package/es/components/notification/toast-notification.d.ts.map +1 -1
- package/es/components/notification/toast-notification.js +2 -1
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/notification/toast-notification.rtl.css.js +1 -1
- package/es/components/number-input/number-input-skeleton.d.ts.map +1 -1
- package/es/components/number-input/number-input-skeleton.js +3 -4
- package/es/components/number-input/number-input-skeleton.js.map +1 -1
- package/es/components/number-input/number-input.css.js +1 -1
- package/es/components/number-input/number-input.d.ts.map +1 -1
- package/es/components/number-input/number-input.js +2 -1
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/number-input/number-input.rtl.css.js +1 -1
- package/es/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +2 -1
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js +2 -1
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.css.js +1 -1
- package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +6 -8
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.rtl.css.js +1 -1
- package/es/components/pagination/pagination.css.js +1 -1
- package/es/components/pagination/pagination.d.ts.map +1 -1
- package/es/components/pagination/pagination.js +14 -8
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/pagination/pagination.rtl.css.js +1 -1
- package/es/components/popover/popover.css.js +1 -1
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/popover/popover.rtl.css.js +1 -1
- package/es/components/progress-bar/progress-bar.css.js +1 -1
- package/es/components/progress-bar/progress-bar.js.map +1 -1
- package/es/components/progress-bar/progress-bar.rtl.css.js +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 -4
- package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator.css.js +1 -1
- package/es/components/progress-indicator/progress-indicator.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-indicator.js +3 -6
- package/es/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator.rtl.css.js +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.map +1 -1
- package/es/components/progress-indicator/progress-step.js +2 -1
- package/es/components/progress-indicator/progress-step.js.map +1 -1
- package/es/components/radio-button/radio-button-group.d.ts +23 -1
- package/es/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/es/components/radio-button/radio-button-group.js +111 -11
- package/es/components/radio-button/radio-button-group.js.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.d.ts.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.js +2 -4
- package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es/components/radio-button/radio-button.css.js +1 -1
- package/es/components/radio-button/radio-button.d.ts +4 -0
- package/es/components/radio-button/radio-button.d.ts.map +1 -1
- package/es/components/radio-button/radio-button.js +20 -1
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/radio-button/radio-button.rtl.css.js +1 -1
- package/es/components/search/search-skeleton.d.ts.map +1 -1
- package/es/components/search/search-skeleton.js +3 -4
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.css.js +1 -1
- package/es/components/search/search.d.ts.map +1 -1
- package/es/components/search/search.js +3 -12
- package/es/components/search/search.js.map +1 -1
- package/es/components/search/search.rtl.css.js +1 -1
- package/es/components/select/select-item-group.d.ts.map +1 -1
- package/es/components/select/select-item-group.js +2 -1
- package/es/components/select/select-item-group.js.map +1 -1
- package/es/components/select/select-item.d.ts.map +1 -1
- package/es/components/select/select-item.js +2 -1
- package/es/components/select/select-item.js.map +1 -1
- package/es/components/select/select.css.js +1 -1
- package/es/components/select/select.d.ts.map +1 -1
- package/es/components/select/select.js +3 -9
- package/es/components/select/select.js.map +1 -1
- package/es/components/select/select.rtl.css.js +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js +2 -6
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.d.ts.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js +2 -1
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.css.js +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 -6
- package/es/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.rtl.css.js +1 -1
- package/es/components/slider/slider-input.d.ts +4 -0
- package/es/components/slider/slider-input.d.ts.map +1 -1
- package/es/components/slider/slider-input.js +35 -15
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.d.ts.map +1 -1
- package/es/components/slider/slider-skeleton.js +2 -4
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.css.js +1 -1
- package/es/components/slider/slider.d.ts +17 -0
- package/es/components/slider/slider.d.ts.map +1 -1
- package/es/components/slider/slider.js +94 -7
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slider/slider.rtl.css.js +1 -1
- package/es/components/stack/defs.js.map +1 -1
- package/es/components/structured-list/structured-list-body.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-body.js +1 -1
- package/es/components/structured-list/structured-list-body.js.map +1 -1
- package/es/components/structured-list/structured-list-cell.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-cell.js +2 -6
- package/es/components/structured-list/structured-list-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-head.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-head.js +1 -1
- package/es/components/structured-list/structured-list-head.js.map +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 +2 -4
- 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.map +1 -1
- package/es/components/structured-list/structured-list-header-cell.js +2 -6
- package/es/components/structured-list/structured-list-header-cell.js.map +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 +2 -1
- package/es/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es/components/structured-list/structured-list-row.d.ts +0 -3
- package/es/components/structured-list/structured-list-row.d.ts.map +1 -1
- package/es/components/structured-list/structured-list-row.js +3 -4
- package/es/components/structured-list/structured-list-row.js.map +1 -1
- package/es/components/structured-list/structured-list.css.js +1 -1
- package/es/components/structured-list/structured-list.d.ts.map +1 -1
- package/es/components/structured-list/structured-list.js +3 -6
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/structured-list/structured-list.rtl.css.js +1 -1
- package/es/components/tabs/tab-skeleton.d.ts.map +1 -1
- package/es/components/tabs/tab-skeleton.js +2 -4
- package/es/components/tabs/tab-skeleton.js.map +1 -1
- package/es/components/tabs/tab.d.ts.map +1 -1
- package/es/components/tabs/tab.js +3 -6
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tabs/tabs-skeleton.d.ts.map +1 -1
- package/es/components/tabs/tabs-skeleton.js +2 -4
- package/es/components/tabs/tabs-skeleton.js.map +1 -1
- package/es/components/tabs/tabs.css.js +1 -1
- package/es/components/tabs/tabs.d.ts.map +1 -1
- package/es/components/tabs/tabs.js +3 -8
- package/es/components/tabs/tabs.js.map +1 -1
- package/es/components/tabs/tabs.rtl.css.js +1 -1
- package/es/components/tag/tag.css.js +1 -1
- package/es/components/tag/tag.d.ts.map +1 -1
- package/es/components/tag/tag.js +2 -1
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/tag/tag.rtl.css.js +1 -1
- package/es/components/text-input/text-input.css.js +1 -1
- package/es/components/text-input/text-input.d.ts +4 -4
- package/es/components/text-input/text-input.d.ts.map +1 -1
- package/es/components/text-input/text-input.js +13 -12
- package/es/components/text-input/text-input.js.map +1 -1
- package/es/components/text-input/text-input.rtl.css.js +1 -1
- package/es/components/textarea/textarea-skeleton.d.ts.map +1 -1
- package/es/components/textarea/textarea-skeleton.js +2 -4
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/textarea/textarea.css.js +1 -1
- package/es/components/textarea/textarea.d.ts.map +1 -1
- package/es/components/textarea/textarea.js +12 -14
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/textarea/textarea.rtl.css.js +1 -1
- package/es/components/tile/clickable-tile.d.ts.map +1 -1
- package/es/components/tile/clickable-tile.js +3 -6
- package/es/components/tile/clickable-tile.js.map +1 -1
- package/es/components/tile/expandable-tile.d.ts.map +1 -1
- package/es/components/tile/expandable-tile.js +2 -1
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/radio-tile.d.ts.map +1 -1
- package/es/components/tile/radio-tile.js +2 -6
- package/es/components/tile/radio-tile.js.map +1 -1
- package/es/components/tile/selectable-tile.d.ts +3 -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 +7 -8
- package/es/components/tile/tile-group.js.map +1 -1
- package/es/components/tile/tile.css.js +1 -1
- package/es/components/tile/tile.d.ts.map +1 -1
- package/es/components/tile/tile.js +2 -1
- package/es/components/tile/tile.js.map +1 -1
- package/es/components/tile/tile.rtl.css.js +1 -1
- package/es/components/toggle/toggle.css.js +1 -1
- package/es/components/toggle/toggle.d.ts.map +1 -1
- package/es/components/toggle/toggle.js +2 -1
- package/es/components/toggle/toggle.js.map +1 -1
- package/es/components/toggle/toggle.rtl.css.js +1 -1
- package/es/components/toggle-tip/toggletip.css.js +1 -1
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/toggle-tip/toggletip.rtl.css.js +1 -1
- package/es/components/tooltip/tooltip.css.js +1 -1
- package/es/components/tooltip/tooltip.d.ts +0 -1
- package/es/components/tooltip/tooltip.d.ts.map +1 -1
- package/es/components/tooltip/tooltip.js +3 -3
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip.rtl.css.js +1 -1
- package/es/components/ui-shell/header-global-action.d.ts +16 -1
- package/es/components/ui-shell/header-global-action.d.ts.map +1 -1
- package/es/components/ui-shell/header-global-action.js +92 -8
- package/es/components/ui-shell/header-global-action.js.map +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 -9
- package/es/components/ui-shell/header-menu-button.js.map +1 -1
- package/es/components/ui-shell/header-menu-item.d.ts.map +1 -1
- package/es/components/ui-shell/header-menu-item.js +1 -1
- 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 +11 -17
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header-name.d.ts.map +1 -1
- package/es/components/ui-shell/header-name.js +3 -8
- package/es/components/ui-shell/header-name.js.map +1 -1
- package/es/components/ui-shell/header-nav-item.d.ts +8 -0
- package/es/components/ui-shell/header-nav-item.d.ts.map +1 -1
- package/es/components/ui-shell/header-nav-item.js +32 -11
- package/es/components/ui-shell/header-nav-item.js.map +1 -1
- package/es/components/ui-shell/header-nav.d.ts.map +1 -1
- package/es/components/ui-shell/header-nav.js +2 -1
- package/es/components/ui-shell/header-nav.js.map +1 -1
- package/es/components/ui-shell/header.css.js +1 -1
- package/es/components/ui-shell/header.d.ts.map +1 -1
- package/es/components/ui-shell/header.js +1 -1
- package/es/components/ui-shell/header.js.map +1 -1
- package/es/components/ui-shell/header.rtl.css.js +1 -1
- package/es/components/ui-shell/index.d.ts +12 -11
- package/es/components/ui-shell/index.d.ts.map +1 -1
- package/es/components/ui-shell/index.js +12 -11
- package/es/components/ui-shell/index.js.map +1 -1
- package/es/components/ui-shell/side-nav-divider.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-divider.js +1 -1
- package/es/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es/components/ui-shell/side-nav-items.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-items.js +1 -1
- package/es/components/ui-shell/side-nav-items.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.d.ts +8 -0
- package/es/components/ui-shell/side-nav-link.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +33 -11
- package/es/components/ui-shell/side-nav-link.js.map +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 -8
- package/es/components/ui-shell/side-nav-menu-item.js.map +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 -13
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/components/ui-shell/side-nav.css.js +1 -1
- package/es/components/ui-shell/side-nav.d.ts +5 -0
- package/es/components/ui-shell/side-nav.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav.js +29 -6
- package/es/components/ui-shell/side-nav.js.map +1 -1
- package/es/components/ui-shell/side-nav.rtl.css.js +1 -1
- package/es/components/ui-shell/switcher-item.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/es/globals/decorators/host-listener.js.map +1 -1
- package/es/globals/directives/spread.d.ts +1 -1
- package/es/globals/directives/spread.d.ts.map +1 -1
- package/es/globals/directives/spread.js +1 -1
- package/es/globals/directives/spread.js.map +1 -1
- package/es/globals/internal/radio-group-manager.js +3 -4
- package/es/globals/internal/radio-group-manager.js.map +1 -1
- package/es/globals/internal/storybook-cdn.d.ts +1 -1
- package/es/globals/internal/storybook-cdn.d.ts.map +1 -1
- package/es/globals/internal/storybook-cdn.js +3 -3
- package/es/globals/internal/storybook-cdn.js.map +1 -1
- package/es/globals/mixins/focus.js.map +1 -1
- package/es/globals/mixins/form.js +6 -1
- package/es/globals/mixins/form.js.map +1 -1
- package/es/globals/mixins/host-listener.js.map +1 -1
- package/es/globals/mixins/temp-layout.css.js +12 -0
- package/es/globals/mixins/temp-layout.rtl.css.js +12 -0
- package/es/globals/mixins/validity.js +16 -0
- package/es/globals/mixins/validity.js.map +1 -1
- package/es/globals/wrappers/createReactCustomElementType.js +17 -0
- package/es/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/es/polyfills/toggle-class.js.map +1 -1
- package/lib/components/accordion/defs.js +1 -1
- package/lib/components/accordion/defs.js.map +1 -1
- package/lib/components/button/defs.js +1 -1
- package/lib/components/button/defs.js.map +1 -1
- package/lib/components/code-snippet/defs.js +1 -1
- package/lib/components/code-snippet/defs.js.map +1 -1
- package/lib/components/content-switcher/defs.js +1 -1
- package/lib/components/content-switcher/defs.js.map +1 -1
- package/lib/components/date-picker/defs.js +1 -1
- package/lib/components/date-picker/defs.js.map +1 -1
- package/lib/components/dropdown/defs.js +1 -1
- package/lib/components/dropdown/defs.js.map +1 -1
- package/lib/components/file-uploader/defs.js +1 -1
- package/lib/components/file-uploader/defs.js.map +1 -1
- package/lib/components/floating-menu/defs.js +1 -1
- package/lib/components/floating-menu/defs.js.map +1 -1
- package/lib/components/inline-loading/defs.js +1 -1
- package/lib/components/inline-loading/defs.js.map +1 -1
- package/lib/components/loading/defs.js +1 -1
- package/lib/components/loading/defs.js.map +1 -1
- package/lib/components/modal/defs.js +1 -1
- package/lib/components/modal/defs.js.map +1 -1
- package/lib/components/stack/defs.js.map +1 -1
- package/lib/globals/wrappers/createReactCustomElementType.js +16 -0
- package/lib/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/package.json +17 -16
- package/scss/components/accordion/accordion.scss +10 -5
- package/scss/components/breadcrumb/breadcrumb.scss +12 -0
- package/scss/components/button/button.scss +16 -2
- package/scss/components/code-snippet/code-snippet.scss +6 -8
- package/scss/components/combo-box/combo-box.scss +0 -10
- package/scss/components/content-switcher/content-switcher.scss +8 -21
- package/scss/components/copy-button/copy-button.scss +3 -3
- package/scss/components/data-table/_table-action.scss +4 -0
- package/scss/components/data-table/_table-core.scss +0 -2
- package/scss/components/data-table/data-table.scss +0 -1
- package/scss/components/date-picker/date-picker.scss +0 -3
- package/scss/components/dropdown/dropdown.scss +1 -2
- package/scss/components/file-uploader/file-uploader.scss +3 -5
- package/scss/components/icon-button/icon-button.scss +5 -0
- package/scss/components/inline-loading/inline-loading.scss +0 -3
- package/scss/components/modal/modal.scss +1 -4
- package/scss/components/multi-select/multi-select.scss +0 -3
- package/scss/components/notification/actionable-notification.scss +69 -24
- package/scss/components/notification/inline-notification.scss +76 -25
- package/scss/components/notification/toast-notification.scss +43 -27
- package/scss/components/number-input/number-input.scss +0 -3
- package/scss/components/overflow-menu/overflow-menu.scss +8 -3
- package/scss/components/pagination/pagination.scss +8 -3
- package/scss/components/popover/popover.scss +4 -2
- package/scss/components/progress-bar/progress-bar.scss +0 -5
- package/scss/components/progress-indicator/progress-indicator.scss +0 -3
- package/scss/components/radio-button/radio-button.scss +24 -1
- package/scss/components/search/search.scss +33 -3
- package/scss/components/select/select.scss +0 -3
- package/scss/components/slider/slider.scss +2 -3
- package/scss/components/structured-list/structured-list.scss +0 -5
- package/scss/components/tag/tag.scss +10 -5
- package/scss/components/text-input/text-input.scss +2 -2
- package/scss/components/textarea/textarea.scss +0 -3
- package/scss/components/tile/tile.scss +7 -8
- package/scss/components/tooltip/tooltip.scss +4 -4
- package/scss/components/ui-shell/header.scss +13 -3
- package/scss/components/ui-shell/side-nav.scss +0 -5
- package/scss/globals/mixins/temp-layout.scss +36 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-file-uploader.js","names":["html","LitElement","customElement","property","delay","prefix","ifDefined","FILE_UPLOADER_ITEM_STATE","BUTTON_SIZE","CDSCEDemoFileUploader","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","key","value","_handleChange","event","addedFiles","detail","newFiles","map","item","id","Math","random","toString","slice","file","state","UPLOADING","multiple","_files","files","_simulateUpload","simulateUpload","concat","requestUpdate","forEach","length","_handleDelete","fileId","idToDelete","target","dataset","filter","data","size","_objectSpread","EDIT","invalid","errorSubject","errorBody","rand","COMPLETE","decorators","type","Boolean","reflect","attribute","MEDIUM","render","accept","button","buttonKind","buttonLabel","disabled","labelDescription","labelTitle","inputState","iconDescription","handleChange","handleDelete","_t","_","_t2","inputName","_t3","_t4","name","default"],"sources":["components/file-uploader/demo-file-uploader.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';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { delay } from 'bluebird';\nimport { prefix } from '../../globals/settings';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport './index';\nimport { FILE_UPLOADER_ITEM_STATE } from './file-uploader-item';\nimport { BUTTON_SIZE } from '../button/button';\nimport { FileData } from './stories/types';\n\n/**\n * A class to manage file uploading states, like sending file contents to server.\n * DEMONSTRATION-PURPOSE ONLY.\n * Data/state handling in file uploading tends to involve lots of application-specific logics\n * and thus abstracting everything in a library won't be a good return on investment\n * vs. letting users copy code here and implement features that fit their needs.\n */\n@customElement(`${prefix}-ce-demo-file-uploader`)\nexport default class CDSCEDemoFileUploader extends LitElement {\n /**\n * The files being uploaded.\n */\n private _files: FileData[] = [];\n\n /**\n * Handles `cds-drop-container-changed` on `<cds-file-drop-container>`.\n *\n * @param event The event.\n */\n private _handleChange(event: CustomEvent) {\n const { addedFiles } = event.detail;\n const newFiles: FileData[] = addedFiles.map(\n (item) =>\n ({\n id: Math.random().toString(36).slice(2),\n file: item,\n state: FILE_UPLOADER_ITEM_STATE.UPLOADING,\n } as FileData)\n );\n const { multiple, _files: files, _simulateUpload: simulateUpload } = this;\n if (multiple) {\n this._files = files.concat(newFiles);\n this.requestUpdate();\n newFiles.forEach(simulateUpload, this);\n } else if (addedFiles.length > 0) {\n this._files = files.concat(newFiles[0]);\n this.requestUpdate();\n this._simulateUpload(newFiles[0]);\n }\n }\n\n /**\n * Handles `cds-file-uploader-item-deleted` on `<cds-file-uploader-item>`.\n *\n * @param event The event.\n */\n private _handleDelete(event: CustomEvent) {\n const { fileId: idToDelete } = (event.target as HTMLElement).dataset;\n this._files = this._files.filter(({ id }) => idToDelete !== id);\n this.requestUpdate();\n }\n\n /**\n * Simulates updating file.\n *\n * @param data The data of the file being uploaded.\n */\n private async _simulateUpload(data: FileData) {\n const { id, file } = data;\n if (file.size > 524288) {\n this._files = this._files.map((item) =>\n id !== item.id\n ? item\n : {\n ...item,\n state: FILE_UPLOADER_ITEM_STATE.EDIT,\n invalid: true,\n errorSubject: 'File size exceeds limit',\n errorBody:\n '500kb max file size. Select a new file and try again.',\n }\n );\n this.requestUpdate();\n } else {\n // Simulates network request time\n const rand = Math.random() * 1000;\n await delay(rand);\n this._files = this._files.map((item) =>\n id !== item.id\n ? item\n : {\n ...item,\n state: FILE_UPLOADER_ITEM_STATE.COMPLETE,\n }\n );\n this.requestUpdate();\n // Shows x icon after 1 second\n await delay(1000);\n this._files = this._files.map((item) =>\n id !== item.id\n ? item\n : {\n ...item,\n state: FILE_UPLOADER_ITEM_STATE.EDIT,\n }\n );\n this.requestUpdate();\n }\n }\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if the drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n button = false;\n\n /**\n * Button kind.\n */\n @property({ attribute: 'button-kind' })\n buttonKind = 'primary';\n\n /**\n * Button label.\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Add file';\n\n /**\n * `true` if the drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Icon description.\n */\n @property({ attribute: 'icon-description' })\n iconDescription = '';\n\n /**\n * The input name.\n */\n @property({ attribute: 'input-name' })\n inputName = '';\n\n /**\n * The label description text.\n */\n @property({ attribute: 'label-description' })\n labelDescription = '';\n\n /**\n * The label title.\n */\n @property({ attribute: 'label-title' })\n labelTitle = '';\n\n /**\n * `true` if the drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The size of the button item.\n */\n @property({ reflect: true })\n size = BUTTON_SIZE.MEDIUM;\n\n /**\n * The state of this file uploader item.\n */\n @property({ reflect: true, attribute: 'input-state' })\n inputState = '';\n\n render() {\n const {\n accept,\n button,\n buttonKind,\n buttonLabel,\n disabled,\n labelDescription,\n labelTitle,\n multiple,\n size,\n inputState,\n iconDescription,\n _files: files,\n _handleChange: handleChange,\n _handleDelete: handleDelete,\n } = this;\n return html`\n <cds-file-uploader\n label-description=\"${ifDefined(labelDescription)}\"\n label-title=\"${ifDefined(labelTitle)}\"\n ?disabled=\"${disabled}\">\n ${!button\n ? html` <cds-file-uploader-drop-container\n accept=\"${ifDefined(accept)}\"\n ?multiple=\"${multiple}\"\n name=\"${ifDefined(this.inputName)}\"\n @cds-file-uploader-drop-container-changed=\"${handleChange}\">\n Drag and drop files here or click to upload\n </cds-file-uploader-drop-container>`\n : html` <cds-file-uploader-button\n size=\"${ifDefined(size)}\"\n button-kind=\"${buttonKind}\"\n accept=\"${ifDefined(accept)}\"\n name=\"${ifDefined(this.inputName)}\"\n ?multiple=\"${multiple}\"\n @cds-file-uploader-button-changed=\"${handleChange}\">\n ${buttonLabel}\n </cds-file-uploader-button>`}\n ${files.map(\n ({ id, invalid, file, state, errorSubject, errorBody }) => html`\n <cds-file-uploader-item\n data-file-id=\"${id}\"\n ?invalid=\"${invalid}\"\n state=\"${inputState || ifDefined(state)}\"\n icon-description=\"${ifDefined(iconDescription)}\"\n error-subject=\"${ifDefined(errorSubject)}\"\n error-body=\"${ifDefined(errorBody)}\"\n @cds-file-uploader-item-deleted=\"${handleDelete}\">\n ${file.name}\n </cds-file-uploader-item>\n `\n )}\n </cds-file-uploader>\n `;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"demo-file-uploader.js","names":["html","LitElement","customElement","property","delay","prefix","ifDefined","FILE_UPLOADER_ITEM_STATE","BUTTON_SIZE","CDSCEDemoFileUploader","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","key","value","_handleChange","event","addedFiles","detail","newFiles","map","item","id","Math","random","toString","slice","file","state","UPLOADING","multiple","_files","files","_simulateUpload","simulateUpload","concat","requestUpdate","forEach","length","_handleDelete","fileId","idToDelete","target","dataset","filter","data","size","_objectSpread","EDIT","invalid","errorSubject","errorBody","rand","COMPLETE","decorators","type","Boolean","reflect","attribute","MEDIUM","render","accept","button","buttonKind","buttonLabel","disabled","labelDescription","labelTitle","inputState","iconDescription","handleChange","handleDelete","_t","_","_t2","inputName","_t3","_t4","name","default"],"sources":["components/file-uploader/demo-file-uploader.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';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { delay } from 'bluebird';\nimport { prefix } from '../../globals/settings';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport './index';\nimport { FILE_UPLOADER_ITEM_STATE } from './file-uploader-item';\nimport { BUTTON_SIZE } from '../button/button';\nimport { FileData } from './stories/types';\n\n/**\n * A class to manage file uploading states, like sending file contents to server.\n * DEMONSTRATION-PURPOSE ONLY.\n * Data/state handling in file uploading tends to involve lots of application-specific logics\n * and thus abstracting everything in a library won't be a good return on investment\n * vs. letting users copy code here and implement features that fit their needs.\n */\n@customElement(`${prefix}-ce-demo-file-uploader`)\nexport default class CDSCEDemoFileUploader extends LitElement {\n /**\n * The files being uploaded.\n */\n private _files: FileData[] = [];\n\n /**\n * Handles `cds-drop-container-changed` on `<cds-file-drop-container>`.\n *\n * @param event The event.\n */\n private _handleChange(event: CustomEvent) {\n const { addedFiles } = event.detail;\n const newFiles: FileData[] = addedFiles.map(\n (item) =>\n ({\n id: Math.random().toString(36).slice(2),\n file: item,\n state: FILE_UPLOADER_ITEM_STATE.UPLOADING,\n } as FileData)\n );\n const { multiple, _files: files, _simulateUpload: simulateUpload } = this;\n if (multiple) {\n this._files = files.concat(newFiles);\n this.requestUpdate();\n newFiles.forEach(simulateUpload, this);\n } else if (addedFiles.length > 0) {\n this._files = files.concat(newFiles[0]);\n this.requestUpdate();\n this._simulateUpload(newFiles[0]);\n }\n }\n\n /**\n * Handles `cds-file-uploader-item-deleted` on `<cds-file-uploader-item>`.\n *\n * @param event The event.\n */\n private _handleDelete(event: CustomEvent) {\n const { fileId: idToDelete } = (event.target as HTMLElement).dataset;\n this._files = this._files.filter(({ id }) => idToDelete !== id);\n this.requestUpdate();\n }\n\n /**\n * Simulates updating file.\n *\n * @param data The data of the file being uploaded.\n */\n private async _simulateUpload(data: FileData) {\n const { id, file } = data;\n if (file.size > 524288) {\n this._files = this._files.map((item) =>\n id !== item.id\n ? item\n : {\n ...item,\n state: FILE_UPLOADER_ITEM_STATE.EDIT,\n invalid: true,\n errorSubject: 'File size exceeds limit',\n errorBody:\n '500kb max file size. Select a new file and try again.',\n }\n );\n this.requestUpdate();\n } else {\n // Simulates network request time\n const rand = Math.random() * 1000;\n await delay(rand);\n this._files = this._files.map((item) =>\n id !== item.id\n ? item\n : {\n ...item,\n state: FILE_UPLOADER_ITEM_STATE.COMPLETE,\n }\n );\n this.requestUpdate();\n // Shows x icon after 1 second\n await delay(1000);\n this._files = this._files.map((item) =>\n id !== item.id\n ? item\n : {\n ...item,\n state: FILE_UPLOADER_ITEM_STATE.EDIT,\n }\n );\n this.requestUpdate();\n }\n }\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if the drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n button = false;\n\n /**\n * Button kind.\n */\n @property({ attribute: 'button-kind' })\n buttonKind = 'primary';\n\n /**\n * Button label.\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Add file';\n\n /**\n * `true` if the drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Icon description.\n */\n @property({ attribute: 'icon-description' })\n iconDescription = '';\n\n /**\n * The input name.\n */\n @property({ attribute: 'input-name' })\n inputName = '';\n\n /**\n * The label description text.\n */\n @property({ attribute: 'label-description' })\n labelDescription = '';\n\n /**\n * The label title.\n */\n @property({ attribute: 'label-title' })\n labelTitle = '';\n\n /**\n * `true` if the drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The size of the button item.\n */\n @property({ reflect: true })\n size = BUTTON_SIZE.MEDIUM;\n\n /**\n * The state of this file uploader item.\n */\n @property({ reflect: true, attribute: 'input-state' })\n inputState = '';\n\n render() {\n const {\n accept,\n button,\n buttonKind,\n buttonLabel,\n disabled,\n labelDescription,\n labelTitle,\n multiple,\n size,\n inputState,\n iconDescription,\n _files: files,\n _handleChange: handleChange,\n _handleDelete: handleDelete,\n } = this;\n return html`\n <cds-file-uploader\n label-description=\"${ifDefined(labelDescription)}\"\n label-title=\"${ifDefined(labelTitle)}\"\n ?disabled=\"${disabled}\">\n ${!button\n ? html` <cds-file-uploader-drop-container\n accept=\"${ifDefined(accept)}\"\n ?multiple=\"${multiple}\"\n name=\"${ifDefined(this.inputName)}\"\n @cds-file-uploader-drop-container-changed=\"${handleChange}\">\n Drag and drop files here or click to upload\n </cds-file-uploader-drop-container>`\n : html` <cds-file-uploader-button\n size=\"${ifDefined(size)}\"\n button-kind=\"${buttonKind}\"\n accept=\"${ifDefined(accept)}\"\n name=\"${ifDefined(this.inputName)}\"\n ?multiple=\"${multiple}\"\n @cds-file-uploader-button-changed=\"${handleChange}\">\n ${buttonLabel}\n </cds-file-uploader-button>`}\n ${files.map(\n ({ id, invalid, file, state, errorSubject, errorBody }) => html`\n <cds-file-uploader-item\n data-file-id=\"${id}\"\n ?invalid=\"${invalid}\"\n state=\"${inputState || ifDefined(state)}\"\n icon-description=\"${ifDefined(iconDescription)}\"\n error-subject=\"${ifDefined(errorSubject)}\"\n error-body=\"${ifDefined(errorBody)}\"\n @cds-file-uploader-item-deleted=\"${handleDelete}\">\n ${file.name}\n </cds-file-uploader-item>\n `\n )}\n </cds-file-uploader>\n `;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/file-uploader/file-uploader-button.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAMvC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5F;;;;;GAKG;AACH,cACM,qBAAsB,SAAQ,0BAA6B;IAC/D;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;OAGG;IACH,OAAO,CAAC,SAAS;IA2BjB;;OAEG;IAEH,UAAU,cAAuB;IAEjC;;OAEG;IAEH,IAAI,cAAsB;IAE1B;;OAEG;IAEH,MAAM,SAAM;IAEZ;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,IAAI,SAAoB;IAExB,MAAM;
|
|
1
|
+
{"version":3,"sources":["components/file-uploader/file-uploader-button.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAMvC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5F;;;;;GAKG;AACH,cACM,qBAAsB,SAAQ,0BAA6B;IAC/D;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;OAGG;IACH,OAAO,CAAC,SAAS;IA2BjB;;OAEG;IAEH,UAAU,cAAuB;IAEjC;;OAEG;IAEH,IAAI,cAAsB;IAE1B;;OAEG;IAEH,MAAM,SAAM;IAEZ;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,IAAI,SAAoB;IAExB,MAAM;IA4CN;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IAED;;OAEG;IACH,MAAM,KAAK,aAAa,WAEvB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,qBAAqB,CAAC","file":"file-uploader-button.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 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/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport styles from './file-uploader.scss';\nimport { BUTTON_KIND, BUTTON_SIZE } from '../button/defs';\n\nexport { FORM_ELEMENT_COLOR_SCHEME as TILE_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * File uploader button .\n *\n * @element cds-file-uploader-container\n * @fires cds-file-uploader-button-changed The custom event fired when there is a user gesture to select files to upload.\n */\n@customElement(`${prefix}-file-uploader-button`)\nclass CDSFileUploaderButton extends HostListenerMixin(LitElement) {\n /**\n * Handles `click` event on the button.\n */\n private _handleClick(event) {\n event.target.value = null;\n const { selectorInput } = this.constructor as typeof CDSFileUploaderButton;\n this?.shadowRoot?.querySelector(selectorInput)?.setAttribute('value', '');\n (this?.shadowRoot?.querySelector(selectorInput) as HTMLElement).click();\n }\n\n /**\n * Handles `keydown` event on the button.\n */\n private _handleKeyDown(event) {\n const { selectorInput } = this.constructor as typeof CDSFileUploaderButton;\n if (event.key === 'Enter' || event.key === 'Space') {\n this?.shadowRoot?.querySelector(selectorInput)?.setAttribute('value', '');\n (this?.shadowRoot?.querySelector(selectorInput) as HTMLElement).click();\n }\n }\n\n /**\n * Handles user gesture to select files to upload.\n *\n * @param event The event.\n */\n private _handleChange(event: Event | DragEvent) {\n const addedFiles = this._getFiles(event);\n const { eventChange, selectorInput } = this\n .constructor as typeof CDSFileUploaderButton;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n addedFiles,\n },\n })\n );\n\n const fileInput = this?.shadowRoot?.querySelector(selectorInput);\n if (fileInput) {\n (fileInput as HTMLInputElement).value = '';\n }\n }\n\n /**\n * @param event The event.\n * @returns The list of files user chose to upload.\n */\n private _getFiles(event: Event | DragEvent) {\n const { files } =\n (event.type === 'drop'\n ? (event as DragEvent).dataTransfer\n : (event.target as HTMLInputElement)) ?? {};\n const { accept } = this;\n if (!accept || !/^(change|drop)$/.test(event.type)) {\n return Array.from(files ?? []);\n }\n const acceptedTypes = new Set(accept.split(' '));\n return Array.prototype.filter.call(\n files,\n ({ name, type: mimeType = '' }) => {\n const fileExtensionRegExp = /\\.[^.]+$/;\n const hasFileExtension = fileExtensionRegExp.test(name);\n const [fileExtension] = !hasFileExtension\n ? [undefined]\n : fileExtensionRegExp.exec(name) ?? [];\n\n return (\n acceptedTypes.has(mimeType) ||\n (fileExtension && acceptedTypes.has(fileExtension))\n );\n }\n ) as File[];\n }\n\n /**\n * Button kind.\n */\n @property({ reflect: true, attribute: 'button-kind' })\n buttonKind = BUTTON_KIND.PRIMARY;\n\n /**\n * Button size.\n */\n @property({ reflect: true })\n size = BUTTON_SIZE.MEDIUM;\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if this drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The name of the input.\n */\n @property({ reflect: true })\n name = '';\n\n /**\n * The shadow DOM slot to put this drop container in.\n */\n @property({ reflect: true })\n slot = 'drop-container';\n\n render() {\n const {\n accept,\n disabled,\n multiple,\n name,\n buttonKind,\n size,\n _handleChange: handleChange,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--file-browse-btn`]: true,\n [`${prefix}--file-browse-btn--disabled`]: disabled,\n });\n const buttonClasses = classMap({\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--${buttonKind}`]: buttonKind,\n [`${prefix}--layout--size-${size}`]: size,\n [`${prefix}--btn--disabled`]: disabled,\n [`${prefix}--btn--${size}`]: size,\n });\n return html`\n <button\n type=\"button\"\n class=\"${buttonClasses}\"\n @click=\"${this._handleClick}\"\n @keydown=\"${this._handleKeyDown}\">\n <slot></slot>\n </button>\n <label class=\"${labelClasses}\" for=\"file\"> </label>\n <input\n id=\"file\"\n type=\"file\"\n class=\"${prefix}--file-input\"\n tabindex=\"-1\"\n accept=\"${ifNonEmpty(accept)}\"\n ?disabled=\"${disabled}\"\n ?multiple=\"${multiple}\"\n name=\"${ifNonEmpty(name)}\"\n @change=\"${handleChange}\" />\n `;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to select files to upload.\n */\n static get eventChange() {\n return `${prefix}-file-uploader-button-changed`;\n }\n\n /**\n * A selector that will return the file `<input>`.\n */\n static get selectorInput() {\n return `.${prefix}--file-input`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderButton;\n"]}
|
|
@@ -235,6 +235,7 @@ let CDSFileUploaderButton = _decorate([customElement(`${prefix}-file-uploader-bu
|
|
|
235
235
|
const buttonClasses = classMap({
|
|
236
236
|
[`${prefix}--btn`]: true,
|
|
237
237
|
[`${prefix}--btn--${buttonKind}`]: buttonKind,
|
|
238
|
+
[`${prefix}--layout--size-${size}`]: size,
|
|
238
239
|
[`${prefix}--btn--disabled`]: disabled,
|
|
239
240
|
[`${prefix}--btn--${size}`]: size
|
|
240
241
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader-button.js","names":["classMap","LitElement","html","property","customElement","prefix","HostListenerMixin","ifNonEmpty","styles","BUTTON_KIND","BUTTON_SIZE","FORM_ELEMENT_COLOR_SCHEME","TILE_COLOR_SCHEME","CDSFileUploaderButton","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleClick","event","_this$shadowRoot","_this$shadowRoot$quer","_this$shadowRoot2","target","selectorInput","shadowRoot","querySelector","setAttribute","click","_handleKeyDown","_this$shadowRoot3","_this$shadowRoot3$que","_this$shadowRoot4","_handleChange","_this$shadowRoot5","addedFiles","_getFiles","eventChange","dispatchEvent","CustomEvent","bubbles","composed","detail","fileInput","_ref","files","type","dataTransfer","accept","test","Array","from","acceptedTypes","Set","split","prototype","filter","call","name","mimeType","_fileExtensionRegExp$","fileExtensionRegExp","hasFileExtension","fileExtension","undefined","exec","has","decorators","reflect","attribute","PRIMARY","MEDIUM","Boolean","render","disabled","multiple","buttonKind","size","handleChange","labelClasses","buttonClasses","_t","_","static"],"sources":["components/file-uploader/file-uploader-button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 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/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport styles from './file-uploader.scss';\nimport { BUTTON_KIND, BUTTON_SIZE } from '../button/defs';\n\nexport { FORM_ELEMENT_COLOR_SCHEME as TILE_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * File uploader button .\n *\n * @element cds-file-uploader-container\n * @fires cds-file-uploader-button-changed The custom event fired when there is a user gesture to select files to upload.\n */\n@customElement(`${prefix}-file-uploader-button`)\nclass CDSFileUploaderButton extends HostListenerMixin(LitElement) {\n /**\n * Handles `click` event on the button.\n */\n private _handleClick(event) {\n event.target.value = null;\n const { selectorInput } = this.constructor as typeof CDSFileUploaderButton;\n this?.shadowRoot?.querySelector(selectorInput)?.setAttribute('value', '');\n (this?.shadowRoot?.querySelector(selectorInput) as HTMLElement).click();\n }\n\n /**\n * Handles `keydown` event on the button.\n */\n private _handleKeyDown(event) {\n const { selectorInput } = this.constructor as typeof CDSFileUploaderButton;\n if (event.key === 'Enter' || event.key === 'Space') {\n this?.shadowRoot?.querySelector(selectorInput)?.setAttribute('value', '');\n (this?.shadowRoot?.querySelector(selectorInput) as HTMLElement).click();\n }\n }\n\n /**\n * Handles user gesture to select files to upload.\n *\n * @param event The event.\n */\n private _handleChange(event: Event | DragEvent) {\n const addedFiles = this._getFiles(event);\n const { eventChange, selectorInput } = this\n .constructor as typeof CDSFileUploaderButton;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n addedFiles,\n },\n })\n );\n\n const fileInput = this?.shadowRoot?.querySelector(selectorInput);\n if (fileInput) {\n (fileInput as HTMLInputElement).value = '';\n }\n }\n\n /**\n * @param event The event.\n * @returns The list of files user chose to upload.\n */\n private _getFiles(event: Event | DragEvent) {\n const { files } =\n (event.type === 'drop'\n ? (event as DragEvent).dataTransfer\n : (event.target as HTMLInputElement)) ?? {};\n const { accept } = this;\n if (!accept || !/^(change|drop)$/.test(event.type)) {\n return Array.from(files ?? []);\n }\n const acceptedTypes = new Set(accept.split(' '));\n return Array.prototype.filter.call(\n files,\n ({ name, type: mimeType = '' }) => {\n const fileExtensionRegExp = /\\.[^.]+$/;\n const hasFileExtension = fileExtensionRegExp.test(name);\n const [fileExtension] = !hasFileExtension\n ? [undefined]\n : fileExtensionRegExp.exec(name) ?? [];\n\n return (\n acceptedTypes.has(mimeType) ||\n (fileExtension && acceptedTypes.has(fileExtension))\n );\n }\n ) as File[];\n }\n\n /**\n * Button kind.\n */\n @property({ reflect: true, attribute: 'button-kind' })\n buttonKind = BUTTON_KIND.PRIMARY;\n\n /**\n * Button size.\n */\n @property({ reflect: true })\n size = BUTTON_SIZE.MEDIUM;\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if this drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The name of the input.\n */\n @property({ reflect: true })\n name = '';\n\n /**\n * The shadow DOM slot to put this drop container in.\n */\n @property({ reflect: true })\n slot = 'drop-container';\n\n render() {\n const {\n accept,\n disabled,\n multiple,\n name,\n buttonKind,\n size,\n _handleChange: handleChange,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--file-browse-btn`]: true,\n [`${prefix}--file-browse-btn--disabled`]: disabled,\n });\n const buttonClasses = classMap({\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--${buttonKind}`]: buttonKind,\n [`${prefix}--btn--disabled`]: disabled,\n [`${prefix}--btn--${size}`]: size,\n });\n return html`\n <button\n type=\"button\"\n class=\"${buttonClasses}\"\n @click=\"${this._handleClick}\"\n @keydown=\"${this._handleKeyDown}\">\n <slot></slot>\n </button>\n <label class=\"${labelClasses}\" for=\"file\"> </label>\n <input\n id=\"file\"\n type=\"file\"\n class=\"${prefix}--file-input\"\n tabindex=\"-1\"\n accept=\"${ifNonEmpty(accept)}\"\n ?disabled=\"${disabled}\"\n ?multiple=\"${multiple}\"\n name=\"${ifNonEmpty(name)}\"\n @change=\"${handleChange}\" />\n `;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to select files to upload.\n */\n static get eventChange() {\n return `${prefix}-file-uploader-button-changed`;\n }\n\n /**\n * A selector that will return the file `<input>`.\n */\n static get selectorInput() {\n return `.${prefix}--file-input`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderButton;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-uploader-button.js","names":["classMap","LitElement","html","property","customElement","prefix","HostListenerMixin","ifNonEmpty","styles","BUTTON_KIND","BUTTON_SIZE","FORM_ELEMENT_COLOR_SCHEME","TILE_COLOR_SCHEME","CDSFileUploaderButton","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleClick","event","_this$shadowRoot","_this$shadowRoot$quer","_this$shadowRoot2","target","selectorInput","shadowRoot","querySelector","setAttribute","click","_handleKeyDown","_this$shadowRoot3","_this$shadowRoot3$que","_this$shadowRoot4","_handleChange","_this$shadowRoot5","addedFiles","_getFiles","eventChange","dispatchEvent","CustomEvent","bubbles","composed","detail","fileInput","_ref","files","type","dataTransfer","accept","test","Array","from","acceptedTypes","Set","split","prototype","filter","call","name","mimeType","_fileExtensionRegExp$","fileExtensionRegExp","hasFileExtension","fileExtension","undefined","exec","has","decorators","reflect","attribute","PRIMARY","MEDIUM","Boolean","render","disabled","multiple","buttonKind","size","handleChange","labelClasses","buttonClasses","_t","_","static"],"sources":["components/file-uploader/file-uploader-button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 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/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport styles from './file-uploader.scss';\nimport { BUTTON_KIND, BUTTON_SIZE } from '../button/defs';\n\nexport { FORM_ELEMENT_COLOR_SCHEME as TILE_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * File uploader button .\n *\n * @element cds-file-uploader-container\n * @fires cds-file-uploader-button-changed The custom event fired when there is a user gesture to select files to upload.\n */\n@customElement(`${prefix}-file-uploader-button`)\nclass CDSFileUploaderButton extends HostListenerMixin(LitElement) {\n /**\n * Handles `click` event on the button.\n */\n private _handleClick(event) {\n event.target.value = null;\n const { selectorInput } = this.constructor as typeof CDSFileUploaderButton;\n this?.shadowRoot?.querySelector(selectorInput)?.setAttribute('value', '');\n (this?.shadowRoot?.querySelector(selectorInput) as HTMLElement).click();\n }\n\n /**\n * Handles `keydown` event on the button.\n */\n private _handleKeyDown(event) {\n const { selectorInput } = this.constructor as typeof CDSFileUploaderButton;\n if (event.key === 'Enter' || event.key === 'Space') {\n this?.shadowRoot?.querySelector(selectorInput)?.setAttribute('value', '');\n (this?.shadowRoot?.querySelector(selectorInput) as HTMLElement).click();\n }\n }\n\n /**\n * Handles user gesture to select files to upload.\n *\n * @param event The event.\n */\n private _handleChange(event: Event | DragEvent) {\n const addedFiles = this._getFiles(event);\n const { eventChange, selectorInput } = this\n .constructor as typeof CDSFileUploaderButton;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n addedFiles,\n },\n })\n );\n\n const fileInput = this?.shadowRoot?.querySelector(selectorInput);\n if (fileInput) {\n (fileInput as HTMLInputElement).value = '';\n }\n }\n\n /**\n * @param event The event.\n * @returns The list of files user chose to upload.\n */\n private _getFiles(event: Event | DragEvent) {\n const { files } =\n (event.type === 'drop'\n ? (event as DragEvent).dataTransfer\n : (event.target as HTMLInputElement)) ?? {};\n const { accept } = this;\n if (!accept || !/^(change|drop)$/.test(event.type)) {\n return Array.from(files ?? []);\n }\n const acceptedTypes = new Set(accept.split(' '));\n return Array.prototype.filter.call(\n files,\n ({ name, type: mimeType = '' }) => {\n const fileExtensionRegExp = /\\.[^.]+$/;\n const hasFileExtension = fileExtensionRegExp.test(name);\n const [fileExtension] = !hasFileExtension\n ? [undefined]\n : fileExtensionRegExp.exec(name) ?? [];\n\n return (\n acceptedTypes.has(mimeType) ||\n (fileExtension && acceptedTypes.has(fileExtension))\n );\n }\n ) as File[];\n }\n\n /**\n * Button kind.\n */\n @property({ reflect: true, attribute: 'button-kind' })\n buttonKind = BUTTON_KIND.PRIMARY;\n\n /**\n * Button size.\n */\n @property({ reflect: true })\n size = BUTTON_SIZE.MEDIUM;\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if this drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The name of the input.\n */\n @property({ reflect: true })\n name = '';\n\n /**\n * The shadow DOM slot to put this drop container in.\n */\n @property({ reflect: true })\n slot = 'drop-container';\n\n render() {\n const {\n accept,\n disabled,\n multiple,\n name,\n buttonKind,\n size,\n _handleChange: handleChange,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--file-browse-btn`]: true,\n [`${prefix}--file-browse-btn--disabled`]: disabled,\n });\n const buttonClasses = classMap({\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--${buttonKind}`]: buttonKind,\n [`${prefix}--layout--size-${size}`]: size,\n [`${prefix}--btn--disabled`]: disabled,\n [`${prefix}--btn--${size}`]: size,\n });\n return html`\n <button\n type=\"button\"\n class=\"${buttonClasses}\"\n @click=\"${this._handleClick}\"\n @keydown=\"${this._handleKeyDown}\">\n <slot></slot>\n </button>\n <label class=\"${labelClasses}\" for=\"file\"> </label>\n <input\n id=\"file\"\n type=\"file\"\n class=\"${prefix}--file-input\"\n tabindex=\"-1\"\n accept=\"${ifNonEmpty(accept)}\"\n ?disabled=\"${disabled}\"\n ?multiple=\"${multiple}\"\n name=\"${ifNonEmpty(name)}\"\n @change=\"${handleChange}\" />\n `;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to select files to upload.\n */\n static get eventChange() {\n return `${prefix}-file-uploader-button-changed`;\n }\n\n /**\n * A selector that will return the file `<input>`.\n */\n static get selectorInput() {\n return `.${prefix}--file-input`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderButton;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/file-uploader/file-uploader-drop-container.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"sources":["components/file-uploader/file-uploader-drop-container.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AASvC,OAAO,EAAE,yBAAyB,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAU5F;;;;;GAKG;AACH,cACM,4BAA6B,SAAQ,iCAA6B;IACtE;;OAEG;IACH,OAAO,CAAC,OAAO,CAAS;IAExB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAwBrB;;;;OAIG;IAKH,OAAO,CAAC,WAAW;IAiBnB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAuBjB;;OAEG;IAEH,MAAM,SAAM;IAEZ;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,IAAI,SAAoB;IAExB,MAAM;IAoCN;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IAED;;OAEG;IACH,MAAM,KAAK,aAAa,WAEvB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,4BAA4B,CAAC","file":"file-uploader-drop-container.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 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/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport styles from './file-uploader.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { FORM_ELEMENT_COLOR_SCHEME as TILE_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * The value to set to `event.dataTransfer.dropEffect`, keyed by the event nane.\n */\nconst dropEffects = {\n dragover: 'copy',\n dragleave: 'move',\n};\n\n/**\n * File uploader drop container.\n *\n * @element cds-file-uploader-drop-container\n * @fires cds-file-uploader-drop-container-changed The custom event fired when there is a user gesture to select files to upload.\n */\n@customElement(`${prefix}-file-uploader-drop-container`)\nclass CDSFileUploaderDropContainer extends HostListenerMixin(LitElement) {\n /**\n * `true` to show the active state of this UI.\n */\n private _active = false;\n\n /**\n * Handles user gesture to select files to upload.\n *\n * @param event The event.\n */\n private _handleChange(event: Event | DragEvent) {\n const { eventChange, selectorInput } = this\n .constructor as typeof CDSFileUploaderDropContainer;\n const addedFiles = this._getFiles(\n event,\n (this.shadowRoot?.querySelector(selectorInput) as HTMLInputElement).files\n );\n\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n addedFiles,\n },\n })\n );\n\n const fileInput = this?.shadowRoot?.querySelector(selectorInput);\n if (fileInput) {\n (fileInput as HTMLInputElement).value = ''; // carbon-web-components#904\n }\n }\n\n /**\n * Handles `dragover`, `dragleave` and `drop` events.\n *\n * @param event The event.\n */\n @HostListener('dragover')\n @HostListener('dragleave')\n @HostListener('drop')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleDrag(event: DragEvent) {\n event.preventDefault(); // Prevents page navigation upon dropping\n if (this.disabled) {\n return;\n }\n const { dataTransfer, type } = event;\n const dropEffect = dropEffects[type];\n if (dataTransfer && dropEffect) {\n dataTransfer.dropEffect = dropEffect;\n }\n this._active = type === 'dragover';\n if (type === 'drop') {\n this._handleChange(event);\n }\n this.requestUpdate();\n }\n\n /**\n * @param event The event.\n * @returns The list of files user chose to upload.\n */\n private _getFiles(event, files) {\n const { accept } = this;\n if (!accept || !/^(change|drop)$/.test(event.type)) {\n return Array.from(files ?? []);\n }\n const acceptedTypes = new Set(accept.split(' '));\n return Array.prototype.filter.call(\n files,\n ({ name, type: mimeType = '' }) => {\n const fileExtensionRegExp = /\\.[^.]+$/;\n const hasFileExtension = fileExtensionRegExp.test(name);\n const [fileExtension] = !hasFileExtension\n ? [undefined]\n : fileExtensionRegExp.exec(name) ?? [];\n\n return (\n acceptedTypes.has(mimeType) ||\n (fileExtension && acceptedTypes.has(fileExtension))\n );\n }\n ) as File[];\n }\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if this drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The name of the input.\n */\n @property({ reflect: true })\n name = '';\n\n /**\n * The shadow DOM slot to put this drop container in.\n */\n @property({ reflect: true })\n slot = 'drop-container';\n\n render() {\n const {\n accept,\n disabled,\n multiple,\n name,\n _active: active,\n _handleChange: handleChange,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--file-browse-btn`]: true,\n [`${prefix}--file-browse-btn--disabled`]: disabled,\n });\n const dropareaClasses = classMap({\n [`${prefix}--file__drop-container`]: true,\n [`${prefix}--file__drop-container--drag-over`]: active,\n });\n return html`\n <label class=\"${labelClasses}\" for=\"file\" tabindex=\"0\">\n <div class=\"${dropareaClasses}\" role=\"button\">\n <slot></slot>\n <input\n id=\"file\"\n type=\"file\"\n name=\"${ifNonEmpty(name)}\"\n class=\"${prefix}--file-input\"\n tabindex=\"-1\"\n accept=\"${ifNonEmpty(accept)}\"\n ?disabled=\"${disabled}\"\n ?multiple=\"${multiple}\"\n @change=\"${handleChange}\" />\n </div>\n </label>\n `;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to select files to upload.\n */\n static get eventChange() {\n return `${prefix}-file-uploader-drop-container-changed`;\n }\n\n /**\n * A selector that will return the file `<input>`.\n */\n static get selectorInput() {\n return `.${prefix}--file-input`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderDropContainer;\n"]}
|
|
@@ -12,12 +12,13 @@ let _ = t => t,
|
|
|
12
12
|
|
|
13
13
|
import { classMap } from 'lit/directives/class-map.js';
|
|
14
14
|
import { LitElement, html } from 'lit';
|
|
15
|
-
import { property
|
|
15
|
+
import { property } from 'lit/decorators.js';
|
|
16
16
|
import { prefix } from '../../globals/settings';
|
|
17
17
|
import HostListenerMixin from '../../globals/mixins/host-listener';
|
|
18
18
|
import HostListener from '../../globals/decorators/host-listener';
|
|
19
19
|
import ifNonEmpty from '../../globals/directives/if-non-empty';
|
|
20
20
|
import styles from "././file-uploader.css.js";
|
|
21
|
+
import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
|
|
21
22
|
export { FORM_ELEMENT_COLOR_SCHEME as TILE_COLOR_SCHEME } from '../../globals/shared-enums';
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader-drop-container.js","names":["classMap","LitElement","html","property","customElement","prefix","HostListenerMixin","HostListener","ifNonEmpty","styles","FORM_ELEMENT_COLOR_SCHEME","TILE_COLOR_SCHEME","dropEffects","dragover","dragleave","CDSFileUploaderDropContainer","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleChange","event","_this$shadowRoot","_this$shadowRoot2","eventChange","selectorInput","addedFiles","_getFiles","shadowRoot","querySelector","files","dispatchEvent","CustomEvent","bubbles","composed","detail","fileInput","decorators","_handleDrag","preventDefault","disabled","dataTransfer","type","dropEffect","_active","requestUpdate","accept","test","Array","from","acceptedTypes","Set","split","prototype","filter","call","name","mimeType","_fileExtensionRegExp$","fileExtensionRegExp","hasFileExtension","fileExtension","undefined","exec","has","Boolean","reflect","render","multiple","active","handleChange","labelClasses","dropareaClasses","_t","_","static"],"sources":["components/file-uploader/file-uploader-drop-container.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 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/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport styles from './file-uploader.scss';\n\nexport { FORM_ELEMENT_COLOR_SCHEME as TILE_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * The value to set to `event.dataTransfer.dropEffect`, keyed by the event nane.\n */\nconst dropEffects = {\n dragover: 'copy',\n dragleave: 'move',\n};\n\n/**\n * File uploader drop container.\n *\n * @element cds-file-uploader-drop-container\n * @fires cds-file-uploader-drop-container-changed The custom event fired when there is a user gesture to select files to upload.\n */\n@customElement(`${prefix}-file-uploader-drop-container`)\nclass CDSFileUploaderDropContainer extends HostListenerMixin(LitElement) {\n /**\n * `true` to show the active state of this UI.\n */\n private _active = false;\n\n /**\n * Handles user gesture to select files to upload.\n *\n * @param event The event.\n */\n private _handleChange(event: Event | DragEvent) {\n const { eventChange, selectorInput } = this\n .constructor as typeof CDSFileUploaderDropContainer;\n const addedFiles = this._getFiles(\n event,\n (this.shadowRoot?.querySelector(selectorInput) as HTMLInputElement).files\n );\n\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n addedFiles,\n },\n })\n );\n\n const fileInput = this?.shadowRoot?.querySelector(selectorInput);\n if (fileInput) {\n (fileInput as HTMLInputElement).value = ''; // carbon-web-components#904\n }\n }\n\n /**\n * Handles `dragover`, `dragleave` and `drop` events.\n *\n * @param event The event.\n */\n @HostListener('dragover')\n @HostListener('dragleave')\n @HostListener('drop')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleDrag(event: DragEvent) {\n event.preventDefault(); // Prevents page navigation upon dropping\n if (this.disabled) {\n return;\n }\n const { dataTransfer, type } = event;\n const dropEffect = dropEffects[type];\n if (dataTransfer && dropEffect) {\n dataTransfer.dropEffect = dropEffect;\n }\n this._active = type === 'dragover';\n if (type === 'drop') {\n this._handleChange(event);\n }\n this.requestUpdate();\n }\n\n /**\n * @param event The event.\n * @returns The list of files user chose to upload.\n */\n private _getFiles(event, files) {\n const { accept } = this;\n if (!accept || !/^(change|drop)$/.test(event.type)) {\n return Array.from(files ?? []);\n }\n const acceptedTypes = new Set(accept.split(' '));\n return Array.prototype.filter.call(\n files,\n ({ name, type: mimeType = '' }) => {\n const fileExtensionRegExp = /\\.[^.]+$/;\n const hasFileExtension = fileExtensionRegExp.test(name);\n const [fileExtension] = !hasFileExtension\n ? [undefined]\n : fileExtensionRegExp.exec(name) ?? [];\n\n return (\n acceptedTypes.has(mimeType) ||\n (fileExtension && acceptedTypes.has(fileExtension))\n );\n }\n ) as File[];\n }\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if this drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The name of the input.\n */\n @property({ reflect: true })\n name = '';\n\n /**\n * The shadow DOM slot to put this drop container in.\n */\n @property({ reflect: true })\n slot = 'drop-container';\n\n render() {\n const {\n accept,\n disabled,\n multiple,\n name,\n _active: active,\n _handleChange: handleChange,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--file-browse-btn`]: true,\n [`${prefix}--file-browse-btn--disabled`]: disabled,\n });\n const dropareaClasses = classMap({\n [`${prefix}--file__drop-container`]: true,\n [`${prefix}--file__drop-container--drag-over`]: active,\n });\n return html`\n <label class=\"${labelClasses}\" for=\"file\" tabindex=\"0\">\n <div class=\"${dropareaClasses}\" role=\"button\">\n <slot></slot>\n <input\n id=\"file\"\n type=\"file\"\n name=\"${ifNonEmpty(name)}\"\n class=\"${prefix}--file-input\"\n tabindex=\"-1\"\n accept=\"${ifNonEmpty(accept)}\"\n ?disabled=\"${disabled}\"\n ?multiple=\"${multiple}\"\n @change=\"${handleChange}\" />\n </div>\n </label>\n `;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to select files to upload.\n */\n static get eventChange() {\n return `${prefix}-file-uploader-drop-container-changed`;\n }\n\n /**\n * A selector that will return the file `<input>`.\n */\n static get selectorInput() {\n return `.${prefix}--file-input`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderDropContainer;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,6BAA6B;AACtD,SAASC,UAAU,EAAEC,IAAI,QAAQ,KAAK;AACtC,SAASC,QAAQ,EAAEC,aAAa,QAAQ,mBAAmB;AAC3D,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,UAAU,MAAM,uCAAuC;AAC9D,OAAOC,MAAM,MAAM,0BAAsB;AAEzC,SAASC,yBAAyB,IAAIC,iBAAiB,QAAQ,4BAA4B;;AAE3F;AACA;AACA;AACA,MAAMC,WAAW,GAAG;EAClBC,QAAQ,EAAE,MAAM;EAChBC,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA,IAOMC,4BAA4B,GAAAC,SAAA,EADjCZ,aAAa,CAAE,GAAEC,MAAO,+BAA8B,CAAC,aAAAY,WAAA,EAAAC,kBAAA;EAAxD,MACMH,4BAA4B,SAAAG,kBAAA,CAAuC;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EA0KzE;EAAC;IAAAI,CAAA,EA1KKN,4BAA4B;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAId,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAHvB;AACF;AACA;;MAGE;AACF;AACA;AACA;AACA;MACE,SAAAC,cAAsBC,KAAwB,EAAE;QAAA,IAAAC,gBAAA,EAAAC,iBAAA;QAC9C,MAAM;UAAEC,WAAW;UAAEC;QAAc,CAAC,GAAG,IAAI,CACxCZ,WAAkD;QACrD,MAAMa,UAAU,GAAG,IAAI,CAACC,SAAS,CAC/BN,KAAK,EACL,EAAAC,gBAAA,GAAC,IAAI,CAACM,UAAU,cAAAN,gBAAA,uBAAfA,gBAAA,CAAiBO,aAAa,CAACJ,aAAa,CAAC,EAAsBK,KAAK,CAC1E;QAED,IAAI,CAACC,aAAa,CAChB,IAAIC,WAAW,CAACR,WAAW,EAAE;UAC3BS,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE,IAAI;UACdC,MAAM,EAAE;YACNT;UACF;QACF,CAAC,CAAC,CACH;QAED,MAAMU,SAAS,GAAG,IAAI,aAAJ,IAAI,wBAAAb,iBAAA,GAAJ,IAAI,CAAEK,UAAU,cAAAL,iBAAA,uBAAhBA,iBAAA,CAAkBM,aAAa,CAACJ,aAAa,CAAC;QAChE,IAAIW,SAAS,EAAE;UACZA,SAAS,CAAsBjB,KAAK,GAAG,EAAE,CAAC,CAAC;QAC9C;MACF;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAAF,IAAA;MAAAoB,UAAA,GAKCpC,YAAY,CAAC,UAAU,CAAC,EACxBA,YAAY,CAAC,WAAW,CAAC,EACzBA,YAAY,CAAC,MAAM,CAAC;MAAAiB,GAAA;MAAAC,KAAA,EAFrB,SAAAmB,YAIoBjB,KAAgB,EAAE;QACpCA,KAAK,CAACkB,cAAc,EAAE,CAAC,CAAC;QACxB,IAAI,IAAI,CAACC,QAAQ,EAAE;UACjB;QACF;QACA,MAAM;UAAEC,YAAY;UAAEC;QAAK,CAAC,GAAGrB,KAAK;QACpC,MAAMsB,UAAU,GAAGrC,WAAW,CAACoC,IAAI,CAAC;QACpC,IAAID,YAAY,IAAIE,UAAU,EAAE;UAC9BF,YAAY,CAACE,UAAU,GAAGA,UAAU;QACtC;QACA,IAAI,CAACC,OAAO,GAAGF,IAAI,KAAK,UAAU;QAClC,IAAIA,IAAI,KAAK,MAAM,EAAE;UACnB,IAAI,CAACtB,aAAa,CAACC,KAAK,CAAC;QAC3B;QACA,IAAI,CAACwB,aAAa,EAAE;MACtB;;MAEA;AACF;AACA;AACA;IAHE;MAAA5B,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAIA,SAAAQ,UAAkBN,KAAK,EAAES,KAAK,EAAE;QAC9B,MAAM;UAAEgB;QAAO,CAAC,GAAG,IAAI;QACvB,IAAI,CAACA,MAAM,IAAI,CAAC,iBAAiB,CAACC,IAAI,CAAC1B,KAAK,CAACqB,IAAI,CAAC,EAAE;UAClD,OAAOM,KAAK,CAACC,IAAI,CAACnB,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC;QAChC;QACA,MAAMoB,aAAa,GAAG,IAAIC,GAAG,CAACL,MAAM,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAOJ,KAAK,CAACK,SAAS,CAACC,MAAM,CAACC,IAAI,CAChCzB,KAAK,EACL,CAAC;UAAE0B,IAAI;UAAEd,IAAI,EAAEe,QAAQ,GAAG;QAAG,CAAC,KAAK;UAAA,IAAAC,qBAAA;UACjC,MAAMC,mBAAmB,GAAG,UAAU;UACtC,MAAMC,gBAAgB,GAAGD,mBAAmB,CAACZ,IAAI,CAACS,IAAI,CAAC;UACvD,MAAM,CAACK,aAAa,CAAC,GAAG,CAACD,gBAAgB,GACrC,CAACE,SAAS,CAAC,IAAAJ,qBAAA,GACXC,mBAAmB,CAACI,IAAI,CAACP,IAAI,CAAC,cAAAE,qBAAA,cAAAA,qBAAA,GAAI,EAAE;UAExC,OACER,aAAa,CAACc,GAAG,CAACP,QAAQ,CAAC,IAC1BI,aAAa,IAAIX,aAAa,CAACc,GAAG,CAACH,aAAa,CAAE;QAEvD,CAAC,CACF;MACH;;MAEA;AACF;AACA;IAFE;MAAA5C,IAAA;MAAAoB,UAAA,GAGCxC,QAAQ,EAAE;MAAAqB,GAAA;MAAAC,MAAA;QAAA,OACF,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAoB,UAAA,GAKVxC,QAAQ,CAAC;QAAE6C,IAAI,EAAEuB,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAhD,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAoB,UAAA,GAMfxC,QAAQ,CAAC;QAAE6C,IAAI,EAAEuB,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAhD,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAoB,UAAA,GAKfxC,QAAQ,CAAC;QAAEqE,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAhD,GAAA;MAAAC,MAAA;QAAA,OACrB,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAoB,UAAA,GAKRxC,QAAQ,CAAC;QAAEqE,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAhD,GAAA;MAAAC,MAAA;QAAA,OACrB,gBAAgB;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAvBvB;AACF;AACA;MAIE;AACF;AACA;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE,SAAAgD,OAAA,EAAS;QACP,MAAM;UACJrB,MAAM;UACNN,QAAQ;UACR4B,QAAQ;UACRZ,IAAI;UACJZ,OAAO,EAAEyB,MAAM;UACfjD,aAAa,EAAEkD;QACjB,CAAC,GAAG,IAAI;QACR,MAAMC,YAAY,GAAG7E,QAAQ,CAAC;UAC5B,CAAE,GAAEK,MAAO,mBAAkB,GAAG,IAAI;UACpC,CAAE,GAAEA,MAAO,6BAA4B,GAAGyC;QAC5C,CAAC,CAAC;QACF,MAAMgC,eAAe,GAAG9E,QAAQ,CAAC;UAC/B,CAAE,GAAEK,MAAO,wBAAuB,GAAG,IAAI;UACzC,CAAE,GAAEA,MAAO,mCAAkC,GAAGsE;QAClD,CAAC,CAAC;QACF,OAAOzE,IAAI,CAAA6E,EAAA,KAAAA,EAAA,GAAAC,CAAC;AAChB,sBAAoB,CAAe;AACnC,sBAAoB,CAAkB;AACtC;AACA;AACA;AACA;AACA,oBAAkB,CAAmB;AACrC,qBAAmB,CAAS;AAC5B;AACA,sBAAoB,CAAqB;AACzC,yBAAuB,CAAW;AAClC,yBAAuB,CAAW;AAClC,uBAAqB,CAAe;AACpC;AACA;AACA,KAAI,GAfkBH,YAAY,EACZC,eAAe,EAKjBtE,UAAU,CAACsD,IAAI,CAAC,EACfzD,MAAM,EAELG,UAAU,CAAC4C,MAAM,CAAC,EACfN,QAAQ,EACR4B,QAAQ,EACVE,YAAY;MAIjC;;MAEA;AACF;AACA;IAFE;MAAArD,IAAA;MAAA0D,MAAA;MAAAzD,GAAA;MAAAC,KAAA,EAGA,SAAAK,YAAA,EAAyB;QACvB,OAAQ,GAAEzB,MAAO,uCAAsC;MACzD;;MAEA;AACF;AACA;IAFE;MAAAkB,IAAA;MAAA0D,MAAA;MAAAzD,GAAA;MAAAC,KAAA,EAGA,SAAAM,cAAA,EAA2B;QACzB,OAAQ,IAAG1B,MAAO,cAAa;MACjC;IAAC;MAAAkB,IAAA;MAAA0D,MAAA;MAAAzD,GAAA;MAAAC,MAAA;QAAA,OAEehB,MAAM;MAAA;IAAA;EAAA;AAAA,GAzKmBH,iBAAiB,CAACL,UAAU,CAAC;AA4KxE,eAAec,4BAA4B"}
|
|
1
|
+
{"version":3,"file":"file-uploader-drop-container.js","names":["classMap","LitElement","html","property","prefix","HostListenerMixin","HostListener","ifNonEmpty","styles","carbonElement","customElement","FORM_ELEMENT_COLOR_SCHEME","TILE_COLOR_SCHEME","dropEffects","dragover","dragleave","CDSFileUploaderDropContainer","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleChange","event","_this$shadowRoot","_this$shadowRoot2","eventChange","selectorInput","addedFiles","_getFiles","shadowRoot","querySelector","files","dispatchEvent","CustomEvent","bubbles","composed","detail","fileInput","decorators","_handleDrag","preventDefault","disabled","dataTransfer","type","dropEffect","_active","requestUpdate","accept","test","Array","from","acceptedTypes","Set","split","prototype","filter","call","name","mimeType","_fileExtensionRegExp$","fileExtensionRegExp","hasFileExtension","fileExtension","undefined","exec","has","Boolean","reflect","render","multiple","active","handleChange","labelClasses","dropareaClasses","_t","_","static"],"sources":["components/file-uploader/file-uploader-drop-container.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 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/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport styles from './file-uploader.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { FORM_ELEMENT_COLOR_SCHEME as TILE_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * The value to set to `event.dataTransfer.dropEffect`, keyed by the event nane.\n */\nconst dropEffects = {\n dragover: 'copy',\n dragleave: 'move',\n};\n\n/**\n * File uploader drop container.\n *\n * @element cds-file-uploader-drop-container\n * @fires cds-file-uploader-drop-container-changed The custom event fired when there is a user gesture to select files to upload.\n */\n@customElement(`${prefix}-file-uploader-drop-container`)\nclass CDSFileUploaderDropContainer extends HostListenerMixin(LitElement) {\n /**\n * `true` to show the active state of this UI.\n */\n private _active = false;\n\n /**\n * Handles user gesture to select files to upload.\n *\n * @param event The event.\n */\n private _handleChange(event: Event | DragEvent) {\n const { eventChange, selectorInput } = this\n .constructor as typeof CDSFileUploaderDropContainer;\n const addedFiles = this._getFiles(\n event,\n (this.shadowRoot?.querySelector(selectorInput) as HTMLInputElement).files\n );\n\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n addedFiles,\n },\n })\n );\n\n const fileInput = this?.shadowRoot?.querySelector(selectorInput);\n if (fileInput) {\n (fileInput as HTMLInputElement).value = ''; // carbon-web-components#904\n }\n }\n\n /**\n * Handles `dragover`, `dragleave` and `drop` events.\n *\n * @param event The event.\n */\n @HostListener('dragover')\n @HostListener('dragleave')\n @HostListener('drop')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleDrag(event: DragEvent) {\n event.preventDefault(); // Prevents page navigation upon dropping\n if (this.disabled) {\n return;\n }\n const { dataTransfer, type } = event;\n const dropEffect = dropEffects[type];\n if (dataTransfer && dropEffect) {\n dataTransfer.dropEffect = dropEffect;\n }\n this._active = type === 'dragover';\n if (type === 'drop') {\n this._handleChange(event);\n }\n this.requestUpdate();\n }\n\n /**\n * @param event The event.\n * @returns The list of files user chose to upload.\n */\n private _getFiles(event, files) {\n const { accept } = this;\n if (!accept || !/^(change|drop)$/.test(event.type)) {\n return Array.from(files ?? []);\n }\n const acceptedTypes = new Set(accept.split(' '));\n return Array.prototype.filter.call(\n files,\n ({ name, type: mimeType = '' }) => {\n const fileExtensionRegExp = /\\.[^.]+$/;\n const hasFileExtension = fileExtensionRegExp.test(name);\n const [fileExtension] = !hasFileExtension\n ? [undefined]\n : fileExtensionRegExp.exec(name) ?? [];\n\n return (\n acceptedTypes.has(mimeType) ||\n (fileExtension && acceptedTypes.has(fileExtension))\n );\n }\n ) as File[];\n }\n\n /**\n * The file types the file input should accept, separated by space.\n */\n @property()\n accept = '';\n\n /**\n * `true` if this drop container should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this drop container should accept more than one files at once.\n * Note that even with `false` set here, user _can_ select multiple files one by one.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * The name of the input.\n */\n @property({ reflect: true })\n name = '';\n\n /**\n * The shadow DOM slot to put this drop container in.\n */\n @property({ reflect: true })\n slot = 'drop-container';\n\n render() {\n const {\n accept,\n disabled,\n multiple,\n name,\n _active: active,\n _handleChange: handleChange,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--file-browse-btn`]: true,\n [`${prefix}--file-browse-btn--disabled`]: disabled,\n });\n const dropareaClasses = classMap({\n [`${prefix}--file__drop-container`]: true,\n [`${prefix}--file__drop-container--drag-over`]: active,\n });\n return html`\n <label class=\"${labelClasses}\" for=\"file\" tabindex=\"0\">\n <div class=\"${dropareaClasses}\" role=\"button\">\n <slot></slot>\n <input\n id=\"file\"\n type=\"file\"\n name=\"${ifNonEmpty(name)}\"\n class=\"${prefix}--file-input\"\n tabindex=\"-1\"\n accept=\"${ifNonEmpty(accept)}\"\n ?disabled=\"${disabled}\"\n ?multiple=\"${multiple}\"\n @change=\"${handleChange}\" />\n </div>\n </label>\n `;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to select files to upload.\n */\n static get eventChange() {\n return `${prefix}-file-uploader-drop-container-changed`;\n }\n\n /**\n * A selector that will return the file `<input>`.\n */\n static get selectorInput() {\n return `.${prefix}--file-input`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderDropContainer;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/file-uploader/file-uploader-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAOvC,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"sources":["components/file-uploader/file-uploader-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAOvC,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,cACM,mBAAoB,SAAQ,UAAU;IAC1C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IAEH,eAAe,SAAsB;IAErC;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,IAAI,0BAAkC;IAEtC;;OAEG;IAEH,KAAK,2BAAsC;IAE3C;;OAEG;IAEH,YAAY,SAAM;IAElB;;OAEG;IAEH,SAAS,SAAM;IAEf,MAAM;IAkBN;;;OAGG;IACH,MAAM,KAAK,iBAAiB,WAE3B;IAED;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,mBAAmB,CAAC","file":"file-uploader-item.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport CheckmarkFilled16 from '@carbon/icons/lib/checkmark--filled/16';\nimport Close16 from '@carbon/icons/lib/close/16';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport { prefix } from '../../globals/settings';\nimport { LOADING_TYPE } from '../loading/loading';\nimport { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE } from './defs';\nimport styles from './file-uploader.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE };\n\n/**\n * File uploader item.\n *\n * @element cds-file-uploader-item\n * @slot validity-message The validity message.\n * @slot validity-message-supplement The supplemental validity message.\n * @fires cds-file-uploader-item-beingdeleted\n * The custom event fired before this file uploader item is being deleted upon a user gesture.\n * Cancellation of this event stops the user-initiated action of deleting this file uploader item.\n * @fires cds-file-uploader-item-deleted - The custom event fired after this file uploader item is deleted upon a user gesture.\n */\n@customElement(`${prefix}-file-uploader-item`)\nclass CDSFileUploaderItem extends LitElement {\n /**\n * Handles `click` event on the delete button.\n */\n private _handleClickDeleteButton() {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n };\n const { eventBeforeDelete, eventDelete } = this\n .constructor as typeof CDSFileUploaderItem;\n if (this.dispatchEvent(new CustomEvent(eventBeforeDelete, init))) {\n this.dispatchEvent(new CustomEvent(eventDelete, init));\n }\n }\n\n /**\n * @returns The content showing the editing UI of this file uploader item.\n */\n private _renderEditing() {\n const {\n iconDescription,\n invalid,\n _handleClickDeleteButton: handleClickDeleteButton,\n } = this;\n return html`\n ${!invalid\n ? undefined\n : WarningFilled16({ class: `${prefix}--file-invalid` })}\n <button\n type=\"button\"\n aria-label=\"${iconDescription}\"\n class=\"${prefix}--file-close\"\n @click=\"${handleClickDeleteButton}\">\n ${Close16()}\n </button>\n `;\n }\n\n /**\n * @returns The content showing this file uploader's file uploading status as in progress.\n */\n private _renderUploading() {\n const { iconDescription } = this;\n return html`\n <cds-loading\n assistive-text=\"${iconDescription}\"\n type=\"${LOADING_TYPE.SMALL}\"></cds-loading>\n `;\n }\n\n /**\n * @returns The content showing this file uploader's file uploading status as complete.\n */\n private _renderUploaded() {\n const { iconDescription } = this;\n return CheckmarkFilled16({\n class: `${prefix}--file-complete`,\n 'aria-label': iconDescription,\n });\n }\n\n /**\n * @returns The content showing this file uploader's status.\n */\n private _renderStatus() {\n const { state } = this;\n switch (state) {\n case FILE_UPLOADER_ITEM_STATE.EDIT:\n return this._renderEditing();\n case FILE_UPLOADER_ITEM_STATE.UPLOADING:\n return this._renderUploading();\n case FILE_UPLOADER_ITEM_STATE.COMPLETE:\n return this._renderUploaded();\n default:\n return undefined;\n }\n }\n\n /**\n * The `aria-label` attribute for the icon to delete this file uploader item.\n */\n @property({ attribute: 'icon-description' })\n iconDescription = 'Delete this file';\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 * The size of this file uploader item.\n */\n @property({ reflect: true })\n size = FILE_UPLOADER_ITEM_SIZE.MEDIUM;\n\n /**\n * The state of this file uploader item.\n */\n @property({ reflect: true })\n state = FILE_UPLOADER_ITEM_STATE.UPLOADING;\n\n /**\n * The error subject text.\n */\n @property({ attribute: 'error-subject' })\n errorSubject = '';\n\n /**\n * The error body text\n */\n @property({ attribute: 'error-body' })\n errorBody = '';\n\n render() {\n const { invalid, errorSubject, errorBody } = this;\n return html` <p class=\"${prefix}--file-filename\"><slot></slot></p>\n <span class=\"${prefix}--file__state-container\"\n >${this._renderStatus()}</span\n >\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!invalid && !errorSubject}\">\n <div class=\"${prefix}--form-requirement__title\">${errorSubject}</div>\n <p\n class=\"${prefix}--form-requirement__supplement\"\n ?hidden=\"${!errorBody}\">\n ${errorBody}\n </p>\n </div>`;\n }\n\n /**\n * The name of the custom event fired before this file uplodaer item is being deleted upon a user gesture.\n * Cancellation of this event stops the user-initiated action of deleting this file uploader item.\n */\n static get eventBeforeDelete() {\n return `${prefix}-file-uploader-item-beingdeleted`;\n }\n\n /**\n * The name of the custom event fired after this file uplodaer item is deleted upon a user gesture.\n */\n static get eventDelete() {\n return `${prefix}-file-uploader-item-deleted`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderItem;\n"]}
|
|
@@ -13,7 +13,7 @@ let _ = t => t,
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { LitElement, html } from 'lit';
|
|
16
|
-
import { property
|
|
16
|
+
import { property } from 'lit/decorators.js';
|
|
17
17
|
import CheckmarkFilled16 from "../../icons/checkmark--filled/16";
|
|
18
18
|
import Close16 from "../../icons/close/16";
|
|
19
19
|
import WarningFilled16 from "../../icons/warning--filled/16";
|
|
@@ -21,6 +21,7 @@ import { prefix } from '../../globals/settings';
|
|
|
21
21
|
import { LOADING_TYPE } from '../loading/loading';
|
|
22
22
|
import { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE } from './defs';
|
|
23
23
|
import styles from "././file-uploader.css.js";
|
|
24
|
+
import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
|
|
24
25
|
export { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE };
|
|
25
26
|
|
|
26
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader-item.js","names":["LitElement","html","property","customElement","CheckmarkFilled16","Close16","WarningFilled16","prefix","LOADING_TYPE","FILE_UPLOADER_ITEM_SIZE","FILE_UPLOADER_ITEM_STATE","styles","CDSFileUploaderItem","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","key","value","_handleClickDeleteButton","init","bubbles","cancelable","composed","eventBeforeDelete","eventDelete","dispatchEvent","CustomEvent","_renderEditing","iconDescription","invalid","handleClickDeleteButton","_t","_","undefined","class","_renderUploading","_t2","SMALL","_renderUploaded","_renderStatus","state","EDIT","UPLOADING","COMPLETE","decorators","attribute","type","Boolean","reflect","MEDIUM","render","errorSubject","errorBody","_t3","static"],"sources":["components/file-uploader/file-uploader-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport CheckmarkFilled16 from '@carbon/icons/lib/checkmark--filled/16';\nimport Close16 from '@carbon/icons/lib/close/16';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport { prefix } from '../../globals/settings';\nimport { LOADING_TYPE } from '../loading/loading';\nimport { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE } from './defs';\nimport styles from './file-uploader.scss';\n\nexport { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE };\n\n/**\n * File uploader item.\n *\n * @element cds-file-uploader-item\n * @slot validity-message The validity message.\n * @slot validity-message-supplement The supplemental validity message.\n * @fires cds-file-uploader-item-beingdeleted\n * The custom event fired before this file uploader item is being deleted upon a user gesture.\n * Cancellation of this event stops the user-initiated action of deleting this file uploader item.\n * @fires cds-file-uploader-item-deleted - The custom event fired after this file uploader item is deleted upon a user gesture.\n */\n@customElement(`${prefix}-file-uploader-item`)\nclass CDSFileUploaderItem extends LitElement {\n /**\n * Handles `click` event on the delete button.\n */\n private _handleClickDeleteButton() {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n };\n const { eventBeforeDelete, eventDelete } = this\n .constructor as typeof CDSFileUploaderItem;\n if (this.dispatchEvent(new CustomEvent(eventBeforeDelete, init))) {\n this.dispatchEvent(new CustomEvent(eventDelete, init));\n }\n }\n\n /**\n * @returns The content showing the editing UI of this file uploader item.\n */\n private _renderEditing() {\n const {\n iconDescription,\n invalid,\n _handleClickDeleteButton: handleClickDeleteButton,\n } = this;\n return html`\n ${!invalid\n ? undefined\n : WarningFilled16({ class: `${prefix}--file-invalid` })}\n <button\n type=\"button\"\n aria-label=\"${iconDescription}\"\n class=\"${prefix}--file-close\"\n @click=\"${handleClickDeleteButton}\">\n ${Close16()}\n </button>\n `;\n }\n\n /**\n * @returns The content showing this file uploader's file uploading status as in progress.\n */\n private _renderUploading() {\n const { iconDescription } = this;\n return html`\n <cds-loading\n assistive-text=\"${iconDescription}\"\n type=\"${LOADING_TYPE.SMALL}\"></cds-loading>\n `;\n }\n\n /**\n * @returns The content showing this file uploader's file uploading status as complete.\n */\n private _renderUploaded() {\n const { iconDescription } = this;\n return CheckmarkFilled16({\n class: `${prefix}--file-complete`,\n 'aria-label': iconDescription,\n });\n }\n\n /**\n * @returns The content showing this file uploader's status.\n */\n private _renderStatus() {\n const { state } = this;\n switch (state) {\n case FILE_UPLOADER_ITEM_STATE.EDIT:\n return this._renderEditing();\n case FILE_UPLOADER_ITEM_STATE.UPLOADING:\n return this._renderUploading();\n case FILE_UPLOADER_ITEM_STATE.COMPLETE:\n return this._renderUploaded();\n default:\n return undefined;\n }\n }\n\n /**\n * The `aria-label` attribute for the icon to delete this file uploader item.\n */\n @property({ attribute: 'icon-description' })\n iconDescription = 'Delete this file';\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 * The size of this file uploader item.\n */\n @property({ reflect: true })\n size = FILE_UPLOADER_ITEM_SIZE.MEDIUM;\n\n /**\n * The state of this file uploader item.\n */\n @property({ reflect: true })\n state = FILE_UPLOADER_ITEM_STATE.UPLOADING;\n\n /**\n * The error subject text.\n */\n @property({ attribute: 'error-subject' })\n errorSubject = '';\n\n /**\n * The error body text\n */\n @property({ attribute: 'error-body' })\n errorBody = '';\n\n render() {\n const { invalid, errorSubject, errorBody } = this;\n return html` <p class=\"${prefix}--file-filename\"><slot></slot></p>\n <span class=\"${prefix}--file__state-container\"\n >${this._renderStatus()}</span\n >\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!invalid && !errorSubject}\">\n <div class=\"${prefix}--form-requirement__title\">${errorSubject}</div>\n <p\n class=\"${prefix}--form-requirement__supplement\"\n ?hidden=\"${!errorBody}\">\n ${errorBody}\n </p>\n </div>`;\n }\n\n /**\n * The name of the custom event fired before this file uplodaer item is being deleted upon a user gesture.\n * Cancellation of this event stops the user-initiated action of deleting this file uploader item.\n */\n static get eventBeforeDelete() {\n return `${prefix}-file-uploader-item-beingdeleted`;\n }\n\n /**\n * The name of the custom event fired after this file uplodaer item is deleted upon a user gesture.\n */\n static get eventDelete() {\n return `${prefix}-file-uploader-item-deleted`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderItem;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-uploader-item.js","names":["LitElement","html","property","CheckmarkFilled16","Close16","WarningFilled16","prefix","LOADING_TYPE","FILE_UPLOADER_ITEM_SIZE","FILE_UPLOADER_ITEM_STATE","styles","carbonElement","customElement","CDSFileUploaderItem","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","key","value","_handleClickDeleteButton","init","bubbles","cancelable","composed","eventBeforeDelete","eventDelete","dispatchEvent","CustomEvent","_renderEditing","iconDescription","invalid","handleClickDeleteButton","_t","_","undefined","class","_renderUploading","_t2","SMALL","_renderUploaded","_renderStatus","state","EDIT","UPLOADING","COMPLETE","decorators","attribute","type","Boolean","reflect","MEDIUM","render","errorSubject","errorBody","_t3","static"],"sources":["components/file-uploader/file-uploader-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport CheckmarkFilled16 from '@carbon/icons/lib/checkmark--filled/16';\nimport Close16 from '@carbon/icons/lib/close/16';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport { prefix } from '../../globals/settings';\nimport { LOADING_TYPE } from '../loading/loading';\nimport { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE } from './defs';\nimport styles from './file-uploader.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { FILE_UPLOADER_ITEM_SIZE, FILE_UPLOADER_ITEM_STATE };\n\n/**\n * File uploader item.\n *\n * @element cds-file-uploader-item\n * @slot validity-message The validity message.\n * @slot validity-message-supplement The supplemental validity message.\n * @fires cds-file-uploader-item-beingdeleted\n * The custom event fired before this file uploader item is being deleted upon a user gesture.\n * Cancellation of this event stops the user-initiated action of deleting this file uploader item.\n * @fires cds-file-uploader-item-deleted - The custom event fired after this file uploader item is deleted upon a user gesture.\n */\n@customElement(`${prefix}-file-uploader-item`)\nclass CDSFileUploaderItem extends LitElement {\n /**\n * Handles `click` event on the delete button.\n */\n private _handleClickDeleteButton() {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n };\n const { eventBeforeDelete, eventDelete } = this\n .constructor as typeof CDSFileUploaderItem;\n if (this.dispatchEvent(new CustomEvent(eventBeforeDelete, init))) {\n this.dispatchEvent(new CustomEvent(eventDelete, init));\n }\n }\n\n /**\n * @returns The content showing the editing UI of this file uploader item.\n */\n private _renderEditing() {\n const {\n iconDescription,\n invalid,\n _handleClickDeleteButton: handleClickDeleteButton,\n } = this;\n return html`\n ${!invalid\n ? undefined\n : WarningFilled16({ class: `${prefix}--file-invalid` })}\n <button\n type=\"button\"\n aria-label=\"${iconDescription}\"\n class=\"${prefix}--file-close\"\n @click=\"${handleClickDeleteButton}\">\n ${Close16()}\n </button>\n `;\n }\n\n /**\n * @returns The content showing this file uploader's file uploading status as in progress.\n */\n private _renderUploading() {\n const { iconDescription } = this;\n return html`\n <cds-loading\n assistive-text=\"${iconDescription}\"\n type=\"${LOADING_TYPE.SMALL}\"></cds-loading>\n `;\n }\n\n /**\n * @returns The content showing this file uploader's file uploading status as complete.\n */\n private _renderUploaded() {\n const { iconDescription } = this;\n return CheckmarkFilled16({\n class: `${prefix}--file-complete`,\n 'aria-label': iconDescription,\n });\n }\n\n /**\n * @returns The content showing this file uploader's status.\n */\n private _renderStatus() {\n const { state } = this;\n switch (state) {\n case FILE_UPLOADER_ITEM_STATE.EDIT:\n return this._renderEditing();\n case FILE_UPLOADER_ITEM_STATE.UPLOADING:\n return this._renderUploading();\n case FILE_UPLOADER_ITEM_STATE.COMPLETE:\n return this._renderUploaded();\n default:\n return undefined;\n }\n }\n\n /**\n * The `aria-label` attribute for the icon to delete this file uploader item.\n */\n @property({ attribute: 'icon-description' })\n iconDescription = 'Delete this file';\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 * The size of this file uploader item.\n */\n @property({ reflect: true })\n size = FILE_UPLOADER_ITEM_SIZE.MEDIUM;\n\n /**\n * The state of this file uploader item.\n */\n @property({ reflect: true })\n state = FILE_UPLOADER_ITEM_STATE.UPLOADING;\n\n /**\n * The error subject text.\n */\n @property({ attribute: 'error-subject' })\n errorSubject = '';\n\n /**\n * The error body text\n */\n @property({ attribute: 'error-body' })\n errorBody = '';\n\n render() {\n const { invalid, errorSubject, errorBody } = this;\n return html` <p class=\"${prefix}--file-filename\"><slot></slot></p>\n <span class=\"${prefix}--file__state-container\"\n >${this._renderStatus()}</span\n >\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!invalid && !errorSubject}\">\n <div class=\"${prefix}--form-requirement__title\">${errorSubject}</div>\n <p\n class=\"${prefix}--form-requirement__supplement\"\n ?hidden=\"${!errorBody}\">\n ${errorBody}\n </p>\n </div>`;\n }\n\n /**\n * The name of the custom event fired before this file uplodaer item is being deleted upon a user gesture.\n * Cancellation of this event stops the user-initiated action of deleting this file uploader item.\n */\n static get eventBeforeDelete() {\n return `${prefix}-file-uploader-item-beingdeleted`;\n }\n\n /**\n * The name of the custom event fired after this file uplodaer item is deleted upon a user gesture.\n */\n static get eventDelete() {\n return `${prefix}-file-uploader-item-deleted`;\n }\n\n static styles = styles;\n}\n\nexport default CDSFileUploaderItem;\n"],"mappings":"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"}
|