@cds/core 5.7.0 → 6.0.0-beta.2
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/accordion/accordion-content.element.scss.js +1 -1
- package/accordion/accordion-header.element.d.ts +2 -0
- package/accordion/accordion-header.element.js +1 -1
- package/accordion/accordion-header.element.js.map +1 -1
- package/accordion/accordion-header.element.scss.js +1 -1
- package/accordion/accordion-panel.element.d.ts +2 -2
- package/accordion/accordion-panel.element.js +1 -1
- package/accordion/accordion-panel.element.js.map +1 -1
- package/accordion/accordion-panel.element.scss.js +1 -1
- package/accordion/accordion.element.scss.js +1 -1
- package/accordion/register.d.ts +1 -0
- package/accordion/register.js +1 -1
- package/accordion/register.js.map +1 -1
- package/alert/alert-actions.element.js +1 -1
- package/alert/alert-actions.element.js.map +1 -1
- package/alert/alert-actions.element.scss.js +1 -1
- package/alert/alert-group.element.js +1 -1
- package/alert/alert-group.element.js.map +1 -1
- package/alert/alert-group.element.scss.js +1 -1
- package/alert/alert.element.d.ts +2 -3
- package/alert/alert.element.js +1 -1
- package/alert/alert.element.js.map +1 -1
- package/alert/alert.element.scss.js +1 -1
- package/badge/badge.element.scss.js +1 -1
- package/breadcrumb/breadcrumb.element.d.ts +0 -1
- package/breadcrumb/breadcrumb.element.js +1 -1
- package/breadcrumb/breadcrumb.element.js.map +1 -1
- package/breadcrumb/breadcrumb.element.scss.js +1 -1
- package/button/button.element.d.ts +1 -1
- package/button/button.element.js +1 -1
- package/button/button.element.js.map +1 -1
- package/button/button.element.scss.js +1 -1
- package/button/icon-button.element.d.ts +1 -9
- package/button/icon-button.element.js +1 -1
- package/button/icon-button.element.js.map +1 -1
- package/button/index.d.ts +0 -1
- package/button/index.js +1 -1
- package/button/register.d.ts +0 -2
- package/button/register.js +1 -1
- package/button/register.js.map +1 -1
- package/button-action/button-action.element.d.ts +45 -0
- package/button-action/button-action.element.js +2 -0
- package/button-action/button-action.element.js.map +1 -0
- package/button-action/button-action.element.scss.js +2 -0
- package/button-action/button-action.element.scss.js.map +1 -0
- package/button-action/index.d.ts +1 -0
- package/button-action/index.js +2 -0
- package/{internal/interfaces → button-action}/index.js.map +0 -0
- package/button-action/register.d.ts +7 -0
- package/button-action/register.js +2 -0
- package/button-action/register.js.map +1 -0
- package/button-expand/button-expand.element.d.ts +25 -0
- package/button-expand/button-expand.element.js +2 -0
- package/button-expand/button-expand.element.js.map +1 -0
- package/button-expand/button-expand.element.scss.js +2 -0
- package/button-expand/button-expand.element.scss.js.map +1 -0
- package/button-expand/index.d.ts +1 -0
- package/button-expand/index.js +2 -0
- package/button-expand/index.js.map +1 -0
- package/button-expand/register.d.ts +7 -0
- package/button-expand/register.js +2 -0
- package/button-expand/register.js.map +1 -0
- package/button-handle/button-handle.element.d.ts +19 -0
- package/button-handle/button-handle.element.js +2 -0
- package/button-handle/button-handle.element.js.map +1 -0
- package/button-handle/button-handle.element.scss.js +2 -0
- package/button-handle/button-handle.element.scss.js.map +1 -0
- package/button-handle/index.d.ts +1 -0
- package/button-handle/index.js +2 -0
- package/button-handle/index.js.map +1 -0
- package/button-handle/register.d.ts +7 -0
- package/button-handle/register.js +2 -0
- package/button-handle/register.js.map +1 -0
- package/{button/inline-button.element.d.ts → button-inline/button-inline.element.d.ts} +10 -3
- package/button-inline/button-inline.element.js +2 -0
- package/button-inline/button-inline.element.js.map +1 -0
- package/{button/inline-button.element.scss.js → button-inline/button-inline.element.scss.js} +2 -2
- package/button-inline/button-inline.element.scss.js.map +1 -0
- package/button-inline/index.d.ts +1 -0
- package/button-inline/index.js +2 -0
- package/button-inline/index.js.map +1 -0
- package/button-inline/register.d.ts +11 -0
- package/button-inline/register.js +2 -0
- package/button-inline/register.js.map +1 -0
- package/button-sort/button-sort.element.d.ts +23 -0
- package/button-sort/button-sort.element.js +2 -0
- package/button-sort/button-sort.element.js.map +1 -0
- package/button-sort/button-sort.element.scss.js +2 -0
- package/button-sort/button-sort.element.scss.js.map +1 -0
- package/button-sort/index.d.ts +1 -0
- package/button-sort/index.js +2 -0
- package/button-sort/index.js.map +1 -0
- package/button-sort/register.d.ts +7 -0
- package/button-sort/register.js +2 -0
- package/button-sort/register.js.map +1 -0
- package/button-sort/utils.d.ts +1 -0
- package/button-sort/utils.js +2 -0
- package/button-sort/utils.js.map +1 -0
- package/card/card.element.d.ts +4 -5
- package/card/card.element.js.map +1 -1
- package/card/card.element.scss.js +1 -1
- package/checkbox/checkbox.element.scss.js +1 -1
- package/custom-elements.json +17310 -9488
- package/datalist/datalist.element.d.ts +0 -1
- package/datalist/datalist.element.js +1 -1
- package/datalist/datalist.element.js.map +1 -1
- package/datalist/register.d.ts +1 -1
- package/datalist/register.js +1 -1
- package/datalist/register.js.map +1 -1
- package/date/date.element.d.ts +0 -1
- package/date/date.element.js +1 -1
- package/date/date.element.js.map +1 -1
- package/date/date.global.scss.js +1 -1
- package/date/register.d.ts +1 -0
- package/date/register.js +1 -1
- package/date/register.js.map +1 -1
- package/demo/data/demo.service.d.ts +6 -0
- package/demo/data/demo.service.js +2 -0
- package/demo/data/demo.service.js.map +1 -0
- package/demo/data/food.data.d.ts +2 -0
- package/demo/data/food.data.js +2 -0
- package/demo/data/food.data.js.map +1 -0
- package/demo/data/infrastructure.data.d.ts +2 -0
- package/demo/data/infrastructure.data.js +2 -0
- package/demo/data/infrastructure.data.js.map +1 -0
- package/demo/data/interfaces.d.ts +31 -0
- package/demo/data/interfaces.js +2 -0
- package/demo/data/interfaces.js.map +1 -0
- package/demo/data/system.data.d.ts +2 -0
- package/demo/data/system.data.js +2 -0
- package/demo/data/system.data.js.map +1 -0
- package/demo/index.d.ts +43 -0
- package/demo/index.js +2 -0
- package/demo/index.js.map +1 -0
- package/demo/utils.d.ts +67 -0
- package/demo/utils.js +2 -0
- package/demo/utils.js.map +1 -0
- package/divider/divider.element.d.ts +1 -1
- package/divider/divider.element.js.map +1 -1
- package/divider/divider.element.scss.js +1 -1
- package/dropdown/dropdown.element.d.ts +42 -0
- package/dropdown/dropdown.element.js +2 -0
- package/dropdown/dropdown.element.js.map +1 -0
- package/dropdown/index.d.ts +1 -0
- package/dropdown/index.js +2 -0
- package/dropdown/index.js.map +1 -0
- package/dropdown/register.d.ts +7 -0
- package/dropdown/register.js +2 -0
- package/dropdown/register.js.map +1 -0
- package/file/file.element.d.ts +0 -1
- package/file/file.element.js +1 -1
- package/file/file.element.js.map +1 -1
- package/file/file.element.scss.js +1 -1
- package/file/register.d.ts +1 -0
- package/file/register.js +1 -1
- package/file/register.js.map +1 -1
- package/forms/control/control.element.d.ts +1 -1
- package/forms/control/control.element.js +2 -2
- package/forms/control/control.element.js.map +1 -1
- package/forms/control/control.element.scss.js +1 -1
- package/forms/control-action/control-action.element.d.ts +4 -14
- package/forms/control-action/control-action.element.js +1 -1
- package/forms/control-action/control-action.element.js.map +1 -1
- package/forms/control-group/control-group.element.d.ts +1 -4
- package/forms/control-group/control-group.element.js +1 -1
- package/forms/control-group/control-group.element.js.map +1 -1
- package/forms/control-group/control-group.element.scss.js +1 -1
- package/forms/control-inline/control-inline.element.d.ts +1 -1
- package/forms/control-inline/control-inline.element.js +1 -1
- package/forms/control-inline/control-inline.element.js.map +1 -1
- package/forms/control-inline/control-inline.element.scss.js +1 -1
- package/forms/control-label/control-label.element.js +1 -1
- package/forms/control-label/control-label.element.js.map +1 -1
- package/forms/control-label/control-label.element.scss.js +1 -1
- package/forms/control-message/control-message.element.scss.js +1 -1
- package/forms/form-group/form-group.element.d.ts +2 -2
- package/forms/form-group/form-group.element.js +1 -1
- package/forms/form-group/form-group.element.js.map +1 -1
- package/forms/register.d.ts +1 -0
- package/forms/register.js +1 -1
- package/forms/register.js.map +1 -1
- package/forms/utils/{index.d.ts → utils.d.ts} +0 -0
- package/forms/utils/utils.js +2 -0
- package/forms/utils/utils.js.map +1 -0
- package/forms/utils/validate.js +1 -1
- package/forms/utils/validate.js.map +1 -1
- package/global.css +1499 -700
- package/global.min.css +1 -1
- package/grid/cell/grid-cell.element.d.ts +25 -0
- package/grid/cell/grid-cell.element.js +2 -0
- package/grid/cell/grid-cell.element.js.map +1 -0
- package/grid/cell/grid-cell.element.scss.js +2 -0
- package/grid/cell/grid-cell.element.scss.js.map +1 -0
- package/grid/column/grid-column-position.controller.d.ts +15 -0
- package/grid/column/grid-column-position.controller.js +2 -0
- package/grid/column/grid-column-position.controller.js.map +1 -0
- package/grid/column/grid-column-size.controller.d.ts +18 -0
- package/grid/column/grid-column-size.controller.js +2 -0
- package/grid/column/grid-column-size.controller.js.map +1 -0
- package/grid/column/grid-column.element.d.ts +53 -0
- package/grid/column/grid-column.element.js +2 -0
- package/grid/column/grid-column.element.js.map +1 -0
- package/grid/column/grid-column.element.scss.js +2 -0
- package/grid/column/grid-column.element.scss.js.map +1 -0
- package/grid/detail/grid-detail.element.d.ts +59 -0
- package/grid/detail/grid-detail.element.js +2 -0
- package/grid/detail/grid-detail.element.js.map +1 -0
- package/grid/detail/grid-detail.element.scss.js +2 -0
- package/grid/detail/grid-detail.element.scss.js.map +1 -0
- package/grid/footer/grid-footer.element.d.ts +36 -0
- package/grid/footer/grid-footer.element.js +2 -0
- package/grid/footer/grid-footer.element.js.map +1 -0
- package/grid/footer/grid-footer.element.scss.js +2 -0
- package/grid/footer/grid-footer.element.scss.js.map +1 -0
- package/grid/grid/grid-layout.controller.d.ts +31 -0
- package/grid/grid/grid-layout.controller.js +2 -0
- package/grid/grid/grid-layout.controller.js.map +1 -0
- package/grid/grid/grid.element.d.ts +73 -0
- package/grid/grid/grid.element.js +2 -0
- package/grid/grid/grid.element.js.map +1 -0
- package/grid/grid/grid.element.scss.js +2 -0
- package/grid/grid/grid.element.scss.js.map +1 -0
- package/grid/index.d.ts +8 -0
- package/grid/index.js +2 -0
- package/grid/index.js.map +1 -0
- package/grid/pagination/grid-pagination.element.d.ts +52 -0
- package/grid/pagination/grid-pagination.element.js +2 -0
- package/grid/pagination/grid-pagination.element.js.map +1 -0
- package/grid/pagination/grid-pagination.element.scss.js +2 -0
- package/grid/pagination/grid-pagination.element.scss.js.map +1 -0
- package/grid/placeholder/grid-placeholder.element.d.ts +36 -0
- package/grid/placeholder/grid-placeholder.element.js +2 -0
- package/grid/placeholder/grid-placeholder.element.js.map +1 -0
- package/grid/placeholder/grid-placeholder.element.scss.js +2 -0
- package/grid/placeholder/grid-placeholder.element.scss.js.map +1 -0
- package/grid/register.d.ts +23 -0
- package/grid/register.js +2 -0
- package/grid/register.js.map +1 -0
- package/grid/row/grid-row-position.controller.d.ts +9 -0
- package/grid/row/grid-row-position.controller.js +2 -0
- package/grid/row/grid-row-position.controller.js.map +1 -0
- package/grid/row/grid-row.element.d.ts +25 -0
- package/grid/row/grid-row.element.js +2 -0
- package/grid/row/grid-row.element.js.map +1 -0
- package/grid/row/grid-row.element.scss.js +2 -0
- package/grid/row/grid-row.element.scss.js.map +1 -0
- package/icon/collections/core.d.ts +4 -0
- package/icon/collections/core.js +1 -1
- package/icon/collections/core.js.map +1 -1
- package/icon/collections/essential.d.ts +4 -0
- package/icon/collections/essential.js +1 -1
- package/icon/collections/essential.js.map +1 -1
- package/icon/icon.element.js +1 -1
- package/icon/icon.element.js.map +1 -1
- package/icon/icon.element.scss.js +1 -1
- package/icon/index.d.ts +17 -7
- package/icon/index.js +1 -1
- package/icon/shapes/detail-collapse.d.ts +3 -0
- package/icon/shapes/detail-collapse.js +2 -0
- package/icon/shapes/detail-collapse.js.map +1 -0
- package/icon/shapes/detail-expand.d.ts +3 -0
- package/icon/shapes/detail-expand.js +2 -0
- package/icon/shapes/detail-expand.js.map +1 -0
- package/icon/shapes/host.js +1 -1
- package/icon/shapes/host.js.map +1 -1
- package/icon/shapes/launchpad.d.ts +3 -0
- package/icon/shapes/launchpad.js +2 -0
- package/icon/shapes/launchpad.js.map +1 -0
- package/icon/shapes/namespace.js +1 -1
- package/icon/shapes/namespace.js.map +1 -1
- package/icon/shapes/unpin.d.ts +3 -0
- package/icon/shapes/unpin.js +2 -0
- package/icon/shapes/unpin.js.map +1 -0
- package/icon/utils/icon.classnames.d.ts +1 -0
- package/icon/utils/icon.classnames.js +1 -1
- package/icon/utils/icon.classnames.js.map +1 -1
- package/icon/utils/icon.svg-helpers.js +1 -1
- package/icon/utils/icon.svg-helpers.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +1 -1
- package/input/input-group.element.scss.js +1 -1
- package/input/input.element.scss.js +1 -1
- package/internal/base/base.element.scss.js +1 -1
- package/internal/base/button.base.d.ts +7 -36
- package/internal/base/button.base.js +1 -1
- package/internal/base/button.base.js.map +1 -1
- package/internal/base/focus-trap.base.d.ts +7 -15
- package/internal/base/focus-trap.base.js +1 -1
- package/internal/base/focus-trap.base.js.map +1 -1
- package/internal/controllers/active.controller.d.ts +20 -0
- package/internal/controllers/active.controller.js +2 -0
- package/internal/controllers/active.controller.js.map +1 -0
- package/internal/controllers/aria-button.controller.d.ts +15 -0
- package/internal/controllers/aria-button.controller.js +2 -0
- package/internal/controllers/aria-button.controller.js.map +1 -0
- package/internal/controllers/aria-disabled.controller.d.ts +14 -0
- package/internal/controllers/aria-disabled.controller.js +2 -0
- package/internal/controllers/aria-disabled.controller.js.map +1 -0
- package/internal/controllers/aria-expanded.controller.d.ts +14 -0
- package/internal/controllers/aria-expanded.controller.js +2 -0
- package/internal/controllers/aria-expanded.controller.js.map +1 -0
- package/internal/controllers/aria-grid.controller.d.ts +57 -0
- package/internal/controllers/aria-grid.controller.js +2 -0
- package/internal/controllers/aria-grid.controller.js.map +1 -0
- package/internal/controllers/aria-modal.controller.d.ts +11 -0
- package/internal/controllers/aria-modal.controller.js +2 -0
- package/internal/controllers/aria-modal.controller.js.map +1 -0
- package/internal/controllers/aria-multiselectable.controller.d.ts +13 -0
- package/internal/controllers/aria-multiselectable.controller.js +2 -0
- package/internal/controllers/aria-multiselectable.controller.js.map +1 -0
- package/internal/controllers/aria-popup-trigger.controller.d.ts +14 -0
- package/internal/controllers/aria-popup-trigger.controller.js +2 -0
- package/internal/controllers/aria-popup-trigger.controller.js.map +1 -0
- package/internal/controllers/aria-popup.controller.d.ts +19 -0
- package/internal/controllers/aria-popup.controller.js +2 -0
- package/internal/controllers/aria-popup.controller.js.map +1 -0
- package/internal/controllers/aria-pressed.controller.d.ts +15 -0
- package/internal/controllers/aria-pressed.controller.js +2 -0
- package/internal/controllers/aria-pressed.controller.js.map +1 -0
- package/internal/controllers/aria-selected.controller.d.ts +13 -0
- package/internal/controllers/aria-selected.controller.js +2 -0
- package/internal/controllers/aria-selected.controller.js.map +1 -0
- package/internal/controllers/button-anchor.controller.d.ts +26 -0
- package/internal/controllers/button-anchor.controller.js +2 -0
- package/internal/controllers/button-anchor.controller.js.map +1 -0
- package/internal/controllers/button-submit.controller.d.ts +27 -0
- package/internal/controllers/button-submit.controller.js +2 -0
- package/internal/controllers/button-submit.controller.js.map +1 -0
- package/internal/controllers/closable.controller.d.ts +23 -0
- package/internal/controllers/closable.controller.js +2 -0
- package/internal/controllers/closable.controller.js.map +1 -0
- package/internal/controllers/draggable-list.controller.d.ts +32 -0
- package/internal/controllers/draggable-list.controller.js +2 -0
- package/internal/controllers/draggable-list.controller.js.map +1 -0
- package/internal/controllers/first-focus.controller.d.ts +17 -0
- package/internal/controllers/first-focus.controller.js +2 -0
- package/internal/controllers/first-focus.controller.js.map +1 -0
- package/internal/controllers/grid-range-selection.controller.d.ts +28 -0
- package/internal/controllers/grid-range-selection.controller.js +2 -0
- package/internal/controllers/grid-range-selection.controller.js.map +1 -0
- package/internal/controllers/inline-focus-trap.controller.d.ts +17 -0
- package/internal/controllers/inline-focus-trap.controller.js +2 -0
- package/internal/controllers/inline-focus-trap.controller.js.map +1 -0
- package/internal/controllers/key-navigation-grid.controller.d.ts +28 -0
- package/internal/controllers/key-navigation-grid.controller.js +2 -0
- package/internal/controllers/key-navigation-grid.controller.js.map +1 -0
- package/internal/controllers/key-navigation-list.controller.d.ts +26 -0
- package/internal/controllers/key-navigation-list.controller.js +2 -0
- package/internal/controllers/key-navigation-list.controller.js.map +1 -0
- package/internal/controllers/key-navigation.utils.d.ts +19 -0
- package/internal/controllers/key-navigation.utils.js +2 -0
- package/internal/controllers/key-navigation.utils.js.map +1 -0
- package/internal/controllers/layer.controller.d.ts +24 -0
- package/internal/controllers/layer.controller.js +2 -0
- package/internal/controllers/layer.controller.js.map +1 -0
- package/internal/controllers/responsive.controller.d.ts +19 -0
- package/internal/controllers/responsive.controller.js +2 -0
- package/internal/controllers/responsive.controller.js.map +1 -0
- package/internal/controllers/scrollable-list-visibility.controller.d.ts +13 -0
- package/internal/controllers/scrollable-list-visibility.controller.js +2 -0
- package/internal/controllers/scrollable-list-visibility.controller.js.map +1 -0
- package/internal/controllers/touch.controller.d.ts +22 -0
- package/internal/controllers/touch.controller.js +2 -0
- package/internal/controllers/touch.controller.js.map +1 -0
- package/internal/controllers/trigger.controller.d.ts +31 -0
- package/internal/controllers/trigger.controller.js +2 -0
- package/internal/controllers/trigger.controller.js.map +1 -0
- package/internal/decorators/animate.d.ts +2 -2
- package/internal/decorators/animate.js +1 -1
- package/internal/decorators/animate.js.map +1 -1
- package/internal/decorators/element.d.ts +15 -18
- package/internal/decorators/element.js +2 -0
- package/internal/decorators/element.js.map +1 -0
- package/internal/decorators/i18n.d.ts +16 -0
- package/internal/decorators/i18n.js +1 -1
- package/internal/decorators/i18n.js.map +1 -1
- package/internal/decorators/property.d.ts +3 -16
- package/internal/decorators/property.js +1 -1
- package/internal/decorators/property.js.map +1 -1
- package/internal/decorators/query-slot.js +1 -1
- package/internal/decorators/query-slot.js.map +1 -1
- package/internal/decorators/utils.d.ts +23 -0
- package/internal/decorators/utils.js +2 -0
- package/internal/decorators/utils.js.map +1 -0
- package/internal/index.d.ts +48 -3
- package/internal/index.js +1 -1
- package/internal/index.js.map +1 -1
- package/internal/interfaces/{index.d.ts → interfaces.d.ts} +0 -0
- package/internal/interfaces/interfaces.js +2 -0
- package/internal/interfaces/interfaces.js.map +1 -0
- package/internal/motion/animations/cds-dropdown-open.d.ts +3 -0
- package/internal/motion/animations/cds-dropdown-open.js +2 -0
- package/internal/motion/animations/cds-dropdown-open.js.map +1 -0
- package/internal/motion/animations/cds-modal-enter.js +1 -1
- package/internal/motion/animations/cds-modal-enter.js.map +1 -1
- package/internal/motion/interfaces.d.ts +4 -5
- package/internal/motion/utils.d.ts +4 -4
- package/internal/motion/utils.js +1 -1
- package/internal/motion/utils.js.map +1 -1
- package/internal/positioning/interfaces.d.ts +61 -0
- package/internal/positioning/interfaces.js +2 -0
- package/internal/positioning/interfaces.js.map +1 -0
- package/internal/positioning/utils.d.ts +26 -0
- package/internal/positioning/utils.js +2 -0
- package/internal/positioning/utils.js.map +1 -0
- package/internal/services/focus-trap-tracker.service.d.ts +3 -0
- package/internal/services/focus-trap-tracker.service.js +1 -1
- package/internal/services/focus-trap-tracker.service.js.map +1 -1
- package/internal/services/global.service.d.ts +2 -2
- package/internal/services/i18n.service.d.ts +37 -37
- package/internal/services/i18n.service.js +1 -1
- package/internal/services/i18n.service.js.map +1 -1
- package/internal/utils/array.d.ts +9 -4
- package/internal/utils/array.js +1 -1
- package/internal/utils/array.js.map +1 -1
- package/internal/utils/browser.d.ts +7 -0
- package/internal/utils/browser.js +2 -0
- package/internal/utils/browser.js.map +1 -0
- package/internal/utils/conditional.d.ts +4 -1
- package/internal/utils/conditional.js +1 -1
- package/internal/utils/conditional.js.map +1 -1
- package/internal/utils/css.d.ts +2 -0
- package/internal/utils/css.js +1 -1
- package/internal/utils/css.js.map +1 -1
- package/internal/utils/dom.d.ts +22 -2
- package/internal/utils/dom.js +1 -1
- package/internal/utils/dom.js.map +1 -1
- package/internal/utils/enum.d.ts +1 -0
- package/internal/utils/enum.js +2 -0
- package/internal/utils/enum.js.map +1 -0
- package/internal/utils/environment.js +1 -1
- package/internal/utils/environment.js.map +1 -1
- package/internal/utils/events.d.ts +4 -0
- package/internal/utils/events.js +1 -1
- package/internal/utils/events.js.map +1 -1
- package/internal/utils/exists.d.ts +1 -1
- package/internal/utils/exists.js.map +1 -1
- package/internal/utils/focus.d.ts +12 -0
- package/internal/utils/focus.js +2 -0
- package/internal/utils/focus.js.map +1 -0
- package/internal/utils/framework.js +1 -1
- package/internal/utils/framework.js.map +1 -1
- package/internal/utils/global.d.ts +5 -3
- package/internal/utils/global.js +1 -1
- package/internal/utils/global.js.map +1 -1
- package/internal/utils/identity.d.ts +31 -1
- package/internal/utils/identity.js +1 -1
- package/internal/utils/identity.js.map +1 -1
- package/internal/utils/keycodes.d.ts +11 -0
- package/internal/utils/keycodes.js +1 -1
- package/internal/utils/keycodes.js.map +1 -1
- package/internal/utils/lit.d.ts +5 -1
- package/internal/utils/lit.js +1 -1
- package/internal/utils/lit.js.map +1 -1
- package/internal/utils/math.d.ts +4 -0
- package/internal/utils/math.js +2 -0
- package/internal/utils/math.js.map +1 -0
- package/internal/utils/metadata.js +1 -1
- package/internal/utils/metadata.js.map +1 -1
- package/internal/utils/registration.js +1 -1
- package/internal/utils/registration.js.map +1 -1
- package/internal/utils/responsive.d.ts +2 -2
- package/internal/utils/responsive.js +1 -1
- package/internal/utils/responsive.js.map +1 -1
- package/internal/utils/string.d.ts +6 -0
- package/internal/utils/string.js +1 -1
- package/internal/utils/string.js.map +1 -1
- package/internal/utils/supports.d.ts +0 -2
- package/internal/utils/supports.js +1 -1
- package/internal/utils/supports.js.map +1 -1
- package/internal/utils/traversal.d.ts +3 -0
- package/internal/utils/traversal.js +2 -0
- package/internal/utils/traversal.js.map +1 -0
- package/internal-components/close-button/close-button.element.d.ts +5 -14
- package/internal-components/close-button/close-button.element.js +1 -1
- package/internal-components/close-button/close-button.element.js.map +1 -1
- package/internal-components/close-button/index.js +1 -1
- package/internal-components/close-button/register.js +1 -1
- package/internal-components/close-button/register.js.map +1 -1
- package/internal-components/overlay/index.js +1 -1
- package/internal-components/overlay/overlay.element.d.ts +22 -25
- package/internal-components/overlay/overlay.element.js +1 -1
- package/internal-components/overlay/overlay.element.js.map +1 -1
- package/internal-components/overlay/overlay.element.scss.js +1 -1
- package/internal-components/overlay/shared.element.scss.js +2 -0
- package/internal-components/overlay/shared.element.scss.js.map +1 -0
- package/internal-components/panel/panel.element.d.ts +1 -1
- package/internal-components/panel/panel.element.js.map +1 -1
- package/internal-components/panel/panel.element.scss.js +1 -1
- package/internal-components/popup/index.d.ts +2 -0
- package/internal-components/popup/index.js +2 -0
- package/internal-components/popup/index.js.map +1 -0
- package/internal-components/popup/pointer.element.d.ts +35 -0
- package/internal-components/popup/pointer.element.js +2 -0
- package/internal-components/popup/pointer.element.js.map +1 -0
- package/internal-components/popup/pointer.element.scss.js +2 -0
- package/internal-components/popup/pointer.element.scss.js.map +1 -0
- package/internal-components/popup/popup.element.d.ts +114 -0
- package/internal-components/popup/popup.element.js +2 -0
- package/internal-components/popup/popup.element.js.map +1 -0
- package/internal-components/popup/popup.element.scss.js +2 -0
- package/internal-components/popup/popup.element.scss.js.map +1 -0
- package/internal-components/popup/register.d.ts +9 -0
- package/internal-components/popup/register.js +2 -0
- package/internal-components/popup/register.js.map +1 -0
- package/internal-components/popup/utils/pointer.utils.d.ts +2 -0
- package/internal-components/popup/utils/pointer.utils.js +2 -0
- package/internal-components/popup/utils/pointer.utils.js.map +1 -0
- package/internal-components/split-handle/index.d.ts +1 -0
- package/internal-components/split-handle/index.js +2 -0
- package/internal-components/split-handle/index.js.map +1 -0
- package/internal-components/split-handle/register.d.ts +7 -0
- package/internal-components/split-handle/register.js +2 -0
- package/internal-components/split-handle/register.js.map +1 -0
- package/internal-components/split-handle/split-handle.element.d.ts +38 -0
- package/internal-components/split-handle/split-handle.element.js +2 -0
- package/internal-components/split-handle/split-handle.element.js.map +1 -0
- package/internal-components/split-handle/split-handle.element.scss.js +2 -0
- package/internal-components/split-handle/split-handle.element.scss.js.map +1 -0
- package/internal-components/visual-checkbox/visual-checkbox.element.scss.js +1 -1
- package/list/list.css +12 -12
- package/list/list.min.css +1 -1
- package/modal/modal-actions.element.js +1 -1
- package/modal/modal-actions.element.js.map +1 -1
- package/modal/modal-content.element.d.ts +0 -1
- package/modal/modal-content.element.js +1 -1
- package/modal/modal-content.element.js.map +1 -1
- package/modal/modal.element.d.ts +15 -6
- package/modal/modal.element.js +1 -1
- package/modal/modal.element.js.map +1 -1
- package/modal/modal.element.scss.js +1 -1
- package/navigation/navigation-group.element.d.ts +7 -5
- package/navigation/navigation-group.element.js.map +1 -1
- package/navigation/navigation-item.element.d.ts +6 -4
- package/navigation/navigation-item.element.js +1 -1
- package/navigation/navigation-item.element.js.map +1 -1
- package/navigation/navigation-item.element.scss.js +1 -1
- package/navigation/navigation-start.element.d.ts +7 -4
- package/navigation/navigation-start.element.js +1 -1
- package/navigation/navigation-start.element.js.map +1 -1
- package/navigation/navigation.element.d.ts +10 -8
- package/navigation/navigation.element.js +1 -1
- package/navigation/navigation.element.js.map +1 -1
- package/navigation/navigation.element.scss.js +1 -1
- package/navigation/utils/{index.d.ts → utils.d.ts} +0 -0
- package/navigation/utils/utils.js +2 -0
- package/navigation/utils/utils.js.map +1 -0
- package/package.json +47 -7
- package/pagination/pagination-button.element.d.ts +6 -10
- package/pagination/pagination-button.element.js +1 -1
- package/pagination/pagination-button.element.js.map +1 -1
- package/pagination/pagination.element.js +1 -1
- package/pagination/pagination.element.js.map +1 -1
- package/pagination/pagination.element.scss.js +1 -1
- package/pagination/register.d.ts +1 -0
- package/pagination/register.js +1 -1
- package/pagination/register.js.map +1 -1
- package/pagination/utils.d.ts +5 -0
- package/pagination/utils.js +2 -0
- package/pagination/utils.js.map +1 -0
- package/password/password.element.js +1 -1
- package/password/password.element.js.map +1 -1
- package/password/register.d.ts +1 -0
- package/password/register.js +1 -1
- package/password/register.js.map +1 -1
- package/polyfills/at.d.ts +15 -0
- package/polyfills/at.js +2 -0
- package/polyfills/at.js.map +1 -0
- package/polyfills/index.d.ts +1 -0
- package/polyfills/index.js +1 -1
- package/progress-circle/progress-circle.element.d.ts +3 -21
- package/progress-circle/progress-circle.element.js +1 -1
- package/progress-circle/progress-circle.element.js.map +1 -1
- package/progress-circle/progress-circle.element.scss.js +1 -1
- package/progress-circle/progress-circle.utils.d.ts +0 -5
- package/progress-circle/progress-circle.utils.js +1 -1
- package/progress-circle/progress-circle.utils.js.map +1 -1
- package/radio/radio-group.element.d.ts +1 -1
- package/radio/radio-group.element.js +1 -1
- package/radio/radio-group.element.js.map +1 -1
- package/radio/radio.element.scss.js +1 -1
- package/range/range.element.scss.js +1 -1
- package/range/range.global.scss.js +1 -1
- package/search/register.d.ts +1 -0
- package/search/register.js +1 -1
- package/search/register.js.map +1 -1
- package/search/search.element.js +1 -1
- package/search/search.element.js.map +1 -1
- package/search/search.global.scss.js +1 -1
- package/select/register.d.ts +1 -1
- package/select/register.js +1 -1
- package/select/register.js.map +1 -1
- package/select/select.element.js +1 -1
- package/select/select.element.js.map +1 -1
- package/select/select.element.scss.js +1 -1
- package/select/select.global.scss.js +1 -1
- package/selection-panels/checkbox/checkbox-panel.element.d.ts +9 -13
- package/selection-panels/checkbox/checkbox-panel.element.js.map +1 -1
- package/selection-panels/radio/radio-panel.element.d.ts +19 -14
- package/selection-panels/radio/radio-panel.element.js.map +1 -1
- package/selection-panels/shared/selection-panel.element.scss.js +1 -1
- package/signpost/index.d.ts +1 -0
- package/signpost/index.js +2 -0
- package/signpost/index.js.map +1 -0
- package/signpost/register.d.ts +7 -0
- package/signpost/register.js +2 -0
- package/signpost/register.js.map +1 -0
- package/signpost/signpost.element.d.ts +44 -0
- package/signpost/signpost.element.js +2 -0
- package/signpost/signpost.element.js.map +1 -0
- package/styles/module.layout.css +1412 -641
- package/styles/module.layout.min.css +1 -1
- package/styles/module.tokens.css +74 -55
- package/styles/module.tokens.min.css +1 -1
- package/styles/module.typography.css +9 -0
- package/styles/module.typography.min.css +1 -1
- package/styles/shim.clr-ui.css +640 -0
- package/styles/shim.clr-ui.min.css +121 -0
- package/styles/theme.dark.css +7 -9
- package/styles/theme.dark.min.css +1 -1
- package/styles/theme.high-contrast.css +43 -0
- package/styles/theme.high-contrast.min.css +1 -0
- package/table/table.css +7 -7
- package/table/table.min.css +1 -1
- package/tag/tag.element.d.ts +3 -2
- package/tag/tag.element.js +1 -1
- package/tag/tag.element.js.map +1 -1
- package/tag/tag.element.scss.js +1 -1
- package/test/index.d.ts +1 -0
- package/test/index.js +1 -1
- package/test/utils.d.ts +1 -1
- package/test/utils.js +1 -1
- package/test/utils.js.map +1 -1
- package/test/web-test-server.d.ts +6 -0
- package/test/web-test-server.js +2 -0
- package/test/web-test-server.js.map +1 -0
- package/test-dropdown/test-dropdown.element.d.ts +2 -3
- package/test-dropdown/test-dropdown.element.js +1 -1
- package/test-dropdown/test-dropdown.element.js.map +1 -1
- package/textarea/textarea.element.scss.js +1 -1
- package/time/register.d.ts +1 -0
- package/time/register.js +1 -1
- package/time/register.js.map +1 -1
- package/time/time.element.d.ts +0 -1
- package/time/time.element.js +1 -1
- package/time/time.element.js.map +1 -1
- package/toggle/toggle.element.scss.js +1 -1
- package/tokens/tokens.android.xml +33 -14
- package/tokens/tokens.d.ts +28 -9
- package/tokens/tokens.ios.swift +34 -15
- package/tokens/tokens.js +29 -10
- package/tokens/tokens.json +130 -29
- package/tokens/tokens.scss +90 -12
- package/tree-view/register.d.ts +1 -0
- package/tree-view/register.js +1 -1
- package/tree-view/register.js.map +1 -1
- package/tree-view/story-utils.d.ts +22 -0
- package/tree-view/tree-item.element.d.ts +10 -3
- package/tree-view/tree-item.element.js +1 -1
- package/tree-view/tree-item.element.js.map +1 -1
- package/tree-view/tree-item.element.scss.js +1 -1
- package/tree-view/tree.element.d.ts +0 -1
- package/tree-view/tree.element.js.map +1 -1
- package/button/icon-button.element.scss.js +0 -2
- package/button/icon-button.element.scss.js.map +0 -1
- package/button/inline-button.element.js +0 -2
- package/button/inline-button.element.js.map +0 -1
- package/button/inline-button.element.scss.js.map +0 -1
- package/forms/control-action/control-action.element.scss.js +0 -2
- package/forms/control-action/control-action.element.scss.js.map +0 -1
- package/forms/utils/index.js +0 -2
- package/forms/utils/index.js.map +0 -1
- package/internal/base/css-gap.base.d.ts +0 -18
- package/internal/base/css-gap.base.js +0 -2
- package/internal/base/css-gap.base.js.map +0 -1
- package/internal/interfaces/index.js +0 -2
- package/internal/utils/focus-trap.d.ts +0 -22
- package/internal/utils/focus-trap.js +0 -2
- package/internal/utils/focus-trap.js.map +0 -1
- package/internal-components/close-button/close-button.element.scss.js +0 -2
- package/internal-components/close-button/close-button.element.scss.js.map +0 -1
- package/navigation/utils/index.js +0 -2
- package/navigation/utils/index.js.map +0 -1
- package/pagination/pagination-button.element.scss.js +0 -2
- package/pagination/pagination-button.element.scss.js.map +0 -1
- package/search/search.element.scss.js +0 -2
- package/search/search.element.scss.js.map +0 -1
- package/styles/module.shims.css +0 -916
- package/styles/module.shims.min.css +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactiveController, ReactiveElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* LayerController provides manage layer tracking for components. Ensures any component
|
|
4
|
+
* that may be a layer on top of other components is given a ordered index relative
|
|
5
|
+
* to other existing layers on the page.
|
|
6
|
+
*
|
|
7
|
+
* This makes layer tracking easier for CSS, such as targeting the top or bottom
|
|
8
|
+
* layer element or setting a z-index ordering.
|
|
9
|
+
*/
|
|
10
|
+
export declare function layer<T extends ReactiveElement>(): ClassDecorator;
|
|
11
|
+
export declare class LayerController<T extends ReactiveElement> implements ReactiveController {
|
|
12
|
+
private host;
|
|
13
|
+
private observer;
|
|
14
|
+
constructor(host: T);
|
|
15
|
+
get isActiveLayer(): boolean;
|
|
16
|
+
get layerIndex(): number | null;
|
|
17
|
+
private get layers();
|
|
18
|
+
private set layers(value);
|
|
19
|
+
hostConnected(): void;
|
|
20
|
+
hostDisconnected(): void;
|
|
21
|
+
private updateLayer;
|
|
22
|
+
private addLayer;
|
|
23
|
+
private removeLayer;
|
|
24
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{listenForAttributeChange as t}from"../utils/events.js";import{GlobalStateService as e}from"../services/global.service.js";function s(){return t=>{t.addInitializer((t=>{t.layerController||(t.layerController=new r(t))}))}}class r{constructor(t){this.host=t,this.host.addController(this)}get isActiveLayer(){return this.layers[this.layers.length-1]===this.host}get layerIndex(){const t=this.layers.indexOf(this.host);return-1===t?null:t}get layers(){return[...e.state.layerElements]}set layers(t){e.state.layerElements=[...t]}hostConnected(){this.host.hasAttribute("_demo-mode")||(this.updateLayer(),this.observer=t(this.host,"hidden",(()=>this.updateLayer())))}hostDisconnected(){this.observer?.disconnect(),this.removeLayer()}updateLayer(){this.host.hasAttribute("hidden")?this.removeLayer():this.addLayer(),this.layers.forEach(((t,e)=>t.setAttribute("cds-layer",""+e)))}addLayer(){this.layers.find((t=>this.host===t))||(this.layers=[...this.layers,this.host],"true"===this.host.ariaModal&&(this.layers.filter((t=>"true"===t.ariaModal)).forEach((t=>t.role="region")),this.host.role="dialog"))}removeLayer(){this.layers=this.layers.filter((t=>t!==this.host)),this.host.removeAttribute("cds-layer");const t=this.layers.find((t=>"true"===t.ariaModal));t&&(t.role="dialog")}}export{r as LayerController,s as layer};
|
|
2
|
+
//# sourceMappingURL=layer.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.controller.js","sources":["../../../../src/internal/controllers/layer.controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { listenForAttributeChange } from '../utils/events.js';\nimport { GlobalStateService } from '../services/global.service.js';\n/**\n * LayerController provides manage layer tracking for components. Ensures any component\n * that may be a layer on top of other components is given a ordered index relative\n * to other existing layers on the page.\n *\n * This makes layer tracking easier for CSS, such as targeting the top or bottom\n * layer element or setting a z-index ordering.\n */\nexport function layer() {\n return (target) => {\n target.addInitializer((instance) => {\n if (!instance.layerController) {\n instance.layerController = new LayerController(instance);\n }\n });\n };\n}\nexport class LayerController {\n constructor(host) {\n this.host = host;\n this.host.addController(this);\n }\n get isActiveLayer() {\n return this.layers[this.layers.length - 1] === this.host;\n }\n get layerIndex() {\n const index = this.layers.indexOf(this.host);\n return index === -1 ? null : index;\n }\n get layers() {\n return [...GlobalStateService.state.layerElements];\n }\n set layers(layers) {\n GlobalStateService.state.layerElements = [...layers];\n }\n hostConnected() {\n if (!this.host.hasAttribute('_demo-mode')) {\n this.updateLayer();\n this.observer = listenForAttributeChange(this.host, 'hidden', () => this.updateLayer());\n }\n }\n hostDisconnected() {\n this.observer?.disconnect();\n this.removeLayer();\n }\n updateLayer() {\n if (this.host.hasAttribute('hidden')) {\n this.removeLayer();\n }\n else {\n this.addLayer();\n }\n this.layers.forEach((layer, i) => layer.setAttribute('cds-layer', `${i}`));\n }\n addLayer() {\n if (!this.layers.find(layer => this.host === layer)) {\n this.layers = [...this.layers, this.host];\n // We do this so that screen-readers can make their way through nested/layered overlays.\n // It sets a virtual cursor trap on the top-most overlay.\n if (this.host.ariaModal === 'true') {\n this.layers.filter(layer => layer.ariaModal === 'true').forEach(layer => (layer.role = 'region'));\n this.host.role = 'dialog';\n }\n }\n }\n removeLayer() {\n this.layers = this.layers.filter(layer => layer !== this.host);\n this.host.removeAttribute('cds-layer');\n const nextModal = this.layers.find(layer => layer.ariaModal === 'true');\n if (nextModal) {\n nextModal.role = 'dialog';\n }\n }\n}\n"],"names":["layer","target","addInitializer","instance","layerController","LayerController","constructor","host","this","addController","isActiveLayer","layers","length","layerIndex","index","indexOf","GlobalStateService","state","layerElements","hostConnected","hasAttribute","updateLayer","observer","listenForAttributeChange","hostDisconnected","disconnect","removeLayer","addLayer","forEach","i","setAttribute","find","ariaModal","filter","role","removeAttribute","nextModal"],"mappings":"iIAeO,SAASA,IACZ,OAAQC,IACJA,EAAOC,gBAAgBC,IACdA,EAASC,kBACVD,EAASC,gBAAkB,IAAIC,EAAgBF,QAKxD,MAAME,EACTC,YAAYC,GACRC,KAAKD,KAAOA,EACZC,KAAKD,KAAKE,cAAcD,MAExBE,oBACA,OAAOF,KAAKG,OAAOH,KAAKG,OAAOC,OAAS,KAAOJ,KAAKD,KAEpDM,iBACA,MAAMC,EAAQN,KAAKG,OAAOI,QAAQP,KAAKD,MACvC,OAAkB,IAAXO,EAAe,KAAOA,EAE7BH,aACA,MAAO,IAAIK,EAAmBC,MAAMC,eAEpCP,WAAOA,GACPK,EAAmBC,MAAMC,cAAgB,IAAIP,GAEjDQ,gBACSX,KAAKD,KAAKa,aAAa,gBACxBZ,KAAKa,cACLb,KAAKc,SAAWC,EAAyBf,KAAKD,KAAM,UAAU,IAAMC,KAAKa,iBAGjFG,mBACIhB,KAAKc,UAAUG,aACfjB,KAAKkB,cAETL,cACQb,KAAKD,KAAKa,aAAa,UACvBZ,KAAKkB,cAGLlB,KAAKmB,WAETnB,KAAKG,OAAOiB,SAAQ,CAAC5B,EAAO6B,IAAM7B,EAAM8B,aAAa,YAAa,GAAGD,KAEzEF,WACSnB,KAAKG,OAAOoB,MAAK/B,GAASQ,KAAKD,OAASP,MACzCQ,KAAKG,OAAS,IAAIH,KAAKG,OAAQH,KAAKD,MAGR,SAAxBC,KAAKD,KAAKyB,YACVxB,KAAKG,OAAOsB,QAAOjC,GAA6B,SAApBA,EAAMgC,YAAsBJ,SAAQ5B,GAAUA,EAAMkC,KAAO,WACvF1B,KAAKD,KAAK2B,KAAO,WAI7BR,cACIlB,KAAKG,OAASH,KAAKG,OAAOsB,QAAOjC,GAASA,IAAUQ,KAAKD,OACzDC,KAAKD,KAAK4B,gBAAgB,aAC1B,MAAMC,EAAY5B,KAAKG,OAAOoB,MAAK/B,GAA6B,SAApBA,EAAMgC,YAC9CI,IACAA,EAAUF,KAAO"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactiveController, ReactiveElement } from 'lit';
|
|
2
|
+
interface ResponsiveConfig {
|
|
3
|
+
skipFirst?: boolean;
|
|
4
|
+
element?: HTMLElement;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Provides a `cdsResizeChange` event when component dimensions are resized
|
|
8
|
+
*/
|
|
9
|
+
export declare function responsive<T extends ReactiveElement>(config?: ResponsiveConfig): ClassDecorator;
|
|
10
|
+
export declare class ResponsiveController<T extends ReactiveElement> implements ReactiveController {
|
|
11
|
+
private host;
|
|
12
|
+
private observer;
|
|
13
|
+
private resizeElement;
|
|
14
|
+
private skipFirst;
|
|
15
|
+
constructor(host: T, config?: ResponsiveConfig);
|
|
16
|
+
hostConnected(): Promise<void>;
|
|
17
|
+
hostDisconnected(): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function t(t={skipFirst:!1}){return e=>e.addInitializer((e=>new s(e,t)))}class s{constructor(t,s={skipFirst:!1}){this.host=t,this.skipFirst=!1,this.host.addController(this),this.skipFirst=!!s.skipFirst,this.resizeElement=s.element?s.element:this.host}async hostConnected(){await this.host.updateComplete,this.observer=new ResizeObserver((t=>{window.requestAnimationFrame((()=>{this.skipFirst?this.skipFirst=!1:(this.host.dispatchEvent(new CustomEvent("cdsResizeChange",{detail:t[0].contentRect})),this.host.requestUpdate())}))})),this.observer.observe(this.resizeElement)}hostDisconnected(){this.observer?.disconnect()}}export{s as ResponsiveController,t as responsive};
|
|
2
|
+
//# sourceMappingURL=responsive.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responsive.controller.js","sources":["../../../../src/internal/controllers/responsive.controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n/**\n * Provides a `cdsResizeChange` event when component dimensions are resized\n */\nexport function responsive(config = { skipFirst: false }) {\n return (target) => target.addInitializer((instance) => new ResponsiveController(instance, config));\n}\nexport class ResponsiveController {\n constructor(host, config = { skipFirst: false }) {\n this.host = host;\n this.skipFirst = false;\n this.host.addController(this);\n this.skipFirst = !!config.skipFirst;\n this.resizeElement = config.element ? config.element : this.host;\n }\n async hostConnected() {\n await this.host.updateComplete;\n this.observer = new ResizeObserver(entries => {\n window.requestAnimationFrame(() => {\n if (this.skipFirst) {\n this.skipFirst = false;\n }\n else {\n this.host.dispatchEvent(new CustomEvent('cdsResizeChange', { detail: entries[0].contentRect }));\n this.host.requestUpdate();\n }\n });\n });\n this.observer.observe(this.resizeElement);\n }\n hostDisconnected() {\n this.observer?.disconnect();\n }\n}\n"],"names":["responsive","config","skipFirst","target","addInitializer","instance","ResponsiveController","constructor","host","this","addController","resizeElement","element","async","updateComplete","observer","ResizeObserver","entries","window","requestAnimationFrame","dispatchEvent","CustomEvent","detail","contentRect","requestUpdate","observe","hostDisconnected","disconnect"],"mappings":"AAQO,SAASA,EAAWC,EAAS,CAAEC,WAAW,IAC7C,OAAQC,GAAWA,EAAOC,gBAAgBC,GAAa,IAAIC,EAAqBD,EAAUJ,KAEvF,MAAMK,EACTC,YAAYC,EAAMP,EAAS,CAAEC,WAAW,IACpCO,KAAKD,KAAOA,EACZC,KAAKP,WAAY,EACjBO,KAAKD,KAAKE,cAAcD,MACxBA,KAAKP,YAAcD,EAAOC,UAC1BO,KAAKE,cAAgBV,EAAOW,QAAUX,EAAOW,QAAUH,KAAKD,KAEhEK,4BACUJ,KAAKD,KAAKM,eAChBL,KAAKM,SAAW,IAAIC,gBAAeC,IAC/BC,OAAOC,uBAAsB,KACrBV,KAAKP,UACLO,KAAKP,WAAY,GAGjBO,KAAKD,KAAKY,cAAc,IAAIC,YAAY,kBAAmB,CAAEC,OAAQL,EAAQ,GAAGM,eAChFd,KAAKD,KAAKgB,uBAItBf,KAAKM,SAASU,QAAQhB,KAAKE,eAE/Be,mBACIjB,KAAKM,UAAUY"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactiveController, ReactiveElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* List items default to `content-visibility: auto` for lazy initial render.
|
|
4
|
+
* On scroll set all row items to `content-visibility: visible` for eager render.
|
|
5
|
+
* This allows fast first render and smooth eager rendering anytime after for items within a bounded scroll box.
|
|
6
|
+
*/
|
|
7
|
+
export declare function scrollableVisibility<T extends ReactiveElement>(): ClassDecorator;
|
|
8
|
+
export declare class ScrollableVisibilityController<T extends ReactiveElement> implements ReactiveController {
|
|
9
|
+
private host;
|
|
10
|
+
private get root();
|
|
11
|
+
constructor(host: T);
|
|
12
|
+
hostConnected(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function t(){return t=>t.addInitializer((t=>new o(t)))}class o{constructor(t){this.host=t,this.host.addController(this)}get root(){return this.host.shadowRoot?this.host.shadowRoot:this.host}async hostConnected(){await this.host.updateComplete,this.root.addEventListener("scroll",(()=>this.host.style.setProperty("--row-content-visibility","visibile")),{once:!0,capture:!0})}}export{o as ScrollableVisibilityController,t as scrollableVisibility};
|
|
2
|
+
//# sourceMappingURL=scrollable-list-visibility.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollable-list-visibility.controller.js","sources":["../../../../src/internal/controllers/scrollable-list-visibility.controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n/**\n * List items default to `content-visibility: auto` for lazy initial render.\n * On scroll set all row items to `content-visibility: visible` for eager render.\n * This allows fast first render and smooth eager rendering anytime after for items within a bounded scroll box.\n */\nexport function scrollableVisibility() {\n return (target) => target.addInitializer((instance) => new ScrollableVisibilityController(instance));\n}\nexport class ScrollableVisibilityController {\n constructor(host) {\n this.host = host;\n this.host.addController(this);\n }\n get root() {\n return this.host.shadowRoot ? this.host.shadowRoot : this.host;\n }\n async hostConnected() {\n await this.host.updateComplete;\n this.root.addEventListener('scroll', () => this.host.style.setProperty('--row-content-visibility', 'visibile'), {\n once: true,\n capture: true,\n });\n }\n}\n"],"names":["scrollableVisibility","target","addInitializer","instance","ScrollableVisibilityController","constructor","host","this","addController","root","shadowRoot","async","updateComplete","addEventListener","style","setProperty","once","capture"],"mappings":"AAUO,SAASA,IACZ,OAAQC,GAAWA,EAAOC,gBAAgBC,GAAa,IAAIC,EAA+BD,KAEvF,MAAMC,EACTC,YAAYC,GACRC,KAAKD,KAAOA,EACZC,KAAKD,KAAKE,cAAcD,MAExBE,WACA,OAAOF,KAAKD,KAAKI,WAAaH,KAAKD,KAAKI,WAAaH,KAAKD,KAE9DK,4BACUJ,KAAKD,KAAKM,eAChBL,KAAKE,KAAKI,iBAAiB,UAAU,IAAMN,KAAKD,KAAKQ,MAAMC,YAAY,2BAA4B,aAAa,CAC5GC,MAAM,EACNC,SAAS"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactiveElement, ReactiveController } from 'lit';
|
|
2
|
+
export declare type Touch = ReactiveElement;
|
|
3
|
+
/**
|
|
4
|
+
* @internal Provides all nessesary events for basic touch gestures
|
|
5
|
+
*
|
|
6
|
+
* @event cdsTouchStart
|
|
7
|
+
* @event cdsTouchMove
|
|
8
|
+
* @event cdsTouchEnd
|
|
9
|
+
*/
|
|
10
|
+
export declare function touch<T extends Touch>(): ClassDecorator;
|
|
11
|
+
export declare class TouchController<T extends Touch> implements ReactiveController {
|
|
12
|
+
private host;
|
|
13
|
+
constructor(host: T);
|
|
14
|
+
private startPosition;
|
|
15
|
+
private moveHandler;
|
|
16
|
+
private endHandler;
|
|
17
|
+
hostConnected(): Promise<void>;
|
|
18
|
+
private start;
|
|
19
|
+
private end;
|
|
20
|
+
private move;
|
|
21
|
+
private getCoordinates;
|
|
22
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{getOffesetDifference as t}from"../utils/math.js";function e(){return t=>t.addInitializer((t=>new s(t)))}class s{constructor(t){this.host=t,this.moveHandler=this.move.bind(this),this.endHandler=this.end.bind(this),this.host.addController(this)}async hostConnected(){await this.host.updateComplete,this.host.addEventListener("pointerdown",(t=>this.start(t)),{passive:!0})}start(t){t.path.find((t=>t===this.host))&&(this.startPosition={x:t.clientX,y:t.clientY},document.addEventListener("pointerup",this.endHandler,{passive:!0}),document.addEventListener("pointermove",this.moveHandler,{passive:!0}),this.host.dispatchEvent(new CustomEvent("cdsTouchStart",{detail:{...this.startPosition}})))}end(t){if(this.startPosition){const e=this.getCoordinates(t);document.removeEventListener("pointerup",this.endHandler,!1),document.removeEventListener("pointermove",this.moveHandler,!1),this.host.dispatchEvent(new CustomEvent("cdsTouchEnd",{detail:e}))}}move(t){requestAnimationFrame((()=>{const e=this.getCoordinates(t);this.startPosition={x:t.clientX,y:t.clientY},this.host.dispatchEvent(new CustomEvent("cdsTouchMove",{detail:e}))}))}getCoordinates(e){return{x:e.clientX,y:e.clientY,offsetX:t(this.startPosition.x,e.clientX),offsetY:t(this.startPosition.y,e.clientY)}}}export{s as TouchController,e as touch};
|
|
2
|
+
//# sourceMappingURL=touch.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch.controller.js","sources":["../../../../src/internal/controllers/touch.controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { getOffesetDifference } from '../utils/math.js';\n/**\n * @internal Provides all nessesary events for basic touch gestures\n *\n * @event cdsTouchStart\n * @event cdsTouchMove\n * @event cdsTouchEnd\n */\nexport function touch() {\n return (target) => target.addInitializer((instance) => new TouchController(instance));\n}\nexport class TouchController {\n constructor(host) {\n this.host = host;\n this.moveHandler = this.move.bind(this);\n this.endHandler = this.end.bind(this);\n this.host.addController(this);\n }\n async hostConnected() {\n await this.host.updateComplete;\n this.host.addEventListener('pointerdown', (e) => this.start(e), { passive: true });\n }\n start(e) {\n if (e.path.find((el) => el === this.host)) {\n this.startPosition = { x: e.clientX, y: e.clientY };\n document.addEventListener('pointerup', this.endHandler, { passive: true });\n document.addEventListener('pointermove', this.moveHandler, { passive: true });\n this.host.dispatchEvent(new CustomEvent('cdsTouchStart', { detail: { ...this.startPosition } }));\n }\n }\n end(e) {\n if (this.startPosition) {\n const detail = this.getCoordinates(e);\n document.removeEventListener('pointerup', this.endHandler, false);\n document.removeEventListener('pointermove', this.moveHandler, false);\n this.host.dispatchEvent(new CustomEvent('cdsTouchEnd', { detail }));\n }\n }\n move(e) {\n requestAnimationFrame(() => {\n const detail = this.getCoordinates(e);\n this.startPosition = { x: e.clientX, y: e.clientY };\n this.host.dispatchEvent(new CustomEvent('cdsTouchMove', { detail }));\n });\n }\n getCoordinates(e) {\n return {\n x: e.clientX,\n y: e.clientY,\n offsetX: getOffesetDifference(this.startPosition.x, e.clientX),\n offsetY: getOffesetDifference(this.startPosition.y, e.clientY),\n };\n }\n}\n"],"names":["touch","target","addInitializer","instance","TouchController","constructor","host","this","moveHandler","move","bind","endHandler","end","addController","async","updateComplete","addEventListener","e","start","passive","path","find","el","startPosition","x","clientX","y","clientY","document","dispatchEvent","CustomEvent","detail","getCoordinates","removeEventListener","requestAnimationFrame","offsetX","getOffesetDifference","offsetY"],"mappings":"wDAaO,SAASA,IACZ,OAAQC,GAAWA,EAAOC,gBAAgBC,GAAa,IAAIC,EAAgBD,KAExE,MAAMC,EACTC,YAAYC,GACRC,KAAKD,KAAOA,EACZC,KAAKC,YAAcD,KAAKE,KAAKC,KAAKH,MAClCA,KAAKI,WAAaJ,KAAKK,IAAIF,KAAKH,MAChCA,KAAKD,KAAKO,cAAcN,MAE5BO,4BACUP,KAAKD,KAAKS,eAChBR,KAAKD,KAAKU,iBAAiB,eAAgBC,GAAMV,KAAKW,MAAMD,IAAI,CAAEE,SAAS,IAE/ED,MAAMD,GACEA,EAAEG,KAAKC,MAAMC,GAAOA,IAAOf,KAAKD,SAChCC,KAAKgB,cAAgB,CAAEC,EAAGP,EAAEQ,QAASC,EAAGT,EAAEU,SAC1CC,SAASZ,iBAAiB,YAAaT,KAAKI,WAAY,CAAEQ,SAAS,IACnES,SAASZ,iBAAiB,cAAeT,KAAKC,YAAa,CAAEW,SAAS,IACtEZ,KAAKD,KAAKuB,cAAc,IAAIC,YAAY,gBAAiB,CAAEC,OAAQ,IAAKxB,KAAKgB,mBAGrFX,IAAIK,GACA,GAAIV,KAAKgB,cAAe,CACpB,MAAMQ,EAASxB,KAAKyB,eAAef,GACnCW,SAASK,oBAAoB,YAAa1B,KAAKI,YAAY,GAC3DiB,SAASK,oBAAoB,cAAe1B,KAAKC,aAAa,GAC9DD,KAAKD,KAAKuB,cAAc,IAAIC,YAAY,cAAe,CAAEC,OAAAA,MAGjEtB,KAAKQ,GACDiB,uBAAsB,KAClB,MAAMH,EAASxB,KAAKyB,eAAef,GACnCV,KAAKgB,cAAgB,CAAEC,EAAGP,EAAEQ,QAASC,EAAGT,EAAEU,SAC1CpB,KAAKD,KAAKuB,cAAc,IAAIC,YAAY,eAAgB,CAAEC,OAAAA,QAGlEC,eAAef,GACX,MAAO,CACHO,EAAGP,EAAEQ,QACLC,EAAGT,EAAEU,QACLQ,QAASC,EAAqB7B,KAAKgB,cAAcC,EAAGP,EAAEQ,SACtDY,QAASD,EAAqB7B,KAAKgB,cAAcG,EAAGT,EAAEU"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ReactiveController, ReactiveElement } from 'lit';
|
|
2
|
+
export declare type Triggerable = ReactiveElement & {
|
|
3
|
+
trigger?: HTMLElement;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* The TriggerController will track the last known interacted element
|
|
7
|
+
* when the host component was created or shown. This is used for when a component
|
|
8
|
+
* needs to know the element that "triggered" the interaction.
|
|
9
|
+
*
|
|
10
|
+
* Examples include, popover types, closable types and draggable types.
|
|
11
|
+
*/
|
|
12
|
+
export declare function triggerable<T extends Triggerable>(config?: {
|
|
13
|
+
focus: boolean;
|
|
14
|
+
}): ClassDecorator;
|
|
15
|
+
export declare class TriggerController<T extends Triggerable> implements ReactiveController {
|
|
16
|
+
private host;
|
|
17
|
+
private config;
|
|
18
|
+
private observer;
|
|
19
|
+
constructor(host: T, config?: {
|
|
20
|
+
focus: boolean;
|
|
21
|
+
});
|
|
22
|
+
private activeElement;
|
|
23
|
+
private _current;
|
|
24
|
+
get current(): HTMLElement;
|
|
25
|
+
private _prev;
|
|
26
|
+
get prev(): HTMLElement;
|
|
27
|
+
hostConnected(): Promise<void>;
|
|
28
|
+
hostUpdate(): void;
|
|
29
|
+
hostDisconnected(): void;
|
|
30
|
+
private focusCurrent;
|
|
31
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{listenForAttributeChange as t}from"../utils/events.js";import{getActiveElement as s}from"../utils/focus.js";function e(t={focus:!0}){return s=>s.addInitializer((s=>new r(s,t)))}class r{constructor(t,e={focus:!0}){this.host=t,this.config=e,this.activeElement=s(),this.host.addController(this)}get current(){return this.host.trigger?this._current:this.activeElement}get prev(){return this._prev}async hostConnected(){this.observer=t(this.host,"hidden",(()=>{const t=s();!this.host.hidden&&t?this.activeElement=t:this.focusCurrent()}))}hostUpdate(){this._current!==this.host.trigger&&(this._prev=this._current,this._current=this.host.trigger?this.host.trigger:this.activeElement)}hostDisconnected(){this.focusCurrent(),this.observer?.disconnect()}focusCurrent(){this.config.focus&&this.current?.focus()}}export{r as TriggerController,e as triggerable};
|
|
2
|
+
//# sourceMappingURL=trigger.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.controller.js","sources":["../../../../src/internal/controllers/trigger.controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { listenForAttributeChange } from '../utils/events.js';\nimport { getActiveElement } from '../utils/focus.js';\n/**\n * The TriggerController will track the last known interacted element\n * when the host component was created or shown. This is used for when a component\n * needs to know the element that \"triggered\" the interaction.\n *\n * Examples include, popover types, closable types and draggable types.\n */\nexport function triggerable(config = { focus: true }) {\n return (target) => target.addInitializer((instance) => new TriggerController(instance, config));\n}\nexport class TriggerController {\n constructor(host, config = { focus: true }) {\n this.host = host;\n this.config = config;\n this.activeElement = getActiveElement();\n this.host.addController(this);\n }\n get current() {\n return this.host.trigger ? this._current : this.activeElement;\n }\n get prev() {\n return this._prev;\n }\n async hostConnected() {\n this.observer = listenForAttributeChange(this.host, 'hidden', () => {\n const activeElement = getActiveElement();\n if (!this.host.hidden && activeElement) {\n this.activeElement = activeElement;\n }\n else {\n this.focusCurrent();\n }\n });\n }\n hostUpdate() {\n if (this._current !== this.host.trigger) {\n this._prev = this._current;\n this._current = this.host.trigger ? this.host.trigger : this.activeElement;\n }\n }\n hostDisconnected() {\n this.focusCurrent();\n this.observer?.disconnect();\n }\n focusCurrent() {\n if (this.config.focus) {\n this.current?.focus();\n }\n }\n}\n"],"names":["triggerable","config","focus","target","addInitializer","instance","TriggerController","constructor","host","this","activeElement","getActiveElement","addController","current","trigger","_current","prev","_prev","async","observer","listenForAttributeChange","hidden","focusCurrent","hostUpdate","hostDisconnected","disconnect"],"mappings":"mHAcO,SAASA,EAAYC,EAAS,CAAEC,OAAO,IAC1C,OAAQC,GAAWA,EAAOC,gBAAgBC,GAAa,IAAIC,EAAkBD,EAAUJ,KAEpF,MAAMK,EACTC,YAAYC,EAAMP,EAAS,CAAEC,OAAO,IAChCO,KAAKD,KAAOA,EACZC,KAAKR,OAASA,EACdQ,KAAKC,cAAgBC,IACrBF,KAAKD,KAAKI,cAAcH,MAExBI,cACA,OAAOJ,KAAKD,KAAKM,QAAUL,KAAKM,SAAWN,KAAKC,cAEhDM,WACA,OAAOP,KAAKQ,MAEhBC,sBACIT,KAAKU,SAAWC,EAAyBX,KAAKD,KAAM,UAAU,KAC1D,MAAME,EAAgBC,KACjBF,KAAKD,KAAKa,QAAUX,EACrBD,KAAKC,cAAgBA,EAGrBD,KAAKa,kBAIjBC,aACQd,KAAKM,WAAaN,KAAKD,KAAKM,UAC5BL,KAAKQ,MAAQR,KAAKM,SAClBN,KAAKM,SAAWN,KAAKD,KAAKM,QAAUL,KAAKD,KAAKM,QAAUL,KAAKC,eAGrEc,mBACIf,KAAKa,eACLb,KAAKU,UAAUM,aAEnBH,eACQb,KAAKR,OAAOC,OACZO,KAAKI,SAASX"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PropertyDrivenAnimation } from '../motion/interfaces.js';
|
|
2
|
-
export declare function animate(config: PropertyDrivenAnimation): <T extends new (...args: any[]) =>
|
|
1
|
+
import { AnimatableElement, PropertyDrivenAnimation } from '../motion/interfaces.js';
|
|
2
|
+
export declare function animate(config: PropertyDrivenAnimation): <T extends new (...args: any[]) => AnimatableElement>(constructor: T) => T;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{PRIVATE_ANIMATION_STATUS_ATTR_NAME as t,AnimationStatus as
|
|
1
|
+
import{PRIVATE_ANIMATION_STATUS_ATTR_NAME as t,AnimationStatus as i}from"../motion/interfaces.js";import{runPropertyAnimations as o}from"../motion/utils.js";function e(e){return function(n){return class extends n{constructor(){super(...arguments);this._animationReady=!1,this._animationDemoMode=!1,this._animations=e}updated(e){if(super.updated(e),!this._animationReady&&!this.hasAttribute(t))return this.setAttribute(t,i.ready),void(this._animationReady=!0);!0===this._animationDemoMode||this.hasAttribute("_demo-mode")?this._animationDemoMode=!0:o(e,this)}}}}export{e as animate};
|
|
2
2
|
//# sourceMappingURL=animate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animate.js","sources":["../../../../src/internal/decorators/animate.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { AnimationStatus, PRIVATE_ANIMATION_STATUS_ATTR_NAME, } from '../motion/interfaces.js';\nimport { runPropertyAnimations } from '../motion/utils.js';\n//
|
|
1
|
+
{"version":3,"file":"animate.js","sources":["../../../../src/internal/decorators/animate.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { AnimationStatus, PRIVATE_ANIMATION_STATUS_ATTR_NAME, } from '../motion/interfaces.js';\nimport { runPropertyAnimations } from '../motion/utils.js';\n// decorator factory that extends the component constructor to inject animations code into it\nexport function animate(config) {\n // eslint-disable-next-line @typescript-eslint/ban-types\n return function _animationDecorator(constructor) {\n return class extends constructor {\n constructor() {\n super(...arguments);\n this._animationReady = false;\n this._animationDemoMode = false;\n this._animations = config;\n }\n updated(props) {\n super.updated(props);\n if (!this._animationReady && !this.hasAttribute(PRIVATE_ANIMATION_STATUS_ATTR_NAME)) {\n // this prevents animations from loading onpageload\n this.setAttribute(PRIVATE_ANIMATION_STATUS_ATTR_NAME, AnimationStatus.ready);\n this._animationReady = true;\n return;\n }\n if (this._animationDemoMode === true || this.hasAttribute('_demo-mode')) {\n // ignore if element has the _demo-mode attribute set;\n // _demo-mode is used for docs, static examples, and stories\n // _demo-mode is not intended for external use\n this._animationDemoMode = true;\n return;\n }\n runPropertyAnimations(props, this);\n }\n };\n };\n}\n"],"names":["animate","config","constructor","super","this","_animationReady","_animationDemoMode","_animations","updated","props","hasAttribute","PRIVATE_ANIMATION_STATUS_ATTR_NAME","setAttribute","AnimationStatus","ready","runPropertyAnimations"],"mappings":"6JAQO,SAASA,EAAQC,GAEpB,OAAO,SAA6BC,GAChC,OAAO,cAAcA,EACjBA,cACIC,oBACAC,KAAKC,iBAAkB,EACvBD,KAAKE,oBAAqB,EAC1BF,KAAKG,YAAcN,EAEvBO,QAAQC,GAEJ,GADAN,MAAMK,QAAQC,IACTL,KAAKC,kBAAoBD,KAAKM,aAAaC,GAI5C,OAFAP,KAAKQ,aAAaD,EAAoCE,EAAgBC,YACtEV,KAAKC,iBAAkB,IAGK,IAA5BD,KAAKE,oBAA+BF,KAAKM,aAAa,cAItDN,KAAKE,oBAAqB,EAG9BS,EAAsBN,EAAOL"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
+
import { Constructor, ClassDescriptor } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* @experimental
|
|
4
|
+
* experimental decorator, waiting on Angular issue to be resolved https://github.com/angular/angular/issues/31495
|
|
5
|
+
* Class decorator factory that defines the decorated class as a custom element.
|
|
6
|
+
*
|
|
7
|
+
* ```
|
|
8
|
+
* @customElement('my-element')
|
|
9
|
+
* class MyElement {
|
|
10
|
+
* render() {
|
|
11
|
+
* return html``;
|
|
12
|
+
* }
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
1
16
|
export declare const customElement: (tagName: string) => (classOrDescriptor: Constructor<HTMLElement> | ClassDescriptor) => any;
|
|
2
|
-
interface ClassDescriptor {
|
|
3
|
-
kind: 'class';
|
|
4
|
-
elements: ClassElement[];
|
|
5
|
-
finisher?: <T>(classDef: Constructor<T>) => undefined | Constructor<T>;
|
|
6
|
-
}
|
|
7
|
-
interface ClassElement {
|
|
8
|
-
kind: 'field' | 'method';
|
|
9
|
-
key: PropertyKey;
|
|
10
|
-
placement: 'static' | 'prototype' | 'own';
|
|
11
|
-
initializer?: any;
|
|
12
|
-
extras?: ClassElement[];
|
|
13
|
-
finisher?: <T>(classDef: Constructor<T>) => undefined | Constructor<T>;
|
|
14
|
-
descriptor?: PropertyDescriptor;
|
|
15
|
-
}
|
|
16
|
-
export declare type Constructor<T> = {
|
|
17
|
-
new (...args: any[]): T;
|
|
18
|
-
};
|
|
19
|
-
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{registerElementSafely as t}from"../utils/registration.js";import{classLegacyDecorator as o,classStandardDecorator as i}from"./utils.js";const r=r=>s=>"function"==typeof s?o(r,s,((o,i)=>t(o,i))):i(r,s,((o,i)=>t(o,i)));export{r as customElement};
|
|
2
|
+
//# sourceMappingURL=element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element.js","sources":["../../../../src/internal/decorators/element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { registerElementSafely } from './../utils/registration.js';\nimport { classLegacyDecorator, classStandardDecorator } from './utils.js';\n/**\n * @experimental\n * experimental decorator, waiting on Angular issue to be resolved https://github.com/angular/angular/issues/31495\n * Class decorator factory that defines the decorated class as a custom element.\n *\n * ```\n * @customElement('my-element')\n * class MyElement {\n * render() {\n * return html``;\n * }\n * }\n * ```\n */\nexport const customElement = (tagName) => (classOrDescriptor) => {\n return typeof classOrDescriptor === 'function'\n ? classLegacyDecorator(tagName, classOrDescriptor, (tagName, classDef) => registerElementSafely(tagName, classDef))\n : classStandardDecorator(tagName, classOrDescriptor, (tagName, classDef) => registerElementSafely(tagName, classDef));\n};\n"],"names":["customElement","tagName","classOrDescriptor","classLegacyDecorator","classDef","registerElementSafely","classStandardDecorator"],"mappings":"+IAqBY,MAACA,EAAiBC,GAAaC,GACH,mBAAtBA,EACRC,EAAqBF,EAASC,GAAmB,CAACD,EAASG,IAAaC,EAAsBJ,EAASG,KACvGE,EAAuBL,EAASC,GAAmB,CAACD,EAASG,IAAaC,EAAsBJ,EAASG"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* This decorator stores the i18n strings in a private variable __i18n.
|
|
4
|
+
* Due to TypeScript decorators being dynamic a type cast is needed here.
|
|
5
|
+
*/
|
|
6
|
+
declare type I18nElement = LitElement & {
|
|
7
|
+
__i18n: Record<string, unknown>;
|
|
8
|
+
__i18nKey: string;
|
|
9
|
+
};
|
|
1
10
|
/**
|
|
2
11
|
* A property decorator which accesses a set of string values for use
|
|
3
12
|
* inside the element's template. The values can be overridden at runtime
|
|
@@ -15,3 +24,10 @@
|
|
|
15
24
|
*
|
|
16
25
|
*/
|
|
17
26
|
export declare function i18n(): (protoOrDescriptor: any, name: string) => any;
|
|
27
|
+
export declare function getI18nValues(values: Record<string, unknown>, component: I18nElement): Record<string, unknown>;
|
|
28
|
+
export declare function getI18nUpdateStrategy(newKey: string, oldKey: string, newValues: Record<string, unknown>, oldValues: Record<string, unknown>): {
|
|
29
|
+
values?: object;
|
|
30
|
+
key?: string;
|
|
31
|
+
update: boolean;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{property as e}from"
|
|
1
|
+
import{property as e}from"./property.js";import{GlobalStateService as t}from"../services/global.service.js";import{I18nService as i}from"../services/i18n.service.js";import{mergeObjects as s,isNilOrEmpty as n,objectNaiveDeepEquals as r}from"../utils/identity.js";import{LogService as c}from"../services/log.service.js";function o(){return(n,r)=>{const c=n.connectedCallback,o=n.disconnectedCallback;n.connectedCallback=function(){n.__i18nSub=t.stateUpdates.subscribe((e=>{"i18nRegistry"===e.key&&this.requestUpdate(r)})),c&&c.apply(this)},n.disconnectedCallback=function(){n.__i18nSub.unsubscribe(),o&&o.apply(this)};const d={get(){const e=s(i.keys[this.__i18nKey],this.__i18n||{});return i.hydrate(e,this)},set(e){const t=u(e,this),s=a(i.findKey(t)||"",this.__i18nKey,t,this.__i18n);void 0!==s.key&&(this.__i18nKey=s.key+""),void 0!==s.values&&(this.__i18n={...s.values}),!0===s.update&&this.requestUpdate(),this.requestUpdate(r)},enumerable:!0,configurable:!0};return void 0!==r?function(t,i,s){const n=Object.defineProperty(i,s,t);return e({type:Object,attribute:"cds-i18n"})(n,s)}(d,n,r):function(t,i){const s={kind:"method",placement:"prototype",key:i.key,descriptor:t};return e({type:Object})(s)}(d,n)}}function u(e,t){if(n(e)){let e={};if(t.hasAttribute("cds-i18n")){const i=t.getAttribute("cds-i18n")+"";if(n(i))e={};else try{e=JSON.parse(i)}catch{c.warn("Clarity i18n: Invalid JSON passed to cds-i18n"),e={}}}return e}return e}function a(e,t,i,s){return n(e)?r(i,s)?{update:!1}:{update:!0,values:i}:e===t?{update:!1,values:{}}:{update:!0,key:e,values:{}}}export{a as getI18nUpdateStrategy,u as getI18nValues,o as i18n};
|
|
2
2
|
//# sourceMappingURL=i18n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sources":["../../../../src/internal/decorators/i18n.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { property } from '
|
|
1
|
+
{"version":3,"file":"i18n.js","sources":["../../../../src/internal/decorators/i18n.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { property } from './property.js';\nimport { GlobalStateService } from '../services/global.service.js';\nimport { I18nService } from '../services/i18n.service.js';\nimport { isNilOrEmpty, mergeObjects, objectNaiveDeepEquals } from '../utils/identity.js';\nimport { LogService } from '../services/log.service.js';\n// Legacy TS Decorator\nfunction legacyI18n(descriptor, protoOrDescriptor, name) {\n // NOTE: ALWAYS GOES HERE IN STORYBOOK (A.K.A. TS RUNTIME)\n const desc = Object.defineProperty(protoOrDescriptor, name, descriptor);\n return property({ type: Object, attribute: 'cds-i18n' })(desc, name);\n // NOTE: REFLECT DOES NOTHING FOR US HERE\n}\n// TC39 Decorators proposal\nfunction standardI18n(descriptor, element) {\n const desc = {\n kind: 'method',\n placement: 'prototype',\n key: element.key,\n descriptor,\n };\n return property({ type: Object })(desc);\n}\n/**\n * A property decorator which accesses a set of string values for use\n * inside the element's template. The values can be overridden at runtime\n * by changing the property value that's reflected through the attribute value.\n *\n * @example\n *\n * class MyElement {\n * @i18n()\n * i18n = {\n * \"open\" : \"Open my element\",\n * \"close\" : \"Close my element\"\n * };\n * }\n *\n */\nexport function i18n() {\n return (protoOrDescriptor, name) => {\n const targetConnectedCallback = protoOrDescriptor.connectedCallback;\n const targetDisconnectedCallback = protoOrDescriptor.disconnectedCallback;\n function connectedCallback() {\n protoOrDescriptor.__i18nSub = GlobalStateService.stateUpdates.subscribe(update => {\n if (update.key === 'i18nRegistry') {\n this.requestUpdate(name);\n }\n });\n if (targetConnectedCallback) {\n targetConnectedCallback.apply(this);\n }\n }\n function disconnectedCallback() {\n protoOrDescriptor.__i18nSub.unsubscribe();\n if (targetDisconnectedCallback) {\n targetDisconnectedCallback.apply(this);\n }\n }\n protoOrDescriptor.connectedCallback = connectedCallback;\n protoOrDescriptor.disconnectedCallback = disconnectedCallback;\n const descriptor = {\n get() {\n const i18nObj = mergeObjects(I18nService.keys[this.__i18nKey], this.__i18n || {});\n return I18nService.hydrate(i18nObj, this);\n },\n set(value) {\n const newValues = getI18nValues(value, this);\n const testKey = I18nService.findKey(newValues);\n const strat = getI18nUpdateStrategy(testKey || '', this.__i18nKey, newValues, this.__i18n);\n if (typeof strat.key !== 'undefined') {\n this.__i18nKey = strat.key + '';\n }\n if (typeof strat.values !== 'undefined') {\n this.__i18n = { ...strat.values };\n }\n if (strat.update === true) {\n this.requestUpdate();\n }\n this.requestUpdate(name);\n },\n enumerable: true,\n configurable: true,\n };\n return name !== undefined\n ? legacyI18n(descriptor, protoOrDescriptor, name)\n : standardI18n(descriptor, protoOrDescriptor);\n };\n}\nexport function getI18nValues(values, component) {\n if (isNilOrEmpty(values)) {\n let returnVal = {};\n if (component.hasAttribute('cds-i18n')) {\n const stringVal = component.getAttribute('cds-i18n') + '';\n if (isNilOrEmpty(stringVal)) {\n returnVal = {};\n }\n else {\n try {\n returnVal = JSON.parse(stringVal);\n }\n catch {\n LogService.warn('Clarity i18n: Invalid JSON passed to cds-i18n');\n returnVal = {};\n }\n }\n }\n return returnVal;\n }\n else {\n return values;\n }\n}\nexport function getI18nUpdateStrategy(newKey, oldKey, newValues, oldValues) {\n if (!isNilOrEmpty(newKey)) {\n if (newKey === oldKey) {\n return { update: false, values: {} };\n }\n else {\n return { update: true, key: newKey, values: {} };\n }\n }\n else if (!objectNaiveDeepEquals(newValues, oldValues)) {\n return { update: true, values: newValues };\n }\n return { update: false };\n}\n"],"names":["i18n","protoOrDescriptor","name","targetConnectedCallback","connectedCallback","targetDisconnectedCallback","disconnectedCallback","__i18nSub","GlobalStateService","stateUpdates","subscribe","update","key","this","requestUpdate","apply","unsubscribe","descriptor","get","i18nObj","mergeObjects","I18nService","keys","__i18nKey","__i18n","hydrate","set","value","newValues","getI18nValues","strat","getI18nUpdateStrategy","findKey","values","enumerable","configurable","undefined","desc","Object","defineProperty","property","type","attribute","legacyI18n","element","kind","placement","standardI18n","component","isNilOrEmpty","returnVal","hasAttribute","stringVal","getAttribute","JSON","parse","LogService","warn","newKey","oldKey","oldValues","objectNaiveDeepEquals"],"mappings":"+TA2CO,SAASA,IACZ,MAAO,CAACC,EAAmBC,KACvB,MAAMC,EAA0BF,EAAkBG,kBAC5CC,EAA6BJ,EAAkBK,qBAiBrDL,EAAkBG,kBAhBlB,WACIH,EAAkBM,UAAYC,EAAmBC,aAAaC,WAAUC,IACjD,iBAAfA,EAAOC,KACPC,KAAKC,cAAcZ,MAGvBC,GACAA,EAAwBY,MAAMF,OAUtCZ,EAAkBK,qBAPlB,WACIL,EAAkBM,UAAUS,cACxBX,GACAA,EAA2BU,MAAMF,OAKzC,MAAMI,EAAa,CACfC,MACI,MAAMC,EAAUC,EAAaC,EAAYC,KAAKT,KAAKU,WAAYV,KAAKW,QAAU,IAC9E,OAAOH,EAAYI,QAAQN,EAASN,OAExCa,IAAIC,GACA,MAAMC,EAAYC,EAAcF,EAAOd,MAEjCiB,EAAQC,EADEV,EAAYW,QAAQJ,IACW,GAAIf,KAAKU,UAAWK,EAAWf,KAAKW,aAC1D,IAAdM,EAAMlB,MACbC,KAAKU,UAAYO,EAAMlB,IAAM,SAEL,IAAjBkB,EAAMG,SACbpB,KAAKW,OAAS,IAAKM,EAAMG,UAER,IAAjBH,EAAMnB,QACNE,KAAKC,gBAETD,KAAKC,cAAcZ,IAEvBgC,YAAY,EACZC,cAAc,GAElB,YAAgBC,IAATlC,EA7Ef,SAAoBe,EAAYhB,EAAmBC,GAE/C,MAAMmC,EAAOC,OAAOC,eAAetC,EAAmBC,EAAMe,GAC5D,OAAOuB,EAAS,CAAEC,KAAMH,OAAQI,UAAW,YAApCF,CAAkDH,EAAMnC,GA2ErDyC,CAAW1B,EAAYhB,EAAmBC,GAvExD,SAAsBe,EAAY2B,GAC9B,MAAMP,EAAO,CACTQ,KAAM,SACNC,UAAW,YACXlC,IAAKgC,EAAQhC,IACbK,WAAAA,GAEJ,OAAOuB,EAAS,CAAEC,KAAMH,QAAjBE,CAA2BH,GAiExBU,CAAa9B,EAAYhB,IAGhC,SAAS4B,EAAcI,EAAQe,GAClC,GAAIC,EAAahB,GAAS,CACtB,IAAIiB,EAAY,GAChB,GAAIF,EAAUG,aAAa,YAAa,CACpC,MAAMC,EAAYJ,EAAUK,aAAa,YAAc,GACvD,GAAIJ,EAAaG,GACbF,EAAY,QAGZ,IACIA,EAAYI,KAAKC,MAAMH,GAE3B,MACII,EAAWC,KAAK,iDAChBP,EAAY,IAIxB,OAAOA,EAGP,OAAOjB,EAGR,SAASF,EAAsB2B,EAAQC,EAAQ/B,EAAWgC,GAC7D,OAAKX,EAAaS,GAQRG,EAAsBjC,EAAWgC,GAGpC,CAAEjD,QAAQ,GAFN,CAAEA,QAAQ,EAAMsB,OAAQL,GAR3B8B,IAAWC,EACJ,CAAEhD,QAAQ,EAAOsB,OAAQ,IAGzB,CAAEtB,QAAQ,EAAMC,IAAK8C,EAAQzB,OAAQ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PropertyDeclaration } from 'lit';
|
|
1
2
|
export interface CustomPropertyConfig {
|
|
2
3
|
type: unknown;
|
|
3
4
|
required?: 'error' | 'warning';
|
|
@@ -19,27 +20,13 @@ export declare function requirePropertyCheck(protoOrDescriptor: any, name: strin
|
|
|
19
20
|
*
|
|
20
21
|
* @ExportDecoratedItems
|
|
21
22
|
*/
|
|
22
|
-
export declare function property(options?: PropertyConfig): (protoOrDescriptor: any, name
|
|
23
|
-
export interface PropertyDeclaration<Type = unknown, TypeHint = unknown> {
|
|
24
|
-
noAccessor?: boolean;
|
|
25
|
-
attribute?: boolean | string;
|
|
26
|
-
type?: TypeHint;
|
|
27
|
-
reflect?: boolean;
|
|
28
|
-
converter?: ((value: string | null, type?: TypeHint) => Type) | {
|
|
29
|
-
fromAttribute?(value: string | null, type?: TypeHint): Type;
|
|
30
|
-
toAttribute?(value: Type, type?: TypeHint): unknown;
|
|
31
|
-
};
|
|
32
|
-
hasChanged?(value: Type, oldValue: Type): boolean;
|
|
33
|
-
}
|
|
23
|
+
export declare function property(options?: PropertyConfig): (protoOrDescriptor: any, name?: PropertyKey | undefined) => any;
|
|
34
24
|
/**
|
|
35
25
|
* lit @state decorator with custom defaults specific to Clarity.
|
|
36
26
|
*
|
|
37
27
|
* This is used for communication between internal component properties
|
|
38
28
|
* that are not exposed as part of the public component API.
|
|
39
|
-
*
|
|
40
|
-
* A internalProperty decorator which creates a LitElement property which will
|
|
41
|
-
* trigger a re-render when set but not allow the value to be updated through
|
|
42
|
-
* public attributes. https://lit.dev/docs/api/decorators/#state
|
|
29
|
+
* https://lit.dev/docs/api/decorators/#state
|
|
43
30
|
*
|
|
44
31
|
* @ExportDecoratedItems
|
|
45
32
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{property as t}from"lit/decorators/property.js";import{camelCaseToKebabCase as r,capitalizeFirstLetter as e,kebabCaseToPascalCase as
|
|
1
|
+
import{property as t}from"lit/decorators/property.js";import{camelCaseToKebabCase as r,capitalizeFirstLetter as e,kebabCaseToPascalCase as i}from"../utils/string.js";import{LogService as n}from"../services/log.service.js";import{getAngularVersion as o,getVueVersion as u,getReactVersion as c}from"../utils/framework.js";import{isNilOrEmpty as s}from"../utils/identity.js";import{coerceBooleanProperty as a}from"../utils/dom.js";function f(t,e){switch(e?e.type:e){case Array:case Object:return{reflect:!1,...e};case String:return{reflect:!0,attribute:r(t),converter:{toAttribute:t=>t||null},...e};case Number:return{reflect:!0,attribute:r(t),...e};case Boolean:return{reflect:!0,attribute:r(t),converter:{toAttribute:t=>t?"":null,fromAttribute:t=>a(t)},...e};case Date:return{reflect:!1,converter:{fromAttribute:t=>new Date(t)},...e};default:return{...e}}}function l(t,a,f){const l=t.firstUpdated;t.firstUpdated=function(t){if(f&&f.required&&s(this[a])){const t=f.requiredMessage||function(t="warning",n,s){const a=s.toLocaleLowerCase();return`${e(t)}: ${n} is required to use ${a} component. Set the JS Property or HTML Attribute.\n\n`+(o()?`Angular: <${a} [${n}]="..."></${a}>\n`:"")+(u()?`Vue: <${a} :${n}="..."></${a}>\n`:"")+(c()?`React: <${i(a)} ${function(t){return t.startsWith("aria")?r(t):t}(n)}={...} />\n`:"")+`HTML: <${a} ${r(n)}="..."></${a}>\n`+`JavaScript: document.querySelector('${a}').${n} = '...';\n\n`}(f.required,a,this.tagName);if("error"===f.required)throw Error(t);n.warn(t,this)}l&&l.call(this,t)}}function m(r){return(e,i)=>(r?.required&&l(e,i,r),t(f(i,r))(e,i))}function p(e){return(i,n)=>{const o=f(n,e);return o&&(o.reflect=!!e?.reflect&&e.reflect,o.reflect&&!e?.attribute&&(o.attribute="_"+r(n))),t(o)(i,n)}}export{f as getDefaultOptions,m as property,l as requirePropertyCheck,p as state};
|
|
2
2
|
//# sourceMappingURL=property.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property.js","sources":["../../../../src/internal/decorators/property.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { property as _property } from 'lit/decorators/property.js';\nimport { camelCaseToKebabCase, kebabCaseToPascalCase, capitalizeFirstLetter } from '../utils/string.js';\nimport { LogService } from '../services/log.service.js';\nimport { getAngularVersion, getReactVersion, getVueVersion } from '../utils/framework.js';\nimport { isNilOrEmpty } from '../utils/identity.js';\nimport { coerceBooleanProperty } from '../utils/dom.js';\n/**\n * https://developers.google.com/web/fundamentals/web-components/best-practices\n */\nexport function getDefaultOptions(propertyKey, options) {\n const type = options ? options.type : options;\n switch (type) {\n case Array:\n return { reflect: false, ...options };\n case Object:\n return { reflect: false, ...options };\n case String:\n return {\n reflect: true,\n attribute: camelCaseToKebabCase(propertyKey),\n converter: {\n toAttribute: (value) => (value ? value : null),\n },\n ...options,\n };\n case Number:\n return { reflect: true, attribute: camelCaseToKebabCase(propertyKey), ...options };\n case Boolean:\n return {\n reflect: true,\n attribute: camelCaseToKebabCase(propertyKey),\n converter: {\n // Mimic standard HTML boolean attributes + support \"false\" attribute values\n // https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes\n toAttribute: (value) => (value ? '' : null),\n fromAttribute: (value) => coerceBooleanProperty(value),\n },\n ...options,\n };\n case Date: {\n return {\n // Parse date strings from attributes but do not reflect back into attribute\n reflect: false,\n converter: {\n fromAttribute: (value) => new Date(value),\n },\n ...options,\n };\n }\n default:\n return { ...options };\n }\n}\nexport function requirePropertyCheck(protoOrDescriptor, name, options) {\n const targetFirstUpdated = protoOrDescriptor.firstUpdated;\n function firstUpdated(props) {\n if (options && options.required && isNilOrEmpty(this[name])) {\n const message = options.requiredMessage || getRequiredMessage(options.required, name, this.tagName);\n if (options.required === 'error') {\n throw new Error(message);\n }\n else {\n LogService.warn(message, this);\n }\n }\n if (targetFirstUpdated) {\n targetFirstUpdated.apply(this, [props]);\n }\n }\n protoOrDescriptor.firstUpdated = firstUpdated;\n}\n/**\n * In React, DOM attributes and properties are camelCase, except for aria- and data- attributes\n * https://reactjs.org/docs/dom-elements.html\n *\n * This will format aria attributes as kebab case, otherwise returning the original property name\n */\nfunction getReactPropertyName(propertyName) {\n if (propertyName.startsWith('aria')) {\n return camelCaseToKebabCase(propertyName);\n }\n return propertyName;\n}\nfunction getRequiredMessage(level = 'warning', propertyName, tagName) {\n const tag = tagName.toLocaleLowerCase();\n return (`${capitalizeFirstLetter(level)}: ${propertyName} is required to use ${tag} component. Set the JS Property or HTML Attribute.\\n\\n` +\n `${getAngularVersion() ? `Angular: <${tag} [${propertyName}]=\"...\"></${tag}>\\n` : ''}` +\n `${getVueVersion() ? `Vue: <${tag} :${propertyName}=\"...\"></${tag}>\\n` : ''}` +\n `${getReactVersion() ? `React: <${kebabCaseToPascalCase(tag)} ${getReactPropertyName(propertyName)}={...} />\\n` : ''}` +\n `${`HTML: <${tag} ${camelCaseToKebabCase(propertyName)}=\"...\"></${tag}>\\n`}` +\n `${`JavaScript: document.querySelector('${tag}').${propertyName} = '...';\\n\\n`}`);\n}\n/**\n * lit @property decorator with custom defaults specific to Clarity.\n * https://lit.dev/docs/components/properties/\n *\n * A property decorator which creates a LitElement property which reflects a\n * corresponding attribute value. A PropertyDeclaration may optionally be\n * supplied to configure property features.\n *\n * @ExportDecoratedItems\n */\nexport function property(options) {\n return (protoOrDescriptor, name) => {\n requirePropertyCheck(protoOrDescriptor, name, options);\n return _property(getDefaultOptions(name, options))(protoOrDescriptor, name);\n };\n}\n/**\n * lit @state decorator with custom defaults specific to Clarity.\n *\n * This is used for communication between internal component properties\n * that are not exposed as part of the public component API.\n
|
|
1
|
+
{"version":3,"file":"property.js","sources":["../../../../src/internal/decorators/property.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { property as _property } from 'lit/decorators/property.js';\nimport { camelCaseToKebabCase, kebabCaseToPascalCase, capitalizeFirstLetter } from '../utils/string.js';\nimport { LogService } from '../services/log.service.js';\nimport { getAngularVersion, getReactVersion, getVueVersion } from '../utils/framework.js';\nimport { isNilOrEmpty } from '../utils/identity.js';\nimport { coerceBooleanProperty } from '../utils/dom.js';\n/**\n * https://developers.google.com/web/fundamentals/web-components/best-practices\n */\nexport function getDefaultOptions(propertyKey, options) {\n const type = options ? options.type : options;\n switch (type) {\n case Array:\n return { reflect: false, ...options };\n case Object:\n return { reflect: false, ...options };\n case String:\n return {\n reflect: true,\n attribute: camelCaseToKebabCase(propertyKey),\n converter: {\n toAttribute: (value) => (value ? value : null),\n },\n ...options,\n };\n case Number:\n return { reflect: true, attribute: camelCaseToKebabCase(propertyKey), ...options };\n case Boolean:\n return {\n reflect: true,\n attribute: camelCaseToKebabCase(propertyKey),\n converter: {\n // Mimic standard HTML boolean attributes + support \"false\" attribute values\n // https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes\n toAttribute: (value) => (value ? '' : null),\n fromAttribute: (value) => coerceBooleanProperty(value),\n },\n ...options,\n };\n case Date: {\n return {\n // Parse date strings from attributes but do not reflect back into attribute\n reflect: false,\n converter: {\n fromAttribute: (value) => new Date(value),\n },\n ...options,\n };\n }\n default:\n return { ...options };\n }\n}\nexport function requirePropertyCheck(protoOrDescriptor, name, options) {\n const targetFirstUpdated = protoOrDescriptor.firstUpdated;\n function firstUpdated(props) {\n if (options && options.required && isNilOrEmpty(this[name])) {\n const message = options.requiredMessage || getRequiredMessage(options.required, name, this.tagName);\n if (options.required === 'error') {\n throw new Error(message);\n }\n else {\n LogService.warn(message, this);\n }\n }\n if (targetFirstUpdated) {\n targetFirstUpdated.apply(this, [props]);\n }\n }\n protoOrDescriptor.firstUpdated = firstUpdated;\n}\n/**\n * In React, DOM attributes and properties are camelCase, except for aria- and data- attributes\n * https://reactjs.org/docs/dom-elements.html\n *\n * This will format aria attributes as kebab case, otherwise returning the original property name\n */\nfunction getReactPropertyName(propertyName) {\n if (propertyName.startsWith('aria')) {\n return camelCaseToKebabCase(propertyName);\n }\n return propertyName;\n}\nfunction getRequiredMessage(level = 'warning', propertyName, tagName) {\n const tag = tagName.toLocaleLowerCase();\n return (`${capitalizeFirstLetter(level)}: ${propertyName} is required to use ${tag} component. Set the JS Property or HTML Attribute.\\n\\n` +\n `${getAngularVersion() ? `Angular: <${tag} [${propertyName}]=\"...\"></${tag}>\\n` : ''}` +\n `${getVueVersion() ? `Vue: <${tag} :${propertyName}=\"...\"></${tag}>\\n` : ''}` +\n `${getReactVersion() ? `React: <${kebabCaseToPascalCase(tag)} ${getReactPropertyName(propertyName)}={...} />\\n` : ''}` +\n `${`HTML: <${tag} ${camelCaseToKebabCase(propertyName)}=\"...\"></${tag}>\\n`}` +\n `${`JavaScript: document.querySelector('${tag}').${propertyName} = '...';\\n\\n`}`);\n}\n/**\n * lit @property decorator with custom defaults specific to Clarity.\n * https://lit.dev/docs/components/properties/\n *\n * A property decorator which creates a LitElement property which reflects a\n * corresponding attribute value. A PropertyDeclaration may optionally be\n * supplied to configure property features.\n *\n * @ExportDecoratedItems\n */\nexport function property(options) {\n return (protoOrDescriptor, name) => {\n if (options?.required) {\n requirePropertyCheck(protoOrDescriptor, name, options);\n }\n return _property(getDefaultOptions(name, options))(protoOrDescriptor, name);\n };\n}\n/**\n * lit @state decorator with custom defaults specific to Clarity.\n *\n * This is used for communication between internal component properties\n * that are not exposed as part of the public component API.\n * https://lit.dev/docs/api/decorators/#state\n *\n * @ExportDecoratedItems\n */\nexport function state(options) {\n return (protoOrDescriptor, name) => {\n const defaultOptions = getDefaultOptions(name, options);\n if (defaultOptions) {\n defaultOptions.reflect = options?.reflect ? options.reflect : false; // prevent attr reflection by default\n if (defaultOptions.reflect && !options?.attribute) {\n // mark as internal attr if reflect and no provided attr\n // see description for more detail https://github.com/vmware/clarity/pull/5431\n defaultOptions.attribute = `_${camelCaseToKebabCase(name)}`;\n }\n }\n return _property(defaultOptions)(protoOrDescriptor, name);\n };\n}\n"],"names":["getDefaultOptions","propertyKey","options","type","Array","Object","reflect","String","attribute","camelCaseToKebabCase","converter","toAttribute","value","Number","Boolean","fromAttribute","coerceBooleanProperty","Date","requirePropertyCheck","protoOrDescriptor","name","targetFirstUpdated","firstUpdated","props","required","isNilOrEmpty","this","message","requiredMessage","level","propertyName","tagName","tag","toLocaleLowerCase","capitalizeFirstLetter","getAngularVersion","getVueVersion","getReactVersion","kebabCaseToPascalCase","startsWith","getReactPropertyName","getRequiredMessage","Error","LogService","warn","apply","property","_property","state","defaultOptions"],"mappings":"4aAcO,SAASA,EAAkBC,EAAaC,GAE3C,OADaA,EAAUA,EAAQC,KAAOD,GAElC,KAAKE,MAEL,KAAKC,OACD,MAAO,CAAEC,SAAS,KAAUJ,GAChC,KAAKK,OACD,MAAO,CACHD,SAAS,EACTE,UAAWC,EAAqBR,GAChCS,UAAW,CACPC,YAAcC,GAAWA,GAAgB,SAE1CV,GAEX,KAAKW,OACD,MAAO,CAAEP,SAAS,EAAME,UAAWC,EAAqBR,MAAiBC,GAC7E,KAAKY,QACD,MAAO,CACHR,SAAS,EACTE,UAAWC,EAAqBR,GAChCS,UAAW,CAGPC,YAAcC,GAAWA,EAAQ,GAAK,KACtCG,cAAgBH,GAAUI,EAAsBJ,OAEjDV,GAEX,KAAKe,KACD,MAAO,CAEHX,SAAS,EACTI,UAAW,CACPK,cAAgBH,GAAU,IAAIK,KAAKL,OAEpCV,GAGX,QACI,MAAO,IAAKA,IAGjB,SAASgB,EAAqBC,EAAmBC,EAAMlB,GAC1D,MAAMmB,EAAqBF,EAAkBG,aAe7CH,EAAkBG,aAdlB,SAAsBC,GAClB,GAAIrB,GAAWA,EAAQsB,UAAYC,EAAaC,KAAKN,IAAQ,CACzD,MAAMO,EAAUzB,EAAQ0B,iBA0BpC,SAA4BC,EAAQ,UAAWC,EAAcC,GACzD,MAAMC,EAAMD,EAAQE,oBACpB,MAAQ,GAAGC,EAAsBL,OAAWC,wBAAmCE,2DACxEG,IAAsB,aAAaH,MAAQF,cAAyBE,OAAW,KAC/EI,IAAkB,SAASJ,MAAQF,aAAwBE,OAAW,KACtEK,IAAoB,WAAWC,EAAsBN,MAXhE,SAA8BF,GAC1B,OAAIA,EAAaS,WAAW,QACjB9B,EAAqBqB,GAEzBA,EAO6DU,CAAqBV,gBAA6B,IAClH,UAAaE,KAAOvB,EAAqBqB,cAAyBE,OAClE,uCAA0CA,OAASF,iBAjCJW,CAAmBvC,EAAQsB,SAAUJ,EAAMM,KAAKK,SAC3F,GAAyB,UAArB7B,EAAQsB,SACR,MAAUkB,MAAMf,GAGhBgB,EAAWC,KAAKjB,EAASD,MAG7BL,GACAA,EAAmBwB,KAAMnB,KAAOH,IAoCrC,SAASuB,EAAS5C,GACrB,MAAO,CAACiB,EAAmBC,KACnBlB,GAASsB,UACTN,EAAqBC,EAAmBC,EAAMlB,GAE3C6C,EAAU/C,EAAkBoB,EAAMlB,GAAlC6C,CAA4C5B,EAAmBC,IAYvE,SAAS4B,EAAM9C,GAClB,MAAO,CAACiB,EAAmBC,KACvB,MAAM6B,EAAiBjD,EAAkBoB,EAAMlB,GAS/C,OARI+C,IACAA,EAAe3C,UAAUJ,GAASI,SAAUJ,EAAQI,QAChD2C,EAAe3C,UAAYJ,GAASM,YAGpCyC,EAAezC,UAAY,IAAIC,EAAqBW,KAGrD2B,EAAUE,EAAVF,CAA0B5B,EAAmBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{notProductionEnvironment as e,LogService as t}from"../services/log.service.js";const r=(e,t,r)=>{Object.defineProperty(t,r,e)},
|
|
1
|
+
import{notProductionEnvironment as e,LogService as t}from"../services/log.service.js";const r=(e,t,r)=>{Object.defineProperty(t,r,e)},s=(e,t)=>({kind:"method",placement:"prototype",key:t.key,descriptor:e});function i(i,o){return(n,u)=>{const a=n.firstUpdated;n.firstUpdated=function(){const r=this.querySelector(i),s=o?.exemptOn&&o?.exemptOn(this);if(!r&&e()&&o?.required&&!s){const e=o.requiredMessage||`The <${i}> element is required to use <${this.tagName.toLocaleLowerCase()}>`;if("error"===o.required)throw Error(e);t.warn(e,this)}o?.assign&&!1===r?.hasAttribute("slot")&&r.setAttribute("slot",o.assign),a&&a.apply(this)};const c={get(){return this.querySelector(i)},enumerable:!0,configurable:!0};return void 0!==u?r(c,n,u):s(c,n)}}function o(e,t){return(i,o)=>{const n=i.firstUpdated;i.firstUpdated=function(r){t?.assign&&Array.from(this.querySelectorAll(e)).filter((e=>!e.hasAttribute("slot"))).forEach((e=>e.setAttribute("slot",t.assign))),n&&n.call(this,r)};const u={get(){return this.querySelectorAll(e)},enumerable:!0,configurable:!0};return void 0!==o?r(u,i,o):s(u,i)}}export{i as querySlot,o as querySlotAll};
|
|
2
2
|
//# sourceMappingURL=query-slot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-slot.js","sources":["../../../../src/internal/decorators/query-slot.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { LogService, notProductionEnvironment } from '../services/log.service.js';\n// Slot Query decorators are similar to the query decorator in lit.\n// Instead of querying the component template they query the content slot of the component.\nconst legacyQuery = (descriptor, proto, name) => {\n Object.defineProperty(proto, name, descriptor);\n};\nconst standardQuery = (descriptor, element) => ({\n kind: 'method',\n placement: 'prototype',\n key: element.key,\n descriptor,\n});\n/**\n * A property decorator that converts a class property into a getter that\n * executes a querySelector on the element's light DOM Slot.\n *\n * @ExportDecoratedItems\n */\nexport function querySlot(selector, config) {\n return (protoOrDescriptor, name) => {\n const targetFirstUpdated = protoOrDescriptor.firstUpdated;\n function firstUpdated() {\n const ref = this.querySelector(selector);\n const shouldExempt =
|
|
1
|
+
{"version":3,"file":"query-slot.js","sources":["../../../../src/internal/decorators/query-slot.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { LogService, notProductionEnvironment } from '../services/log.service.js';\n// Slot Query decorators are similar to the query decorator in lit.\n// Instead of querying the component template they query the content slot of the component.\nconst legacyQuery = (descriptor, proto, name) => {\n Object.defineProperty(proto, name, descriptor);\n};\nconst standardQuery = (descriptor, element) => ({\n kind: 'method',\n placement: 'prototype',\n key: element.key,\n descriptor,\n});\n/**\n * A property decorator that converts a class property into a getter that\n * executes a querySelector on the element's light DOM Slot.\n *\n * @ExportDecoratedItems\n */\nexport function querySlot(selector, config) {\n return (protoOrDescriptor, name) => {\n const targetFirstUpdated = protoOrDescriptor.firstUpdated;\n function firstUpdated() {\n const ref = this.querySelector(selector);\n const shouldExempt = config?.exemptOn && config?.exemptOn(this);\n if (!ref && notProductionEnvironment() && config?.required && !shouldExempt) {\n const message = config.requiredMessage ||\n `The <${selector}> element is required to use <${this.tagName.toLocaleLowerCase()}>`;\n if (config.required === 'error') {\n throw new Error(message);\n }\n else {\n LogService.warn(message, this);\n }\n }\n if (config?.assign && ref?.hasAttribute('slot') === false) {\n ref.setAttribute('slot', config.assign);\n }\n if (targetFirstUpdated) {\n targetFirstUpdated.apply(this);\n }\n }\n protoOrDescriptor.firstUpdated = firstUpdated;\n const descriptor = {\n get() {\n return this.querySelector(selector);\n },\n enumerable: true,\n configurable: true,\n };\n return name !== undefined\n ? legacyQuery(descriptor, protoOrDescriptor, name)\n : standardQuery(descriptor, protoOrDescriptor);\n };\n}\n/**\n * A property decorator that converts a class property into a getter\n * that executes a querySelectorAll on the element's light DOM Slot.\n *\n * @ExportDecoratedItems\n */\nexport function querySlotAll(selector, config) {\n return (protoOrDescriptor, name) => {\n const targetFirstUpdated = protoOrDescriptor.firstUpdated;\n function firstUpdated(props) {\n if (config?.assign) {\n Array.from(this.querySelectorAll(selector))\n .filter((i) => !i.hasAttribute('slot'))\n .forEach((i) => i.setAttribute('slot', config.assign));\n }\n if (targetFirstUpdated) {\n targetFirstUpdated.apply(this, [props]);\n }\n }\n protoOrDescriptor.firstUpdated = firstUpdated;\n const descriptor = {\n get() {\n return this.querySelectorAll(selector);\n },\n enumerable: true,\n configurable: true,\n };\n return name !== undefined\n ? legacyQuery(descriptor, protoOrDescriptor, name)\n : standardQuery(descriptor, protoOrDescriptor);\n };\n}\n"],"names":["legacyQuery","descriptor","proto","name","Object","defineProperty","standardQuery","element","kind","placement","key","querySlot","selector","config","protoOrDescriptor","targetFirstUpdated","firstUpdated","ref","this","querySelector","shouldExempt","exemptOn","notProductionEnvironment","required","message","requiredMessage","tagName","toLocaleLowerCase","Error","LogService","warn","assign","hasAttribute","setAttribute","apply","get","enumerable","configurable","undefined","querySlotAll","props","Array","from","querySelectorAll","filter","i","forEach"],"mappings":"sFAQA,MAAMA,EAAc,CAACC,EAAYC,EAAOC,KACpCC,OAAOC,eAAeH,EAAOC,EAAMF,IAEjCK,EAAgB,CAACL,EAAYM,MAC/BC,KAAM,SACNC,UAAW,YACXC,IAAKH,EAAQG,IACbT,WAAAA,IAQG,SAASU,EAAUC,EAAUC,GAChC,MAAO,CAACC,EAAmBX,KACvB,MAAMY,EAAqBD,EAAkBE,aAqB7CF,EAAkBE,aApBlB,WACI,MAAMC,EAAMC,KAAKC,cAAcP,GACzBQ,EAAeP,GAAQQ,UAAYR,GAAQQ,SAASH,MAC1D,IAAKD,GAAOK,KAA8BT,GAAQU,WAAaH,EAAc,CACzE,MAAMI,EAAUX,EAAOY,iBACnB,QAAQb,kCAAyCM,KAAKQ,QAAQC,uBAClE,GAAwB,UAApBd,EAAOU,SACP,MAAUK,MAAMJ,GAGhBK,EAAWC,KAAKN,EAASN,MAG7BL,GAAQkB,SAAwC,IAA9Bd,GAAKe,aAAa,SACpCf,EAAIgB,aAAa,OAAQpB,EAAOkB,QAEhChB,GACAA,EAAmBmB,MAAMhB,OAIjC,MAAMjB,EAAa,CACfkC,MACI,OAAOjB,KAAKC,cAAcP,IAE9BwB,YAAY,EACZC,cAAc,GAElB,YAAgBC,IAATnC,EACDH,EAAYC,EAAYa,EAAmBX,GAC3CG,EAAcL,EAAYa,IASjC,SAASyB,EAAa3B,EAAUC,GACnC,MAAO,CAACC,EAAmBX,KACvB,MAAMY,EAAqBD,EAAkBE,aAW7CF,EAAkBE,aAVlB,SAAsBwB,GACd3B,GAAQkB,QACRU,MAAMC,KAAKxB,KAAKyB,iBAAiB/B,IAC5BgC,QAAQC,IAAOA,EAAEb,aAAa,UAC9Bc,SAASD,GAAMA,EAAEZ,aAAa,OAAQpB,EAAOkB,UAElDhB,GACAA,EAAmBmB,KAAMhB,KAAOsB,IAIxC,MAAMvC,EAAa,CACfkC,MACI,OAAOjB,KAAKyB,iBAAiB/B,IAEjCwB,YAAY,EACZC,cAAc,GAElB,YAAgBC,IAATnC,EACDH,EAAYC,EAAYa,EAAmBX,GAC3CG,EAAcL,EAAYa"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface ClassDescriptor {
|
|
2
|
+
kind: 'class';
|
|
3
|
+
elements: ClassElement[];
|
|
4
|
+
finisher?: <T>(classDef: Constructor<T>) => undefined | Constructor<T>;
|
|
5
|
+
}
|
|
6
|
+
export interface ClassElement {
|
|
7
|
+
kind: 'field' | 'method';
|
|
8
|
+
key: PropertyKey;
|
|
9
|
+
placement: 'static' | 'prototype' | 'own';
|
|
10
|
+
initializer?: any;
|
|
11
|
+
extras?: ClassElement[];
|
|
12
|
+
finisher?: <T>(classDef: Constructor<T>) => undefined | Constructor<T>;
|
|
13
|
+
descriptor?: PropertyDescriptor;
|
|
14
|
+
}
|
|
15
|
+
export declare type Constructor<T> = {
|
|
16
|
+
new (...args: any[]): T;
|
|
17
|
+
};
|
|
18
|
+
export declare const classStandardDecorator: (value: any, descriptor: ClassDescriptor, fn: (value: any, classDef: Constructor<HTMLElement>) => any) => {
|
|
19
|
+
kind: "class";
|
|
20
|
+
elements: ClassElement[];
|
|
21
|
+
finisher(classDef: Constructor<HTMLElement>): void;
|
|
22
|
+
};
|
|
23
|
+
export declare const classLegacyDecorator: (value: any, classDef: Constructor<HTMLElement>, fn: (value: any, classDef: Constructor<HTMLElement>) => any) => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/internal/decorators/utils.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n// TC39 Decorators proposal\nexport const classStandardDecorator = (value, descriptor, fn) => {\n const { kind, elements } = descriptor;\n return {\n kind,\n elements,\n finisher(classDef) {\n fn(value, classDef);\n },\n };\n};\n// Legacy TS Decorator\nexport const classLegacyDecorator = (value, classDef, fn) => {\n fn(value, classDef);\n return classDef;\n};\n"],"names":["classStandardDecorator","value","descriptor","fn","kind","elements","finisher","classDef","classLegacyDecorator"],"mappings":"AAMY,MAACA,EAAyB,CAACC,EAAOC,EAAYC,KACtD,MAAMC,KAAEA,EAAIC,SAAEA,GAAaH,EAC3B,MAAO,CACHE,KAAAA,EACAC,SAAAA,EACAC,SAASC,GACLJ,EAAGF,EAAOM,MAKTC,EAAuB,CAACP,EAAOM,EAAUJ,KAClDA,EAAGF,EAAOM,GACHA"}
|