@educarehq/solaris-ui 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/educarehq-solaris-ui.d.ts +5 -0
- package/esm2022/educarehq-solaris-ui.js +5 -0
- package/esm2022/educarehq-solaris-ui.js.map +1 -0
- package/esm2022/index.js +109 -0
- package/esm2022/index.js.map +1 -0
- package/esm2022/lib/components/actions/button/directives/button-icon.directive.js +17 -0
- package/esm2022/lib/components/actions/button/directives/button-icon.directive.js.map +1 -0
- package/esm2022/lib/components/actions/button/directives/button.directive.js +60 -0
- package/esm2022/lib/components/actions/button/directives/button.directive.js.map +1 -0
- package/esm2022/lib/components/actions/button/index.js +3 -0
- package/esm2022/lib/components/actions/button/index.js.map +1 -0
- package/esm2022/lib/components/actions/button/model/button.types.js +1 -0
- package/esm2022/lib/components/actions/button/model/button.types.js.map +1 -0
- package/esm2022/lib/components/actions/button-group/component/button-group.component.js +21 -0
- package/esm2022/lib/components/actions/button-group/component/button-group.component.js.map +1 -0
- package/esm2022/lib/components/actions/button-group/model/button-group.types.js +1 -0
- package/esm2022/lib/components/actions/button-group/model/button-group.types.js.map +1 -0
- package/esm2022/lib/components/actions/icon-button/directives/icon-button-badge.directive.js +17 -0
- package/esm2022/lib/components/actions/icon-button/directives/icon-button-badge.directive.js.map +1 -0
- package/esm2022/lib/components/actions/icon-button/directives/icon-button.directive.js +58 -0
- package/esm2022/lib/components/actions/icon-button/directives/icon-button.directive.js.map +1 -0
- package/esm2022/lib/components/actions/icon-button/model/icon-button.types.js +1 -0
- package/esm2022/lib/components/actions/icon-button/model/icon-button.types.js.map +1 -0
- package/esm2022/lib/components/data-display/badge/component/badge.component.js +24 -0
- package/esm2022/lib/components/data-display/badge/component/badge.component.js.map +1 -0
- package/esm2022/lib/components/data-display/badge/directives/badge-icon.directive.js +17 -0
- package/esm2022/lib/components/data-display/badge/directives/badge-icon.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/badge/index.js +3 -0
- package/esm2022/lib/components/data-display/badge/index.js.map +1 -0
- package/esm2022/lib/components/data-display/badge/model/badge.types.js +1 -0
- package/esm2022/lib/components/data-display/badge/model/badge.types.js.map +1 -0
- package/esm2022/lib/components/data-display/card/component/card.component.js +20 -0
- package/esm2022/lib/components/data-display/card/component/card.component.js.map +1 -0
- package/esm2022/lib/components/data-display/card/directives/card-actions.directive.js +17 -0
- package/esm2022/lib/components/data-display/card/directives/card-actions.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/card/directives/card-content.directive.js +17 -0
- package/esm2022/lib/components/data-display/card/directives/card-content.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/card/directives/card-description.directive.js +17 -0
- package/esm2022/lib/components/data-display/card/directives/card-description.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/card/directives/card-footer.directive.js +19 -0
- package/esm2022/lib/components/data-display/card/directives/card-footer.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/card/directives/card-header.directive.js +17 -0
- package/esm2022/lib/components/data-display/card/directives/card-header.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/card/directives/card-media.directive.js +17 -0
- package/esm2022/lib/components/data-display/card/directives/card-media.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/card/directives/card-title.directive.js +17 -0
- package/esm2022/lib/components/data-display/card/directives/card-title.directive.js.map +1 -0
- package/esm2022/lib/components/data-display/card/model/card.types.js +1 -0
- package/esm2022/lib/components/data-display/card/model/card.types.js.map +1 -0
- package/esm2022/lib/components/data-display/divider/component/divider.component.js +46 -0
- package/esm2022/lib/components/data-display/divider/component/divider.component.js.map +1 -0
- package/esm2022/lib/components/data-display/divider/index.js +2 -0
- package/esm2022/lib/components/data-display/divider/index.js.map +1 -0
- package/esm2022/lib/components/data-display/divider/model/divider.types.js +1 -0
- package/esm2022/lib/components/data-display/divider/model/divider.types.js.map +1 -0
- package/esm2022/lib/components/feedback/alert/component/alert-actions.component.js +18 -0
- package/esm2022/lib/components/feedback/alert/component/alert-actions.component.js.map +1 -0
- package/esm2022/lib/components/feedback/alert/component/alert.component.js +90 -0
- package/esm2022/lib/components/feedback/alert/component/alert.component.js.map +1 -0
- package/esm2022/lib/components/feedback/alert/directives/alert-description.directive.js +17 -0
- package/esm2022/lib/components/feedback/alert/directives/alert-description.directive.js.map +1 -0
- package/esm2022/lib/components/feedback/alert/directives/alert-title.directive.js +17 -0
- package/esm2022/lib/components/feedback/alert/directives/alert-title.directive.js.map +1 -0
- package/esm2022/lib/components/feedback/alert/model/alert.types.js +1 -0
- package/esm2022/lib/components/feedback/alert/model/alert.types.js.map +1 -0
- package/esm2022/lib/components/feedback/skeleton/component/skeleton.component.js +69 -0
- package/esm2022/lib/components/feedback/skeleton/component/skeleton.component.js.map +1 -0
- package/esm2022/lib/components/feedback/skeleton/model/skeleton.types.js +1 -0
- package/esm2022/lib/components/feedback/skeleton/model/skeleton.types.js.map +1 -0
- package/esm2022/lib/components/feedback/toast/component/toast.component.js +268 -0
- package/esm2022/lib/components/feedback/toast/component/toast.component.js.map +1 -0
- package/esm2022/lib/components/feedback/toast/container/toast-container.component.js +24 -0
- package/esm2022/lib/components/feedback/toast/container/toast-container.component.js.map +1 -0
- package/esm2022/lib/components/feedback/toast/model/toast.types.js +1 -0
- package/esm2022/lib/components/feedback/toast/model/toast.types.js.map +1 -0
- package/esm2022/lib/components/feedback/toast/provider/provide-solaris-toast.js +17 -0
- package/esm2022/lib/components/feedback/toast/provider/provide-solaris-toast.js.map +1 -0
- package/esm2022/lib/components/feedback/toast/service/toast.service.js +219 -0
- package/esm2022/lib/components/feedback/toast/service/toast.service.js.map +1 -0
- package/esm2022/lib/components/feedback/toast/token/toast.tokens.js +13 -0
- package/esm2022/lib/components/feedback/toast/token/toast.tokens.js.map +1 -0
- package/esm2022/lib/components/forms/checkbox/component/checkbox.component.js +227 -0
- package/esm2022/lib/components/forms/checkbox/component/checkbox.component.js.map +1 -0
- package/esm2022/lib/components/forms/checkbox/model/checkbox.types.js +1 -0
- package/esm2022/lib/components/forms/checkbox/model/checkbox.types.js.map +1 -0
- package/esm2022/lib/components/forms/checkbox-group/component/checkbox-group.component.js +441 -0
- package/esm2022/lib/components/forms/checkbox-group/component/checkbox-group.component.js.map +1 -0
- package/esm2022/lib/components/forms/checkbox-group/model/checkbox-group.types.js +1 -0
- package/esm2022/lib/components/forms/checkbox-group/model/checkbox-group.types.js.map +1 -0
- package/esm2022/lib/components/forms/email-field/component/email-field.component.js +215 -0
- package/esm2022/lib/components/forms/email-field/component/email-field.component.js.map +1 -0
- package/esm2022/lib/components/forms/email-field/model/email-field.types.js +1 -0
- package/esm2022/lib/components/forms/email-field/model/email-field.types.js.map +1 -0
- package/esm2022/lib/components/forms/email-field/validators/email-field.validators.js +69 -0
- package/esm2022/lib/components/forms/email-field/validators/email-field.validators.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/component/form-error.component.js +19 -0
- package/esm2022/lib/components/forms/form-field/component/form-error.component.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/component/form-field.component.js +442 -0
- package/esm2022/lib/components/forms/form-field/component/form-field.component.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/component/form-hint.component.js +18 -0
- package/esm2022/lib/components/forms/form-field/component/form-hint.component.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/component/form-label.component.js +18 -0
- package/esm2022/lib/components/forms/form-field/component/form-label.component.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/directives/form-field-trigger.directive.js +14 -0
- package/esm2022/lib/components/forms/form-field/directives/form-field-trigger.directive.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/directives/form-prefix.directive.js +17 -0
- package/esm2022/lib/components/forms/form-field/directives/form-prefix.directive.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/directives/form-suffix.directive.js +17 -0
- package/esm2022/lib/components/forms/form-field/directives/form-suffix.directive.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/index.js +8 -0
- package/esm2022/lib/components/forms/form-field/index.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/model/form-control.contract.js +3 -0
- package/esm2022/lib/components/forms/form-field/model/form-control.contract.js.map +1 -0
- package/esm2022/lib/components/forms/form-field/model/form-field.types.js +1 -0
- package/esm2022/lib/components/forms/form-field/model/form-field.types.js.map +1 -0
- package/esm2022/lib/components/forms/input/directives/input.directive.js +148 -0
- package/esm2022/lib/components/forms/input/directives/input.directive.js.map +1 -0
- package/esm2022/lib/components/forms/input/index.js +2 -0
- package/esm2022/lib/components/forms/input/index.js.map +1 -0
- package/esm2022/lib/components/forms/input/model/input.defaults.js +27 -0
- package/esm2022/lib/components/forms/input/model/input.defaults.js.map +1 -0
- package/esm2022/lib/components/forms/input/model/input.types.js +1 -0
- package/esm2022/lib/components/forms/input/model/input.types.js.map +1 -0
- package/esm2022/lib/components/forms/multi-select/component/multi-select.component.js +1102 -0
- package/esm2022/lib/components/forms/multi-select/component/multi-select.component.js.map +1 -0
- package/esm2022/lib/components/forms/multi-select/model/multi-select.types.js +1 -0
- package/esm2022/lib/components/forms/multi-select/model/multi-select.types.js.map +1 -0
- package/esm2022/lib/components/forms/option/component/option.component.js +149 -0
- package/esm2022/lib/components/forms/option/component/option.component.js.map +1 -0
- package/esm2022/lib/components/forms/option/directives/option-slots.directive.js +58 -0
- package/esm2022/lib/components/forms/option/directives/option-slots.directive.js.map +1 -0
- package/esm2022/lib/components/forms/option/index.js +3 -0
- package/esm2022/lib/components/forms/option/index.js.map +1 -0
- package/esm2022/lib/components/forms/option/model/option.types.js +1 -0
- package/esm2022/lib/components/forms/option/model/option.types.js.map +1 -0
- package/esm2022/lib/components/forms/option-group/component/option-group.component.js +103 -0
- package/esm2022/lib/components/forms/option-group/component/option-group.component.js.map +1 -0
- package/esm2022/lib/components/forms/option-group/index.js +2 -0
- package/esm2022/lib/components/forms/option-group/index.js.map +1 -0
- package/esm2022/lib/components/forms/option-group/model/option-group.types.js +1 -0
- package/esm2022/lib/components/forms/option-group/model/option-group.types.js.map +1 -0
- package/esm2022/lib/components/forms/password-field/component/password-field.component.js +299 -0
- package/esm2022/lib/components/forms/password-field/component/password-field.component.js.map +1 -0
- package/esm2022/lib/components/forms/password-field/model/password-field-constants.js +5 -0
- package/esm2022/lib/components/forms/password-field/model/password-field-constants.js.map +1 -0
- package/esm2022/lib/components/forms/password-field/model/password-field.types.js +1 -0
- package/esm2022/lib/components/forms/password-field/model/password-field.types.js.map +1 -0
- package/esm2022/lib/components/forms/password-field/model/password-policy.types.js +1 -0
- package/esm2022/lib/components/forms/password-field/model/password-policy.types.js.map +1 -0
- package/esm2022/lib/components/forms/password-field/model/password-strength.js +67 -0
- package/esm2022/lib/components/forms/password-field/model/password-strength.js.map +1 -0
- package/esm2022/lib/components/forms/password-field/validators/password.validator.js +45 -0
- package/esm2022/lib/components/forms/password-field/validators/password.validator.js.map +1 -0
- package/esm2022/lib/components/forms/radio/component/radio.component.js +219 -0
- package/esm2022/lib/components/forms/radio/component/radio.component.js.map +1 -0
- package/esm2022/lib/components/forms/radio/model/radio.types.js +1 -0
- package/esm2022/lib/components/forms/radio/model/radio.types.js.map +1 -0
- package/esm2022/lib/components/forms/radio-group/component/radio-group.component.js +348 -0
- package/esm2022/lib/components/forms/radio-group/component/radio-group.component.js.map +1 -0
- package/esm2022/lib/components/forms/radio-group/model/radio-group.token.js +3 -0
- package/esm2022/lib/components/forms/radio-group/model/radio-group.token.js.map +1 -0
- package/esm2022/lib/components/forms/radio-group/model/radio-group.types.js +1 -0
- package/esm2022/lib/components/forms/radio-group/model/radio-group.types.js.map +1 -0
- package/esm2022/lib/components/forms/select/component/select.component.js +815 -0
- package/esm2022/lib/components/forms/select/component/select.component.js.map +1 -0
- package/esm2022/lib/components/forms/select/model/select.types.js +1 -0
- package/esm2022/lib/components/forms/select/model/select.types.js.map +1 -0
- package/esm2022/lib/components/forms/switch/component/switch.component.js +211 -0
- package/esm2022/lib/components/forms/switch/component/switch.component.js.map +1 -0
- package/esm2022/lib/components/forms/switch/index.js +2 -0
- package/esm2022/lib/components/forms/switch/index.js.map +1 -0
- package/esm2022/lib/components/forms/switch/model/switch.types.js +1 -0
- package/esm2022/lib/components/forms/switch/model/switch.types.js.map +1 -0
- package/esm2022/lib/components/forms/switch-group/component/switch-group.component.js +369 -0
- package/esm2022/lib/components/forms/switch-group/component/switch-group.component.js.map +1 -0
- package/esm2022/lib/components/forms/switch-group/model/switch-group.types.js +1 -0
- package/esm2022/lib/components/forms/switch-group/model/switch-group.types.js.map +1 -0
- package/esm2022/lib/components/forms/textarea/directives/textarea.directive.js +137 -0
- package/esm2022/lib/components/forms/textarea/directives/textarea.directive.js.map +1 -0
- package/esm2022/lib/components/forms/textarea/model/textarea.types.js +1 -0
- package/esm2022/lib/components/forms/textarea/model/textarea.types.js.map +1 -0
- package/esm2022/lib/components/icon/component/solaris-icon.component.js +20 -0
- package/esm2022/lib/components/icon/component/solaris-icon.component.js.map +1 -0
- package/esm2022/lib/components/icon/index.js +2 -0
- package/esm2022/lib/components/icon/index.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.js +27 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.js +96 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.js +22 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.js +105 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.js +95 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.js +631 -0
- package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.js +365 -0
- package/esm2022/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/index.js +8 -0
- package/esm2022/lib/components/interaction/dropdown-menu/index.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.js +3 -0
- package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.js +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.js.map +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.js +1 -0
- package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.js.map +1 -0
- package/esm2022/lib/components/interaction/popover/component/popover-panel.component.js +29 -0
- package/esm2022/lib/components/interaction/popover/component/popover-panel.component.js.map +1 -0
- package/esm2022/lib/components/interaction/popover/directives/popover-trigger.directive.js +325 -0
- package/esm2022/lib/components/interaction/popover/directives/popover-trigger.directive.js.map +1 -0
- package/esm2022/lib/components/interaction/popover/directives/popover.directive.js +16 -0
- package/esm2022/lib/components/interaction/popover/directives/popover.directive.js.map +1 -0
- package/esm2022/lib/components/interaction/popover/index.js +4 -0
- package/esm2022/lib/components/interaction/popover/index.js.map +1 -0
- package/esm2022/lib/components/interaction/popover/model/popover-position.js +145 -0
- package/esm2022/lib/components/interaction/popover/model/popover-position.js.map +1 -0
- package/esm2022/lib/components/interaction/popover/model/popover.types.js +1 -0
- package/esm2022/lib/components/interaction/popover/model/popover.types.js.map +1 -0
- package/esm2022/lib/components/interaction/popover/token/popover.tokens.js +3 -0
- package/esm2022/lib/components/interaction/popover/token/popover.tokens.js.map +1 -0
- package/esm2022/lib/components/interaction/tooltip/component/tooltip-panel.component.js +23 -0
- package/esm2022/lib/components/interaction/tooltip/component/tooltip-panel.component.js.map +1 -0
- package/esm2022/lib/components/interaction/tooltip/directive/tooltip.directive.js +405 -0
- package/esm2022/lib/components/interaction/tooltip/directive/tooltip.directive.js.map +1 -0
- package/esm2022/lib/components/interaction/tooltip/index.js +3 -0
- package/esm2022/lib/components/interaction/tooltip/index.js.map +1 -0
- package/esm2022/lib/components/interaction/tooltip/model/tooltip-position.js +209 -0
- package/esm2022/lib/components/interaction/tooltip/model/tooltip-position.js.map +1 -0
- package/esm2022/lib/components/interaction/tooltip/model/tooltip.types.js +1 -0
- package/esm2022/lib/components/interaction/tooltip/model/tooltip.types.js.map +1 -0
- package/esm2022/lib/components/interaction/tooltip/token/tooltip.tokens.js +3 -0
- package/esm2022/lib/components/interaction/tooltip/token/tooltip.tokens.js.map +1 -0
- package/esm2022/lib/components/navigation/editable-tabs/component/editable-tabs.component.js +323 -0
- package/esm2022/lib/components/navigation/editable-tabs/component/editable-tabs.component.js.map +1 -0
- package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js +34 -0
- package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js.map +1 -0
- package/esm2022/lib/components/navigation/editable-tabs/model/editable-tabs.types.js +1 -0
- package/esm2022/lib/components/navigation/editable-tabs/model/editable-tabs.types.js.map +1 -0
- package/esm2022/lib/components/navigation/segmented-control/component/segmented-control.component.js +242 -0
- package/esm2022/lib/components/navigation/segmented-control/component/segmented-control.component.js.map +1 -0
- package/esm2022/lib/components/navigation/segmented-control/item/segmented-item.component.js +197 -0
- package/esm2022/lib/components/navigation/segmented-control/item/segmented-item.component.js.map +1 -0
- package/esm2022/lib/components/navigation/segmented-control/model/segmented-control.types.js +1 -0
- package/esm2022/lib/components/navigation/segmented-control/model/segmented-control.types.js.map +1 -0
- package/esm2022/lib/components/navigation/segmented-control/token/segmented-control.tokens.js +3 -0
- package/esm2022/lib/components/navigation/segmented-control/token/segmented-control.tokens.js.map +1 -0
- package/esm2022/lib/components/navigation/stepper/actions/stepper-actions.component.js +15 -0
- package/esm2022/lib/components/navigation/stepper/actions/stepper-actions.component.js.map +1 -0
- package/esm2022/lib/components/navigation/stepper/component/stepper.component.js +99 -0
- package/esm2022/lib/components/navigation/stepper/component/stepper.component.js.map +1 -0
- package/esm2022/lib/components/navigation/stepper/content/stepper-content.component.js +13 -0
- package/esm2022/lib/components/navigation/stepper/content/stepper-content.component.js.map +1 -0
- package/esm2022/lib/components/navigation/stepper/model/stepper.types.js +1 -0
- package/esm2022/lib/components/navigation/stepper/model/stepper.types.js.map +1 -0
- package/esm2022/lib/components/navigation/stepper/step/step.component.js +91 -0
- package/esm2022/lib/components/navigation/stepper/step/step.component.js.map +1 -0
- package/esm2022/lib/components/navigation/stepper/token/stepper.tokens.js +3 -0
- package/esm2022/lib/components/navigation/stepper/token/stepper.tokens.js.map +1 -0
- package/esm2022/lib/components/navigation/tabs/component/tabs.component.js +169 -0
- package/esm2022/lib/components/navigation/tabs/component/tabs.component.js.map +1 -0
- package/esm2022/lib/components/navigation/tabs/index.js +5 -0
- package/esm2022/lib/components/navigation/tabs/index.js.map +1 -0
- package/esm2022/lib/components/navigation/tabs/model/tabs.types.js +1 -0
- package/esm2022/lib/components/navigation/tabs/model/tabs.types.js.map +1 -0
- package/esm2022/lib/components/navigation/tabs/tab/tab.component.js +195 -0
- package/esm2022/lib/components/navigation/tabs/tab/tab.component.js.map +1 -0
- package/esm2022/lib/components/navigation/tabs/tab-panel/tab-panel.component.js +55 -0
- package/esm2022/lib/components/navigation/tabs/tab-panel/tab-panel.component.js.map +1 -0
- package/esm2022/lib/components/navigation/tabs/token/tabs.tokens.js +3 -0
- package/esm2022/lib/components/navigation/tabs/token/tabs.tokens.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/component/dialog.component.js +49 -0
- package/esm2022/lib/components/overlay/dialog/component/dialog.component.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/components/dialog-actions.component.js +37 -0
- package/esm2022/lib/components/overlay/dialog/components/dialog-actions.component.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/components/dialog-content.component.js +13 -0
- package/esm2022/lib/components/overlay/dialog/components/dialog-content.component.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/components/dialog-header.component.js +32 -0
- package/esm2022/lib/components/overlay/dialog/components/dialog-header.component.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/container/dialog-container.component.js +142 -0
- package/esm2022/lib/components/overlay/dialog/container/dialog-container.component.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/flow/dialog-flow.component.js +56 -0
- package/esm2022/lib/components/overlay/dialog/flow/dialog-flow.component.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/flow/dialog-step.component.js +20 -0
- package/esm2022/lib/components/overlay/dialog/flow/dialog-step.component.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/model/dialog.types.js +1 -0
- package/esm2022/lib/components/overlay/dialog/model/dialog.types.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/provider/provide-solaris-dialog.js +13 -0
- package/esm2022/lib/components/overlay/dialog/provider/provide-solaris-dialog.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/service/dialog-ref.js +23 -0
- package/esm2022/lib/components/overlay/dialog/service/dialog-ref.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/service/dialog.service.js +111 -0
- package/esm2022/lib/components/overlay/dialog/service/dialog.service.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/token/dialog-data.token.js +4 -0
- package/esm2022/lib/components/overlay/dialog/token/dialog-data.token.js.map +1 -0
- package/esm2022/lib/components/overlay/dialog/token/dialog.tokens.js +15 -0
- package/esm2022/lib/components/overlay/dialog/token/dialog.tokens.js.map +1 -0
- package/esm2022/lib/services/accessibility/directives/visually-hidden.directive.js +25 -0
- package/esm2022/lib/services/accessibility/directives/visually-hidden.directive.js.map +1 -0
- package/esm2022/lib/services/accessibility/model/solaris-accessibility-config.interface.js +1 -0
- package/esm2022/lib/services/accessibility/model/solaris-accessibility-config.interface.js.map +1 -0
- package/esm2022/lib/services/accessibility/model/solaris-accessibility.types.js +1 -0
- package/esm2022/lib/services/accessibility/model/solaris-accessibility.types.js.map +1 -0
- package/esm2022/lib/services/accessibility/provider/provide-solaris-accessibility.js +10 -0
- package/esm2022/lib/services/accessibility/provider/provide-solaris-accessibility.js.map +1 -0
- package/esm2022/lib/services/accessibility/service/solaris-accessibility.service.js +60 -0
- package/esm2022/lib/services/accessibility/service/solaris-accessibility.service.js.map +1 -0
- package/esm2022/lib/services/accessibility/testing/solaris-accessibility-testing.provider.js +10 -0
- package/esm2022/lib/services/accessibility/testing/solaris-accessibility-testing.provider.js.map +1 -0
- package/esm2022/lib/services/accessibility/token/solaris-accessibility.tokens.js +3 -0
- package/esm2022/lib/services/accessibility/token/solaris-accessibility.tokens.js.map +1 -0
- package/esm2022/lib/services/icon/icons/groups/actions.js +242 -0
- package/esm2022/lib/services/icon/icons/groups/actions.js.map +1 -0
- package/esm2022/lib/services/icon/icons/groups/data.js +129 -0
- package/esm2022/lib/services/icon/icons/groups/data.js.map +1 -0
- package/esm2022/lib/services/icon/icons/groups/layout.js +50 -0
- package/esm2022/lib/services/icon/icons/groups/layout.js.map +1 -0
- package/esm2022/lib/services/icon/icons/groups/navigation.js +354 -0
- package/esm2022/lib/services/icon/icons/groups/navigation.js.map +1 -0
- package/esm2022/lib/services/icon/icons/groups/status.js +70 -0
- package/esm2022/lib/services/icon/icons/groups/status.js.map +1 -0
- package/esm2022/lib/services/icon/icons/groups/theme.js +49 -0
- package/esm2022/lib/services/icon/icons/groups/theme.js.map +1 -0
- package/esm2022/lib/services/icon/icons/index.js +2 -0
- package/esm2022/lib/services/icon/icons/index.js.map +1 -0
- package/esm2022/lib/services/icon/icons/solaris-built-in-icons.js +15 -0
- package/esm2022/lib/services/icon/icons/solaris-built-in-icons.js.map +1 -0
- package/esm2022/lib/services/icon/index.js +5 -0
- package/esm2022/lib/services/icon/index.js.map +1 -0
- package/esm2022/lib/services/icon/model/solaris-icon-definition.interface.js +1 -0
- package/esm2022/lib/services/icon/model/solaris-icon-definition.interface.js.map +1 -0
- package/esm2022/lib/services/icon/model/solaris-icon.types.js +1 -0
- package/esm2022/lib/services/icon/model/solaris-icon.types.js.map +1 -0
- package/esm2022/lib/services/icon/provider/provide-solaris-icons.js +10 -0
- package/esm2022/lib/services/icon/provider/provide-solaris-icons.js.map +1 -0
- package/esm2022/lib/services/icon/service/solaris-icon-registry.service.js +43 -0
- package/esm2022/lib/services/icon/service/solaris-icon-registry.service.js.map +1 -0
- package/esm2022/lib/services/icon/token/solaris-icon.tokens.js +3 -0
- package/esm2022/lib/services/icon/token/solaris-icon.tokens.js.map +1 -0
- package/esm2022/lib/services/theme/model/solaris-theme-config.interface.js +1 -0
- package/esm2022/lib/services/theme/model/solaris-theme-config.interface.js.map +1 -0
- package/esm2022/lib/services/theme/model/solaris-theme.types.js +1 -0
- package/esm2022/lib/services/theme/model/solaris-theme.types.js.map +1 -0
- package/esm2022/lib/services/theme/provider/provide-solaris-theme.js +10 -0
- package/esm2022/lib/services/theme/provider/provide-solaris-theme.js.map +1 -0
- package/esm2022/lib/services/theme/service/solaris-theme.service.js +22 -0
- package/esm2022/lib/services/theme/service/solaris-theme.service.js.map +1 -0
- package/esm2022/lib/services/theme/testing/solaris-theme-testing.provider.js +10 -0
- package/esm2022/lib/services/theme/testing/solaris-theme-testing.provider.js.map +1 -0
- package/esm2022/lib/services/theme/token/solaris-theme.tokens.js +3 -0
- package/esm2022/lib/services/theme/token/solaris-theme.tokens.js.map +1 -0
- package/esm2022/lib/services/translation/index.js +6 -0
- package/esm2022/lib/services/translation/index.js.map +1 -0
- package/esm2022/lib/services/translation/model/solaris-locale.types.js +1 -0
- package/esm2022/lib/services/translation/model/solaris-locale.types.js.map +1 -0
- package/esm2022/lib/services/translation/model/solaris-translate-config.interface.js +1 -0
- package/esm2022/lib/services/translation/model/solaris-translate-config.interface.js.map +1 -0
- package/esm2022/lib/services/translation/model/solaris-translate-defaults.js +96 -0
- package/esm2022/lib/services/translation/model/solaris-translate-defaults.js.map +1 -0
- package/esm2022/lib/services/translation/model/solaris-translation.types.js +1 -0
- package/esm2022/lib/services/translation/model/solaris-translation.types.js.map +1 -0
- package/esm2022/lib/services/translation/pipe/solaris-translate.pipe.js +20 -0
- package/esm2022/lib/services/translation/pipe/solaris-translate.pipe.js.map +1 -0
- package/esm2022/lib/services/translation/provider/provide-solaris-translate.js +10 -0
- package/esm2022/lib/services/translation/provider/provide-solaris-translate.js.map +1 -0
- package/esm2022/lib/services/translation/service/solaris-translate.service.js +87 -0
- package/esm2022/lib/services/translation/service/solaris-translate.service.js.map +1 -0
- package/esm2022/lib/services/translation/testing/solaris-translate-testing.provider.js +32 -0
- package/esm2022/lib/services/translation/testing/solaris-translate-testing.provider.js.map +1 -0
- package/esm2022/lib/services/translation/token/solaris-translate.tokens.js +3 -0
- package/esm2022/lib/services/translation/token/solaris-translate.tokens.js.map +1 -0
- package/esm2022/lib/testing/provide-solaris-testing.js +11 -0
- package/esm2022/lib/testing/provide-solaris-testing.js.map +1 -0
- package/esm2022/lib/testing/solaris-test-utilities.js +12 -0
- package/esm2022/lib/testing/solaris-test-utilities.js.map +1 -0
- package/index.d.ts +197 -0
- package/lib/components/actions/button/directives/button-icon.directive.d.ts +5 -0
- package/lib/components/actions/button/directives/button.directive.d.ts +22 -0
- package/lib/components/actions/button/index.d.ts +3 -0
- package/lib/components/actions/button/model/button.types.d.ts +5 -0
- package/lib/components/actions/button-group/component/button-group.component.d.ts +10 -0
- package/lib/components/actions/button-group/model/button-group.types.d.ts +2 -0
- package/lib/components/actions/icon-button/directives/icon-button-badge.directive.d.ts +5 -0
- package/lib/components/actions/icon-button/directives/icon-button.directive.d.ts +21 -0
- package/lib/components/actions/icon-button/model/icon-button.types.d.ts +5 -0
- package/lib/components/data-display/badge/component/badge.component.d.ts +12 -0
- package/lib/components/data-display/badge/directives/badge-icon.directive.d.ts +5 -0
- package/lib/components/data-display/badge/index.d.ts +3 -0
- package/lib/components/data-display/badge/model/badge.types.d.ts +6 -0
- package/lib/components/data-display/card/component/card.component.d.ts +10 -0
- package/lib/components/data-display/card/directives/card-actions.directive.d.ts +5 -0
- package/lib/components/data-display/card/directives/card-content.directive.d.ts +5 -0
- package/lib/components/data-display/card/directives/card-description.directive.d.ts +5 -0
- package/lib/components/data-display/card/directives/card-footer.directive.d.ts +6 -0
- package/lib/components/data-display/card/directives/card-header.directive.d.ts +5 -0
- package/lib/components/data-display/card/directives/card-media.directive.d.ts +5 -0
- package/lib/components/data-display/card/directives/card-title.directive.d.ts +5 -0
- package/lib/components/data-display/card/model/card.types.d.ts +4 -0
- package/lib/components/data-display/divider/component/divider.component.d.ts +17 -0
- package/lib/components/data-display/divider/index.d.ts +2 -0
- package/lib/components/data-display/divider/model/divider.types.d.ts +5 -0
- package/lib/components/feedback/alert/component/alert-actions.component.d.ts +5 -0
- package/lib/components/feedback/alert/component/alert.component.d.ts +26 -0
- package/lib/components/feedback/alert/directives/alert-description.directive.d.ts +5 -0
- package/lib/components/feedback/alert/directives/alert-title.directive.d.ts +5 -0
- package/lib/components/feedback/alert/model/alert.types.d.ts +5 -0
- package/lib/components/feedback/skeleton/component/skeleton.component.d.ts +17 -0
- package/lib/components/feedback/skeleton/model/skeleton.types.d.ts +5 -0
- package/lib/components/feedback/toast/component/toast.component.d.ts +62 -0
- package/lib/components/feedback/toast/container/toast-container.component.d.ts +10 -0
- package/lib/components/feedback/toast/model/toast.types.d.ts +106 -0
- package/lib/components/feedback/toast/provider/provide-solaris-toast.d.ts +3 -0
- package/lib/components/feedback/toast/service/toast.service.d.ts +36 -0
- package/lib/components/feedback/toast/token/toast.tokens.d.ts +5 -0
- package/lib/components/forms/checkbox/component/checkbox.component.d.ts +70 -0
- package/lib/components/forms/checkbox/model/checkbox.types.d.ts +5 -0
- package/lib/components/forms/checkbox-group/component/checkbox-group.component.d.ts +123 -0
- package/lib/components/forms/checkbox-group/model/checkbox-group.types.d.ts +5 -0
- package/lib/components/forms/email-field/component/email-field.component.d.ts +67 -0
- package/lib/components/forms/email-field/model/email-field.types.d.ts +6 -0
- package/lib/components/forms/email-field/validators/email-field.validators.d.ts +8 -0
- package/lib/components/forms/form-field/component/form-error.component.d.ts +5 -0
- package/lib/components/forms/form-field/component/form-field.component.d.ts +96 -0
- package/lib/components/forms/form-field/component/form-hint.component.d.ts +5 -0
- package/lib/components/forms/form-field/component/form-label.component.d.ts +5 -0
- package/lib/components/forms/form-field/directives/form-field-trigger.directive.d.ts +5 -0
- package/lib/components/forms/form-field/directives/form-prefix.directive.d.ts +5 -0
- package/lib/components/forms/form-field/directives/form-suffix.directive.d.ts +5 -0
- package/lib/components/forms/form-field/index.d.ts +8 -0
- package/lib/components/forms/form-field/model/form-control.contract.d.ts +11 -0
- package/lib/components/forms/form-field/model/form-field.types.d.ts +5 -0
- package/lib/components/forms/input/directives/input.directive.d.ts +37 -0
- package/lib/components/forms/input/index.d.ts +2 -0
- package/lib/components/forms/input/model/input.defaults.d.ts +2 -0
- package/lib/components/forms/input/model/input.types.d.ts +4 -0
- package/lib/components/forms/multi-select/component/multi-select.component.d.ts +199 -0
- package/lib/components/forms/multi-select/model/multi-select.types.d.ts +5 -0
- package/lib/components/forms/option/component/option.component.d.ts +58 -0
- package/lib/components/forms/option/directives/option-slots.directive.d.ts +21 -0
- package/lib/components/forms/option/index.d.ts +3 -0
- package/lib/components/forms/option/model/option.types.d.ts +3 -0
- package/lib/components/forms/option-group/component/option-group.component.d.ts +32 -0
- package/lib/components/forms/option-group/index.d.ts +2 -0
- package/lib/components/forms/option-group/model/option-group.types.d.ts +2 -0
- package/lib/components/forms/password-field/component/password-field.component.d.ts +81 -0
- package/lib/components/forms/password-field/model/password-field-constants.d.ts +4 -0
- package/lib/components/forms/password-field/model/password-field.types.d.ts +6 -0
- package/lib/components/forms/password-field/model/password-policy.types.d.ts +10 -0
- package/lib/components/forms/password-field/model/password-strength.d.ts +2 -0
- package/lib/components/forms/password-field/validators/password.validator.d.ts +3 -0
- package/lib/components/forms/radio/component/radio.component.d.ts +68 -0
- package/lib/components/forms/radio/model/radio.types.d.ts +4 -0
- package/lib/components/forms/radio-group/component/radio-group.component.d.ts +86 -0
- package/lib/components/forms/radio-group/model/radio-group.token.d.ts +2 -0
- package/lib/components/forms/radio-group/model/radio-group.types.d.ts +5 -0
- package/lib/components/forms/select/component/select.component.d.ts +158 -0
- package/lib/components/forms/select/model/select.types.d.ts +4 -0
- package/lib/components/forms/switch/component/switch.component.d.ts +66 -0
- package/lib/components/forms/switch/index.d.ts +2 -0
- package/lib/components/forms/switch/model/switch.types.d.ts +4 -0
- package/lib/components/forms/switch-group/component/switch-group.component.d.ts +91 -0
- package/lib/components/forms/switch-group/model/switch-group.types.d.ts +5 -0
- package/lib/components/forms/textarea/directives/textarea.directive.d.ts +37 -0
- package/lib/components/forms/textarea/model/textarea.types.d.ts +5 -0
- package/lib/components/icon/component/solaris-icon.component.d.ts +13 -0
- package/lib/components/icon/index.d.ts +1 -0
- package/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.d.ts +10 -0
- package/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.d.ts +28 -0
- package/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.d.ts +7 -0
- package/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.d.ts +21 -0
- package/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.d.ts +21 -0
- package/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.d.ts +68 -0
- package/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.d.ts +61 -0
- package/lib/components/interaction/dropdown-menu/index.d.ts +9 -0
- package/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.d.ts +8 -0
- package/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.d.ts +11 -0
- package/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.d.ts +2 -0
- package/lib/components/interaction/popover/component/popover-panel.component.d.ts +10 -0
- package/lib/components/interaction/popover/directives/popover-trigger.directive.d.ts +65 -0
- package/lib/components/interaction/popover/directives/popover.directive.d.ts +7 -0
- package/lib/components/interaction/popover/index.d.ts +4 -0
- package/lib/components/interaction/popover/model/popover-position.d.ts +4 -0
- package/lib/components/interaction/popover/model/popover.types.d.ts +7 -0
- package/lib/components/interaction/popover/token/popover.tokens.d.ts +12 -0
- package/lib/components/interaction/tooltip/component/tooltip-panel.component.d.ts +9 -0
- package/lib/components/interaction/tooltip/directive/tooltip.directive.d.ts +80 -0
- package/lib/components/interaction/tooltip/index.d.ts +3 -0
- package/lib/components/interaction/tooltip/model/tooltip-position.d.ts +5 -0
- package/lib/components/interaction/tooltip/model/tooltip.types.d.ts +22 -0
- package/lib/components/interaction/tooltip/token/tooltip.tokens.d.ts +21 -0
- package/lib/components/navigation/editable-tabs/component/editable-tabs.component.d.ts +69 -0
- package/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.d.ts +20 -0
- package/lib/components/navigation/editable-tabs/model/editable-tabs.types.d.ts +60 -0
- package/lib/components/navigation/segmented-control/component/segmented-control.component.d.ts +64 -0
- package/lib/components/navigation/segmented-control/item/segmented-item.component.d.ts +35 -0
- package/lib/components/navigation/segmented-control/model/segmented-control.types.d.ts +12 -0
- package/lib/components/navigation/segmented-control/token/segmented-control.tokens.d.ts +22 -0
- package/lib/components/navigation/stepper/actions/stepper-actions.component.d.ts +7 -0
- package/lib/components/navigation/stepper/component/stepper.component.d.ts +36 -0
- package/lib/components/navigation/stepper/content/stepper-content.component.d.ts +5 -0
- package/lib/components/navigation/stepper/model/stepper.types.d.ts +15 -0
- package/lib/components/navigation/stepper/step/step.component.d.ts +27 -0
- package/lib/components/navigation/stepper/token/stepper.tokens.d.ts +13 -0
- package/lib/components/navigation/tabs/component/tabs.component.d.ts +47 -0
- package/lib/components/navigation/tabs/index.d.ts +6 -0
- package/lib/components/navigation/tabs/model/tabs.types.d.ts +17 -0
- package/lib/components/navigation/tabs/tab/tab.component.d.ts +38 -0
- package/lib/components/navigation/tabs/tab-panel/tab-panel.component.d.ts +15 -0
- package/lib/components/navigation/tabs/token/tabs.tokens.d.ts +19 -0
- package/lib/components/overlay/dialog/component/dialog.component.d.ts +29 -0
- package/lib/components/overlay/dialog/components/dialog-actions.component.d.ts +12 -0
- package/lib/components/overlay/dialog/components/dialog-content.component.d.ts +5 -0
- package/lib/components/overlay/dialog/components/dialog-header.component.d.ts +19 -0
- package/lib/components/overlay/dialog/container/dialog-container.component.d.ts +32 -0
- package/lib/components/overlay/dialog/flow/dialog-flow.component.d.ts +19 -0
- package/lib/components/overlay/dialog/flow/dialog-step.component.d.ts +7 -0
- package/lib/components/overlay/dialog/model/dialog.types.d.ts +87 -0
- package/lib/components/overlay/dialog/provider/provide-solaris-dialog.d.ts +3 -0
- package/lib/components/overlay/dialog/service/dialog-ref.d.ts +11 -0
- package/lib/components/overlay/dialog/service/dialog.service.d.ts +20 -0
- package/lib/components/overlay/dialog/token/dialog-data.token.d.ts +4 -0
- package/lib/components/overlay/dialog/token/dialog.tokens.d.ts +4 -0
- package/lib/services/accessibility/directives/visually-hidden.directive.d.ts +5 -0
- package/lib/services/accessibility/model/solaris-accessibility-config.interface.d.ts +4 -0
- package/lib/services/accessibility/model/solaris-accessibility.types.d.ts +5 -0
- package/lib/services/accessibility/provider/provide-solaris-accessibility.d.ts +3 -0
- package/lib/services/accessibility/service/solaris-accessibility.service.d.ts +15 -0
- package/lib/services/accessibility/testing/solaris-accessibility-testing.provider.d.ts +3 -0
- package/lib/services/accessibility/token/solaris-accessibility.tokens.d.ts +3 -0
- package/lib/services/icon/icons/groups/actions.d.ts +2 -0
- package/lib/services/icon/icons/groups/data.d.ts +2 -0
- package/lib/services/icon/icons/groups/layout.d.ts +2 -0
- package/lib/services/icon/icons/groups/navigation.d.ts +2 -0
- package/lib/services/icon/icons/groups/status.d.ts +2 -0
- package/lib/services/icon/icons/groups/theme.d.ts +2 -0
- package/lib/services/icon/icons/index.d.ts +1 -0
- package/lib/services/icon/icons/solaris-built-in-icons.d.ts +2 -0
- package/lib/services/icon/index.d.ts +8 -0
- package/lib/services/icon/model/solaris-icon-definition.interface.d.ts +45 -0
- package/lib/services/icon/model/solaris-icon.types.d.ts +4 -0
- package/lib/services/icon/provider/provide-solaris-icons.d.ts +3 -0
- package/lib/services/icon/service/solaris-icon-registry.service.d.ts +12 -0
- package/lib/services/icon/token/solaris-icon.tokens.d.ts +6 -0
- package/lib/services/theme/model/solaris-theme-config.interface.d.ts +5 -0
- package/lib/services/theme/model/solaris-theme.types.d.ts +3 -0
- package/lib/services/theme/provider/provide-solaris-theme.d.ts +3 -0
- package/lib/services/theme/service/solaris-theme.service.d.ts +9 -0
- package/lib/services/theme/testing/solaris-theme-testing.provider.d.ts +3 -0
- package/lib/services/theme/token/solaris-theme.tokens.d.ts +3 -0
- package/lib/services/translation/index.d.ts +8 -0
- package/lib/services/translation/model/solaris-locale.types.d.ts +4 -0
- package/lib/services/translation/model/solaris-translate-config.interface.d.ts +8 -0
- package/lib/services/translation/model/solaris-translate-defaults.d.ts +2 -0
- package/lib/services/translation/model/solaris-translation.types.d.ts +3 -0
- package/lib/services/translation/pipe/solaris-translate.pipe.d.ts +8 -0
- package/lib/services/translation/provider/provide-solaris-translate.d.ts +3 -0
- package/lib/services/translation/service/solaris-translate.service.d.ts +15 -0
- package/lib/services/translation/testing/solaris-translate-testing.provider.d.ts +3 -0
- package/lib/services/translation/token/solaris-translate.tokens.d.ts +3 -0
- package/lib/testing/provide-solaris-testing.d.ts +10 -0
- package/lib/testing/solaris-test-utilities.d.ts +3 -0
- package/package.json +9 -5
- package/styles/_button.scss +50 -220
- package/styles/_core.scss +37 -37
- package/styles/_dropdown-menu.scss +72 -0
- package/styles/_icon-button.scss +43 -219
- package/styles/_index.scss +19 -19
- package/styles/_input.scss +255 -0
- package/styles/_popover.scss +73 -0
- package/styles/_theme.scss +36 -36
- package/styles/_toast.scss +9 -0
- package/styles/_tooltip.scss +3 -0
- package/fesm2022/educarehq-solaris-ui.mjs +0 -1047
- package/fesm2022/educarehq-solaris-ui.mjs.map +0 -1
- package/types/educarehq-solaris-ui.d.ts +0 -408
package/esm2022/lib/components/navigation/editable-tabs/component/editable-tabs.component.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-tabs.component.js","sourceRoot":"","sources":["../../../../../../../../../packages/angular/src/lib/components/navigation/editable-tabs/component/editable-tabs.component.ts","../../../../../../../../../packages/angular/src/lib/components/navigation/editable-tabs/component/editable-tabs.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n input,\n output,\n model,\n computed,\n signal,\n viewChildren,\n inject,\n ChangeDetectionStrategy,\n TemplateRef,\n NgZone,\n effect,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { SolarisTranslateService } from '../../../../services/translation';\nimport {\n SolarisTabPanelComponent,\n SolarisTabsComponent,\n SolarisTabComponent,\n} from '../../tabs';\nimport {\n SolarisDropdownMenuTriggerDirective,\n SolarisDropdownMenuItemComponent,\n SolarisDropdownMenuComponent,\n} from '../../../interaction/dropdown-menu';\nimport { SolarisDividerComponent } from '../../../data-display/divider';\nimport { SolarisIconComponent } from '../../../icon';\n\nimport type {\n SolarisEditableTabData,\n SolarisEditableTabAction,\n SolarisEditableTabRenameEvent,\n SolarisEditableTabRemoveEvent,\n SolarisEditableTabMoveEvent,\n SolarisEditableTabDefaultChangeEvent,\n SolarisEditableTabActionEvent,\n SolarisEditableTabMoveDirection,\n SolarisEditableTabsOrientation,\n SolarisEditableTabsAppearance,\n SolarisEditableTabsSize,\n SolarisEditableTabsDensity,\n SolarisEditableTabsActivationMode,\n SolarisEditableTabsContentTransition,\n SolarisEditableTabsShowActions,\n SolarisEditableTabsRenameOnBlur,\n} from '../model/editable-tabs.types';\n\n@Component({\n selector: 'solaris-editable-tabs',\n standalone: true,\n imports: [\n SolarisTabsComponent,\n SolarisTabComponent,\n SolarisTabPanelComponent,\n SolarisIconComponent,\n SolarisDropdownMenuComponent,\n SolarisDropdownMenuItemComponent,\n SolarisDropdownMenuTriggerDirective,\n SolarisDividerComponent,\n NgTemplateOutlet,\n ],\n templateUrl: './editable-tabs.component.html',\n styleUrls: ['./editable-tabs.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'solaris-editable-tabs',\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-appearance]': 'appearance()',\n '[attr.data-size]': 'size()',\n '[attr.data-density]': 'density()',\n '[attr.data-show-actions]': 'showActions()',\n },\n})\nexport class SolarisEditableTabsComponent {\n private readonly translateService = inject(SolarisTranslateService, {\n optional: true,\n });\n private readonly ngZone = inject(NgZone);\n\n readonly value = model<unknown>(undefined);\n readonly defaultValue = input<unknown>(undefined);\n readonly orientation = input<SolarisEditableTabsOrientation>('horizontal');\n readonly appearance = input<SolarisEditableTabsAppearance>('underline');\n readonly size = input<SolarisEditableTabsSize>('md');\n readonly density = input<SolarisEditableTabsDensity>('comfortable');\n readonly activationMode =\n input<SolarisEditableTabsActivationMode>('automatic');\n readonly contentTransition =\n input<SolarisEditableTabsContentTransition>('slide');\n\n readonly tabs = input.required<SolarisEditableTabData[]>();\n\n readonly editable = input<boolean>(true);\n readonly renamable = input<boolean>(true);\n readonly removable = input<boolean>(true);\n readonly movable = input<boolean>(true);\n readonly defaultable = input<boolean>(true);\n readonly showActions = input<SolarisEditableTabsShowActions>('focus-hover');\n readonly renameOnBlur = input<SolarisEditableTabsRenameOnBlur>('confirm');\n readonly minTabs = input<number>(1);\n readonly allowEmpty = input<boolean>(false);\n readonly ariaLabel = input<string | undefined>(undefined);\n readonly ariaLabelKey = input<string | undefined>(undefined);\n\n readonly tabContentMap = input<Record<string, TemplateRef<void>> | undefined>(\n undefined,\n );\n\n readonly valueChange = output<unknown>();\n readonly tabRenameRequested = output<SolarisEditableTabRenameEvent>();\n readonly tabRename = output<SolarisEditableTabRenameEvent>();\n readonly tabRemoveRequested = output<SolarisEditableTabRemoveEvent>();\n readonly tabRemove = output<SolarisEditableTabRemoveEvent>();\n readonly tabMoveRequested = output<SolarisEditableTabMoveEvent>();\n readonly tabMove = output<SolarisEditableTabMoveEvent>();\n readonly defaultTabChange = output<SolarisEditableTabDefaultChangeEvent>();\n readonly tabAction = output<SolarisEditableTabActionEvent>();\n\n readonly menuComponents = viewChildren(SolarisDropdownMenuComponent);\n readonly tabMenuRefs = computed(() => {\n this.tabs();\n return this.menuComponents();\n });\n\n protected readonly activeMenuIndex = signal<number | null>(null);\n protected readonly renamingTabId = signal<unknown | null>(null);\n protected readonly renameValue = signal<string>('');\n protected readonly defaultTabValue = signal<unknown>(undefined);\n\n protected readonly resolvedAriaLabel = computed(() => {\n if (this.ariaLabel()) return this.ariaLabel();\n const key = this.ariaLabelKey();\n if (key && this.translateService) {\n return this.translateService.translate(key);\n }\n return key ?? 'Editable tabs';\n });\n\n constructor() {\n effect(() => {\n const defaultValue = this.defaultValue();\n const currentValue = this.value();\n if (currentValue === undefined && defaultValue !== undefined) {\n this.value.set(defaultValue);\n }\n });\n }\n\n protected onValueChange(newValue: unknown): void {\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n\n protected hasActions(tab: SolarisEditableTabData): boolean {\n if (!this.editable()) return false;\n if (tab.disabled) return false;\n return (\n this.canRename(tab) ||\n this.canSetDefault(tab) ||\n this.canMoveLeft(tab) ||\n this.canMoveRight(tab) ||\n this.canRemove(tab) ||\n (tab.customActions?.length ?? 0) > 0\n );\n }\n\n protected canRename(tab: SolarisEditableTabData): boolean {\n if (!this.renamable()) return false;\n if (tab.locked && tab.renamable !== true) return false;\n return tab.renamable !== false;\n }\n\n protected canRemove(tab: SolarisEditableTabData): boolean {\n if (!this.removable()) return false;\n if (tab.locked && tab.removable !== true) return false;\n if (tab.removable === false) return false;\n if (tab.disabled) return false;\n return !(!this.allowEmpty() && this.tabs().length <= this.minTabs());\n }\n\n protected canMoveLeft(tab: SolarisEditableTabData): boolean {\n if (!this.movable()) return false;\n if (tab.locked && tab.movable !== true) return false;\n if (tab.movable === false) return false;\n if (tab.disabled) return false;\n const idx = this.tabs().indexOf(tab);\n if (idx <= 0) return false;\n for (let i = idx - 1; i >= 0; i--) {\n if (!this.tabs()[i].locked) return true;\n }\n return false;\n }\n\n protected canMoveRight(tab: SolarisEditableTabData): boolean {\n if (!this.movable()) return false;\n if (tab.locked && tab.movable !== true) return false;\n if (tab.movable === false) return false;\n if (tab.disabled) return false;\n const idx = this.tabs().indexOf(tab);\n if (idx < 0 || idx >= this.tabs().length - 1) return false;\n for (let i = idx + 1; i < this.tabs().length; i++) {\n if (!this.tabs()[i].locked) return true;\n }\n return false;\n }\n\n protected canSetDefault(tab: SolarisEditableTabData): boolean {\n if (!this.defaultable()) return false;\n if (tab.locked && tab.defaultable !== true) return false;\n if (tab.defaultable === false) return false;\n return !tab.disabled;\n }\n\n protected startRename(tab: SolarisEditableTabData): void {\n this.activeMenuIndex.set(null);\n this.renamingTabId.set(tab.value);\n this.renameValue.set(tab.label ?? '');\n this.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n // SECURITY_EXCEPTION: document.querySelector required to find rename input. SSR-safe via guard.\n const input = document.querySelector(\n `.solaris-editable-tabs__rename-input`,\n ) as HTMLInputElement | null;\n if (input) {\n input.focus();\n input.select();\n }\n });\n });\n }\n\n protected commitRename(tab: SolarisEditableTabData): void {\n const previousLabel = tab.label ?? '';\n const nextLabel = this.renameValue().trim();\n\n if (nextLabel === '') {\n this.renamingTabId.set(null);\n return;\n }\n\n if (nextLabel === previousLabel) {\n this.renamingTabId.set(null);\n return;\n }\n\n const event: SolarisEditableTabRenameEvent = {\n value: tab.value,\n previousLabel,\n nextLabel,\n source: 'inline',\n };\n\n this.tabRenameRequested.emit(event);\n this.tabRename.emit(event);\n this.renamingTabId.set(null);\n }\n\n protected cancelRename(): void {\n this.renamingTabId.set(null);\n }\n\n protected onRenameKeydown(\n event: KeyboardEvent,\n tab: SolarisEditableTabData,\n ): void {\n event.stopPropagation();\n if (event.key === 'Enter') {\n event.preventDefault();\n this.commitRename(tab);\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.cancelRename();\n }\n }\n\n protected onRenameBlur(tab: SolarisEditableTabData): void {\n if (this.renameOnBlur() === 'confirm') {\n this.commitRename(tab);\n } else {\n this.cancelRename();\n }\n }\n\n protected confirmRemove(tab: SolarisEditableTabData, index: number): void {\n this.activeMenuIndex.set(null);\n if (!this.canRemove(tab)) return;\n\n const wasActive = this.value() === tab.value;\n\n const event: SolarisEditableTabRemoveEvent = {\n value: tab.value,\n index,\n wasActive,\n };\n\n this.tabRemoveRequested.emit(event);\n this.tabRemove.emit(event);\n }\n\n protected moveLabel(direction: 'left' | 'right'): string {\n if (this.orientation() === 'vertical') {\n const key =\n direction === 'left'\n ? 'solaris.editableTabs.moveUp'\n : 'solaris.editableTabs.moveDown';\n return (\n this.resolveText(key) ??\n (direction === 'left' ? 'Move up' : 'Move down')\n );\n }\n const key =\n direction === 'left'\n ? 'solaris.editableTabs.moveLeft'\n : 'solaris.editableTabs.moveRight';\n return (\n this.resolveText(key) ??\n (direction === 'left' ? 'Move left' : 'Move right')\n );\n }\n\n protected moveIcon(direction: 'left' | 'right'): string {\n if (this.orientation() === 'vertical') {\n return direction === 'left' ? 'chevron-up' : 'chevron-down';\n }\n return direction === 'left' ? 'chevron-left' : 'chevron-right';\n }\n\n protected moveTab(\n tab: SolarisEditableTabData,\n index: number,\n direction: SolarisEditableTabMoveDirection,\n ): void {\n this.activeMenuIndex.set(null);\n const isPrev = direction === 'left' || direction === 'up';\n const nextIndex = isPrev ? index - 1 : index + 1;\n if (nextIndex < 0 || nextIndex >= this.tabs().length) return;\n if (!this.canMoveLeft(tab) && isPrev) return;\n if (!this.canMoveRight(tab) && !isPrev) return;\n\n const event: SolarisEditableTabMoveEvent = {\n value: tab.value,\n previousIndex: index,\n nextIndex,\n direction,\n };\n\n this.tabMoveRequested.emit(event);\n this.tabMove.emit(event);\n }\n\n protected setAsDefault(tab: SolarisEditableTabData): void {\n this.activeMenuIndex.set(null);\n const previousDefaultValue = this.defaultTabValue();\n this.defaultTabValue.set(tab.value);\n\n const event: SolarisEditableTabDefaultChangeEvent = {\n value: tab.value,\n previousDefaultValue:\n previousDefaultValue !== undefined\n ? (previousDefaultValue as unknown)\n : undefined,\n };\n\n this.defaultTabChange.emit(event);\n }\n\n protected handleCustomAction(\n tab: SolarisEditableTabData,\n action: SolarisEditableTabAction,\n ): void {\n this.activeMenuIndex.set(null);\n const event: SolarisEditableTabActionEvent = {\n tabValue: tab.value,\n actionId: action.id,\n action,\n };\n this.tabAction.emit(event);\n }\n\n protected isRenaming(tab: SolarisEditableTabData): boolean {\n return this.renamingTabId() === tab.value;\n }\n\n protected getContentTemplate(\n tab: SolarisEditableTabData,\n ): TemplateRef<void> | null {\n const contentMap = this.tabContentMap();\n if (contentMap) {\n const key = String(tab.value);\n return contentMap[key] ?? null;\n }\n return tab.content ?? null;\n }\n\n protected resolveText(key: string): string | undefined {\n if (this.translateService) {\n const result = this.translateService.translate(key);\n return result !== key ? result : undefined;\n }\n return undefined;\n }\n}\n","<div class=\"solaris-editable-tabs__wrapper\">\n <solaris-tabs\n [value]=\"$any(value())\"\n (valueChange)=\"onValueChange($event)\"\n [defaultValue]=\"$any(defaultValue())\"\n [orientation]=\"orientation()\"\n [appearance]=\"appearance()\"\n [size]=\"size()\"\n [density]=\"density()\"\n [activationMode]=\"activationMode()\"\n [contentTransition]=\"contentTransition()\"\n [ariaLabel]=\"resolvedAriaLabel()\"\n class=\"solaris-editable-tabs__inner\"\n >\n @for (tab of tabs(); track tab.value; let i = $index) {\n <solaris-tab\n [value]=\"$any(tab.value)\"\n [label]=\"isRenaming(tab) ? undefined : tab.label\"\n [labelKey]=\"isRenaming(tab) ? undefined : tab.labelKey\"\n [icon]=\"tab.icon\"\n [badge]=\"tab.badge\"\n [disabled]=\"tab.disabled ?? false\"\n [attr.data-editable]=\"editable() ? '' : null\"\n [attr.data-has-icon]=\"tab.icon ? '' : null\"\n [attr.data-menu-open]=\"activeMenuIndex() === i ? '' : null\"\n >\n @if (isRenaming(tab)) {\n <span class=\"solaris-editable-tabs__rename-wrapper\">\n <input\n #renameInput\n class=\"solaris-editable-tabs__rename-input\"\n [value]=\"renameValue()\"\n (input)=\"renameValue.set($any($event).target.value)\"\n (keydown)=\"onRenameKeydown($event, tab)\"\n (blur)=\"onRenameBlur(tab)\"\n [attr.aria-label]=\"\n resolveText('solaris.editableTabs.confirmRename') ??\n 'Confirm rename'\n \"\n />\n </span>\n } @else if (hasActions(tab)) {\n <span\n class=\"solaris-editable-tabs__action-area\"\n [class.solaris-editable-tabs__action-area--visible]=\"\n showActions() === 'always'\n \"\n [class.solaris-editable-tabs__action-area--replaces-icon]=\"\n !!tab.icon\n \"\n >\n <button\n class=\"solaris-editable-tabs__action-trigger\"\n solaris-dropdown-menu-trigger\n [solarisDropdownMenuTriggerFor]=\"tabMenuRefs()[i]\"\n [solarisDropdownMenuPlacement]=\"'bottom'\"\n [solarisDropdownMenuAlign]=\"'start'\"\n [solarisDropdownMenuOffset]=\"4\"\n [solarisDropdownMenuRestoreFocus]=\"true\"\n [solarisDropdownMenuOpen]=\"activeMenuIndex() === i\"\n (menuOpened)=\"activeMenuIndex.set(i)\"\n (menuClosed)=\"activeMenuIndex.set(null)\"\n [attr.aria-label]=\"\n resolveText('solaris.editableTabs.tabActions') ?? 'Tab actions'\n \"\n tabindex=\"0\"\n type=\"button\"\n >\n <solaris-icon name=\"ellipses\" [decorative]=\"true\" />\n </button>\n </span>\n }\n </solaris-tab>\n }\n\n @for (tab of tabs(); track tab.value) {\n <solaris-tab-panel [value]=\"$any(tab.value)\" [lazy]=\"true\">\n @if (getContentTemplate(tab); as tmpl) {\n <ng-container [ngTemplateOutlet]=\"tmpl\" />\n }\n </solaris-tab-panel>\n }\n </solaris-tabs>\n</div>\n\n@for (tab of tabs(); track tab.value; let i = $index) {\n <solaris-dropdown-menu>\n @if (canRename(tab)) {\n <solaris-dropdown-menu-item\n [label]=\"resolveText('solaris.editableTabs.rename') ?? 'Rename'\"\n icon=\"edit\"\n (itemSelected)=\"startRename(tab)\"\n />\n }\n @if (canSetDefault(tab)) {\n <solaris-dropdown-menu-item\n [label]=\"\n resolveText('solaris.editableTabs.setAsDefault') ?? 'Set as default'\n \"\n icon=\"check\"\n (itemSelected)=\"setAsDefault(tab)\"\n />\n }\n @if (canMoveLeft(tab)) {\n <solaris-dropdown-menu-item\n [label]=\"moveLabel('left')\"\n [icon]=\"moveIcon('left')\"\n (itemSelected)=\"\n moveTab(tab, i, orientation() === 'vertical' ? 'up' : 'left')\n \"\n />\n }\n @if (canMoveRight(tab)) {\n <solaris-dropdown-menu-item\n [label]=\"moveLabel('right')\"\n [icon]=\"moveIcon('right')\"\n (itemSelected)=\"\n moveTab(tab, i, orientation() === 'vertical' ? 'down' : 'right')\n \"\n />\n }\n @if (tab.customActions?.length) {\n @for (action of tab.customActions; track action.id) {\n @if (!action.disabled) {\n <solaris-dropdown-menu-item\n [label]=\"action.label ?? ''\"\n [labelKey]=\"action.labelKey\"\n [icon]=\"action.icon\"\n [color]=\"action.color ?? 'neutral'\"\n (itemSelected)=\"handleCustomAction(tab, action)\"\n />\n }\n }\n }\n @if (canRemove(tab)) {\n <solaris-divider />\n <solaris-dropdown-menu-item\n [label]=\"resolveText('solaris.editableTabs.remove') ?? 'Remove'\"\n icon=\"x\"\n color=\"danger\"\n (itemSelected)=\"confirmRemove(tab, i)\"\n />\n }\n </solaris-dropdown-menu>\n}\n"]}
|
package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, input, ChangeDetectionStrategy, TemplateRef, contentChild, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SolarisEditableTabComponent {
|
|
4
|
+
value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
5
|
+
locked = input(false, ...(ngDevMode ? [{ debugName: "locked" }] : /* istanbul ignore next */ []));
|
|
6
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
7
|
+
icon = input(undefined, ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
8
|
+
label = input(undefined, ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
9
|
+
labelKey = input(undefined, ...(ngDevMode ? [{ debugName: "labelKey" }] : /* istanbul ignore next */ []));
|
|
10
|
+
movable = input(undefined, ...(ngDevMode ? [{ debugName: "movable" }] : /* istanbul ignore next */ []));
|
|
11
|
+
removable = input(undefined, ...(ngDevMode ? [{ debugName: "removable" }] : /* istanbul ignore next */ []));
|
|
12
|
+
renamable = input(undefined, ...(ngDevMode ? [{ debugName: "renamable" }] : /* istanbul ignore next */ []));
|
|
13
|
+
defaultable = input(undefined, ...(ngDevMode ? [{ debugName: "defaultable" }] : /* istanbul ignore next */ []));
|
|
14
|
+
badge = input(undefined, ...(ngDevMode ? [{ debugName: "badge" }] : /* istanbul ignore next */ []));
|
|
15
|
+
customActions = input(undefined, ...(ngDevMode ? [{ debugName: "customActions" }] : /* istanbul ignore next */ []));
|
|
16
|
+
content = contentChild(TemplateRef, ...(ngDevMode ? [{ debugName: "content" }] : /* istanbul ignore next */ []));
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisEditableTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: SolarisEditableTabComponent, isStandalone: true, selector: "solaris-editable-tab", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, locked: { classPropertyName: "locked", publicName: "locked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelKey: { classPropertyName: "labelKey", publicName: "labelKey", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, removable: { classPropertyName: "removable", publicName: "removable", isSignal: true, isRequired: false, transformFunction: null }, renamable: { classPropertyName: "renamable", publicName: "renamable", isSignal: true, isRequired: false, transformFunction: null }, defaultable: { classPropertyName: "defaultable", publicName: "defaultable", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, customActions: { classPropertyName: "customActions", publicName: "customActions", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-value": "value()", "attr.data-locked": "locked() ? \"\" : null" }, classAttribute: "solaris-editable-tab" }, queries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisEditableTabComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{
|
|
23
|
+
selector: 'solaris-editable-tab',
|
|
24
|
+
standalone: true,
|
|
25
|
+
template: '',
|
|
26
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
27
|
+
host: {
|
|
28
|
+
class: 'solaris-editable-tab',
|
|
29
|
+
'[attr.data-value]': 'value()',
|
|
30
|
+
'[attr.data-locked]': 'locked() ? "" : null',
|
|
31
|
+
},
|
|
32
|
+
}]
|
|
33
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], locked: [{ type: i0.Input, args: [{ isSignal: true, alias: "locked", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelKey", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], removable: [{ type: i0.Input, args: [{ isSignal: true, alias: "removable", required: false }] }], renamable: [{ type: i0.Input, args: [{ isSignal: true, alias: "renamable", required: false }] }], defaultable: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultable", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], customActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "customActions", required: false }] }], content: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
34
|
+
//# sourceMappingURL=editable-tab.component.js.map
|
package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-tab.component.js","sourceRoot":"","sources":["../../../../../../../../../packages/angular/src/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,uBAAuB,EACvB,WAAW,EACX,YAAY,GACb,MAAM,eAAe,CAAC;;AAevB,MAAM,OAAO,2BAA2B;IAC7B,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAW,CAAC;IAClC,MAAM,GAAG,KAAK,CAAU,KAAK,6EAAC,CAAC;IAC/B,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC,CAAC;IACjC,IAAI,GAAG,KAAK,CAAqB,SAAS,2EAAC,CAAC;IAC5C,KAAK,GAAG,KAAK,CAAqB,SAAS,4EAAC,CAAC;IAC7C,QAAQ,GAAG,KAAK,CAAqB,SAAS,+EAAC,CAAC;IAChD,OAAO,GAAG,KAAK,CAAsB,SAAS,8EAAC,CAAC;IAChD,SAAS,GAAG,KAAK,CAAsB,SAAS,gFAAC,CAAC;IAClD,SAAS,GAAG,KAAK,CAAsB,SAAS,gFAAC,CAAC;IAClD,WAAW,GAAG,KAAK,CAAsB,SAAS,kFAAC,CAAC;IACpD,KAAK,GAAG,KAAK,CAA8B,SAAS,4EAAC,CAAC;IACtD,aAAa,GAAG,KAAK,CAC5B,SAAS,oFACV,CAAC;IAEO,OAAO,GAAG,YAAY,CAAC,WAAW,8EAAC,CAAC;wGAhBlC,2BAA2B;4FAA3B,2BAA2B,wwDAgBN,WAAW,gEAxBjC,EAAE;;4FAQD,2BAA2B;kBAXvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACJ,KAAK,EAAE,sBAAsB;wBAC7B,mBAAmB,EAAE,SAAS;wBAC9B,oBAAoB,EAAE,sBAAsB;qBAC7C;iBACF;+sCAiBiC,WAAW","sourcesContent":["import {\n Component,\n input,\n ChangeDetectionStrategy,\n TemplateRef,\n contentChild,\n} from '@angular/core';\n\nimport type { SolarisEditableTabAction } from '../model/editable-tabs.types';\n\n@Component({\n selector: 'solaris-editable-tab',\n standalone: true,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'solaris-editable-tab',\n '[attr.data-value]': 'value()',\n '[attr.data-locked]': 'locked() ? \"\" : null',\n },\n})\nexport class SolarisEditableTabComponent {\n readonly value = input.required<unknown>();\n readonly locked = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly icon = input<string | undefined>(undefined);\n readonly label = input<string | undefined>(undefined);\n readonly labelKey = input<string | undefined>(undefined);\n readonly movable = input<boolean | undefined>(undefined);\n readonly removable = input<boolean | undefined>(undefined);\n readonly renamable = input<boolean | undefined>(undefined);\n readonly defaultable = input<boolean | undefined>(undefined);\n readonly badge = input<string | number | undefined>(undefined);\n readonly customActions = input<SolarisEditableTabAction[] | undefined>(\n undefined,\n );\n\n readonly content = contentChild(TemplateRef);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=editable-tabs.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-tabs.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/angular/src/lib/components/navigation/editable-tabs/model/editable-tabs.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { TemplateRef } from '@angular/core';\n\nimport type {\n SolarisTabsOrientation,\n SolarisTabsAppearance,\n SolarisTabsSize,\n SolarisTabsDensity,\n SolarisTabsActivationMode,\n SolarisTabsContentTransition,\n} from '../../tabs';\n\nexport type SolarisEditableTabsOrientation = SolarisTabsOrientation;\nexport type SolarisEditableTabsAppearance = SolarisTabsAppearance;\nexport type SolarisEditableTabsSize = SolarisTabsSize;\nexport type SolarisEditableTabsDensity = SolarisTabsDensity;\nexport type SolarisEditableTabsActivationMode = SolarisTabsActivationMode;\nexport type SolarisEditableTabsContentTransition = SolarisTabsContentTransition;\n\nexport type SolarisEditableTabsShowActions = 'hover' | 'always' | 'focus-hover';\nexport type SolarisEditableTabsRenameOnBlur = 'confirm' | 'cancel';\nexport type SolarisEditableTabMoveDirection = 'left' | 'right' | 'up' | 'down';\n\nexport interface SolarisEditableTabData<TValue = unknown> {\n value: TValue;\n label?: string;\n labelKey?: string;\n icon?: string;\n badge?: string | number;\n disabled?: boolean;\n locked?: boolean;\n renamable?: boolean;\n removable?: boolean;\n movable?: boolean;\n defaultable?: boolean;\n customActions?: SolarisEditableTabAction[];\n content?: TemplateRef<void>;\n}\n\nexport interface SolarisEditableTabAction {\n id: string;\n label?: string;\n labelKey?: string;\n icon?: string;\n color?: 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info';\n disabled?: boolean;\n}\n\nexport interface SolarisEditableTabRenameEvent<TValue = unknown> {\n value: TValue;\n previousLabel: string;\n nextLabel: string;\n source: 'inline' | 'api';\n}\n\nexport interface SolarisEditableTabRemoveEvent<TValue = unknown> {\n value: TValue;\n index: number;\n wasActive: boolean;\n}\n\nexport interface SolarisEditableTabMoveEvent<TValue = unknown> {\n value: TValue;\n previousIndex: number;\n nextIndex: number;\n direction: SolarisEditableTabMoveDirection;\n}\n\nexport interface SolarisEditableTabDefaultChangeEvent<TValue = unknown> {\n value: TValue;\n previousDefaultValue?: TValue;\n}\n\nexport interface SolarisEditableTabActionEvent<TValue = unknown> {\n tabValue: TValue;\n actionId: string;\n action: SolarisEditableTabAction;\n}\n"]}
|
package/esm2022/lib/components/navigation/segmented-control/component/segmented-control.component.js
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { Component, input, output, model, contentChildren, computed, signal, inject, ChangeDetectionStrategy, effect, ElementRef, NgZone, Injector, forwardRef, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { SolarisSegmentedItemComponent } from '../item/segmented-item.component';
|
|
4
|
+
import { SolarisTranslateService } from '../../../../services/translation';
|
|
5
|
+
import { SOLARIS_SEGMENTED_CONTROL, } from '../token/segmented-control.tokens';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
let nextInstanceId = 0;
|
|
8
|
+
export class SolarisSegmentedControlComponent {
|
|
9
|
+
translateService = inject(SolarisTranslateService, {
|
|
10
|
+
optional: true,
|
|
11
|
+
});
|
|
12
|
+
elementRef = inject(ElementRef);
|
|
13
|
+
injector = inject(Injector);
|
|
14
|
+
ngZone = inject(NgZone);
|
|
15
|
+
items = contentChildren(SolarisSegmentedItemComponent, ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
16
|
+
invalid = input(false, ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
|
|
17
|
+
indicator = input(true, ...(ngDevMode ? [{ debugName: "indicator" }] : /* istanbul ignore next */ []));
|
|
18
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
19
|
+
readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
|
|
20
|
+
required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
|
|
21
|
+
fullWidth = input(false, ...(ngDevMode ? [{ debugName: "fullWidth" }] : /* istanbul ignore next */ []));
|
|
22
|
+
equalWidth = input(false, ...(ngDevMode ? [{ debugName: "equalWidth" }] : /* istanbul ignore next */ []));
|
|
23
|
+
value = model(undefined, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
24
|
+
defaultValue = input(undefined, ...(ngDevMode ? [{ debugName: "defaultValue" }] : /* istanbul ignore next */ []));
|
|
25
|
+
compareFn = computed(() => this.compareWith(), ...(ngDevMode ? [{ debugName: "compareFn" }] : /* istanbul ignore next */ []));
|
|
26
|
+
ariaLabel = input(undefined, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
27
|
+
ariaLabelKey = input(undefined, ...(ngDevMode ? [{ debugName: "ariaLabelKey" }] : /* istanbul ignore next */ []));
|
|
28
|
+
ariaLabelledby = input(undefined, ...(ngDevMode ? [{ debugName: "ariaLabelledby" }] : /* istanbul ignore next */ []));
|
|
29
|
+
size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
30
|
+
radius = input('md', ...(ngDevMode ? [{ debugName: "radius" }] : /* istanbul ignore next */ []));
|
|
31
|
+
compareWith = input(Object.is, ...(ngDevMode ? [{ debugName: "compareWith" }] : /* istanbul ignore next */ []));
|
|
32
|
+
density = input('comfortable', ...(ngDevMode ? [{ debugName: "density" }] : /* istanbul ignore next */ []));
|
|
33
|
+
appearance = input('surface', ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
|
|
34
|
+
orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
35
|
+
valueChange = output();
|
|
36
|
+
segmentedChange = output();
|
|
37
|
+
instanceId = `solaris-segmented-control-${nextInstanceId++}`;
|
|
38
|
+
touched = signal(false, ...(ngDevMode ? [{ debugName: "touched" }] : /* istanbul ignore next */ []));
|
|
39
|
+
indicatorWidth = signal('0', ...(ngDevMode ? [{ debugName: "indicatorWidth" }] : /* istanbul ignore next */ []));
|
|
40
|
+
indicatorHeight = signal('0', ...(ngDevMode ? [{ debugName: "indicatorHeight" }] : /* istanbul ignore next */ []));
|
|
41
|
+
indicatorReady = signal(false, ...(ngDevMode ? [{ debugName: "indicatorReady" }] : /* istanbul ignore next */ []));
|
|
42
|
+
internalDisabled = signal(false, ...(ngDevMode ? [{ debugName: "internalDisabled" }] : /* istanbul ignore next */ []));
|
|
43
|
+
indicatorTransformX = signal('translateX(0)', ...(ngDevMode ? [{ debugName: "indicatorTransformX" }] : /* istanbul ignore next */ []));
|
|
44
|
+
indicatorTransformY = signal('translateY(0)', ...(ngDevMode ? [{ debugName: "indicatorTransformY" }] : /* istanbul ignore next */ []));
|
|
45
|
+
onChange = () => undefined;
|
|
46
|
+
onTouched = () => undefined;
|
|
47
|
+
resizeObserver = null;
|
|
48
|
+
contentObserver = null;
|
|
49
|
+
isEffectivelyDisabled = computed(() => {
|
|
50
|
+
return this.disabled() || this.internalDisabled();
|
|
51
|
+
}, ...(ngDevMode ? [{ debugName: "isEffectivelyDisabled" }] : /* istanbul ignore next */ []));
|
|
52
|
+
hasValue = computed(() => {
|
|
53
|
+
return this.value() !== undefined && this.value() !== null;
|
|
54
|
+
}, ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
|
|
55
|
+
resolvedAriaLabel = computed(() => {
|
|
56
|
+
if (this.ariaLabel())
|
|
57
|
+
return this.ariaLabel();
|
|
58
|
+
const ariaLabelKey = this.ariaLabelKey();
|
|
59
|
+
if (ariaLabelKey && this.translateService) {
|
|
60
|
+
return this.translateService.translate(ariaLabelKey);
|
|
61
|
+
}
|
|
62
|
+
return ariaLabelKey ?? undefined;
|
|
63
|
+
}, ...(ngDevMode ? [{ debugName: "resolvedAriaLabel" }] : /* istanbul ignore next */ []));
|
|
64
|
+
constructor() {
|
|
65
|
+
effect(() => {
|
|
66
|
+
const defaultValue = this.defaultValue();
|
|
67
|
+
const currentValue = this.value();
|
|
68
|
+
if (currentValue === undefined && defaultValue !== undefined) {
|
|
69
|
+
this.value.set(defaultValue);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
ngAfterViewInit() {
|
|
74
|
+
this.setupIndicatorMeasurement();
|
|
75
|
+
effect(() => {
|
|
76
|
+
this.value();
|
|
77
|
+
this.appearance();
|
|
78
|
+
this.orientation();
|
|
79
|
+
this.size();
|
|
80
|
+
this.density();
|
|
81
|
+
this.radius();
|
|
82
|
+
this.ngZone.runOutsideAngular(() => {
|
|
83
|
+
requestAnimationFrame(() => this.measureIndicator());
|
|
84
|
+
});
|
|
85
|
+
}, { injector: this.injector });
|
|
86
|
+
}
|
|
87
|
+
ngOnDestroy() {
|
|
88
|
+
this.disconnectObserver();
|
|
89
|
+
}
|
|
90
|
+
selectItem(item) {
|
|
91
|
+
if (this.isEffectivelyDisabled())
|
|
92
|
+
return;
|
|
93
|
+
if (this.readonly())
|
|
94
|
+
return;
|
|
95
|
+
const previousValue = this.value();
|
|
96
|
+
const newValue = item.value();
|
|
97
|
+
if (this.compareFn()(newValue, previousValue))
|
|
98
|
+
return;
|
|
99
|
+
this.value.set(newValue);
|
|
100
|
+
this.valueChange.emit(newValue);
|
|
101
|
+
this.segmentedChange.emit({ value: newValue, previousValue });
|
|
102
|
+
this.onChange(newValue);
|
|
103
|
+
this.markAsTouched();
|
|
104
|
+
}
|
|
105
|
+
focusItem(item) {
|
|
106
|
+
// SECURITY_EXCEPTION: nativeElement.querySelector required to find item DOM element for programmatic focus. Standard DOM method, SSR-safe with guard.
|
|
107
|
+
const nativeElement = this.elementRef.nativeElement;
|
|
108
|
+
const itemElements = nativeElement.querySelectorAll('solaris-segmented-item');
|
|
109
|
+
const items = this.items();
|
|
110
|
+
const index = items.indexOf(item);
|
|
111
|
+
if (index >= 0 && itemElements[index]) {
|
|
112
|
+
itemElements[index].focus();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// ControlValueAccessor
|
|
116
|
+
writeValue(safe) {
|
|
117
|
+
this.value.set(safe);
|
|
118
|
+
this.ngZone.runOutsideAngular(() => {
|
|
119
|
+
requestAnimationFrame(() => this.measureIndicator());
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
registerOnChange(fn) {
|
|
123
|
+
this.onChange = fn;
|
|
124
|
+
}
|
|
125
|
+
registerOnTouched(fn) {
|
|
126
|
+
this.onTouched = fn;
|
|
127
|
+
}
|
|
128
|
+
setDisabledState(isDisabled) {
|
|
129
|
+
this.internalDisabled.set(isDisabled);
|
|
130
|
+
}
|
|
131
|
+
markAsTouched() {
|
|
132
|
+
if (!this.touched()) {
|
|
133
|
+
this.touched.set(true);
|
|
134
|
+
this.onTouched();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
measureIndicator() {
|
|
138
|
+
if (!this.indicator())
|
|
139
|
+
return;
|
|
140
|
+
// SECURITY_EXCEPTION: nativeElement.querySelector required to measure indicator position for animation. Read-only measurement, SSR-safe.
|
|
141
|
+
const nativeEl = this.elementRef.nativeElement;
|
|
142
|
+
const container = nativeEl.querySelector('.solaris-segmented-control__container');
|
|
143
|
+
if (!container)
|
|
144
|
+
return;
|
|
145
|
+
const selectedItem = container.querySelector('solaris-segmented-item[data-selected="true"]');
|
|
146
|
+
if (!selectedItem)
|
|
147
|
+
return;
|
|
148
|
+
const isVertical = this.orientation() === 'vertical';
|
|
149
|
+
if (isVertical) {
|
|
150
|
+
this.indicatorTransformY.set(`translateY(${selectedItem.offsetTop}px)`);
|
|
151
|
+
this.indicatorHeight.set(`${selectedItem.offsetHeight}px`);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
this.indicatorTransformX.set(`translateX(${selectedItem.offsetLeft}px)`);
|
|
155
|
+
this.indicatorWidth.set(`${selectedItem.offsetWidth}px`);
|
|
156
|
+
}
|
|
157
|
+
if (!this.indicatorReady()) {
|
|
158
|
+
requestAnimationFrame(() => this.indicatorReady.set(true));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
setupIndicatorMeasurement() {
|
|
162
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
163
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
164
|
+
this.ngZone.runOutsideAngular(() => {
|
|
165
|
+
requestAnimationFrame(() => this.measureIndicator());
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
// SECURITY_EXCEPTION: nativeElement required for ResizeObserver target. Standard DOM API, SSR-safe with typeof guard.
|
|
169
|
+
const nativeEl = this.elementRef.nativeElement;
|
|
170
|
+
this.resizeObserver.observe(nativeEl);
|
|
171
|
+
}
|
|
172
|
+
if (typeof MutationObserver !== 'undefined') {
|
|
173
|
+
// SECURITY_EXCEPTION: nativeElement required for MutationObserver target. Standard DOM API, SSR-safe with typeof guard.
|
|
174
|
+
const nativeEl = this.elementRef.nativeElement;
|
|
175
|
+
this.contentObserver = new MutationObserver(() => {
|
|
176
|
+
this.ngZone.runOutsideAngular(() => {
|
|
177
|
+
requestAnimationFrame(() => this.measureIndicator());
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
this.contentObserver.observe(nativeEl, {
|
|
181
|
+
childList: true,
|
|
182
|
+
subtree: true,
|
|
183
|
+
characterData: true,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
this.ngZone.runOutsideAngular(() => {
|
|
187
|
+
requestAnimationFrame(() => this.measureIndicator());
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
disconnectObserver() {
|
|
191
|
+
this.resizeObserver?.disconnect();
|
|
192
|
+
this.resizeObserver = null;
|
|
193
|
+
this.contentObserver?.disconnect();
|
|
194
|
+
this.contentObserver = null;
|
|
195
|
+
}
|
|
196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: SolarisSegmentedControlComponent, isStandalone: true, selector: "solaris-segmented-control", inputs: { invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, indicator: { classPropertyName: "indicator", publicName: "indicator", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, equalWidth: { classPropertyName: "equalWidth", publicName: "equalWidth", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelKey: { classPropertyName: "ariaLabelKey", publicName: "ariaLabelKey", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange", segmentedChange: "segmentedChange" }, host: { attributes: { "role": "radiogroup" }, properties: { "attr.data-size": "size()", "attr.data-radius": "radius()", "attr.data-density": "density()", "attr.data-appearance": "appearance()", "attr.data-orientation": "orientation()", "attr.data-invalid": "invalid() || undefined", "attr.data-readonly": "readonly() || undefined", "attr.aria-required": "required() || undefined", "attr.data-full-width": "fullWidth() || undefined", "attr.data-equal-width": "equalWidth() || undefined", "attr.aria-label": "resolvedAriaLabel() || undefined", "attr.data-show-indicator": "indicator() || undefined", "attr.aria-labelledby": "ariaLabelledby() || undefined", "attr.data-disabled": "isEffectivelyDisabled() || undefined", "attr.aria-disabled": "isEffectivelyDisabled() || undefined", "attr.aria-invalid": "invalid() || (required() && touched() && !hasValue()) ? \"true\" : undefined" }, classAttribute: "solaris-segmented-control" }, providers: [
|
|
198
|
+
{
|
|
199
|
+
provide: NG_VALUE_ACCESSOR,
|
|
200
|
+
useExisting: forwardRef(() => SolarisSegmentedControlComponent),
|
|
201
|
+
multi: true,
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
provide: SOLARIS_SEGMENTED_CONTROL,
|
|
205
|
+
useExisting: SolarisSegmentedControlComponent,
|
|
206
|
+
},
|
|
207
|
+
], queries: [{ propertyName: "items", predicate: SolarisSegmentedItemComponent, isSignal: true }], ngImport: i0, template: "<div class=\"solaris-segmented-control__container\">\n <ng-content select=\"solaris-segmented-item\" />\n\n @if (indicator() && hasValue()) {\n <div\n class=\"solaris-segmented-control__indicator\"\n [class.solaris-segmented-control__indicator--animate]=\"indicatorReady()\"\n [class.solaris-segmented-control__indicator--vertical]=\"\n orientation() === 'vertical'\n \"\n [style.transform]=\"\n orientation() === 'vertical'\n ? indicatorTransformY()\n : indicatorTransformX()\n \"\n [style.width]=\"orientation() === 'vertical' ? '' : indicatorWidth()\"\n [style.height]=\"orientation() === 'vertical' ? indicatorHeight() : ''\"\n ></div>\n }\n</div>\n", styles: [":host{--solaris-segmented-item-height: auto;--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-radius: var(--solaris-radius-md);--solaris-segmented-padding: var(--solaris-spacing-1);--solaris-segmented-item-color: var(--solaris-text-default);--solaris-segmented-item-padding-y: var(--solaris-spacing-2);--solaris-segmented-item-padding-x: var(--solaris-spacing-3);--solaris-segmented-background: var(--solaris-surface-subtle);--solaris-segmented-indicator-shadow: var(--solaris-shadow-sm);--solaris-segmented-border-color: var(--solaris-border-subtle);--solaris-segmented-border-width: var(--solaris-border-width-sm);--solaris-segmented-focus-ring-color: var(--solaris-primary-base);--solaris-segmented-item-selected-color: var(--solaris-text-strong);--solaris-segmented-indicator-background: var(--solaris-surface-muted);--solaris-segmented-item-hover-background: var(--solaris-surface-muted);width:auto;display:inline-flex}:host([data-full-width]){width:100%;display:flex}.solaris-segmented-control__container{width:100%;display:flex;position:relative;align-items:stretch;box-sizing:border-box;gap:var(--solaris-segmented-gap);padding:var(--solaris-segmented-padding);border-radius:var(--solaris-segmented-radius);background:var(--solaris-segmented-background)}:host([data-orientation=horizontal]) .solaris-segmented-control__container{flex-direction:row}:host([data-orientation=vertical]) .solaris-segmented-control__container{flex-direction:column}:host([data-appearance=outline]) .solaris-segmented-control__container{background:var(--solaris-surface-base);border:var(--solaris-segmented-border-width) solid var(--solaris-segmented-border-color)}:host([data-appearance=surface]) .solaris-segmented-control__container{background:var(--solaris-segmented-background)}:host([data-radius=sm]){--solaris-segmented-radius: var(--solaris-radius-sm)}:host([data-radius=md]){--solaris-segmented-radius: var(--solaris-radius-md)}:host([data-radius=lg]){--solaris-segmented-radius: var(--solaris-radius-lg)}:host([data-radius=full]){--solaris-segmented-radius: var(--solaris-radius-full)}:host([data-size=sm]){--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-padding: var(--solaris-spacing-1)}:host([data-size=md]){--solaris-segmented-gap: var(--solaris-spacing-2);--solaris-segmented-padding: var(--solaris-spacing-1)}:host([data-size=lg]){--solaris-segmented-gap: var(--solaris-spacing-3);--solaris-segmented-padding: var(--solaris-spacing-1)}:host([data-size=sm][data-density=compact]){--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-padding: var(--solaris-border-width-sm)}:host([data-size=md][data-density=compact]){--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-padding: var(--solaris-border-width-sm)}:host([data-size=lg][data-density=compact]){--solaris-segmented-gap: var(--solaris-spacing-2);--solaris-segmented-padding: var(--solaris-border-width-sm)}:host([data-equal-width]) .solaris-segmented-control__container>solaris-segmented-item{flex:1;justify-content:center}:host([data-disabled]){cursor:not-allowed}:host([data-disabled]) .solaris-segmented-control__indicator{opacity:.6;cursor:not-allowed}:host([data-invalid]) .solaris-segmented-control__container{outline-offset:var(--solaris-border-width-sm);outline:var(--solaris-border-width-md) solid var(--solaris-danger-base)}:host([data-invalid][data-appearance=outline]) .solaris-segmented-control__container{border-color:var(--solaris-danger-base)}.solaris-segmented-control__indicator{left:0;z-index:1;height:auto;transition:none;position:absolute;pointer-events:none;box-sizing:border-box;top:var(--solaris-segmented-padding);bottom:var(--solaris-segmented-padding);box-shadow:var(--solaris-segmented-indicator-shadow);background:var(--solaris-segmented-indicator-background);border:var(--solaris-border-width-sm) solid var(--solaris-border-subtle);border-radius:max(var(--solaris-radius-sm),var(--solaris-segmented-radius) - var(--solaris-segmented-padding),var(--solaris-segmented-padding) - var(--solaris-segmented-radius))}.solaris-segmented-control__indicator--vertical{top:0;height:0;width:auto;bottom:auto;left:var(--solaris-segmented-padding);right:var(--solaris-segmented-padding)}.solaris-segmented-control__indicator--animate{transition:transform var(--solaris-motion-duration-normal) var(--solaris-motion-easing-standard),width var(--solaris-motion-duration-normal) var(--solaris-motion-easing-standard),height var(--solaris-motion-duration-normal) var(--solaris-motion-easing-standard)}@media(prefers-reduced-motion:reduce){.solaris-segmented-control__indicator{transition:none}}:host-context([data-reduced-motion=true]) .solaris-segmented-control__indicator{transition:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
208
|
+
}
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisSegmentedControlComponent, decorators: [{
|
|
210
|
+
type: Component,
|
|
211
|
+
args: [{ selector: 'solaris-segmented-control', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
212
|
+
class: 'solaris-segmented-control',
|
|
213
|
+
role: 'radiogroup',
|
|
214
|
+
'[attr.data-size]': 'size()',
|
|
215
|
+
'[attr.data-radius]': 'radius()',
|
|
216
|
+
'[attr.data-density]': 'density()',
|
|
217
|
+
'[attr.data-appearance]': 'appearance()',
|
|
218
|
+
'[attr.data-orientation]': 'orientation()',
|
|
219
|
+
'[attr.data-invalid]': 'invalid() || undefined',
|
|
220
|
+
'[attr.data-readonly]': 'readonly() || undefined',
|
|
221
|
+
'[attr.aria-required]': 'required() || undefined',
|
|
222
|
+
'[attr.data-full-width]': 'fullWidth() || undefined',
|
|
223
|
+
'[attr.data-equal-width]': 'equalWidth() || undefined',
|
|
224
|
+
'[attr.aria-label]': 'resolvedAriaLabel() || undefined',
|
|
225
|
+
'[attr.data-show-indicator]': 'indicator() || undefined',
|
|
226
|
+
'[attr.aria-labelledby]': 'ariaLabelledby() || undefined',
|
|
227
|
+
'[attr.data-disabled]': 'isEffectivelyDisabled() || undefined',
|
|
228
|
+
'[attr.aria-disabled]': 'isEffectivelyDisabled() || undefined',
|
|
229
|
+
'[attr.aria-invalid]': 'invalid() || (required() && touched() && !hasValue()) ? "true" : undefined',
|
|
230
|
+
}, providers: [
|
|
231
|
+
{
|
|
232
|
+
provide: NG_VALUE_ACCESSOR,
|
|
233
|
+
useExisting: forwardRef(() => SolarisSegmentedControlComponent),
|
|
234
|
+
multi: true,
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
provide: SOLARIS_SEGMENTED_CONTROL,
|
|
238
|
+
useExisting: SolarisSegmentedControlComponent,
|
|
239
|
+
},
|
|
240
|
+
], template: "<div class=\"solaris-segmented-control__container\">\n <ng-content select=\"solaris-segmented-item\" />\n\n @if (indicator() && hasValue()) {\n <div\n class=\"solaris-segmented-control__indicator\"\n [class.solaris-segmented-control__indicator--animate]=\"indicatorReady()\"\n [class.solaris-segmented-control__indicator--vertical]=\"\n orientation() === 'vertical'\n \"\n [style.transform]=\"\n orientation() === 'vertical'\n ? indicatorTransformY()\n : indicatorTransformX()\n \"\n [style.width]=\"orientation() === 'vertical' ? '' : indicatorWidth()\"\n [style.height]=\"orientation() === 'vertical' ? indicatorHeight() : ''\"\n ></div>\n }\n</div>\n", styles: [":host{--solaris-segmented-item-height: auto;--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-radius: var(--solaris-radius-md);--solaris-segmented-padding: var(--solaris-spacing-1);--solaris-segmented-item-color: var(--solaris-text-default);--solaris-segmented-item-padding-y: var(--solaris-spacing-2);--solaris-segmented-item-padding-x: var(--solaris-spacing-3);--solaris-segmented-background: var(--solaris-surface-subtle);--solaris-segmented-indicator-shadow: var(--solaris-shadow-sm);--solaris-segmented-border-color: var(--solaris-border-subtle);--solaris-segmented-border-width: var(--solaris-border-width-sm);--solaris-segmented-focus-ring-color: var(--solaris-primary-base);--solaris-segmented-item-selected-color: var(--solaris-text-strong);--solaris-segmented-indicator-background: var(--solaris-surface-muted);--solaris-segmented-item-hover-background: var(--solaris-surface-muted);width:auto;display:inline-flex}:host([data-full-width]){width:100%;display:flex}.solaris-segmented-control__container{width:100%;display:flex;position:relative;align-items:stretch;box-sizing:border-box;gap:var(--solaris-segmented-gap);padding:var(--solaris-segmented-padding);border-radius:var(--solaris-segmented-radius);background:var(--solaris-segmented-background)}:host([data-orientation=horizontal]) .solaris-segmented-control__container{flex-direction:row}:host([data-orientation=vertical]) .solaris-segmented-control__container{flex-direction:column}:host([data-appearance=outline]) .solaris-segmented-control__container{background:var(--solaris-surface-base);border:var(--solaris-segmented-border-width) solid var(--solaris-segmented-border-color)}:host([data-appearance=surface]) .solaris-segmented-control__container{background:var(--solaris-segmented-background)}:host([data-radius=sm]){--solaris-segmented-radius: var(--solaris-radius-sm)}:host([data-radius=md]){--solaris-segmented-radius: var(--solaris-radius-md)}:host([data-radius=lg]){--solaris-segmented-radius: var(--solaris-radius-lg)}:host([data-radius=full]){--solaris-segmented-radius: var(--solaris-radius-full)}:host([data-size=sm]){--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-padding: var(--solaris-spacing-1)}:host([data-size=md]){--solaris-segmented-gap: var(--solaris-spacing-2);--solaris-segmented-padding: var(--solaris-spacing-1)}:host([data-size=lg]){--solaris-segmented-gap: var(--solaris-spacing-3);--solaris-segmented-padding: var(--solaris-spacing-1)}:host([data-size=sm][data-density=compact]){--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-padding: var(--solaris-border-width-sm)}:host([data-size=md][data-density=compact]){--solaris-segmented-gap: var(--solaris-spacing-1);--solaris-segmented-padding: var(--solaris-border-width-sm)}:host([data-size=lg][data-density=compact]){--solaris-segmented-gap: var(--solaris-spacing-2);--solaris-segmented-padding: var(--solaris-border-width-sm)}:host([data-equal-width]) .solaris-segmented-control__container>solaris-segmented-item{flex:1;justify-content:center}:host([data-disabled]){cursor:not-allowed}:host([data-disabled]) .solaris-segmented-control__indicator{opacity:.6;cursor:not-allowed}:host([data-invalid]) .solaris-segmented-control__container{outline-offset:var(--solaris-border-width-sm);outline:var(--solaris-border-width-md) solid var(--solaris-danger-base)}:host([data-invalid][data-appearance=outline]) .solaris-segmented-control__container{border-color:var(--solaris-danger-base)}.solaris-segmented-control__indicator{left:0;z-index:1;height:auto;transition:none;position:absolute;pointer-events:none;box-sizing:border-box;top:var(--solaris-segmented-padding);bottom:var(--solaris-segmented-padding);box-shadow:var(--solaris-segmented-indicator-shadow);background:var(--solaris-segmented-indicator-background);border:var(--solaris-border-width-sm) solid var(--solaris-border-subtle);border-radius:max(var(--solaris-radius-sm),var(--solaris-segmented-radius) - var(--solaris-segmented-padding),var(--solaris-segmented-padding) - var(--solaris-segmented-radius))}.solaris-segmented-control__indicator--vertical{top:0;height:0;width:auto;bottom:auto;left:var(--solaris-segmented-padding);right:var(--solaris-segmented-padding)}.solaris-segmented-control__indicator--animate{transition:transform var(--solaris-motion-duration-normal) var(--solaris-motion-easing-standard),width var(--solaris-motion-duration-normal) var(--solaris-motion-easing-standard),height var(--solaris-motion-duration-normal) var(--solaris-motion-easing-standard)}@media(prefers-reduced-motion:reduce){.solaris-segmented-control__indicator{transition:none}}:host-context([data-reduced-motion=true]) .solaris-segmented-control__indicator{transition:none}\n"] }]
|
|
241
|
+
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SolarisSegmentedItemComponent), { isSignal: true }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], indicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "indicator", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], equalWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "equalWidth", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelKey", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledby", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], radius: [{ type: i0.Input, args: [{ isSignal: true, alias: "radius", required: false }] }], compareWith: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareWith", required: false }] }], density: [{ type: i0.Input, args: [{ isSignal: true, alias: "density", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], segmentedChange: [{ type: i0.Output, args: ["segmentedChange"] }] } });
|
|
242
|
+
//# sourceMappingURL=segmented-control.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control.component.js","sourceRoot":"","sources":["../../../../../../../../../packages/angular/src/lib/components/navigation/segmented-control/component/segmented-control.component.ts","../../../../../../../../../packages/angular/src/lib/components/navigation/segmented-control/component/segmented-control.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n input,\n output,\n model,\n contentChildren,\n computed,\n signal,\n inject,\n ChangeDetectionStrategy,\n effect,\n ElementRef,\n NgZone,\n Injector,\n forwardRef,\n AfterViewInit,\n OnDestroy,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\n\nimport { SolarisSegmentedItemComponent } from '../item/segmented-item.component';\nimport { SolarisTranslateService } from '../../../../services/translation';\n\nimport {\n SOLARIS_SEGMENTED_CONTROL,\n type SolarisSegmentedControlInterface,\n} from '../token/segmented-control.tokens';\n\nimport type {\n SolarisSegmentedControlOrientation,\n SolarisSegmentedControlAppearance,\n SolarisSegmentedControlSize,\n SolarisSegmentedControlDensity,\n SolarisSegmentedControlRadius,\n SolarisSegmentedControlChangeEvent,\n} from '../model/segmented-control.types';\n\nlet nextInstanceId = 0;\n\n@Component({\n selector: 'solaris-segmented-control',\n standalone: true,\n imports: [],\n templateUrl: './segmented-control.component.html',\n styleUrls: ['./segmented-control.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'solaris-segmented-control',\n role: 'radiogroup',\n '[attr.data-size]': 'size()',\n '[attr.data-radius]': 'radius()',\n '[attr.data-density]': 'density()',\n '[attr.data-appearance]': 'appearance()',\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-invalid]': 'invalid() || undefined',\n '[attr.data-readonly]': 'readonly() || undefined',\n '[attr.aria-required]': 'required() || undefined',\n '[attr.data-full-width]': 'fullWidth() || undefined',\n '[attr.data-equal-width]': 'equalWidth() || undefined',\n '[attr.aria-label]': 'resolvedAriaLabel() || undefined',\n '[attr.data-show-indicator]': 'indicator() || undefined',\n '[attr.aria-labelledby]': 'ariaLabelledby() || undefined',\n '[attr.data-disabled]': 'isEffectivelyDisabled() || undefined',\n '[attr.aria-disabled]': 'isEffectivelyDisabled() || undefined',\n '[attr.aria-invalid]':\n 'invalid() || (required() && touched() && !hasValue()) ? \"true\" : undefined',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SolarisSegmentedControlComponent),\n multi: true,\n },\n {\n provide: SOLARIS_SEGMENTED_CONTROL,\n useExisting: SolarisSegmentedControlComponent,\n },\n ],\n})\nexport class SolarisSegmentedControlComponent\n implements\n SolarisSegmentedControlInterface,\n ControlValueAccessor,\n AfterViewInit,\n OnDestroy\n{\n private readonly translateService = inject(SolarisTranslateService, {\n optional: true,\n });\n private readonly elementRef = inject(ElementRef);\n private readonly injector = inject(Injector);\n private readonly ngZone = inject(NgZone);\n\n readonly items = contentChildren(SolarisSegmentedItemComponent);\n\n readonly invalid = input<boolean>(false);\n readonly indicator = input<boolean>(true);\n readonly disabled = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly fullWidth = input<boolean>(false);\n readonly equalWidth = input<boolean>(false);\n readonly value = model<unknown>(undefined);\n readonly defaultValue = input<unknown>(undefined);\n readonly compareFn = computed(() => this.compareWith());\n readonly ariaLabel = input<string | undefined>(undefined);\n readonly ariaLabelKey = input<string | undefined>(undefined);\n readonly ariaLabelledby = input<string | undefined>(undefined);\n readonly size = input<SolarisSegmentedControlSize>('md');\n readonly radius = input<SolarisSegmentedControlRadius>('md');\n readonly compareWith = input<(a: unknown, b: unknown) => boolean>(Object.is);\n readonly density = input<SolarisSegmentedControlDensity>('comfortable');\n readonly appearance = input<SolarisSegmentedControlAppearance>('surface');\n readonly orientation =\n input<SolarisSegmentedControlOrientation>('horizontal');\n\n readonly valueChange = output<unknown>();\n readonly segmentedChange = output<SolarisSegmentedControlChangeEvent>();\n\n protected readonly instanceId = `solaris-segmented-control-${nextInstanceId++}`;\n protected readonly touched = signal(false);\n protected readonly indicatorWidth = signal('0');\n protected readonly indicatorHeight = signal('0');\n protected readonly indicatorReady = signal(false);\n protected readonly internalDisabled = signal(false);\n protected readonly indicatorTransformX = signal('translateX(0)');\n protected readonly indicatorTransformY = signal('translateY(0)');\n\n private onChange: (value: unknown) => void = () => undefined;\n private onTouched: () => void = () => undefined;\n private resizeObserver: ResizeObserver | null = null;\n private contentObserver: MutationObserver | null = null;\n\n protected readonly isEffectivelyDisabled = computed(() => {\n return this.disabled() || this.internalDisabled();\n });\n\n protected readonly hasValue = computed(() => {\n return this.value() !== undefined && this.value() !== null;\n });\n\n protected readonly resolvedAriaLabel = computed(() => {\n if (this.ariaLabel()) return this.ariaLabel();\n const ariaLabelKey = this.ariaLabelKey();\n if (ariaLabelKey && this.translateService) {\n return this.translateService.translate(ariaLabelKey);\n }\n return ariaLabelKey ?? undefined;\n });\n\n constructor() {\n effect(() => {\n const defaultValue = this.defaultValue();\n const currentValue = this.value();\n if (currentValue === undefined && defaultValue !== undefined) {\n this.value.set(defaultValue);\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.setupIndicatorMeasurement();\n\n effect(\n () => {\n this.value();\n this.appearance();\n this.orientation();\n this.size();\n this.density();\n this.radius();\n this.ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.measureIndicator());\n });\n },\n { injector: this.injector },\n );\n }\n\n ngOnDestroy(): void {\n this.disconnectObserver();\n }\n\n selectItem(item: SolarisSegmentedItemComponent): void {\n if (this.isEffectivelyDisabled()) return;\n if (this.readonly()) return;\n const previousValue = this.value();\n const newValue = item.value();\n if (this.compareFn()(newValue, previousValue)) return;\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n this.segmentedChange.emit({ value: newValue, previousValue });\n this.onChange(newValue);\n this.markAsTouched();\n }\n\n focusItem(item: SolarisSegmentedItemComponent): void {\n // SECURITY_EXCEPTION: nativeElement.querySelector required to find item DOM element for programmatic focus. Standard DOM method, SSR-safe with guard.\n const nativeElement = this.elementRef.nativeElement as HTMLElement;\n const itemElements = nativeElement.querySelectorAll(\n 'solaris-segmented-item',\n ) as NodeListOf<HTMLElement>;\n const items = this.items();\n const index = items.indexOf(item);\n if (index >= 0 && itemElements[index]) {\n itemElements[index].focus();\n }\n }\n\n // ControlValueAccessor\n writeValue(safe: unknown): void {\n this.value.set(safe);\n this.ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.measureIndicator());\n });\n }\n\n registerOnChange(fn: (value: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.internalDisabled.set(isDisabled);\n }\n\n private markAsTouched(): void {\n if (!this.touched()) {\n this.touched.set(true);\n this.onTouched();\n }\n }\n\n private measureIndicator(): void {\n if (!this.indicator()) return;\n\n // SECURITY_EXCEPTION: nativeElement.querySelector required to measure indicator position for animation. Read-only measurement, SSR-safe.\n const nativeEl = this.elementRef.nativeElement as HTMLElement;\n const container = nativeEl.querySelector(\n '.solaris-segmented-control__container',\n ) as HTMLElement | null;\n if (!container) return;\n\n const selectedItem = container.querySelector(\n 'solaris-segmented-item[data-selected=\"true\"]',\n ) as HTMLElement | null;\n if (!selectedItem) return;\n\n const isVertical = this.orientation() === 'vertical';\n\n if (isVertical) {\n this.indicatorTransformY.set(`translateY(${selectedItem.offsetTop}px)`);\n this.indicatorHeight.set(`${selectedItem.offsetHeight}px`);\n } else {\n this.indicatorTransformX.set(`translateX(${selectedItem.offsetLeft}px)`);\n this.indicatorWidth.set(`${selectedItem.offsetWidth}px`);\n }\n\n if (!this.indicatorReady()) {\n requestAnimationFrame(() => this.indicatorReady.set(true));\n }\n }\n\n private setupIndicatorMeasurement(): void {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => {\n this.ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.measureIndicator());\n });\n });\n // SECURITY_EXCEPTION: nativeElement required for ResizeObserver target. Standard DOM API, SSR-safe with typeof guard.\n const nativeEl = this.elementRef.nativeElement as HTMLElement;\n this.resizeObserver.observe(nativeEl);\n }\n\n if (typeof MutationObserver !== 'undefined') {\n // SECURITY_EXCEPTION: nativeElement required for MutationObserver target. Standard DOM API, SSR-safe with typeof guard.\n const nativeEl = this.elementRef.nativeElement as HTMLElement;\n this.contentObserver = new MutationObserver(() => {\n this.ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.measureIndicator());\n });\n });\n this.contentObserver.observe(nativeEl, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n }\n\n this.ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.measureIndicator());\n });\n }\n\n private disconnectObserver(): void {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n this.contentObserver?.disconnect();\n this.contentObserver = null;\n }\n}\n","<div class=\"solaris-segmented-control__container\">\n <ng-content select=\"solaris-segmented-item\" />\n\n @if (indicator() && hasValue()) {\n <div\n class=\"solaris-segmented-control__indicator\"\n [class.solaris-segmented-control__indicator--animate]=\"indicatorReady()\"\n [class.solaris-segmented-control__indicator--vertical]=\"\n orientation() === 'vertical'\n \"\n [style.transform]=\"\n orientation() === 'vertical'\n ? indicatorTransformY()\n : indicatorTransformX()\n \"\n [style.width]=\"orientation() === 'vertical' ? '' : indicatorWidth()\"\n [style.height]=\"orientation() === 'vertical' ? indicatorHeight() : ''\"\n ></div>\n }\n</div>\n"]}
|