@carbon/web-components 2.0.0-beta.2 → 2.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/custom-elements.json +4026 -1801
- package/es/components/breadcrumb/breadcrumb.css.js +1 -1
- package/es/components/breadcrumb/breadcrumb.rtl.css.js +1 -1
- package/es/components/button/button.css.js +1 -1
- package/es/components/button/button.d.ts +12 -4
- package/es/components/button/button.d.ts.map +1 -1
- package/es/components/button/button.js +57 -19
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/button.rtl.css.js +1 -1
- package/es/components/checkbox/checkbox.css.js +1 -1
- package/es/components/checkbox/checkbox.d.ts +9 -0
- package/es/components/checkbox/checkbox.d.ts.map +1 -1
- package/es/components/checkbox/checkbox.js +32 -1
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/checkbox/checkbox.rtl.css.js +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.d.ts +2 -2
- package/es/components/code-snippet/code-snippet-skeleton.d.ts.map +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js +4 -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 +75 -29
- package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
- package/es/components/code-snippet/code-snippet.js +370 -164
- 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/copy/copy.d.ts +1 -2
- package/es/components/copy/copy.d.ts.map +1 -1
- package/es/components/copy/copy.js +6 -13
- 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 +8 -0
- package/es/components/copy-button/copy-button.d.ts.map +1 -1
- package/es/components/copy-button/copy-button.js +38 -2
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/copy-button/copy-button.rtl.css.js +1 -1
- package/es/components/data-table/data-table.css.js +1 -1
- package/es/components/data-table/data-table.rtl.css.js +1 -1
- package/es/components/data-table/defs.d.ts +0 -13
- package/es/components/data-table/defs.d.ts.map +1 -1
- package/es/components/data-table/defs.js +0 -9
- package/es/components/data-table/defs.js.map +1 -1
- package/es/components/data-table/index.d.ts +6 -5
- package/es/components/data-table/index.d.ts.map +1 -1
- package/es/components/data-table/index.js +6 -5
- package/es/components/data-table/index.js.map +1 -1
- package/es/components/data-table/table-batch-actions.d.ts +7 -2
- package/es/components/data-table/table-batch-actions.d.ts.map +1 -1
- package/es/components/data-table/table-batch-actions.js +25 -6
- package/es/components/data-table/table-batch-actions.js.map +1 -1
- package/es/components/data-table/table-body.d.ts +8 -4
- package/es/components/data-table/table-body.d.ts.map +1 -1
- package/es/components/data-table/table-body.js +21 -14
- package/es/components/data-table/table-body.js.map +1 -1
- package/es/components/data-table/table-cell-content.d.ts +21 -0
- package/es/components/data-table/table-cell-content.d.ts.map +1 -0
- package/es/components/data-table/table-cell-content.js +53 -0
- package/es/components/data-table/table-cell-content.js.map +1 -0
- package/es/components/data-table/table-cell.d.ts +15 -2
- package/es/components/data-table/table-cell.d.ts.map +1 -1
- package/es/components/data-table/table-cell.js +43 -8
- package/es/components/data-table/table-cell.js.map +1 -1
- package/es/components/data-table/table-expanded-row.d.ts +336 -2
- package/es/components/data-table/table-expanded-row.d.ts.map +1 -1
- package/es/components/data-table/table-expanded-row.js +69 -16
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-head.d.ts +7 -2
- package/es/components/data-table/table-head.d.ts.map +1 -1
- package/es/components/data-table/table-head.js +15 -6
- package/es/components/data-table/table-head.js.map +1 -1
- package/es/components/data-table/table-header-cell.d.ts +21 -3
- package/es/components/data-table/table-header-cell.d.ts.map +1 -1
- package/es/components/data-table/table-header-cell.js +67 -10
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-header-description.d.ts +21 -0
- package/es/components/data-table/table-header-description.d.ts.map +1 -0
- package/es/components/data-table/table-header-description.js +53 -0
- package/es/components/data-table/table-header-description.js.map +1 -0
- package/es/components/data-table/table-header-row.d.ts +3 -3
- package/es/components/data-table/table-header-row.d.ts.map +1 -1
- package/es/components/data-table/table-header-row.js +6 -6
- package/es/components/data-table/table-header-row.js.map +1 -1
- package/es/components/data-table/table-header-title.d.ts +21 -0
- package/es/components/data-table/table-header-title.d.ts.map +1 -0
- package/es/components/data-table/table-header-title.js +53 -0
- package/es/components/data-table/table-header-title.js.map +1 -0
- package/es/components/data-table/table-row.d.ts +413 -5
- package/es/components/data-table/table-row.d.ts.map +1 -1
- package/es/components/data-table/table-row.js +386 -45
- package/es/components/data-table/table-row.js.map +1 -1
- package/es/components/data-table/table-skeleton.d.ts +59 -0
- package/es/components/data-table/table-skeleton.d.ts.map +1 -0
- package/es/components/data-table/table-skeleton.js +259 -0
- package/es/components/data-table/table-skeleton.js.map +1 -0
- package/es/components/data-table/table-toolbar-content.d.ts +6 -2
- package/es/components/data-table/table-toolbar-content.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-content.js +21 -4
- package/es/components/data-table/table-toolbar-content.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.d.ts +7 -3
- package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +25 -8
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/data-table/table-toolbar.d.ts +19 -2
- package/es/components/data-table/table-toolbar.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar.js +68 -13
- package/es/components/data-table/table-toolbar.js.map +1 -1
- package/es/components/data-table/table.d.ts +556 -6
- package/es/components/data-table/table.d.ts.map +1 -1
- package/es/components/data-table/table.js +1012 -15
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/dropdown/defs.d.ts +6 -6
- package/es/components/dropdown/defs.d.ts.map +1 -1
- package/es/components/dropdown/defs.js +2 -2
- 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 +1 -1
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown.d.ts +9 -2
- package/es/components/dropdown/dropdown.d.ts.map +1 -1
- package/es/components/dropdown/dropdown.js +83 -62
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/file-uploader/demo-file-uploader.d.ts +1 -1
- package/es/components/file-uploader/demo-file-uploader.d.ts.map +1 -1
- package/es/components/file-uploader/demo-file-uploader.js +38 -4
- package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es/components/floating-menu/defs.d.ts +1 -39
- package/es/components/floating-menu/defs.d.ts.map +1 -1
- package/es/components/floating-menu/defs.js +2 -23
- package/es/components/floating-menu/defs.js.map +1 -1
- package/es/components/floating-menu/floating-menu-trigger.d.ts +3 -3
- package/es/components/floating-menu/floating-menu-trigger.d.ts.map +1 -1
- package/es/components/floating-menu/floating-menu.d.ts +11 -13
- package/es/components/floating-menu/floating-menu.d.ts.map +1 -1
- package/es/components/floating-menu/floating-menu.js +44 -54
- package/es/components/floating-menu/floating-menu.js.map +1 -1
- package/es/components/form/form-item.d.ts +2 -2
- package/es/components/form/form-item.d.ts.map +1 -1
- package/es/components/form/form-item.js +4 -4
- package/es/components/form/form-item.js.map +1 -1
- package/es/components/form-group/form-group.css.js +12 -0
- package/es/components/form-group/form-group.d.ts +44 -0
- package/es/components/form-group/form-group.d.ts.map +1 -0
- package/es/components/form-group/form-group.js +141 -0
- package/es/components/form-group/form-group.js.map +1 -0
- package/es/components/form-group/form-group.rtl.css.js +12 -0
- package/es/components/form-group/index.d.ts +11 -0
- package/es/components/form-group/index.d.ts.map +1 -0
- package/es/components/form-group/index.js +11 -0
- package/es/components/form-group/index.js.map +1 -0
- package/es/components/icon-button/icon-button.css.js +1 -1
- package/es/components/icon-button/icon-button.d.ts +1 -1
- package/es/components/icon-button/icon-button.d.ts.map +1 -1
- package/es/components/icon-button/icon-button.js +5 -3
- 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/list/list.css.js +1 -1
- package/es/components/list/list.rtl.css.js +1 -1
- package/es/components/modal/defs.d.ts +3 -3
- package/es/components/modal/defs.d.ts.map +1 -1
- package/es/components/modal/defs.js +2 -2
- package/es/components/modal/defs.js.map +1 -1
- package/es/components/modal/index.d.ts +2 -1
- package/es/components/modal/index.d.ts.map +1 -1
- package/es/components/modal/index.js +2 -1
- package/es/components/modal/index.js.map +1 -1
- package/es/components/modal/modal-body-content.d.ts +21 -0
- package/es/components/modal/modal-body-content.d.ts.map +1 -0
- package/es/components/modal/modal-body-content.js +53 -0
- package/es/components/modal/modal-body-content.js.map +1 -0
- package/es/components/modal/modal-body.d.ts +2 -2
- package/es/components/modal/modal-body.d.ts.map +1 -1
- package/es/components/modal/modal-body.js +4 -4
- package/es/components/modal/modal-body.js.map +1 -1
- package/es/components/modal/modal-close-button.d.ts +5 -5
- package/es/components/modal/modal-close-button.d.ts.map +1 -1
- package/es/components/modal/modal-close-button.js +9 -9
- package/es/components/modal/modal-close-button.js.map +1 -1
- package/es/components/modal/modal-footer.d.ts +3 -3
- package/es/components/modal/modal-footer.d.ts.map +1 -1
- package/es/components/modal/modal-footer.js +13 -21
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal-header.d.ts +2 -2
- package/es/components/modal/modal-header.d.ts.map +1 -1
- package/es/components/modal/modal-header.js +4 -4
- package/es/components/modal/modal-header.js.map +1 -1
- package/es/components/modal/modal-heading.d.ts +2 -2
- package/es/components/modal/modal-heading.d.ts.map +1 -1
- package/es/components/modal/modal-heading.js +4 -4
- package/es/components/modal/modal-heading.js.map +1 -1
- package/es/components/modal/modal-label.d.ts +2 -2
- package/es/components/modal/modal-label.d.ts.map +1 -1
- package/es/components/modal/modal-label.js +4 -4
- 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 +33 -3
- package/es/components/modal/modal.d.ts.map +1 -1
- package/es/components/modal/modal.js +121 -14
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/modal/modal.rtl.css.js +1 -1
- package/es/components/multi-select/defs.d.ts +27 -0
- package/es/components/multi-select/defs.d.ts.map +1 -0
- package/es/components/multi-select/defs.js +19 -0
- package/es/components/multi-select/defs.js.map +1 -0
- package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
- package/es/components/multi-select/multi-select-item.js +9 -14
- 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 +44 -5
- package/es/components/multi-select/multi-select.d.ts.map +1 -1
- package/es/components/multi-select/multi-select.js +250 -32
- 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/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 +1 -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/defs.d.ts +4 -9
- package/es/components/overflow-menu/defs.d.ts.map +1 -1
- package/es/components/overflow-menu/defs.js +1 -4
- package/es/components/overflow-menu/defs.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.d.ts +16 -15
- package/es/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +49 -28
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.d.ts +12 -3
- package/es/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js +44 -12
- 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 +22 -10
- package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +89 -40
- 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/defs.d.ts +27 -0
- package/es/components/pagination/defs.d.ts.map +1 -0
- package/es/components/pagination/defs.js +19 -0
- package/es/components/pagination/defs.js.map +1 -0
- package/es/components/pagination/index.d.ts +1 -3
- package/es/components/pagination/index.d.ts.map +1 -1
- package/es/components/pagination/index.js +1 -3
- package/es/components/pagination/index.js.map +1 -1
- package/es/components/pagination/pagination.css.js +1 -1
- package/es/components/pagination/pagination.d.ts +55 -20
- package/es/components/pagination/pagination.d.ts.map +1 -1
- package/es/components/pagination/pagination.js +303 -123
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/pagination/pagination.rtl.css.js +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.d.ts +1 -2
- package/es/components/progress-indicator/progress-indicator-skeleton.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js +5 -5
- 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 +8 -3
- package/es/components/progress-indicator/progress-indicator.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-indicator.js +35 -8
- 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 +2 -2
- package/es/components/progress-indicator/progress-step-skeleton.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js +12 -12
- package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-step.d.ts +11 -3
- package/es/components/progress-indicator/progress-step.d.ts.map +1 -1
- package/es/components/progress-indicator/progress-step.js +65 -24
- package/es/components/progress-indicator/progress-step.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 +22 -0
- 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/select/select.css.js +1 -1
- package/es/components/select/select.d.ts.map +1 -1
- package/es/components/select/select.js +3 -1
- package/es/components/select/select.js.map +1 -1
- package/es/components/select/select.rtl.css.js +1 -1
- package/es/components/slider/slider.css.js +1 -1
- package/es/components/slider/slider.rtl.css.js +1 -1
- package/es/components/stack/defs.d.ts +29 -0
- package/es/components/stack/defs.d.ts.map +1 -0
- package/es/components/stack/defs.js +31 -0
- package/es/components/stack/defs.js.map +1 -0
- package/es/components/stack/index.d.ts +11 -0
- package/es/components/stack/index.d.ts.map +1 -0
- package/es/components/stack/index.js +11 -0
- package/es/components/stack/index.js.map +1 -0
- package/es/components/stack/stack.css.js +12 -0
- package/es/components/stack/stack.d.ts +46 -0
- package/es/components/stack/stack.d.ts.map +1 -0
- package/es/components/stack/stack.js +116 -0
- package/es/components/stack/stack.js.map +1 -0
- package/es/components/stack/stack.rtl.css.js +12 -0
- package/es/components/structured-list/structured-list.css.js +1 -1
- package/es/components/structured-list/structured-list.d.ts +9 -0
- package/es/components/structured-list/structured-list.d.ts.map +1 -1
- package/es/components/structured-list/structured-list.js +47 -1
- 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/tabs.css.js +1 -1
- package/es/components/tabs/tabs.rtl.css.js +1 -1
- package/es/components/text-input/defs.d.ts +38 -0
- package/es/components/text-input/defs.d.ts.map +1 -1
- package/es/components/text-input/defs.js +24 -3
- package/es/components/text-input/defs.js.map +1 -1
- package/es/components/text-input/text-input.d.ts +4 -5
- package/es/components/text-input/text-input.d.ts.map +1 -1
- package/es/components/text-input/text-input.js +5 -6
- package/es/components/text-input/text-input.js.map +1 -1
- package/es/components/textarea/textarea.d.ts.map +1 -1
- package/es/components/textarea/textarea.js +1 -1
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/tile/expandable-tile.d.ts +1 -3
- package/es/components/tile/expandable-tile.d.ts.map +1 -1
- package/es/components/tile/expandable-tile.js +1 -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 -2
- package/es/components/tile/radio-tile.js.map +1 -1
- package/es/components/toggle-tip/toggletip.d.ts +1 -1
- package/es/components/toggle-tip/toggletip.d.ts.map +1 -1
- package/es/components/toggle-tip/toggletip.js +28 -3
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/tooltip.css.js +1 -1
- package/es/components/tooltip/tooltip.d.ts +12 -1
- package/es/components/tooltip/tooltip.d.ts.map +1 -1
- package/es/components/tooltip/tooltip.js +47 -1
- 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 +31 -0
- package/es/components/ui-shell/header-global-action.d.ts.map +1 -0
- package/es/components/ui-shell/header-global-action.js +88 -0
- package/es/components/ui-shell/header-global-action.js.map +1 -0
- package/es/components/ui-shell/header-menu-button.d.ts +6 -6
- package/es/components/ui-shell/header-menu-button.d.ts.map +1 -1
- package/es/components/ui-shell/header-menu-button.js +10 -10
- package/es/components/ui-shell/header-menu-button.js.map +1 -1
- package/es/components/ui-shell/header-menu-item.d.ts +3 -3
- package/es/components/ui-shell/header-menu-item.d.ts.map +1 -1
- package/es/components/ui-shell/header-menu-item.js +6 -6
- package/es/components/ui-shell/header-menu-item.js.map +1 -1
- package/es/components/ui-shell/header-menu.d.ts +11 -3
- package/es/components/ui-shell/header-menu.d.ts.map +1 -1
- package/es/components/ui-shell/header-menu.js +47 -7
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header-name.d.ts +3 -3
- package/es/components/ui-shell/header-name.d.ts.map +1 -1
- package/es/components/ui-shell/header-name.js +4 -4
- package/es/components/ui-shell/header-name.js.map +1 -1
- package/es/components/ui-shell/header-nav-item.d.ts +11 -3
- package/es/components/ui-shell/header-nav-item.d.ts.map +1 -1
- package/es/components/ui-shell/header-nav-item.js +39 -6
- package/es/components/ui-shell/header-nav-item.js.map +1 -1
- package/es/components/ui-shell/header-nav.d.ts +2 -2
- package/es/components/ui-shell/header-nav.d.ts.map +1 -1
- package/es/components/ui-shell/header-nav.js +5 -5
- package/es/components/ui-shell/header-nav.js.map +1 -1
- package/es/components/ui-shell/header-panel.d.ts +30 -0
- package/es/components/ui-shell/header-panel.d.ts.map +1 -0
- package/es/components/ui-shell/header-panel.js +72 -0
- package/es/components/ui-shell/header-panel.js.map +1 -0
- package/es/components/ui-shell/header-side-nav-items.d.ts +27 -0
- package/es/components/ui-shell/header-side-nav-items.d.ts.map +1 -0
- package/es/components/ui-shell/header-side-nav-items.js +80 -0
- package/es/components/ui-shell/header-side-nav-items.js.map +1 -0
- package/es/components/ui-shell/header.css.js +1 -1
- package/es/components/ui-shell/header.d.ts +2 -2
- package/es/components/ui-shell/header.d.ts.map +1 -1
- package/es/components/ui-shell/header.js +5 -5
- 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 +5 -0
- package/es/components/ui-shell/index.d.ts.map +1 -1
- package/es/components/ui-shell/index.js +5 -0
- package/es/components/ui-shell/index.js.map +1 -1
- package/es/components/ui-shell/side-nav-divider.d.ts +2 -2
- package/es/components/ui-shell/side-nav-divider.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-divider.js +5 -5
- package/es/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es/components/ui-shell/side-nav-items.d.ts +2 -2
- package/es/components/ui-shell/side-nav-items.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-items.js +6 -6
- package/es/components/ui-shell/side-nav-items.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.d.ts +7 -3
- package/es/components/ui-shell/side-nav-link.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +18 -5
- package/es/components/ui-shell/side-nav-link.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.d.ts +3 -3
- package/es/components/ui-shell/side-nav-menu-item.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js +4 -4
- package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu.d.ts +7 -3
- package/es/components/ui-shell/side-nav-menu.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-menu.js +18 -5
- 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 +35 -13
- package/es/components/ui-shell/side-nav.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav.js +142 -48
- 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-divider.d.ts +21 -0
- package/es/components/ui-shell/switcher-divider.d.ts.map +1 -0
- package/es/components/ui-shell/switcher-divider.js +56 -0
- package/es/components/ui-shell/switcher-divider.js.map +1 -0
- package/es/components/{pagination/page-sizes-select.d.ts → ui-shell/switcher-item.d.ts} +18 -22
- package/es/components/ui-shell/switcher-item.d.ts.map +1 -0
- package/es/components/ui-shell/switcher-item.js +162 -0
- package/es/components/ui-shell/switcher-item.js.map +1 -0
- package/es/components/ui-shell/switcher.d.ts +35 -0
- package/es/components/ui-shell/switcher.d.ts.map +1 -0
- package/es/components/ui-shell/switcher.js +95 -0
- package/es/components/ui-shell/switcher.js.map +1 -0
- package/es/components-react/code-snippet/code-snippet-skeleton.d.ts +2 -2
- package/es/components-react/code-snippet/code-snippet.d.ts +2 -2
- package/es/components-react/data-table/table-batch-actions.d.ts +2 -2
- package/es/components-react/data-table/table-body.d.ts +2 -2
- package/es/components-react/{pagination/pages-select.d.ts → data-table/table-cell-content.d.ts} +2 -6
- package/es/components-react/{pagination/pages-select.js → data-table/table-cell-content.js} +4 -10
- package/es/components-react/data-table/table-cell.d.ts +2 -2
- package/es/components-react/data-table/table-expanded-row.d.ts +2 -2
- package/es/components-react/data-table/table-head.d.ts +2 -2
- package/es/components-react/data-table/table-header-cell.d.ts +2 -2
- package/es/components-react/{pagination/page-sizes-select.d.ts → data-table/table-header-description.d.ts} +2 -6
- package/es/components-react/{pagination/page-sizes-select.js → data-table/table-header-description.js} +4 -10
- package/es/components-react/data-table/table-header-row.d.ts +2 -2
- package/es/components-react/data-table/table-header-title.d.ts +15 -0
- package/es/components-react/data-table/{table-header-cell-skeleton.js → table-header-title.js} +4 -6
- package/es/components-react/data-table/table-row.d.ts +19 -2
- package/es/components-react/data-table/table-row.js +16 -0
- package/es/components-react/data-table/table-skeleton.d.ts +15 -0
- package/es/components-react/data-table/table-skeleton.js +21 -0
- package/es/components-react/data-table/table-toolbar-content.d.ts +2 -2
- package/es/components-react/data-table/table-toolbar-search.d.ts +2 -2
- package/es/components-react/data-table/table-toolbar.d.ts +2 -2
- package/es/components-react/data-table/table.d.ts +44 -2
- package/es/components-react/data-table/table.js +45 -3
- package/es/components-react/file-uploader/demo-file-uploader.d.ts +0 -49
- package/es/components-react/file-uploader/demo-file-uploader.js +3 -51
- package/es/components-react/floating-menu/floating-menu.d.ts +2 -2
- package/es/components-react/floating-menu/floating-menu.js +0 -2
- package/es/components-react/form/form-item.d.ts +2 -2
- package/es/components-react/form-group/form-group.d.ts +15 -0
- package/es/components-react/form-group/form-group.js +21 -0
- package/es/components-react/form-group/index.d.ts +14 -0
- package/es/components-react/form-group/index.js +8 -0
- package/es/components-react/modal/modal-body-content.d.ts +15 -0
- package/es/components-react/modal/modal-body-content.js +21 -0
- package/es/components-react/modal/modal-body.d.ts +2 -2
- package/es/components-react/modal/modal-close-button.d.ts +2 -2
- package/es/components-react/modal/modal-footer.d.ts +2 -2
- package/es/components-react/modal/modal-header.d.ts +2 -2
- package/es/components-react/modal/modal-heading.d.ts +2 -2
- package/es/components-react/modal/modal-label.d.ts +2 -2
- package/es/components-react/modal/modal.d.ts +2 -2
- package/es/components-react/multi-select/defs.d.ts +14 -0
- package/es/components-react/multi-select/defs.js +9 -0
- package/es/components-react/multi-select/multi-select.js +6 -1
- package/es/components-react/overflow-menu/overflow-menu-body.d.ts +2 -2
- package/es/components-react/overflow-menu/overflow-menu-item.d.ts +2 -2
- package/es/components-react/overflow-menu/overflow-menu.d.ts +4 -5
- package/es/components-react/overflow-menu/overflow-menu.js +5 -3
- package/es/components-react/pagination/defs.d.ts +14 -0
- package/es/components-react/pagination/defs.js +9 -0
- package/es/components-react/pagination/pagination.d.ts +3 -7
- package/es/components-react/pagination/pagination.js +3 -7
- package/es/components-react/progress-indicator/progress-indicator-skeleton.d.ts +2 -3
- package/es/components-react/progress-indicator/progress-indicator.d.ts +2 -3
- package/es/components-react/progress-indicator/progress-step-skeleton.d.ts +2 -3
- package/es/components-react/progress-indicator/progress-step.d.ts +2 -3
- package/es/components-react/stack/defs.d.ts +14 -0
- package/es/components-react/stack/defs.js +9 -0
- package/es/components-react/stack/index.d.ts +14 -0
- package/es/components-react/stack/index.js +8 -0
- package/es/components-react/stack/stack.d.ts +15 -0
- package/es/components-react/stack/stack.js +22 -0
- package/es/components-react/text-input/text-input.js +7 -1
- package/es/components-react/toggle-tip/toggletip.d.ts +0 -5
- package/es/components-react/toggle-tip/toggletip.js +3 -13
- package/es/components-react/{data-table/table-cell-skeleton.d.ts → ui-shell/header-global-action.d.ts} +3 -3
- package/es/components-react/{data-table/table-cell-skeleton.js → ui-shell/header-global-action.js} +4 -4
- package/es/components-react/ui-shell/header-menu-button.d.ts +2 -2
- package/es/components-react/ui-shell/header-menu-item.d.ts +2 -2
- package/es/components-react/ui-shell/header-menu.d.ts +2 -2
- package/es/components-react/ui-shell/header-name.d.ts +2 -2
- package/es/components-react/ui-shell/header-nav-item.d.ts +2 -2
- package/es/components-react/ui-shell/header-nav.d.ts +2 -2
- package/es/components-react/ui-shell/header-panel.d.ts +15 -0
- package/es/components-react/ui-shell/header-panel.js +21 -0
- package/es/components-react/ui-shell/header-side-nav-items.d.ts +15 -0
- package/es/components-react/ui-shell/header-side-nav-items.js +21 -0
- package/es/components-react/ui-shell/header.d.ts +2 -2
- package/es/components-react/ui-shell/side-nav-divider.d.ts +2 -2
- package/es/components-react/ui-shell/side-nav-items.d.ts +2 -2
- package/es/components-react/ui-shell/side-nav-link.d.ts +2 -2
- package/es/components-react/ui-shell/side-nav-menu-item.d.ts +2 -2
- package/es/components-react/ui-shell/side-nav-menu.d.ts +2 -2
- package/es/components-react/ui-shell/side-nav.d.ts +2 -2
- package/es/components-react/ui-shell/switcher-divider.d.ts +15 -0
- package/es/components-react/ui-shell/switcher-divider.js +21 -0
- package/es/components-react/ui-shell/switcher-item.d.ts +15 -0
- package/es/components-react/ui-shell/switcher-item.js +21 -0
- package/es/components-react/ui-shell/switcher.d.ts +15 -0
- package/es/components-react/ui-shell/switcher.js +21 -0
- package/es/icons/arrow--down/16.js +1 -1
- package/es/icons/arrow--down/32.js +1 -1
- package/es/icons/arrows--vertical/16.js +1 -1
- package/es/icons/arrows--vertical/32.js +1 -1
- package/es/icons/overflow-menu--vertical/16.js +1 -1
- package/es/index.d.ts +12 -2
- package/es/index.d.ts.map +1 -1
- package/es/index.js +12 -2
- package/es/index.js.map +1 -1
- package/lib/components/data-table/defs.js +1 -10
- package/lib/components/data-table/defs.js.map +1 -1
- package/lib/components/dropdown/defs.js +2 -2
- package/lib/components/dropdown/defs.js.map +1 -1
- package/lib/components/floating-menu/defs.js +3 -24
- package/lib/components/floating-menu/defs.js.map +1 -1
- package/lib/components/modal/defs.js +2 -2
- package/lib/components/modal/defs.js.map +1 -1
- package/lib/components/multi-select/defs.js +25 -0
- package/lib/components/multi-select/defs.js.map +1 -0
- package/lib/components/overflow-menu/defs.js +2 -11
- package/lib/components/overflow-menu/defs.js.map +1 -1
- package/lib/components/pagination/defs.js +25 -0
- package/lib/components/pagination/defs.js.map +1 -0
- package/lib/components/stack/defs.js +36 -0
- package/lib/components/stack/defs.js.map +1 -0
- package/lib/components/text-input/defs.js +25 -4
- package/lib/components/text-input/defs.js.map +1 -1
- package/lib/components-react-node/{pagination/pages-select.js → data-table/table-cell-content.js} +3 -9
- package/lib/components-react-node/{pagination/page-sizes-select.js → data-table/table-header-description.js} +3 -9
- package/lib/components-react-node/data-table/{table-cell-skeleton.js → table-header-title.js} +3 -4
- package/lib/components-react-node/data-table/table-row.js +16 -0
- package/lib/components-react-node/data-table/{table-header-cell-skeleton.js → table-skeleton.js} +3 -4
- package/lib/components-react-node/data-table/table.js +44 -8
- package/lib/components-react-node/file-uploader/demo-file-uploader.js +3 -89
- package/lib/components-react-node/floating-menu/floating-menu.js +0 -12
- package/lib/components-react-node/form-group/form-group.js +36 -0
- package/lib/components-react-node/form-group/index.js +9 -0
- package/lib/components-react-node/modal/modal-body-content.js +36 -0
- package/lib/components-react-node/multi-select/defs.js +24 -0
- package/lib/components-react-node/multi-select/multi-select.js +13 -0
- package/lib/components-react-node/overflow-menu/overflow-menu.js +3 -8
- package/lib/components-react-node/pagination/defs.js +24 -0
- package/lib/components-react-node/pagination/pagination.js +3 -7
- package/lib/components-react-node/stack/defs.js +24 -0
- package/lib/components-react-node/stack/index.js +9 -0
- package/lib/components-react-node/stack/stack.js +49 -0
- package/lib/components-react-node/text-input/text-input.js +12 -0
- package/lib/components-react-node/toggle-tip/toggletip.js +3 -51
- package/lib/components-react-node/ui-shell/header-global-action.js +37 -0
- package/lib/components-react-node/ui-shell/header-panel.js +36 -0
- package/lib/components-react-node/ui-shell/header-side-nav-items.js +36 -0
- package/lib/components-react-node/ui-shell/switcher-divider.js +36 -0
- package/lib/components-react-node/ui-shell/switcher-item.js +36 -0
- package/lib/components-react-node/ui-shell/switcher.js +36 -0
- package/package.json +6 -7
- package/scss/components/button/button.scss +48 -1
- package/scss/components/checkbox/checkbox.scss +16 -0
- package/scss/components/code-snippet/code-snippet.scss +82 -101
- package/scss/components/copy-button/copy-button.scss +17 -0
- package/scss/components/data-table/_table-action.scss +50 -32
- package/scss/components/data-table/_table-core.scss +253 -29
- package/scss/components/data-table/_table-expandable.scss +25 -32
- package/scss/components/data-table/_table-selection.scss +36 -20
- package/scss/components/data-table/_table-sizes.scss +162 -20
- package/scss/components/data-table/_table-sort.scss +5 -21
- package/scss/components/data-table/data-table.scss +4 -3
- package/scss/components/form-group/form-group.scss +23 -0
- package/scss/components/modal/modal.scss +61 -87
- package/scss/components/multi-select/multi-select.scss +54 -19
- package/scss/components/overflow-menu/overflow-menu.scss +21 -9
- package/scss/components/pagination/pagination.scss +0 -66
- package/scss/components/progress-indicator/progress-indicator.scss +11 -10
- package/scss/components/radio-button/radio-button.scss +11 -1
- package/scss/components/select/select.scss +28 -1
- package/scss/components/stack/stack.scss +33 -0
- package/scss/components/structured-list/structured-list.scss +90 -20
- package/scss/components/tooltip/tooltip.scss +26 -0
- package/scss/components/ui-shell/header.scss +69 -0
- package/scss/components/ui-shell/side-nav.scss +27 -49
- package/es/components/data-table/table-cell-skeleton.d.ts +0 -20
- package/es/components/data-table/table-cell-skeleton.d.ts.map +0 -1
- package/es/components/data-table/table-cell-skeleton.js +0 -42
- package/es/components/data-table/table-cell-skeleton.js.map +0 -1
- package/es/components/data-table/table-expand-row.d.ts +0 -371
- package/es/components/data-table/table-expand-row.d.ts.map +0 -1
- package/es/components/data-table/table-expand-row.js +0 -192
- package/es/components/data-table/table-expand-row.js.map +0 -1
- package/es/components/data-table/table-header-cell-skeleton.d.ts +0 -19
- package/es/components/data-table/table-header-cell-skeleton.d.ts.map +0 -1
- package/es/components/data-table/table-header-cell-skeleton.js +0 -33
- package/es/components/data-table/table-header-cell-skeleton.js.map +0 -1
- package/es/components/data-table/table-header-expand-row.d.ts +0 -33
- package/es/components/data-table/table-header-expand-row.d.ts.map +0 -1
- package/es/components/data-table/table-header-expand-row.js +0 -68
- package/es/components/data-table/table-header-expand-row.js.map +0 -1
- package/es/components/pagination/page-sizes-select.d.ts.map +0 -1
- package/es/components/pagination/page-sizes-select.js +0 -172
- package/es/components/pagination/page-sizes-select.js.map +0 -1
- package/es/components/pagination/pages-select.d.ts +0 -362
- package/es/components/pagination/pages-select.d.ts.map +0 -1
- package/es/components/pagination/pages-select.js +0 -185
- package/es/components/pagination/pages-select.js.map +0 -1
- package/es/components-react/data-table/table-expand-row.d.ts +0 -24
- package/es/components-react/data-table/table-expand-row.js +0 -33
- package/es/components-react/data-table/table-header-cell-skeleton.d.ts +0 -14
- package/es/components-react/data-table/table-header-expand-row.d.ts +0 -29
- package/es/components-react/data-table/table-header-expand-row.js +0 -37
- package/lib/components-react-node/data-table/table-expand-row.js +0 -47
- package/lib/components-react-node/data-table/table-header-expand-row.js +0 -51
- package/scss/components/data-table/_table-skeleton.scss +0 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floating-menu.js","names":["LitElement","HostListener","FocusMixin","HostListenerMixin","FLOATING_MENU_ALIGNMENT","FLOATING_MENU_DIRECTION","FLOATING_MENU_DIRECTION_GROUP","FLOATING_MENU_POSITION_DIRECTION","prefix","observeResize","observer","elem","observe","release","unobserve","closestComposed","selector","found","closest","host","getRootNode","BXFloatingMenu","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","ResizeObserver","container","open","parent","position","direction","start","top","style","RTL","decorators","relatedTarget","contains","HTMLElement","prototype","focus","call","alignmentDirection","LEFT","VERTICAL","TOP","HORIZONTAL","RIGHT","BOTTOM","selectorContainer","ownerDocument","body","triggerPosition","TypeError","left","refLeft","refTop","right","refRight","bottom","refBottom","width","height","getBoundingClientRect","containerLeft","containerRight","containerTop","refCenterHorizontal","refCenterVertical","containerComputedStyle","defaultView","getComputedStyle","positionDirection","getPropertyValue","isRtl","containerStartFromViewport","innerWidth","refStartFromContainer","refEndFromContainer","refCenterHorizontalFromContainer","refTopFromContainer","refCenterVerticalFromContainer","Error","alignment","Object","values","indexOf","alignmentStart","START","CENTER","END","disconnectedCallback","_hObserveResizeContainer","_hObserveResizeParent","updated","changedProperties","has","parentElement","appendChild","_this$parent","_resizeObserver","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/floating-menu/floating-menu.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement } from 'lit';\nimport HostListener from '../../globals/decorators/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport Handle from '../../globals/internal/handle';\nimport {\n FLOATING_MENU_ALIGNMENT,\n FLOATING_MENU_DIRECTION,\n FLOATING_MENU_DIRECTION_GROUP,\n FLOATING_MENU_POSITION_DIRECTION,\n} from './defs';\nimport BXFloatingMenuTrigger from './floating-menu-trigger';\nimport { prefix } from '../../globals/settings';\n\nexport {\n FLOATING_MENU_ALIGNMENT,\n FLOATING_MENU_DIRECTION,\n FLOATING_MENU_DIRECTION_GROUP,\n FLOATING_MENU_POSITION_DIRECTION,\n};\n\n/**\n * Position of floating menu, or trigger button of floating menu.\n */\nexport interface FloatingMenuPosition {\n /**\n * The LTR/RTL direction used for positioning floating menu.\n */\n direction: FLOATING_MENU_POSITION_DIRECTION;\n\n /**\n * The start position (Left position for LTR, right position for RTL).\n */\n start: number;\n\n /**\n * The top position.\n */\n top: number;\n}\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * @param elem The starting element.\n * @param selector The CSS selector.\n * @returns {Element}\n * The closest ancestor node of the given element that matches the given selector, crossing Shadow DOM boundary.\n */\nconst closestComposed = (elem: Element, selector: string) => {\n const found = elem.closest(selector);\n if (found) {\n return found;\n }\n const { host } = elem.getRootNode() as ShadowRoot;\n if (host) {\n return closestComposed(host, selector);\n }\n return null;\n};\n\n/**\n * Floating menu.\n */\nabstract class BXFloatingMenu extends HostListenerMixin(\n FocusMixin(LitElement)\n) {\n /**\n * The handle for observing resize of the element containing the trigger button.\n */\n private _hObserveResizeParent: Handle | null = null;\n\n /**\n * The handle for observing resize of the floating menu container.\n */\n private _hObserveResizeContainer: Handle | null = null;\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const { container, open, parent, position } = this;\n if (container && open && parent) {\n const { direction, start, top } = position;\n this.style[\n direction !== FLOATING_MENU_POSITION_DIRECTION.RTL ? 'left' : 'right'\n ] = `${start}px`;\n this.style.top = `${top}px`;\n }\n });\n\n @HostListener('focusout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = ({ relatedTarget }: FocusEvent) => {\n if (!this.contains(relatedTarget as Node)) {\n const { parent } = this;\n if (parent) {\n parent.open = false;\n HTMLElement.prototype.focus.call(this.parent); // SVGElement in IE11 does not have `.focus()` method\n }\n }\n };\n\n /**\n * The DOM element, typically a custom element in this library, launching this floating menu.\n */\n protected parent: BXFloatingMenuTrigger | null = null;\n\n /**\n * How the menu is aligned to the trigger button.\n */\n abstract alignment: FLOATING_MENU_ALIGNMENT;\n\n /**\n * The menu direction.\n */\n abstract direction: FLOATING_MENU_DIRECTION;\n\n /**\n * `true` if the menu should be open.\n */\n abstract open: boolean;\n\n /**\n * The horizontal/vertical direction with regard to how the menu is aligned to the trigger button.\n */\n get alignmentDirection() {\n return {\n [FLOATING_MENU_DIRECTION.LEFT]: FLOATING_MENU_DIRECTION_GROUP.VERTICAL,\n [FLOATING_MENU_DIRECTION.TOP]: FLOATING_MENU_DIRECTION_GROUP.HORIZONTAL,\n [FLOATING_MENU_DIRECTION.RIGHT]: FLOATING_MENU_DIRECTION_GROUP.VERTICAL,\n [FLOATING_MENU_DIRECTION.BOTTOM]:\n FLOATING_MENU_DIRECTION_GROUP.HORIZONTAL,\n }[this.direction];\n }\n\n /**\n * The DOM element to put this menu into.\n */\n get container() {\n return (\n closestComposed(\n this,\n (this.constructor as typeof BXFloatingMenu).selectorContainer\n ) || this.ownerDocument!.body\n );\n }\n\n /**\n * The position of this floating menu.\n */\n get position(): FloatingMenuPosition {\n const { triggerPosition } = this.parent!;\n if (!triggerPosition) {\n throw new TypeError('Missing information of trigger button position.');\n }\n\n const { container } = this;\n const {\n left: refLeft = 0,\n top: refTop = 0,\n right: refRight = 0,\n bottom: refBottom = 0,\n } = triggerPosition;\n const { width, height } = this.getBoundingClientRect();\n const {\n left: containerLeft = 0,\n right: containerRight = 0,\n top: containerTop = 0,\n } = container.getBoundingClientRect();\n const refCenterHorizontal = (refLeft + refRight) / 2;\n const refCenterVertical = (refTop + refBottom) / 2;\n\n const containerComputedStyle =\n container.ownerDocument!.defaultView!.getComputedStyle(container);\n const positionDirection = containerComputedStyle.getPropertyValue(\n 'direction'\n ) as FLOATING_MENU_POSITION_DIRECTION;\n const isRtl = positionDirection === FLOATING_MENU_POSITION_DIRECTION.RTL;\n const containerStartFromViewport = !isRtl\n ? containerLeft\n : container.ownerDocument!.defaultView!.innerWidth - containerRight;\n const refStartFromContainer = !isRtl\n ? refLeft - containerLeft\n : containerRight - refRight;\n const refEndFromContainer = !isRtl\n ? refRight - containerLeft\n : containerRight - refLeft;\n const refCenterHorizontalFromContainer = !isRtl\n ? refCenterHorizontal - containerLeft\n : containerRight - refCenterHorizontal;\n const refTopFromContainer = refTop - containerTop;\n const refCenterVerticalFromContainer = refCenterVertical - containerTop;\n\n if (\n (container !== this.ownerDocument!.body ||\n containerStartFromViewport !== 0 ||\n containerTop !== 0) &&\n containerComputedStyle.getPropertyValue('position') === 'static'\n ) {\n throw new Error(\n 'Floating menu container must not have `position:static`.'\n );\n }\n\n const { alignment, alignmentDirection, direction } = this;\n if (Object.values(FLOATING_MENU_ALIGNMENT).indexOf(alignment) < 0) {\n throw new Error(`Wrong menu alignment: ${alignment}`);\n }\n if (Object.values(FLOATING_MENU_DIRECTION).indexOf(direction) < 0) {\n throw new Error(`Wrong menu position direction: ${direction}`);\n }\n\n const alignmentStart = {\n [FLOATING_MENU_DIRECTION_GROUP.HORIZONTAL]: {\n [FLOATING_MENU_ALIGNMENT.START]: () => refStartFromContainer,\n [FLOATING_MENU_ALIGNMENT.CENTER]: () =>\n refCenterHorizontalFromContainer - width / 2,\n [FLOATING_MENU_ALIGNMENT.END]: () => refEndFromContainer - width,\n },\n [FLOATING_MENU_DIRECTION_GROUP.VERTICAL]: {\n [FLOATING_MENU_ALIGNMENT.START]: () => refTopFromContainer,\n [FLOATING_MENU_ALIGNMENT.CENTER]: () =>\n refCenterVerticalFromContainer - height / 2,\n [FLOATING_MENU_ALIGNMENT.END]: () => refBottom - height,\n },\n }[alignmentDirection][alignment]();\n\n const { start, top } = {\n [FLOATING_MENU_DIRECTION.LEFT]: () => ({\n start: refStartFromContainer - width,\n top: alignmentStart,\n }),\n [FLOATING_MENU_DIRECTION.TOP]: () => ({\n start: alignmentStart,\n top: refTopFromContainer - height,\n }),\n [FLOATING_MENU_DIRECTION.RIGHT]: () => ({\n start: refEndFromContainer,\n top: alignmentStart,\n }),\n [FLOATING_MENU_DIRECTION.BOTTOM]: () => ({\n start: alignmentStart,\n top: refBottom,\n }),\n }[direction]();\n\n return {\n direction: positionDirection,\n start,\n top,\n };\n }\n\n disconnectedCallback() {\n if (this._hObserveResizeContainer) {\n this._hObserveResizeContainer = this._hObserveResizeContainer.release();\n }\n if (this._hObserveResizeParent) {\n this._hObserveResizeParent = this._hObserveResizeParent.release();\n }\n }\n\n updated(changedProperties) {\n const { container, open, parent } = this;\n if (\n (changedProperties.has('alignment') ||\n changedProperties.has('direction') ||\n changedProperties.has('open')) &&\n open\n ) {\n if (!parent) {\n this.parent = this.parentElement as BXFloatingMenuTrigger;\n container.appendChild(this);\n }\n // Note: `this.position` cannot be referenced until `this.parent` is set\n const { direction, start, top } = this.position;\n this.style[\n direction !== FLOATING_MENU_POSITION_DIRECTION.RTL ? 'left' : 'right'\n ] = `${start}px`;\n this.style.top = `${top}px`;\n }\n if (changedProperties.has('open')) {\n if (this._hObserveResizeContainer) {\n this._hObserveResizeContainer = this._hObserveResizeContainer.release();\n }\n if (this._hObserveResizeParent) {\n this._hObserveResizeParent = this._hObserveResizeParent.release();\n }\n if (open) {\n const { parentElement } = this.parent ?? {};\n this._hObserveResizeContainer = observeResize(\n this._resizeObserver,\n container\n );\n if (parentElement) {\n this._hObserveResizeParent = observeResize(\n this._resizeObserver,\n parentElement\n );\n }\n }\n }\n }\n\n /**\n * A constant indicating that this class is a floating menu.\n */\n static FLOATING_MENU = true;\n\n /**\n * The CSS selector to find the element to put this floating menu in.\n */\n static get selectorContainer() {\n return `[data-floating-menu-container],${prefix}-modal`;\n }\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n}\n\nexport default BXFloatingMenu;\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,QAAQ,KAAK;AAChC,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,UAAU,MAAM,4BAA4B;AACnD,OAAOC,iBAAiB,MAAM,oCAAoC;AAElE,SACEC,uBAAuB,EACvBC,uBAAuB,EACvBC,6BAA6B,EAC7BC,gCAAgC,QAC3B,QAAQ;AAEf,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,SACEJ,uBAAuB,EACvBC,uBAAuB,EACvBC,6BAA6B,EAC7BC,gCAAgC;;AAGlC;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,aAAa,GAAGA,CAACC,QAAwB,EAAEC,IAAa,KAAK;EACjED,QAAQ,CAACE,OAAO,CAACD,IAAI,CAAC;EACtB,OAAO;IACLE,OAAOA,CAAA,EAAG;MACRH,QAAQ,CAACI,SAAS,CAACH,IAAI,CAAC;MACxB,OAAO,IAAI;IACb;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,eAAe,GAAGA,CAACJ,IAAa,EAAEK,QAAgB,KAAK;EAC3D,MAAMC,KAAK,GAAGN,IAAI,CAACO,OAAO,CAACF,QAAQ,CAAC;EACpC,IAAIC,KAAK,EAAE;IACT,OAAOA,KAAK;EACd;EACA,MAAM;IAAEE;EAAK,CAAC,GAAGR,IAAI,CAACS,WAAW,EAAgB;EACjD,IAAID,IAAI,EAAE;IACR,OAAOJ,eAAe,CAACI,IAAI,EAAEH,QAAQ,CAAC;EACxC;EACA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AAFA,IAGeK,cAAc,GAAAC,SAAA,iBAAAC,WAAA,EAAAC,kBAAA;EAA7B,MAAeH,cAAc,SAAAG,kBAAA,CAE3B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAgQF;EAAC;IAAAI,CAAA,EAlQcN,cAAc;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAMoB,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAKD,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAO5B,IAAIC,cAAc,CAAC,MAAM;UACjD,MAAM;YAAEC,SAAS;YAAEC,IAAI;YAAEC,MAAM;YAAEC;UAAS,CAAC,GAAG,IAAI;UAClD,IAAIH,SAAS,IAAIC,IAAI,IAAIC,MAAM,EAAE;YAC/B,MAAM;cAAEE,SAAS;cAAEC,KAAK;cAAEC;YAAI,CAAC,GAAGH,QAAQ;YAC1C,IAAI,CAACI,KAAK,CACRH,SAAS,KAAK9B,gCAAgC,CAACkC,GAAG,GAAG,MAAM,GAAG,OAAO,CACtE,GAAI,GAAEH,KAAM,IAAG;YAChB,IAAI,CAACE,KAAK,CAACD,GAAG,GAAI,GAAEA,GAAI,IAAG;UAC7B;QACF,CAAC,CAAC;MAAA;IAAA;MAAAV,IAAA;MAAAa,UAAA,GAEDzC,YAAY,CAAC,UAAU,CAAC;MAAA6B,GAAA;MAAAC,MAAA;QAAA,OAEH,CAAC;UAAEY;QAA0B,CAAC,KAAK;UACvD,IAAI,CAAC,IAAI,CAACC,QAAQ,CAACD,aAAa,CAAS,EAAE;YACzC,MAAM;cAAER;YAAO,CAAC,GAAG,IAAI;YACvB,IAAIA,MAAM,EAAE;cACVA,MAAM,CAACD,IAAI,GAAG,KAAK;cACnBW,WAAW,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC,CAAC;YACjD;UACF;QACF,CAAC;MAAA;IAAA;MAAAN,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAKgD,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAzCrD;AACF;AACA;;MAGE;AACF;AACA;;MAGE;AACF;AACA;MACE;MACA;;MAwBA;AACF;AACA;;MAkBE;AACF;AACA;MACE,SAAAkB,mBAAA,EAAyB;QACvB,OAAO;UACL,CAAC5C,uBAAuB,CAAC6C,IAAI,GAAG5C,6BAA6B,CAAC6C,QAAQ;UACtE,CAAC9C,uBAAuB,CAAC+C,GAAG,GAAG9C,6BAA6B,CAAC+C,UAAU;UACvE,CAAChD,uBAAuB,CAACiD,KAAK,GAAGhD,6BAA6B,CAAC6C,QAAQ;UACvE,CAAC9C,uBAAuB,CAACkD,MAAM,GAC7BjD,6BAA6B,CAAC+C;QAClC,CAAC,CAAC,IAAI,CAAChB,SAAS,CAAC;MACnB;;MAEA;AACF;AACA;IAFE;MAAAR,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAGA,SAAAE,UAAA,EAAgB;QACd,OACElB,eAAe,CACb,IAAI,EACH,IAAI,CAACU,WAAW,CAA2B+B,iBAAiB,CAC9D,IAAI,IAAI,CAACC,aAAa,CAAEC,IAAI;MAEjC;;MAEA;AACF;AACA;IAFE;MAAA7B,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAGA,SAAAK,SAAA,EAAqC;QACnC,MAAM;UAAEuB;QAAgB,CAAC,GAAG,IAAI,CAACxB,MAAO;QACxC,IAAI,CAACwB,eAAe,EAAE;UACpB,MAAM,IAAIC,SAAS,CAAC,iDAAiD,CAAC;QACxE;QAEA,MAAM;UAAE3B;QAAU,CAAC,GAAG,IAAI;QAC1B,MAAM;UACJ4B,IAAI,EAAEC,OAAO,GAAG,CAAC;UACjBvB,GAAG,EAAEwB,MAAM,GAAG,CAAC;UACfC,KAAK,EAAEC,QAAQ,GAAG,CAAC;UACnBC,MAAM,EAAEC,SAAS,GAAG;QACtB,CAAC,GAAGR,eAAe;QACnB,MAAM;UAAES,KAAK;UAAEC;QAAO,CAAC,GAAG,IAAI,CAACC,qBAAqB,EAAE;QACtD,MAAM;UACJT,IAAI,EAAEU,aAAa,GAAG,CAAC;UACvBP,KAAK,EAAEQ,cAAc,GAAG,CAAC;UACzBjC,GAAG,EAAEkC,YAAY,GAAG;QACtB,CAAC,GAAGxC,SAAS,CAACqC,qBAAqB,EAAE;QACrC,MAAMI,mBAAmB,GAAG,CAACZ,OAAO,GAAGG,QAAQ,IAAI,CAAC;QACpD,MAAMU,iBAAiB,GAAG,CAACZ,MAAM,GAAGI,SAAS,IAAI,CAAC;QAElD,MAAMS,sBAAsB,GAC1B3C,SAAS,CAACwB,aAAa,CAAEoB,WAAW,CAAEC,gBAAgB,CAAC7C,SAAS,CAAC;QACnE,MAAM8C,iBAAiB,GAAGH,sBAAsB,CAACI,gBAAgB,CAC/D,WAAW,CACwB;QACrC,MAAMC,KAAK,GAAGF,iBAAiB,KAAKxE,gCAAgC,CAACkC,GAAG;QACxE,MAAMyC,0BAA0B,GAAG,CAACD,KAAK,GACrCV,aAAa,GACbtC,SAAS,CAACwB,aAAa,CAAEoB,WAAW,CAAEM,UAAU,GAAGX,cAAc;QACrE,MAAMY,qBAAqB,GAAG,CAACH,KAAK,GAChCnB,OAAO,GAAGS,aAAa,GACvBC,cAAc,GAAGP,QAAQ;QAC7B,MAAMoB,mBAAmB,GAAG,CAACJ,KAAK,GAC9BhB,QAAQ,GAAGM,aAAa,GACxBC,cAAc,GAAGV,OAAO;QAC5B,MAAMwB,gCAAgC,GAAG,CAACL,KAAK,GAC3CP,mBAAmB,GAAGH,aAAa,GACnCC,cAAc,GAAGE,mBAAmB;QACxC,MAAMa,mBAAmB,GAAGxB,MAAM,GAAGU,YAAY;QACjD,MAAMe,8BAA8B,GAAGb,iBAAiB,GAAGF,YAAY;QAEvE,IACE,CAACxC,SAAS,KAAK,IAAI,CAACwB,aAAa,CAAEC,IAAI,IACrCwB,0BAA0B,KAAK,CAAC,IAChCT,YAAY,KAAK,CAAC,KACpBG,sBAAsB,CAACI,gBAAgB,CAAC,UAAU,CAAC,KAAK,QAAQ,EAChE;UACA,MAAM,IAAIS,KAAK,CACb,0DAA0D,CAC3D;QACH;QAEA,MAAM;UAAEC,SAAS;UAAEzC,kBAAkB;UAAEZ;QAAU,CAAC,GAAG,IAAI;QACzD,IAAIsD,MAAM,CAACC,MAAM,CAACxF,uBAAuB,CAAC,CAACyF,OAAO,CAACH,SAAS,CAAC,GAAG,CAAC,EAAE;UACjE,MAAM,IAAID,KAAK,CAAE,yBAAwBC,SAAU,EAAC,CAAC;QACvD;QACA,IAAIC,MAAM,CAACC,MAAM,CAACvF,uBAAuB,CAAC,CAACwF,OAAO,CAACxD,SAAS,CAAC,GAAG,CAAC,EAAE;UACjE,MAAM,IAAIoD,KAAK,CAAE,kCAAiCpD,SAAU,EAAC,CAAC;QAChE;QAEA,MAAMyD,cAAc,GAAG;UACrB,CAACxF,6BAA6B,CAAC+C,UAAU,GAAG;YAC1C,CAACjD,uBAAuB,CAAC2F,KAAK,GAAG,MAAMX,qBAAqB;YAC5D,CAAChF,uBAAuB,CAAC4F,MAAM,GAAG,MAChCV,gCAAgC,GAAGlB,KAAK,GAAG,CAAC;YAC9C,CAAChE,uBAAuB,CAAC6F,GAAG,GAAG,MAAMZ,mBAAmB,GAAGjB;UAC7D,CAAC;UACD,CAAC9D,6BAA6B,CAAC6C,QAAQ,GAAG;YACxC,CAAC/C,uBAAuB,CAAC2F,KAAK,GAAG,MAAMR,mBAAmB;YAC1D,CAACnF,uBAAuB,CAAC4F,MAAM,GAAG,MAChCR,8BAA8B,GAAGnB,MAAM,GAAG,CAAC;YAC7C,CAACjE,uBAAuB,CAAC6F,GAAG,GAAG,MAAM9B,SAAS,GAAGE;UACnD;QACF,CAAC,CAACpB,kBAAkB,CAAC,CAACyC,SAAS,CAAC,EAAE;QAElC,MAAM;UAAEpD,KAAK;UAAEC;QAAI,CAAC,GAAG;UACrB,CAAClC,uBAAuB,CAAC6C,IAAI,GAAG,OAAO;YACrCZ,KAAK,EAAE8C,qBAAqB,GAAGhB,KAAK;YACpC7B,GAAG,EAAEuD;UACP,CAAC,CAAC;UACF,CAACzF,uBAAuB,CAAC+C,GAAG,GAAG,OAAO;YACpCd,KAAK,EAAEwD,cAAc;YACrBvD,GAAG,EAAEgD,mBAAmB,GAAGlB;UAC7B,CAAC,CAAC;UACF,CAAChE,uBAAuB,CAACiD,KAAK,GAAG,OAAO;YACtChB,KAAK,EAAE+C,mBAAmB;YAC1B9C,GAAG,EAAEuD;UACP,CAAC,CAAC;UACF,CAACzF,uBAAuB,CAACkD,MAAM,GAAG,OAAO;YACvCjB,KAAK,EAAEwD,cAAc;YACrBvD,GAAG,EAAE4B;UACP,CAAC;QACH,CAAC,CAAC9B,SAAS,CAAC,EAAE;QAEd,OAAO;UACLA,SAAS,EAAE0C,iBAAiB;UAC5BzC,KAAK;UACLC;QACF,CAAC;MACH;IAAC;MAAAV,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAmE,qBAAA,EAAuB;QACrB,IAAI,IAAI,CAACC,wBAAwB,EAAE;UACjC,IAAI,CAACA,wBAAwB,GAAG,IAAI,CAACA,wBAAwB,CAACtF,OAAO,EAAE;QACzE;QACA,IAAI,IAAI,CAACuF,qBAAqB,EAAE;UAC9B,IAAI,CAACA,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACvF,OAAO,EAAE;QACnE;MACF;IAAC;MAAAgB,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAsE,QAAQC,iBAAiB,EAAE;QACzB,MAAM;UAAErE,SAAS;UAAEC,IAAI;UAAEC;QAAO,CAAC,GAAG,IAAI;QACxC,IACE,CAACmE,iBAAiB,CAACC,GAAG,CAAC,WAAW,CAAC,IACjCD,iBAAiB,CAACC,GAAG,CAAC,WAAW,CAAC,IAClCD,iBAAiB,CAACC,GAAG,CAAC,MAAM,CAAC,KAC/BrE,IAAI,EACJ;UACA,IAAI,CAACC,MAAM,EAAE;YACX,IAAI,CAACA,MAAM,GAAG,IAAI,CAACqE,aAAsC;YACzDvE,SAAS,CAACwE,WAAW,CAAC,IAAI,CAAC;UAC7B;UACA;UACA,MAAM;YAAEpE,SAAS;YAAEC,KAAK;YAAEC;UAAI,CAAC,GAAG,IAAI,CAACH,QAAQ;UAC/C,IAAI,CAACI,KAAK,CACRH,SAAS,KAAK9B,gCAAgC,CAACkC,GAAG,GAAG,MAAM,GAAG,OAAO,CACtE,GAAI,GAAEH,KAAM,IAAG;UAChB,IAAI,CAACE,KAAK,CAACD,GAAG,GAAI,GAAEA,GAAI,IAAG;QAC7B;QACA,IAAI+D,iBAAiB,CAACC,GAAG,CAAC,MAAM,CAAC,EAAE;UACjC,IAAI,IAAI,CAACJ,wBAAwB,EAAE;YACjC,IAAI,CAACA,wBAAwB,GAAG,IAAI,CAACA,wBAAwB,CAACtF,OAAO,EAAE;UACzE;UACA,IAAI,IAAI,CAACuF,qBAAqB,EAAE;YAC9B,IAAI,CAACA,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACvF,OAAO,EAAE;UACnE;UACA,IAAIqB,IAAI,EAAE;YAAA,IAAAwE,YAAA;YACR,MAAM;cAAEF;YAAc,CAAC,IAAAE,YAAA,GAAG,IAAI,CAACvE,MAAM,cAAAuE,YAAA,cAAAA,YAAA,GAAI,CAAC,CAAC;YAC3C,IAAI,CAACP,wBAAwB,GAAG1F,aAAa,CAC3C,IAAI,CAACkG,eAAe,EACpB1E,SAAS,CACV;YACD,IAAIuE,aAAa,EAAE;cACjB,IAAI,CAACJ,qBAAqB,GAAG3F,aAAa,CACxC,IAAI,CAACkG,eAAe,EACpBH,aAAa,CACd;YACH;UACF;QACF;MACF;;MAEA;AACF;AACA;IAFE;MAAA3E,IAAA;MAAA+E,MAAA;MAAA9E,GAAA;MAAAC,MAAA;QAAA,OAGuB,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAA+E,MAAA;MAAA9E,GAAA;MAAAC,KAAA;MAE3B;AACF;AACA;MACE,SAAAyB,kBAAA,EAA+B;QAC7B,OAAQ,kCAAiChD,MAAO,QAAO;MACzD;IAAC;MAAAqB,IAAA;MAAA+E,MAAA;MAAA9E,GAAA;MAAAC,MAAA;QAAA,OAAA8E,aAAA,CAAAA,aAAA,KAEI7G,UAAU,CAAC8G,iBAAiB;UAC/BC,cAAc,EAAE;QAAI;MAAA;IAAA;EAAA;AAAA,GAhQc5G,iBAAiB,CACrDD,UAAU,CAACF,UAAU,CAAC,CACvB;AAkQD,eAAeqB,cAAc"}
|
|
1
|
+
{"version":3,"file":"floating-menu.js","names":["LitElement","HostListener","FocusMixin","HostListenerMixin","FLOATING_MENU_DIRECTION","FLOATING_MENU_POSITION_DIRECTION","prefix","observeResize","observer","elem","observe","release","unobserve","closestComposed","selector","found","closest","host","getRootNode","CDSFloatingMenu","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","ResizeObserver","container","open","parent","position","direction","start","top","style","RTL","decorators","relatedTarget","contains","HTMLElement","prototype","focus","call","event","shiftKey","selectorContainer","ownerDocument","body","triggerPosition","TypeError","left","refLeft","refTop","right","refRight","bottom","refBottom","width","height","getBoundingClientRect","containerLeft","containerRight","containerTop","containerComputedStyle","defaultView","getComputedStyle","positionDirection","getPropertyValue","isRtl","containerStartFromViewport","innerWidth","refStartFromContainer","refEndFromContainer","refTopFromContainer","Error","flipped","Object","values","indexOf","alignmentStart","TOP","BOTTOM","disconnectedCallback","_hObserveResizeContainer","_hObserveResizeParent","updated","changedProperties","has","parentElement","appendChild","_this$parent","_resizeObserver","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/floating-menu/floating-menu.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement } from 'lit';\nimport HostListener from '../../globals/decorators/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport Handle from '../../globals/internal/handle';\nimport {\n FLOATING_MENU_DIRECTION,\n FLOATING_MENU_POSITION_DIRECTION,\n} from './defs';\nimport CDSFloatingMenuTrigger from './floating-menu-trigger';\nimport { prefix } from '../../globals/settings';\n\nexport { FLOATING_MENU_DIRECTION, FLOATING_MENU_POSITION_DIRECTION };\n\n/**\n * Position of floating menu, or trigger button of floating menu.\n */\nexport interface FloatingMenuPosition {\n /**\n * The LTR/RTL direction used for positioning floating menu.\n */\n direction: FLOATING_MENU_POSITION_DIRECTION;\n\n /**\n * The start position (Left position for LTR, right position for RTL).\n */\n start: number;\n\n /**\n * The top position.\n */\n top: number;\n}\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * @param elem The starting element.\n * @param selector The CSS selector.\n * @returns {Element}\n * The closest ancestor node of the given element that matches the given selector, crossing Shadow DOM boundary.\n */\nconst closestComposed = (elem: Element, selector: string) => {\n const found = elem.closest(selector);\n if (found) {\n return found;\n }\n const { host } = elem.getRootNode() as ShadowRoot;\n if (host) {\n return closestComposed(host, selector);\n }\n return null;\n};\n\n/**\n * Floating menu.\n */\nabstract class CDSFloatingMenu extends HostListenerMixin(\n FocusMixin(LitElement)\n) {\n /**\n * The handle for observing resize of the element containing the trigger button.\n */\n private _hObserveResizeParent: Handle | null = null;\n\n /**\n * The handle for observing resize of the floating menu container.\n */\n private _hObserveResizeContainer: Handle | null = null;\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const { container, open, parent, position } = this;\n if (container && open && parent) {\n const { direction, start, top } = position;\n this.style[\n direction !== FLOATING_MENU_POSITION_DIRECTION.RTL ? 'left' : 'right'\n ] = `${start}px`;\n this.style.top = `${top}px`;\n }\n });\n\n @HostListener('focusout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = ({ relatedTarget }: FocusEvent) => {\n if (!this.contains(relatedTarget as Node)) {\n const { parent } = this;\n if (parent && parent !== relatedTarget) {\n parent.open = false;\n HTMLElement.prototype.focus.call(this.parent); // SVGElement in IE11 does not have `.focus()` method\n }\n }\n };\n\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _click = (event: MouseEvent) => {\n const { parent } = this;\n if (parent) {\n parent.open = false;\n }\n };\n\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n const { parent } = this;\n if (parent) {\n parent.open = false;\n }\n }\n }\n };\n\n /**\n * The DOM element, typically a custom element in this library, launching this floating menu.\n */\n protected parent: CDSFloatingMenuTrigger | null = null;\n\n /**\n * The menu direction.\n */\n abstract direction: FLOATING_MENU_DIRECTION;\n\n /**\n * `true` if the menu should be open.\n */\n abstract open: boolean;\n\n /**\n * `true` if the menu alignment should be flipped.\n */\n abstract flipped: boolean;\n\n /**\n * The DOM element to put this menu into.\n */\n get container() {\n return (\n closestComposed(\n this,\n (this.constructor as typeof CDSFloatingMenu).selectorContainer\n ) || this.ownerDocument!.body\n );\n }\n\n /**\n * The position of this floating menu.\n */\n get position(): FloatingMenuPosition {\n const { triggerPosition } = this.parent!;\n if (!triggerPosition) {\n throw new TypeError('Missing information of trigger button position.');\n }\n\n const { container } = this;\n const {\n left: refLeft = 0,\n top: refTop = 0,\n right: refRight = 0,\n bottom: refBottom = 0,\n } = triggerPosition;\n const { width, height } = this.getBoundingClientRect();\n const {\n left: containerLeft = 0,\n right: containerRight = 0,\n top: containerTop = 0,\n } = container.getBoundingClientRect();\n\n const containerComputedStyle =\n container.ownerDocument!.defaultView!.getComputedStyle(container);\n const positionDirection = containerComputedStyle.getPropertyValue(\n 'direction'\n ) as FLOATING_MENU_POSITION_DIRECTION;\n const isRtl = positionDirection === FLOATING_MENU_POSITION_DIRECTION.RTL;\n const containerStartFromViewport = !isRtl\n ? containerLeft\n : container.ownerDocument!.defaultView!.innerWidth - containerRight;\n const refStartFromContainer = !isRtl\n ? refLeft - containerLeft\n : containerRight - refRight;\n const refEndFromContainer = !isRtl\n ? refRight - containerLeft\n : containerRight - refLeft;\n const refTopFromContainer = refTop - containerTop;\n\n if (\n (container !== this.ownerDocument!.body ||\n containerStartFromViewport !== 0 ||\n containerTop !== 0) &&\n containerComputedStyle.getPropertyValue('position') === 'static'\n ) {\n throw new Error(\n 'Floating menu container must not have `position:static`.'\n );\n }\n\n const { flipped, direction } = this;\n if (Object.values(FLOATING_MENU_DIRECTION).indexOf(direction) < 0) {\n throw new Error(`Wrong menu position direction: ${direction}`);\n }\n\n const alignmentStart = flipped\n ? refEndFromContainer - width\n : refStartFromContainer;\n\n const { start, top } = {\n [FLOATING_MENU_DIRECTION.TOP]: () => ({\n start: alignmentStart,\n top: refTopFromContainer - height,\n }),\n [FLOATING_MENU_DIRECTION.BOTTOM]: () => ({\n start: alignmentStart,\n top: refBottom,\n }),\n }[direction]();\n\n return {\n direction: positionDirection,\n start,\n top,\n };\n }\n\n disconnectedCallback() {\n if (this._hObserveResizeContainer) {\n this._hObserveResizeContainer = this._hObserveResizeContainer.release();\n }\n if (this._hObserveResizeParent) {\n this._hObserveResizeParent = this._hObserveResizeParent.release();\n }\n }\n\n updated(changedProperties) {\n const { container, open, parent } = this;\n if (\n (changedProperties.has('flipped') ||\n changedProperties.has('direction') ||\n changedProperties.has('open')) &&\n open\n ) {\n if (!parent) {\n this.parent = this.parentElement as CDSFloatingMenuTrigger;\n container.appendChild(this);\n }\n // Note: `this.position` cannot be referenced until `this.parent` is set\n const { direction, start, top } = this.position;\n this.style[\n direction !== FLOATING_MENU_POSITION_DIRECTION.RTL ? 'left' : 'right'\n ] = `${start}px`;\n this.style.top = `${top}px`;\n }\n if (changedProperties.has('open')) {\n if (this._hObserveResizeContainer) {\n this._hObserveResizeContainer = this._hObserveResizeContainer.release();\n }\n if (this._hObserveResizeParent) {\n this._hObserveResizeParent = this._hObserveResizeParent.release();\n }\n if (open) {\n const { parentElement } = this.parent ?? {};\n this._hObserveResizeContainer = observeResize(\n this._resizeObserver,\n container\n );\n if (parentElement) {\n this._hObserveResizeParent = observeResize(\n this._resizeObserver,\n parentElement\n );\n }\n }\n }\n }\n\n /**\n * A constant indicating that this class is a floating menu.\n */\n static FLOATING_MENU = true;\n\n /**\n * The CSS selector to find the element to put this floating menu in.\n */\n static get selectorContainer() {\n return `[data-floating-menu-container],${prefix}-modal`;\n }\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n}\n\nexport default CDSFloatingMenu;\n"],"mappings":"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"}
|
|
@@ -12,10 +12,10 @@ import { LitElement } from 'lit';
|
|
|
12
12
|
*
|
|
13
13
|
* @element cds-form-item
|
|
14
14
|
*/
|
|
15
|
-
declare class
|
|
15
|
+
declare class CDSFormItem extends LitElement {
|
|
16
16
|
render(): import("lit-html").TemplateResult<1>;
|
|
17
17
|
static styles: any;
|
|
18
18
|
}
|
|
19
|
-
export default
|
|
19
|
+
export default CDSFormItem;
|
|
20
20
|
|
|
21
21
|
//# sourceMappingURL=form-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/form/form-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAKvC;;;;GAIG;AACH,cACM,
|
|
1
|
+
{"version":3,"sources":["components/form/form-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAKvC;;;;GAIG;AACH,cACM,WAAY,SAAQ,UAAU;IAClC,MAAM;IAIN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,WAAW,CAAC","file":"form-item.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './form-item.scss';\n\n/**\n * Presentational element for form items\n *\n * @element cds-form-item\n */\n@customElement(`${prefix}-form-item`)\nclass CDSFormItem extends LitElement {\n render() {\n return html` <slot></slot> `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSFormItem;\n"]}
|
|
@@ -24,15 +24,15 @@ import styles from "././form-item.css.js";
|
|
|
24
24
|
*
|
|
25
25
|
* @element cds-form-item
|
|
26
26
|
*/
|
|
27
|
-
let
|
|
28
|
-
class
|
|
27
|
+
let CDSFormItem = _decorate([customElement(`${prefix}-form-item`)], function (_initialize, _LitElement) {
|
|
28
|
+
class CDSFormItem extends _LitElement {
|
|
29
29
|
constructor(...args) {
|
|
30
30
|
super(...args);
|
|
31
31
|
_initialize(this);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
return {
|
|
35
|
-
F:
|
|
35
|
+
F: CDSFormItem,
|
|
36
36
|
d: [{
|
|
37
37
|
kind: "method",
|
|
38
38
|
key: "render",
|
|
@@ -49,5 +49,5 @@ let BXFormItem = _decorate([customElement(`${prefix}-form-item`)], function (_in
|
|
|
49
49
|
}]
|
|
50
50
|
};
|
|
51
51
|
}, LitElement);
|
|
52
|
-
export default
|
|
52
|
+
export default CDSFormItem;
|
|
53
53
|
//# sourceMappingURL=form-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item.js","names":["LitElement","html","customElement","prefix","styles","
|
|
1
|
+
{"version":3,"file":"form-item.js","names":["LitElement","html","customElement","prefix","styles","CDSFormItem","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","key","value","render","_t","_","static"],"sources":["components/form/form-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './form-item.scss';\n\n/**\n * Presentational element for form items\n *\n * @element cds-form-item\n */\n@customElement(`${prefix}-form-item`)\nclass CDSFormItem extends LitElement {\n render() {\n return html` <slot></slot> `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSFormItem;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,IAAI,QAAQ,KAAK;AACtC,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,MAAM,MAAM,sBAAkB;;AAErC;AACA;AACA;AACA;AACA,GAJA;AACA;AACA;AACA;AACA;AAJA,IAMMC,WAAW,GAAAC,SAAA,EADhBJ,aAAa,CAAE,GAAEC,MAAO,YAAW,CAAC,aAAAI,WAAA,EAAAC,WAAA;EAArC,MACMH,WAAW,SAAAG,WAAA,CAAoB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAMrC;EAAC;IAAAI,CAAA,EANKN,WAAW;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EACf,SAAAC,OAAA,EAAS;QACP,OAAOf,IAAI,CAAAgB,EAAA,KAAAA,EAAA,GAAAC,CAAC,iBAAe;MAC7B;IAAC;MAAAL,IAAA;MAAAM,MAAA;MAAAL,GAAA;MAAAC,MAAA;QAAA,OAEeX,MAAM;MAAA;IAAA;EAAA;AAAA,GALEJ,UAAU;AAQpC,eAAeK,WAAW"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Copyright IBM Corp. 2019, 2020
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { css } from 'lit';
|
|
10
|
+
export default css([
|
|
11
|
+
"@keyframes hide-feedback{0%{opacity:1;visibility:inherit}100%{opacity:0;visibility:hidden}}@keyframes show-feedback{0%{opacity:0;visibility:hidden}100%{opacity:1;visibility:inherit}}@keyframes skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}100%{opacity:.3;transform:scaleX(0);transform-origin:left}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds--fieldset html,:host(cds-form-group) fieldset html{font-size:100%}.cds--fieldset body,:host(cds-form-group) fieldset body{font-weight:400;font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--fieldset code,:host(cds-form-group) fieldset code{font-family:'IBM Plex Mono',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',monospace}.cds--fieldset strong,:host(cds-form-group) fieldset strong{font-weight:600}.cds--form-item{font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);line-height:var(--cds-body-compact-01-line-height,1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start}.cds--label{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px);display:inline-block;margin-bottom:.5rem;color:var(--cds-text-secondary,#525252);font-weight:400;line-height:1rem;vertical-align:baseline}.cds--label html{font-size:100%}.cds--label body{font-weight:400;font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--label code{font-family:'IBM Plex Mono',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',monospace}.cds--label strong{font-weight:600}.cds--label .cds--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label--no-margin{margin-bottom:0}.cds--label+.cds--tooltip{position:relative;top:.2rem;left:.5rem}.cds--label+.cds--tooltip .cds--tooltip__trigger{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;text-align:start;width:100%;display:flex;align-items:center;justify-content:center;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label+.cds--tooltip .cds--tooltip__trigger *,.cds--label+.cds--tooltip .cds--tooltip__trigger ::after,.cds--label+.cds--tooltip .cds--tooltip__trigger ::before{box-sizing:inherit}.cds--label+.cds--tooltip .cds--tooltip__trigger::-moz-focus-inner{border:0}.cds--label+.cds--tooltip .cds--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds--label+.cds--toggletip{top:.2rem;left:.5rem}.cds--label.cds--skeleton{position:relative;padding:0;border:none;background:var(--cds-skeleton-background,#e8e8e8);box-shadow:none;pointer-events:none;width:4.6875rem;height:.875rem}.cds--label.cds--skeleton:active,.cds--label.cds--skeleton:focus,.cds--label.cds--skeleton:hover{border:none;cursor:default;outline:0}.cds--label.cds--skeleton::before{position:absolute;width:100%;height:100%;animation:3s ease-in-out skeleton infinite;background:var(--cds-skeleton-element,#c6c6c6);content:\"\";will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--label.cds--skeleton::before{animation:none}}input[type=number]{font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif}.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper--warn~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box--warning~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--number__input-wrapper--warning~.cds--form-requirement,.cds--select--warning .cds--select-input__wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper--warn~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper--warning>.cds--text-input~.cds--form-requirement,.cds--text-input__field-wrapper--warning~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{display:block;overflow:visible;max-height:12.5rem;font-weight:400}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{color:var(--cds-text-error,#da1e28)}.cds--form--fluid .cds--text-input__field-wrapper--warning,.cds--form--fluid .cds--text-input__field-wrapper[data-invalid]{display:block}.cds--form--fluid input[data-invalid]{outline:0}.cds--form--fluid .cds--form-requirement{padding:.5rem 2.5rem .5rem 1rem;margin:0}input:not(output):not([data-invalid]):-moz-ui-invalid{box-shadow:none}.cds--form-requirement{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px);display:none;overflow:hidden;max-height:0;margin:.25rem 0 0}.cds--form-requirement html{font-size:100%}.cds--form-requirement body{font-weight:400;font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--form-requirement code{font-family:'IBM Plex Mono',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',monospace}.cds--form-requirement strong{font-weight:600}.cds--select--inline .cds--form__helper-text{margin-top:0}.cds--form__helper-text{font-size:var(--cds-helper-text-01-font-size,.75rem);line-height:var(--cds-helper-text-01-line-height,1.33333);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);z-index:0;width:100%;margin-top:.25rem;color:var(--cds-text-secondary,#525252);opacity:1}.cds--form__helper-text--disabled,.cds--label--disabled{color:var(--cds-text-disabled,rgba(22,22,22,.25))}fieldset[disabled] .cds--form__helper-text,fieldset[disabled] .cds--label{color:var(--cds-text-disabled,rgba(22,22,22,.25))}:host(cds-form-group) fieldset{padding:0;border:0;margin:0;font:inherit;font-size:100%;vertical-align:baseline}",
|
|
12
|
+
]);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Copyright IBM Corp. 2019, 2023
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { LitElement } from 'lit';
|
|
10
|
+
/**
|
|
11
|
+
* The shell UI for file uploader.
|
|
12
|
+
*
|
|
13
|
+
* @element cds-form-group
|
|
14
|
+
* @slot label-title.
|
|
15
|
+
* @slot lebel-description.
|
|
16
|
+
*/
|
|
17
|
+
declare class CDSFormGroup extends LitElement {
|
|
18
|
+
/**
|
|
19
|
+
* Specify whether the Form Group is invalid
|
|
20
|
+
*/
|
|
21
|
+
invalid: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Provide id for the fieldset <legend> which corresponds to the fieldset
|
|
24
|
+
* `aria-labelledby`
|
|
25
|
+
*/
|
|
26
|
+
legendId: any;
|
|
27
|
+
/**
|
|
28
|
+
* Provide the text to be rendered inside of the fieldset <legend>
|
|
29
|
+
*/
|
|
30
|
+
legendText: string;
|
|
31
|
+
/**
|
|
32
|
+
* Specify whether the message should be displayed in the Form Group
|
|
33
|
+
*/
|
|
34
|
+
message: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Provide the text for the message in the Form Group
|
|
37
|
+
*/
|
|
38
|
+
messageText: any;
|
|
39
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
40
|
+
static styles: any;
|
|
41
|
+
}
|
|
42
|
+
export default CDSFormGroup;
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=form-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/form-group/form-group.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAKvC;;;;;;GAMG;AACH,cACM,YAAa,SAAQ,UAAU;IACnC;;OAEG;IAEH,OAAO,UAAS;IAEhB;;;OAGG;IAEH,QAAQ,MAAC;IAET;;OAEG;IAEH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,WAAW,MAAC;IAEZ,MAAM;IAmBN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,YAAY,CAAC","file":"form-group.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './form-group.scss';\n\n/**\n * The shell UI for file uploader.\n *\n * @element cds-form-group\n * @slot label-title.\n * @slot lebel-description.\n */\n@customElement(`${prefix}-form-group`)\nclass CDSFormGroup extends LitElement {\n /**\n * Specify whether the Form Group is invalid\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Provide id for the fieldset <legend> which corresponds to the fieldset\n * `aria-labelledby`\n */\n @property({ attribute: 'legend-id' })\n legendId;\n\n /**\n * Provide the text to be rendered inside of the fieldset <legend>\n */\n @property({ attribute: 'legend-text' })\n legendText!: string;\n\n /**\n * Specify whether the message should be displayed in the Form Group\n */\n @property({ type: Boolean, reflect: true })\n message = false;\n\n /**\n * Provide the text for the message in the Form Group\n */\n @property({ type: String, attribute: 'message-text', reflect: true })\n messageText;\n\n render() {\n const { invalid, legendId, legendText, message, messageText } = this;\n\n return html`\n <fieldset\n class=\"${prefix}--fieldset\"\n ?data-invalid=${invalid}\n aria-labelledby=\"${legendId}\">\n <legend class=\"${prefix}--label\" id=${legendId}>${legendText}</legend>\n <slot></slot>\n ${message\n ? html`<div class=\"${prefix}--form__requirements\">\n ${messageText}\n </div>`\n : null}\n </fieldset>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSFormGroup;\n"]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import _decorate from "@babel/runtime/helpers/esm/decorate";
|
|
2
|
+
let _ = t => t,
|
|
3
|
+
_t,
|
|
4
|
+
_t2;
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
*
|
|
8
|
+
* Copyright IBM Corp. 2019, 2023
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
11
|
+
* LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { LitElement, html } from 'lit';
|
|
15
|
+
import { property, customElement } from 'lit/decorators.js';
|
|
16
|
+
import { prefix } from '../../globals/settings';
|
|
17
|
+
import styles from "././form-group.css.js";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The shell UI for file uploader.
|
|
21
|
+
*
|
|
22
|
+
* @element cds-form-group
|
|
23
|
+
* @slot label-title.
|
|
24
|
+
* @slot lebel-description.
|
|
25
|
+
*/ /**
|
|
26
|
+
* The shell UI for file uploader.
|
|
27
|
+
*
|
|
28
|
+
* @element cds-form-group
|
|
29
|
+
* @slot label-title.
|
|
30
|
+
* @slot lebel-description.
|
|
31
|
+
*/
|
|
32
|
+
let CDSFormGroup = _decorate([customElement(`${prefix}-form-group`)], function (_initialize, _LitElement) {
|
|
33
|
+
class CDSFormGroup extends _LitElement {
|
|
34
|
+
constructor(...args) {
|
|
35
|
+
super(...args);
|
|
36
|
+
_initialize(this);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
F: CDSFormGroup,
|
|
41
|
+
d: [{
|
|
42
|
+
kind: "field",
|
|
43
|
+
decorators: [property({
|
|
44
|
+
type: Boolean,
|
|
45
|
+
reflect: true
|
|
46
|
+
})],
|
|
47
|
+
key: "invalid",
|
|
48
|
+
value() {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
kind: "field",
|
|
53
|
+
decorators: [property({
|
|
54
|
+
attribute: 'legend-id'
|
|
55
|
+
})],
|
|
56
|
+
key: "legendId",
|
|
57
|
+
value: void 0
|
|
58
|
+
}, {
|
|
59
|
+
kind: "field",
|
|
60
|
+
decorators: [property({
|
|
61
|
+
attribute: 'legend-text'
|
|
62
|
+
})],
|
|
63
|
+
key: "legendText",
|
|
64
|
+
value: void 0
|
|
65
|
+
}, {
|
|
66
|
+
kind: "field",
|
|
67
|
+
decorators: [property({
|
|
68
|
+
type: Boolean,
|
|
69
|
+
reflect: true
|
|
70
|
+
})],
|
|
71
|
+
key: "message",
|
|
72
|
+
value() {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
kind: "field",
|
|
77
|
+
decorators: [property({
|
|
78
|
+
type: String,
|
|
79
|
+
attribute: 'message-text',
|
|
80
|
+
reflect: true
|
|
81
|
+
})],
|
|
82
|
+
key: "messageText",
|
|
83
|
+
value: void 0
|
|
84
|
+
}, {
|
|
85
|
+
kind: "method",
|
|
86
|
+
key: "render",
|
|
87
|
+
value:
|
|
88
|
+
/**
|
|
89
|
+
* Specify whether the Form Group is invalid
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Provide id for the fieldset <legend> which corresponds to the fieldset
|
|
94
|
+
* `aria-labelledby`
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Provide the text to be rendered inside of the fieldset <legend>
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Specify whether the message should be displayed in the Form Group
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Provide the text for the message in the Form Group
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
function render() {
|
|
110
|
+
const {
|
|
111
|
+
invalid,
|
|
112
|
+
legendId,
|
|
113
|
+
legendText,
|
|
114
|
+
message,
|
|
115
|
+
messageText
|
|
116
|
+
} = this;
|
|
117
|
+
return html(_t || (_t = _`
|
|
118
|
+
<fieldset
|
|
119
|
+
class="${0}--fieldset"
|
|
120
|
+
?data-invalid=${0}
|
|
121
|
+
aria-labelledby="${0}">
|
|
122
|
+
<legend class="${0}--label" id=${0}>${0}</legend>
|
|
123
|
+
<slot></slot>
|
|
124
|
+
${0}
|
|
125
|
+
</fieldset>
|
|
126
|
+
`), prefix, invalid, legendId, prefix, legendId, legendText, message ? html(_t2 || (_t2 = _`<div class="${0}--form__requirements">
|
|
127
|
+
${0}
|
|
128
|
+
</div>`), prefix, messageText) : null);
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
kind: "field",
|
|
132
|
+
static: true,
|
|
133
|
+
key: "styles",
|
|
134
|
+
value() {
|
|
135
|
+
return styles;
|
|
136
|
+
}
|
|
137
|
+
}]
|
|
138
|
+
};
|
|
139
|
+
}, LitElement);
|
|
140
|
+
export default CDSFormGroup;
|
|
141
|
+
//# sourceMappingURL=form-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-group.js","names":["LitElement","html","property","customElement","prefix","styles","CDSFormGroup","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","attribute","String","render","invalid","legendId","legendText","message","messageText","_t","_","_t2","static"],"sources":["components/form-group/form-group.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './form-group.scss';\n\n/**\n * The shell UI for file uploader.\n *\n * @element cds-form-group\n * @slot label-title.\n * @slot lebel-description.\n */\n@customElement(`${prefix}-form-group`)\nclass CDSFormGroup extends LitElement {\n /**\n * Specify whether the Form Group is invalid\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Provide id for the fieldset <legend> which corresponds to the fieldset\n * `aria-labelledby`\n */\n @property({ attribute: 'legend-id' })\n legendId;\n\n /**\n * Provide the text to be rendered inside of the fieldset <legend>\n */\n @property({ attribute: 'legend-text' })\n legendText!: string;\n\n /**\n * Specify whether the message should be displayed in the Form Group\n */\n @property({ type: Boolean, reflect: true })\n message = false;\n\n /**\n * Provide the text for the message in the Form Group\n */\n @property({ type: String, attribute: 'message-text', reflect: true })\n messageText;\n\n render() {\n const { invalid, legendId, legendText, message, messageText } = this;\n\n return html`\n <fieldset\n class=\"${prefix}--fieldset\"\n ?data-invalid=${invalid}\n aria-labelledby=\"${legendId}\">\n <legend class=\"${prefix}--label\" id=${legendId}>${legendText}</legend>\n <slot></slot>\n ${message\n ? html`<div class=\"${prefix}--form__requirements\">\n ${messageText}\n </div>`\n : null}\n </fieldset>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSFormGroup;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,IAAI,QAAQ,KAAK;AACtC,SAASC,QAAQ,EAAEC,aAAa,QAAQ,mBAAmB;AAC3D,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,MAAM,MAAM,uBAAmB;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA,GANA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAQMC,YAAY,GAAAC,SAAA,EADjBJ,aAAa,CAAE,GAAEC,MAAO,aAAY,CAAC,aAAAI,WAAA,EAAAC,WAAA;EAAtC,MACMH,YAAY,SAAAG,WAAA,CAAoB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAoDtC;EAAC;IAAAI,CAAA,EApDKN,YAAY;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAIfb,QAAQ,CAAC;QAAEc,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACjC,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAMdb,QAAQ,CAAC;QAAEmB,SAAS,EAAE;MAAY,CAAC,CAAC;MAAAF,GAAA;MAAAC,KAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAMpCb,QAAQ,CAAC;QAAEmB,SAAS,EAAE;MAAc,CAAC,CAAC;MAAAF,GAAA;MAAAC,KAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAMtCb,QAAQ,CAAC;QAAEc,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACjC,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAKdb,QAAQ,CAAC;QAAEc,IAAI,EAAEM,MAAM;QAAED,SAAS,EAAE,cAAc;QAAEH,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,KAAA;IAAA;MAAAN,IAAA;MAAAK,GAAA;MAAAC,KAAA;MA5BrE;AACF;AACA;;MAIE;AACF;AACA;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE,SAAAG,OAAA,EAAS;QACP,MAAM;UAAEC,OAAO;UAAEC,QAAQ;UAAEC,UAAU;UAAEC,OAAO;UAAEC;QAAY,CAAC,GAAG,IAAI;QAEpE,OAAO3B,IAAI,CAAA4B,EAAA,KAAAA,EAAA,GAAAC,CAAC;AAChB;AACA,iBAAe,CAAS;AACxB,wBAAsB,CAAU;AAChC,2BAAyB,CAAW;AACpC,yBAAuB,CAAS,eAAY,CAAW,IAAC,CAAa;AACrE;AACA,UAAQ,CAIS;AACjB;AACA,KAAI,GAXa1B,MAAM,EACCoB,OAAO,EACJC,QAAQ,EACVrB,MAAM,EAAeqB,QAAQ,EAAIC,UAAU,EAE1DC,OAAO,GACL1B,IAAI,CAAA8B,GAAA,KAAAA,GAAA,GAAAD,CAAC,eAAY,CAAS;AACtC,gBAAc,CAAc;AAC5B,mBAAkB,GAFa1B,MAAM,EACrBwB,WAAW,IAEf,IAAI;MAGd;IAAC;MAAAd,IAAA;MAAAkB,MAAA;MAAAb,GAAA;MAAAC,MAAA;QAAA,OAEef,MAAM;MAAA;IAAA;EAAA;AAAA,GAnDGL,UAAU;AAsDrC,eAAeM,YAAY"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Copyright IBM Corp. 2019, 2020
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { css } from 'lit';
|
|
10
|
+
export default css([
|
|
11
|
+
"@keyframes hide-feedback{0%{opacity:1;visibility:inherit}100%{opacity:0;visibility:hidden}}@keyframes show-feedback{0%{opacity:0;visibility:hidden}100%{opacity:1;visibility:inherit}}@keyframes skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:right}20%{opacity:1;transform:scaleX(1);transform-origin:right}28%{transform:scaleX(1);transform-origin:left}51%{transform:scaleX(0);transform-origin:left}58%{transform:scaleX(0);transform-origin:left}82%{transform:scaleX(1);transform-origin:left}83%{transform:scaleX(1);transform-origin:right}96%{transform:scaleX(0);transform-origin:right}100%{opacity:.3;transform:scaleX(0);transform-origin:right}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds--fieldset html,:host(cds-form-group) fieldset html{font-size:100%}.cds--fieldset body,:host(cds-form-group) fieldset body{font-weight:400;font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--fieldset code,:host(cds-form-group) fieldset code{font-family:'IBM Plex Mono',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',monospace}.cds--fieldset strong,:host(cds-form-group) fieldset strong{font-weight:600}.cds--form-item{font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);line-height:var(--cds-body-compact-01-line-height,1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start}.cds--label{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px);display:inline-block;margin-bottom:.5rem;color:var(--cds-text-secondary,#525252);font-weight:400;line-height:1rem;vertical-align:baseline}.cds--label html{font-size:100%}.cds--label body{font-weight:400;font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--label code{font-family:'IBM Plex Mono',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',monospace}.cds--label strong{font-weight:600}.cds--label .cds--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label--no-margin{margin-bottom:0}.cds--label+.cds--tooltip{position:relative;top:.2rem;right:.5rem}.cds--label+.cds--tooltip .cds--tooltip__trigger{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;text-align:start;width:100%;display:flex;align-items:center;justify-content:center;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label+.cds--tooltip .cds--tooltip__trigger *,.cds--label+.cds--tooltip .cds--tooltip__trigger ::after,.cds--label+.cds--tooltip .cds--tooltip__trigger ::before{box-sizing:inherit}.cds--label+.cds--tooltip .cds--tooltip__trigger::-moz-focus-inner{border:0}.cds--label+.cds--tooltip .cds--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds--label+.cds--toggletip{top:.2rem;right:.5rem}.cds--label.cds--skeleton{position:relative;padding:0;border:none;background:var(--cds-skeleton-background,#e8e8e8);box-shadow:none;pointer-events:none;width:4.6875rem;height:.875rem}.cds--label.cds--skeleton:active,.cds--label.cds--skeleton:focus,.cds--label.cds--skeleton:hover{border:none;cursor:default;outline:0}.cds--label.cds--skeleton::before{position:absolute;width:100%;height:100%;animation:3s ease-in-out skeleton infinite;background:var(--cds-skeleton-element,#c6c6c6);content:\"\";will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--label.cds--skeleton::before{animation:none}}input[type=number]{font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif}.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper--warn~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box--warning~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--number__input-wrapper--warning~.cds--form-requirement,.cds--select--warning .cds--select-input__wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper--warn~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper--warning>.cds--text-input~.cds--form-requirement,.cds--text-input__field-wrapper--warning~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{display:block;overflow:visible;max-height:12.5rem;font-weight:400}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{color:var(--cds-text-error,#da1e28)}.cds--form--fluid .cds--text-input__field-wrapper--warning,.cds--form--fluid .cds--text-input__field-wrapper[data-invalid]{display:block}.cds--form--fluid input[data-invalid]{outline:0}.cds--form--fluid .cds--form-requirement{padding:.5rem 1rem .5rem 2.5rem;margin:0}input:not(output):not([data-invalid]):-moz-ui-invalid{box-shadow:none}.cds--form-requirement{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px);display:none;overflow:hidden;max-height:0;margin:.25rem 0 0}.cds--form-requirement html{font-size:100%}.cds--form-requirement body{font-weight:400;font-family:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--form-requirement code{font-family:'IBM Plex Mono',system-ui,-apple-system,BlinkMacSystemFont,'.SFNSText-Regular',monospace}.cds--form-requirement strong{font-weight:600}.cds--select--inline .cds--form__helper-text{margin-top:0}.cds--form__helper-text{font-size:var(--cds-helper-text-01-font-size,.75rem);line-height:var(--cds-helper-text-01-line-height,1.33333);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);z-index:0;width:100%;margin-top:.25rem;color:var(--cds-text-secondary,#525252);opacity:1}.cds--form__helper-text--disabled,.cds--label--disabled{color:var(--cds-text-disabled,rgba(22,22,22,.25))}fieldset[disabled] .cds--form__helper-text,fieldset[disabled] .cds--label{color:var(--cds-text-disabled,rgba(22,22,22,.25))}:host(cds-form-group) fieldset{padding:0;border:0;margin:0;font:inherit;font-size:100%;vertical-align:baseline}",
|
|
12
|
+
]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Copyright IBM Corp. 2023
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import './form-group';
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/form-group/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,cAAc,CAAC","file":"index.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 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 './form-group';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["components/form-group/index.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 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 './form-group';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,cAAc"}
|