@ngstarter-ui/components 1.0.28 → 1.0.31
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/fesm2022/ngstarter-ui-components-action-required.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-action-required.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-alert.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-alert.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-announcement.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-announcement.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-autocomplete.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-autocomplete.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-avatar.mjs +8 -8
- package/fesm2022/ngstarter-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-badge.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-badge.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-block-loader.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-block-loader.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-button-toggle.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-button-toggle.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-button.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-button.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-card.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-card.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-checkbox.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-checkbox.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-chips.mjs +21 -7
- package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-color-picker.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-color-picker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-color-switcher.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-color-switcher.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-command-bar.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-command-bar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Bk6QTli8.mjs → ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs} +4 -4
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Bk6QTli8.mjs.map → ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-BbkC_t86.mjs → ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-BbkC_t86.mjs.map → ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-D9_CxTY1.mjs → ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs} +4 -4
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-D9_CxTY1.mjs.map → ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-B4zJyUg1.mjs → ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs} +4 -4
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-B4zJyUg1.mjs.map → ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-Cv6wx5Xe.mjs → ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs} +4 -4
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-Cv6wx5Xe.mjs.map → ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-1Zi2nAX5.mjs → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs} +15 -15
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-1Zi2nAX5.mjs.map → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-C9bQvDYU.mjs → ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs} +4 -4
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-C9bQvDYU.mjs.map → ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-BbHds2r2.mjs → ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs} +4 -4
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-BbHds2r2.mjs.map → ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-DlDh7Fnn.mjs → ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs} +6 -6
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-DlDh7Fnn.mjs.map → ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-m4DTihP2.mjs → ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-m4DTihP2.mjs.map → ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-content-editor.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-content-fade.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-content-fade.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-cookie-popup.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-cookie-popup.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-core.mjs +137 -34
- package/fesm2022/ngstarter-ui-components-core.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-data-view.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-data-view.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-datepicker.mjs +10 -10
- package/fesm2022/ngstarter-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-dialog.mjs +8 -8
- package/fesm2022/ngstarter-ui-components-dialog.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-divider.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-divider.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-drawer.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-drawer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-emoji-picker.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-emoji-picker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-empty-state.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-empty-state.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-expand.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-expand.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-expansion.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-expansion.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-form-field.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-divider-content-CwGzDCZv.mjs → ngstarter-ui-components-form-renderer-divider-content-D8Sffofu.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-form-renderer-divider-content-CwGzDCZv.mjs.map → ngstarter-ui-components-form-renderer-divider-content-D8Sffofu.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-Cv3AGpoq.mjs → ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-Cv3AGpoq.mjs.map → ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-form-renderer.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-gauge.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-gauge.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-grid.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-grid.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-guided-tour.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-guided-tour.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-placeholder.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-image-placeholder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-resizer.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-image-resizer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-viewer.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-image-viewer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-zoom-viewer.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-image-zoom-viewer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-incidents.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-incidents.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-inline-text-edit.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-inline-text-edit.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-kanban-board.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-kanban-board.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-kbd.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-kbd.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-list.mjs +10 -10
- package/fesm2022/ngstarter-ui-components-list.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-logo.mjs +8 -8
- package/fesm2022/ngstarter-ui-components-logo.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-menu.mjs +8 -8
- package/fesm2022/ngstarter-ui-components-menu.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-micro-chart.mjs +10 -10
- package/fesm2022/ngstarter-ui-components-micro-chart.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-navigation.mjs +8 -8
- package/fesm2022/ngstarter-ui-components-navigation.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-notifications.mjs +8 -8
- package/fesm2022/ngstarter-ui-components-notifications.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-number-input.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-number-input.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-option.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-option.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-password-strength.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-password-strength.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-phone-input.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-phone-input.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-popover.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-popover.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-progress-bar.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-progress-bar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-radio-card.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-radio-card.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-radio.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-radio.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-rail-nav.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-rail-nav.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-resizable-container.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-resizable-container.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-screen-loader.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-screen-loader.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-scroll-spy.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-scroll-spy.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-scrollbar-area.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-scrollbar-area.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-segmented.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-segmented.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-select.mjs +8 -8
- package/fesm2022/ngstarter-ui-components-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-side-panel.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-side-panel.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-sidebar.mjs +14 -14
- package/fesm2022/ngstarter-ui-components-sidebar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-sidenav.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-sidenav.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-signature-pad.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-signature-pad.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-skeleton.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-skeleton.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-slide-toggle.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-slide-toggle.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-slider.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-slider.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-snack-bar.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-snack-bar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-spinner.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-spinner.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-splash-screen.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-splash-screen.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-split.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-split.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-stepper.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-stepper.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-suggestions.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-suggestions.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-tab-panel.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-tab-panel.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-table.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-table.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-tabs.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-tabs.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-text-editor.mjs +10 -10
- package/fesm2022/ngstarter-ui-components-text-editor.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-thumbnail-maker.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-thumbnail-maker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-tiles.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-tiles.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-timeline.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-timeline.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-timepicker.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-timepicker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-toolbar.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-toolbar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-tooltip.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-tooltip.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-upload.mjs +10 -10
- package/fesm2022/ngstarter-ui-components-upload.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-video-viewer.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-video-viewer.mjs.map +1 -1
- package/package.json +15 -3
- package/schematics/collection.json +10 -0
- package/schematics/migrations.json +11 -0
- package/schematics/ng-add/index.d.ts +6 -0
- package/schematics/ng-add/index.js +14 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/schema.json +17 -0
- package/schematics/ng-update/index.d.ts +6 -0
- package/schematics/ng-update/index.js +14 -0
- package/schematics/ng-update/index.js.map +1 -0
- package/schematics/ng-update/schema.json +17 -0
- package/schematics/utils.d.ts +8 -0
- package/schematics/utils.js +400 -0
- package/schematics/utils.js.map +1 -0
- package/styles/_common.scss +84 -390
- package/styles/_global.scss +12 -12
- package/styles/_tokens.scss +1043 -0
- package/styles/themes/compact.scss +9 -0
- package/styles/themes/enterprise.scss +349 -0
- package/styles/themes/modern.scss +352 -0
- package/types/ngstarter-ui-components-chips.d.ts +9 -4
- package/types/ngstarter-ui-components-core.d.ts +41 -5
|
@@ -88,7 +88,7 @@ class ButtonToggleGroup {
|
|
|
88
88
|
useExisting: forwardRef(() => ButtonToggleGroup),
|
|
89
89
|
multi: true
|
|
90
90
|
}
|
|
91
|
-
], queries: [{ propertyName: "_buttonToggles", predicate: i0.forwardRef(() => ButtonToggle), descendants: true, isSignal: true }], exportAs: ["ngsButtonToggleGroup"], ngImport: i0, template: "<ng-content />\n", styles: [":host{--ngs-button-toggle-group-border-color: var(--color-surface-container-highest);--ngs-button-toggle-group-bg: var(--color-surface-container);display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:var(--ngs-button-toggle-group-border-radius, var(--
|
|
91
|
+
], queries: [{ propertyName: "_buttonToggles", predicate: i0.forwardRef(() => ButtonToggle), descendants: true, isSignal: true }], exportAs: ["ngsButtonToggleGroup"], ngImport: i0, template: "<ng-content />\n", styles: [":host{--ngs-button-toggle-group-border-color: var(--ngs-color-surface-container-highest);--ngs-button-toggle-group-bg: var(--ngs-color-surface-container);display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:var(--ngs-button-toggle-group-border-radius, var(--ngs-button-radius));background:var(--ngs-button-toggle-group-bg);height:var(--ngs-button-height)}:host.ngs-button-toggle-group-vertical{flex-direction:column}:host.ngs-button-toggle-group-vertical ::ng-deep .ngs-button-toggle+.ngs-button-toggle{border-top:1px solid var(--ngs-button-toggle-group-border-color);border-left:none}::ng-deep .ngs-button-toggle+.ngs-button-toggle{border-left:1px solid var(--ngs-button-toggle-group-border-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
92
92
|
}
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ButtonToggleGroup, decorators: [{
|
|
94
94
|
type: Component,
|
|
@@ -103,7 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
103
103
|
'[class.ngs-button-toggle-group-vertical]': 'vertical()',
|
|
104
104
|
'[attr.role]': 'multiple() ? "group" : "radiogroup"',
|
|
105
105
|
'[attr.aria-disabled]': 'disabled()',
|
|
106
|
-
}, template: "<ng-content />\n", styles: [":host{--ngs-button-toggle-group-border-color: var(--color-surface-container-highest);--ngs-button-toggle-group-bg: var(--color-surface-container);display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:var(--ngs-button-toggle-group-border-radius, var(--
|
|
106
|
+
}, template: "<ng-content />\n", styles: [":host{--ngs-button-toggle-group-border-color: var(--ngs-color-surface-container-highest);--ngs-button-toggle-group-bg: var(--ngs-color-surface-container);display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:var(--ngs-button-toggle-group-border-radius, var(--ngs-button-radius));background:var(--ngs-button-toggle-group-bg);height:var(--ngs-button-height)}:host.ngs-button-toggle-group-vertical{flex-direction:column}:host.ngs-button-toggle-group-vertical ::ng-deep .ngs-button-toggle+.ngs-button-toggle{border-top:1px solid var(--ngs-button-toggle-group-border-color);border-left:none}::ng-deep .ngs-button-toggle+.ngs-button-toggle{border-left:1px solid var(--ngs-button-toggle-group-border-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
107
107
|
}], ctorParameters: () => [], propDecorators: { _buttonToggles: [{ type: i0.ContentChildren, args: [forwardRef(() => ButtonToggle), { ...{ descendants: true }, isSignal: true }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], hideSelectionIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSelectionIndicator", required: false }] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], change: [{ type: i0.Output, args: ["change"] }] } });
|
|
108
108
|
class ButtonToggle {
|
|
109
109
|
_id = `ngs-button-toggle-${nextId++}`;
|
|
@@ -153,7 +153,7 @@ class ButtonToggle {
|
|
|
153
153
|
this._changeDetectorRef.markForCheck();
|
|
154
154
|
}
|
|
155
155
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ButtonToggle, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
156
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: ButtonToggle, isStandalone: true, selector: "ngs-button-toggle", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "class.ngs-button-toggle-checked": "isChecked", "class.ngs-button-toggle-disabled": "isDisabled", "attr.id": "id()" }, classAttribute: "ngs-button-toggle" }, ngImport: i0, template: "<button type=\"button\"\n class=\"ngs-button-toggle-button\"\n [attr.id]=\"id() + '-button'\"\n [disabled]=\"isDisabled\"\n [attr.name]=\"name()\"\n [attr.aria-pressed]=\"isChecked\"\n (click)=\"_onButtonClick()\">\n @if (_shouldShowSelectionIndicator) {\n <ngs-icon name=\"fluent:checkmark-24-regular\" class=\"ngs-button-toggle-selection-indicator size-5\"/>\n }\n <span class=\"ngs-button-toggle-label-content\">\n <ng-content />\n </span>\n</button>\n", styles: [":host{--ngs-button-toggle-text-color: var(--color-on-surface-variant);--ngs-button-toggle-hover-bg-color: var(--color-surface-container-high);--ngs-button-toggle-checked-bg-color: var(--color-surface-container-highest);--ngs-button-toggle-checked-text-color: var(--color-on-surface);--ngs-button-toggle-selection-indicator-color: var(--color-primary);display:inline-block;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:host .ngs-button-toggle-button{display:flex;align-items:center;justify-content:center;padding:0 16px;cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;font-size:.875rem;line-height:1.25rem;font-weight:500;border:none;background:none;color:var(--ngs-button-toggle-text-color);width:100%;height:100%;outline:none}:host .ngs-button-toggle-button:hover:not(:disabled){background:var(--ngs-button-toggle-hover-bg-color)}:host .ngs-button-toggle-button:disabled{cursor:not-allowed;color:var(--color-on-surface);background:transparent}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:var(--color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:color-mix(in srgb,var(--color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button .ngs-button-toggle-selection-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--ngs-button-toggle-selection-indicator-color);margin-right:8px;animation:ngs-button-toggle-indicator-fade-in .2s cubic-bezier(0,0,.2,1)}:host.ngs-button-toggle-checked .ngs-button-toggle-button{background:var(--ngs-button-toggle-checked-bg-color);color:var(--ngs-button-toggle-checked-text-color)}:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:var(--color-on-surface);color:var(--color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:color-mix(in srgb,var(--color-on-surface),transparent 88%)}}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--color-on-surface),transparent 62%)}}:host .ngs-button-toggle-label-content{line-height:1}@keyframes ngs-button-toggle-indicator-fade-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
156
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: ButtonToggle, isStandalone: true, selector: "ngs-button-toggle", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "class.ngs-button-toggle-checked": "isChecked", "class.ngs-button-toggle-disabled": "isDisabled", "attr.id": "id()" }, classAttribute: "ngs-button-toggle" }, ngImport: i0, template: "<button type=\"button\"\n class=\"ngs-button-toggle-button\"\n [attr.id]=\"id() + '-button'\"\n [disabled]=\"isDisabled\"\n [attr.name]=\"name()\"\n [attr.aria-pressed]=\"isChecked\"\n (click)=\"_onButtonClick()\">\n @if (_shouldShowSelectionIndicator) {\n <ngs-icon name=\"fluent:checkmark-24-regular\" class=\"ngs-button-toggle-selection-indicator size-5\"/>\n }\n <span class=\"ngs-button-toggle-label-content\">\n <ng-content />\n </span>\n</button>\n", styles: [":host{--ngs-button-toggle-text-color: var(--ngs-color-on-surface-variant);--ngs-button-toggle-hover-bg-color: var(--ngs-color-surface-container-high);--ngs-button-toggle-checked-bg-color: var(--ngs-color-surface-container-highest);--ngs-button-toggle-checked-text-color: var(--ngs-color-on-surface);--ngs-button-toggle-selection-indicator-color: var(--ngs-color-primary);display:inline-block;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:host .ngs-button-toggle-button{display:flex;align-items:center;justify-content:center;padding:0 16px;cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;font-size:.875rem;line-height:1.25rem;font-weight:500;border:none;background:none;color:var(--ngs-button-toggle-text-color);width:100%;height:100%;outline:none}:host .ngs-button-toggle-button:hover:not(:disabled){background:var(--ngs-button-toggle-hover-bg-color)}:host .ngs-button-toggle-button:disabled{cursor:not-allowed;color:var(--ngs-color-on-surface);background:transparent}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:var(--ngs-color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button .ngs-button-toggle-selection-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--ngs-button-toggle-selection-indicator-color);margin-right:8px;animation:ngs-button-toggle-indicator-fade-in .2s cubic-bezier(0,0,.2,1)}:host.ngs-button-toggle-checked .ngs-button-toggle-button{background:var(--ngs-button-toggle-checked-bg-color);color:var(--ngs-button-toggle-checked-text-color)}:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:var(--ngs-color-on-surface);color:var(--ngs-color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:color-mix(in srgb,var(--ngs-color-on-surface),transparent 88%)}}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-button-toggle-label-content{line-height:1}@keyframes ngs-button-toggle-indicator-fade-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
157
157
|
}
|
|
158
158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ButtonToggle, decorators: [{
|
|
159
159
|
type: Component,
|
|
@@ -164,7 +164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
164
164
|
'class': 'ngs-button-toggle',
|
|
165
165
|
}, standalone: true, imports: [
|
|
166
166
|
Icon
|
|
167
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\"\n class=\"ngs-button-toggle-button\"\n [attr.id]=\"id() + '-button'\"\n [disabled]=\"isDisabled\"\n [attr.name]=\"name()\"\n [attr.aria-pressed]=\"isChecked\"\n (click)=\"_onButtonClick()\">\n @if (_shouldShowSelectionIndicator) {\n <ngs-icon name=\"fluent:checkmark-24-regular\" class=\"ngs-button-toggle-selection-indicator size-5\"/>\n }\n <span class=\"ngs-button-toggle-label-content\">\n <ng-content />\n </span>\n</button>\n", styles: [":host{--ngs-button-toggle-text-color: var(--color-on-surface-variant);--ngs-button-toggle-hover-bg-color: var(--color-surface-container-high);--ngs-button-toggle-checked-bg-color: var(--color-surface-container-highest);--ngs-button-toggle-checked-text-color: var(--color-on-surface);--ngs-button-toggle-selection-indicator-color: var(--color-primary);display:inline-block;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:host .ngs-button-toggle-button{display:flex;align-items:center;justify-content:center;padding:0 16px;cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;font-size:.875rem;line-height:1.25rem;font-weight:500;border:none;background:none;color:var(--ngs-button-toggle-text-color);width:100%;height:100%;outline:none}:host .ngs-button-toggle-button:hover:not(:disabled){background:var(--ngs-button-toggle-hover-bg-color)}:host .ngs-button-toggle-button:disabled{cursor:not-allowed;color:var(--color-on-surface);background:transparent}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:var(--color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:color-mix(in srgb,var(--color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button .ngs-button-toggle-selection-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--ngs-button-toggle-selection-indicator-color);margin-right:8px;animation:ngs-button-toggle-indicator-fade-in .2s cubic-bezier(0,0,.2,1)}:host.ngs-button-toggle-checked .ngs-button-toggle-button{background:var(--ngs-button-toggle-checked-bg-color);color:var(--ngs-button-toggle-checked-text-color)}:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:var(--color-on-surface);color:var(--color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:color-mix(in srgb,var(--color-on-surface),transparent 88%)}}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--color-on-surface),transparent 62%)}}:host .ngs-button-toggle-label-content{line-height:1}@keyframes ngs-button-toggle-indicator-fade-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
167
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\"\n class=\"ngs-button-toggle-button\"\n [attr.id]=\"id() + '-button'\"\n [disabled]=\"isDisabled\"\n [attr.name]=\"name()\"\n [attr.aria-pressed]=\"isChecked\"\n (click)=\"_onButtonClick()\">\n @if (_shouldShowSelectionIndicator) {\n <ngs-icon name=\"fluent:checkmark-24-regular\" class=\"ngs-button-toggle-selection-indicator size-5\"/>\n }\n <span class=\"ngs-button-toggle-label-content\">\n <ng-content />\n </span>\n</button>\n", styles: [":host{--ngs-button-toggle-text-color: var(--ngs-color-on-surface-variant);--ngs-button-toggle-hover-bg-color: var(--ngs-color-surface-container-high);--ngs-button-toggle-checked-bg-color: var(--ngs-color-surface-container-highest);--ngs-button-toggle-checked-text-color: var(--ngs-color-on-surface);--ngs-button-toggle-selection-indicator-color: var(--ngs-color-primary);display:inline-block;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:host .ngs-button-toggle-button{display:flex;align-items:center;justify-content:center;padding:0 16px;cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;font-size:.875rem;line-height:1.25rem;font-weight:500;border:none;background:none;color:var(--ngs-button-toggle-text-color);width:100%;height:100%;outline:none}:host .ngs-button-toggle-button:hover:not(:disabled){background:var(--ngs-button-toggle-hover-bg-color)}:host .ngs-button-toggle-button:disabled{cursor:not-allowed;color:var(--ngs-color-on-surface);background:transparent}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:var(--ngs-color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host .ngs-button-toggle-button:disabled .ngs-button-toggle-selection-indicator{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-button-toggle-button .ngs-button-toggle-selection-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--ngs-button-toggle-selection-indicator-color);margin-right:8px;animation:ngs-button-toggle-indicator-fade-in .2s cubic-bezier(0,0,.2,1)}:host.ngs-button-toggle-checked .ngs-button-toggle-button{background:var(--ngs-button-toggle-checked-bg-color);color:var(--ngs-button-toggle-checked-text-color)}:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:var(--ngs-color-on-surface);color:var(--ngs-color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{background:color-mix(in srgb,var(--ngs-color-on-surface),transparent 88%)}}@supports (color: color-mix(in lab,red,red)){:host.ngs-button-toggle-checked .ngs-button-toggle-button:disabled{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-button-toggle-label-content{line-height:1}@keyframes ngs-button-toggle-indicator-fade-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
168
168
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], change: [{ type: i0.Output, args: ["change"] }] } });
|
|
169
169
|
|
|
170
170
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-button-toggle.mjs","sources":["../../../projects/components/button-toggle/src/button-toggle/button-toggle.ts","../../../projects/components/button-toggle/src/button-toggle-group/button-toggle-group.html","../../../projects/components/button-toggle/src/button-toggle/button-toggle.html","../../../projects/components/button-toggle/ngstarter-ui-components-button-toggle.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n inject,\n input,\n OnInit,\n booleanAttribute,\n output,\n model,\n contentChildren,\n effect\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Icon } from '@ngstarter-ui/components/icon';\n\nlet nextId = 0;\n\nexport type ButtonToggleAppearance = 'standard' | 'legacy';\n\n@Component({\n selector: 'ngs-button-toggle-group',\n exportAs: 'ngsButtonToggleGroup',\n templateUrl: '../button-toggle-group/button-toggle-group.html',\n styleUrl: '../button-toggle-group/button-toggle-group.scss',\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ButtonToggleGroup),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-button-toggle-group',\n '[class.ngs-button-toggle-group-vertical]': 'vertical()',\n '[attr.role]': 'multiple() ? \"group\" : \"radiogroup\"',\n '[attr.aria-disabled]': 'disabled()',\n },\n})\nexport class ButtonToggleGroup implements ControlValueAccessor, AfterContentInit {\n readonly _buttonToggles = contentChildren(forwardRef(() => ButtonToggle), { descendants: true });\n\n appearance = input<ButtonToggleAppearance>('standard');\n disabled = input(false, { transform: booleanAttribute });\n multiple = input(false, { transform: booleanAttribute });\n hideSelectionIndicator = input(false, { transform: booleanAttribute });\n vertical = input(false, { transform: booleanAttribute });\n value = model<any>(undefined);\n\n readonly change = output<any>();\n\n _onChange: (value: any) => void = () => {};\n _onTouched: () => void = () => {};\n\n constructor() {\n effect(() => {\n this.value();\n this._buttonToggles();\n this._updateSelectedButtonsFromValue();\n });\n }\n\n ngAfterContentInit() {\n this._updateSelectedButtonsFromValue();\n }\n\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Note: If we want to support setDisabledState with input signals,\n // we might need a separate internal signal or just accept that it won't work well with reactive inputs\n // but typically CVA's setDisabledState is for the form control to disable the component.\n // For now, let's use a private signal if we need to combine them.\n }\n\n _emitChangeEvent(value: any): void {\n this._onChange(value);\n this.change.emit({ source: this, value });\n }\n\n private _updateSelectedButtonsFromValue() {\n const _buttonToggles = this._buttonToggles();\n if (_buttonToggles) {\n _buttonToggles.forEach(toggle => {\n toggle._setChecked(this._isSelected(toggle.value()));\n });\n }\n }\n\n private _isSelected(val: any): boolean {\n if (this.multiple()) {\n return Array.isArray(this.value()) && this.value().includes(val);\n }\n return this.value() === val;\n }\n\n _onButtonClick(toggle: ButtonToggle) {\n if (this.disabled() || toggle.disabled()) {\n return;\n }\n\n if (this.multiple()) {\n const currentValue = Array.isArray(this.value()) ? [...this.value()] : [];\n const index = currentValue.indexOf(toggle.value());\n\n if (index !== -1) {\n currentValue.splice(index, 1);\n } else {\n currentValue.push(toggle.value());\n }\n this._updateValue(currentValue);\n } else {\n this._updateValue(toggle.value());\n }\n }\n\n private _updateValue(newValue: any) {\n this.value.set(newValue);\n this._emitChangeEvent(newValue);\n }\n}\n\n@Component({\n selector: 'ngs-button-toggle',\n templateUrl: './button-toggle.html',\n styleUrl: './button-toggle.scss',\n host: {\n '[class.ngs-button-toggle-checked]': 'isChecked',\n '[class.ngs-button-toggle-disabled]': 'isDisabled',\n '[attr.id]': 'id()',\n 'class': 'ngs-button-toggle',\n },\n standalone: true,\n imports: [\n Icon\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonToggle implements OnInit {\n private _id = `ngs-button-toggle-${nextId++}`;\n\n id = input<string>(`ngs-button-toggle-${nextId++}`);\n value = input<any>(undefined);\n name = input<string | undefined>(undefined);\n checked = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n private _internalChecked = false;\n get isChecked(): boolean {\n return this.checked() || this._internalChecked;\n }\n _setChecked(value: boolean) {\n this._internalChecked = value;\n this._changeDetectorRef.markForCheck();\n }\n\n readonly change = output<any>();\n\n public buttonToggleGroup = inject(forwardRef(() => ButtonToggleGroup), { optional: true });\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n get isDisabled(): boolean {\n return this.disabled() || (this.buttonToggleGroup && this.buttonToggleGroup.disabled());\n }\n\n get _shouldShowSelectionIndicator(): boolean {\n if (!this.isChecked) {\n return false;\n }\n\n if (!this.buttonToggleGroup) {\n return false;\n }\n\n return !this.buttonToggleGroup.hideSelectionIndicator();\n }\n\n ngOnInit() {\n if (this.buttonToggleGroup && this.buttonToggleGroup.value() === this.value()) {\n this._setChecked(true);\n }\n }\n\n _onButtonClick() {\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._onButtonClick(this);\n } else {\n this._setChecked(!this.isChecked);\n this.change.emit({ source: this, value: this.value() });\n }\n }\n\n _markForCheck() {\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content />\n","<button type=\"button\"\n class=\"ngs-button-toggle-button\"\n [attr.id]=\"id() + '-button'\"\n [disabled]=\"isDisabled\"\n [attr.name]=\"name()\"\n [attr.aria-pressed]=\"isChecked\"\n (click)=\"_onButtonClick()\">\n @if (_shouldShowSelectionIndicator) {\n <ngs-icon name=\"fluent:checkmark-24-regular\" class=\"ngs-button-toggle-selection-indicator size-5\"/>\n }\n <span class=\"ngs-button-toggle-label-content\">\n <ng-content />\n </span>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-button-toggle.mjs","sources":["../../../projects/components/button-toggle/src/button-toggle/button-toggle.ts","../../../projects/components/button-toggle/src/button-toggle-group/button-toggle-group.html","../../../projects/components/button-toggle/src/button-toggle/button-toggle.html","../../../projects/components/button-toggle/ngstarter-ui-components-button-toggle.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n inject,\n input,\n OnInit,\n booleanAttribute,\n output,\n model,\n contentChildren,\n effect\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Icon } from '@ngstarter-ui/components/icon';\n\nlet nextId = 0;\n\nexport type ButtonToggleAppearance = 'standard' | 'legacy';\n\n@Component({\n selector: 'ngs-button-toggle-group',\n exportAs: 'ngsButtonToggleGroup',\n templateUrl: '../button-toggle-group/button-toggle-group.html',\n styleUrl: '../button-toggle-group/button-toggle-group.scss',\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ButtonToggleGroup),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-button-toggle-group',\n '[class.ngs-button-toggle-group-vertical]': 'vertical()',\n '[attr.role]': 'multiple() ? \"group\" : \"radiogroup\"',\n '[attr.aria-disabled]': 'disabled()',\n },\n})\nexport class ButtonToggleGroup implements ControlValueAccessor, AfterContentInit {\n readonly _buttonToggles = contentChildren(forwardRef(() => ButtonToggle), { descendants: true });\n\n appearance = input<ButtonToggleAppearance>('standard');\n disabled = input(false, { transform: booleanAttribute });\n multiple = input(false, { transform: booleanAttribute });\n hideSelectionIndicator = input(false, { transform: booleanAttribute });\n vertical = input(false, { transform: booleanAttribute });\n value = model<any>(undefined);\n\n readonly change = output<any>();\n\n _onChange: (value: any) => void = () => {};\n _onTouched: () => void = () => {};\n\n constructor() {\n effect(() => {\n this.value();\n this._buttonToggles();\n this._updateSelectedButtonsFromValue();\n });\n }\n\n ngAfterContentInit() {\n this._updateSelectedButtonsFromValue();\n }\n\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Note: If we want to support setDisabledState with input signals,\n // we might need a separate internal signal or just accept that it won't work well with reactive inputs\n // but typically CVA's setDisabledState is for the form control to disable the component.\n // For now, let's use a private signal if we need to combine them.\n }\n\n _emitChangeEvent(value: any): void {\n this._onChange(value);\n this.change.emit({ source: this, value });\n }\n\n private _updateSelectedButtonsFromValue() {\n const _buttonToggles = this._buttonToggles();\n if (_buttonToggles) {\n _buttonToggles.forEach(toggle => {\n toggle._setChecked(this._isSelected(toggle.value()));\n });\n }\n }\n\n private _isSelected(val: any): boolean {\n if (this.multiple()) {\n return Array.isArray(this.value()) && this.value().includes(val);\n }\n return this.value() === val;\n }\n\n _onButtonClick(toggle: ButtonToggle) {\n if (this.disabled() || toggle.disabled()) {\n return;\n }\n\n if (this.multiple()) {\n const currentValue = Array.isArray(this.value()) ? [...this.value()] : [];\n const index = currentValue.indexOf(toggle.value());\n\n if (index !== -1) {\n currentValue.splice(index, 1);\n } else {\n currentValue.push(toggle.value());\n }\n this._updateValue(currentValue);\n } else {\n this._updateValue(toggle.value());\n }\n }\n\n private _updateValue(newValue: any) {\n this.value.set(newValue);\n this._emitChangeEvent(newValue);\n }\n}\n\n@Component({\n selector: 'ngs-button-toggle',\n templateUrl: './button-toggle.html',\n styleUrl: './button-toggle.scss',\n host: {\n '[class.ngs-button-toggle-checked]': 'isChecked',\n '[class.ngs-button-toggle-disabled]': 'isDisabled',\n '[attr.id]': 'id()',\n 'class': 'ngs-button-toggle',\n },\n standalone: true,\n imports: [\n Icon\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonToggle implements OnInit {\n private _id = `ngs-button-toggle-${nextId++}`;\n\n id = input<string>(`ngs-button-toggle-${nextId++}`);\n value = input<any>(undefined);\n name = input<string | undefined>(undefined);\n checked = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n private _internalChecked = false;\n get isChecked(): boolean {\n return this.checked() || this._internalChecked;\n }\n _setChecked(value: boolean) {\n this._internalChecked = value;\n this._changeDetectorRef.markForCheck();\n }\n\n readonly change = output<any>();\n\n public buttonToggleGroup = inject(forwardRef(() => ButtonToggleGroup), { optional: true });\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n get isDisabled(): boolean {\n return this.disabled() || (this.buttonToggleGroup && this.buttonToggleGroup.disabled());\n }\n\n get _shouldShowSelectionIndicator(): boolean {\n if (!this.isChecked) {\n return false;\n }\n\n if (!this.buttonToggleGroup) {\n return false;\n }\n\n return !this.buttonToggleGroup.hideSelectionIndicator();\n }\n\n ngOnInit() {\n if (this.buttonToggleGroup && this.buttonToggleGroup.value() === this.value()) {\n this._setChecked(true);\n }\n }\n\n _onButtonClick() {\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._onButtonClick(this);\n } else {\n this._setChecked(!this.isChecked);\n this.change.emit({ source: this, value: this.value() });\n }\n }\n\n _markForCheck() {\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content />\n","<button type=\"button\"\n class=\"ngs-button-toggle-button\"\n [attr.id]=\"id() + '-button'\"\n [disabled]=\"isDisabled\"\n [attr.name]=\"name()\"\n [attr.aria-pressed]=\"isChecked\"\n (click)=\"_onButtonClick()\">\n @if (_shouldShowSelectionIndicator) {\n <ngs-icon name=\"fluent:checkmark-24-regular\" class=\"ngs-button-toggle-selection-indicator size-5\"/>\n }\n <span class=\"ngs-button-toggle-label-content\">\n <ng-content />\n </span>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ class Button {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Button, isStandalone: true, selector: "\n button[ngsButton], button[ngsIconButton],\n a[ngsButton], a[ngsIconButton]\n ", inputs: { ngsButton: { classPropertyName: "ngsButton", publicName: "ngsButton", isSignal: true, isRequired: false, transformFunction: null }, ngsIconButton: { classPropertyName: "ngsIconButton", publicName: "ngsIconButton", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disabledInteractive: { classPropertyName: "disabledInteractive", publicName: "disabledInteractive", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, hideTextOnMobile: { classPropertyName: "hideTextOnMobile", publicName: "hideTextOnMobile", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.disabled": "((disabled() || loading()) && !disabledInteractive()) || null", "class.ngs-button-disabled": "disabled() || loading()", "class.ngs-button-loading": "loading()", "class.ngs-button-primary": "ngsButton() === \"filled\"", "class.ngs-button-outlined": "ngsButton() === \"outlined\"", "class.ngs-button-text": "(ngsButton() === \"text\" || ngsButton() === \"\") && ngsIconButton() !== undefined", "class.ngs-button-tonal": "ngsButton() === \"tonal\"", "class.ngs-icon-button": "ngsIconButton() !== undefined", "class.is-reverse": "reverse()", "class.hide-text-on-mobile": "hideTextOnMobile()", "class.is-full-width": "fullWidth()", "attr.aria-disabled": "(disabled() || loading()).toString()", "attr.tabindex": "(disabled() || loading()) && disabledInteractive() ? 0 : null" }, classAttribute: "ngs-button" }, exportAs: ["ngsButton"], ngImport: i0, template: "<span class=\"ripple\" ngsRipple></span>\n<span class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</span>\n<span class=\"content\"><ng-content/></span>\n@if (loading()) {\n <svg class=\"ngs-button-loading-spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n </svg>\n}\n<!--<div class=\"badge\"><ng-content select=\"ngs-badge\"/></div>-->\n", styles: [":host{--ngs-button-
|
|
37
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Button, isStandalone: true, selector: "\n button[ngsButton], button[ngsIconButton],\n a[ngsButton], a[ngsIconButton]\n ", inputs: { ngsButton: { classPropertyName: "ngsButton", publicName: "ngsButton", isSignal: true, isRequired: false, transformFunction: null }, ngsIconButton: { classPropertyName: "ngsIconButton", publicName: "ngsIconButton", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disabledInteractive: { classPropertyName: "disabledInteractive", publicName: "disabledInteractive", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, hideTextOnMobile: { classPropertyName: "hideTextOnMobile", publicName: "hideTextOnMobile", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.disabled": "((disabled() || loading()) && !disabledInteractive()) || null", "class.ngs-button-disabled": "disabled() || loading()", "class.ngs-button-loading": "loading()", "class.ngs-button-primary": "ngsButton() === \"filled\"", "class.ngs-button-outlined": "ngsButton() === \"outlined\"", "class.ngs-button-text": "(ngsButton() === \"text\" || ngsButton() === \"\") && ngsIconButton() !== undefined", "class.ngs-button-tonal": "ngsButton() === \"tonal\"", "class.ngs-icon-button": "ngsIconButton() !== undefined", "class.is-reverse": "reverse()", "class.hide-text-on-mobile": "hideTextOnMobile()", "class.is-full-width": "fullWidth()", "attr.aria-disabled": "(disabled() || loading()).toString()", "attr.tabindex": "(disabled() || loading()) && disabledInteractive() ? 0 : null" }, classAttribute: "ngs-button" }, exportAs: ["ngsButton"], ngImport: i0, template: "<span class=\"ripple\" ngsRipple></span>\n<span class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</span>\n<span class=\"content\"><ng-content/></span>\n@if (loading()) {\n <svg class=\"ngs-button-loading-spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n </svg>\n}\n<!--<div class=\"badge\"><ng-content select=\"ngs-badge\"/></div>-->\n", styles: [":host{--ngs-button-padding: 0 var(--ngs-button-padding-x, calc(var(--spacing, .25rem) * 4));--ngs-button-border-radius: var(--ngs-button-radius, var(--ngs-radius-lg));--ngs-button-bg: transparent;--ngs-button-color: var(--ngs-color-on-surface);--ngs-button-hover-bg: var(--ngs-button-bg);--ngs-button-content-gap: var(--ngs-control-gap, calc(var(--spacing, .25rem) * 2));position:relative;flex:none;width:max-content;box-sizing:border-box;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;cursor:pointer;border:none;background:var(--ngs-button-bg);color:var(--ngs-button-color);text-decoration:none;outline:none;font-size:var(--ngs-button-font-size, var(--ngs-font-size-sm));font-weight:var(--ngs-button-font-weight, 500);padding:var(--ngs-button-padding);height:var(--ngs-button-height);border-radius:var(--ngs-button-border-radius);transition:background-color .2s cubic-bezier(0,0,.2,1),box-shadow .2s cubic-bezier(0,0,.2,1);gap:var(--ngs-button-content-gap)}@supports (color: color-mix(in lab,red,red)){:host{--ngs-button-hover-bg: color-mix(in srgb, var(--ngs-button-bg), var(--ngs-button-color) 8%)}}:host.is-full-width{width:100%}@media(width<640px){:host.hide-text-on-mobile .content{display:none}:host.hide-text-on-mobile .icon{left:auto;right:auto}:host.hide-text-on-mobile{min-width:var(--ngs-button-height);padding:0}}:host .ripple{position:absolute;inset:0;border-radius:inherit}:host .icon:empty{display:none}:host .icon{line-height:0;position:relative;left:-5px}:host.ngs-icon-button .icon{position:static;left:auto;right:auto}:host .content{line-height:0}:host .content:empty{display:none}:host .ngs-button-loading-spinner{display:none;width:18px;height:18px;margin-left:8px;animation:rotate 2s linear infinite}:host .ngs-button-loading-spinner .path{stroke:currentColor;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}:host.ngs-button-loading .ngs-button-loading-spinner{display:block}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}:host:hover{background:var(--ngs-button-hover-bg)}:host:focus-visible{box-shadow:0 0 0 3px var(--ngs-state-focus-ring)}:host.is-reverse .icon{left:auto;right:-5px}:host.is-reverse{flex-direction:row-reverse}:host.ngs-button-primary{--ngs-button-bg: var(--ngs-button-filled-bg, var(--ngs-color-primary));--ngs-button-color: var(--ngs-button-filled-color, var(--ngs-color-on-primary))}:host.ngs-button-tonal{--ngs-button-bg: var(--ngs-button-tonal-bg, var(--ngs-color-secondary-container));--ngs-button-color: var(--ngs-button-tonal-color, var(--ngs-color-on-secondary-container))}:host.ngs-button-outlined{border:1px solid var(--ngs-button-outlined-border, var(--ngs-color-emphasis));--ngs-button-color: var(--ngs-button-outlined-color, var(--ngs-color-primary))}:host.ngs-icon-button{--ngs-button-padding: 0;--ngs-button-border-radius: 50%;min-width:var(--ngs-button-height);width:var(--ngs-button-height)}:host.ngs-icon-button.ngs-button-loading .icon{display:none}:host.ngs-color-primary{--ngs-button-color: var(--ngs-color-primary)}:host.ngs-color-primary.ngs-button-primary{--ngs-button-bg: var(--ngs-color-primary);--ngs-button-color: var(--ngs-color-on-primary)}:host.ngs-color-primary.ngs-button-tonal{--ngs-button-bg: var(--ngs-color-primary-container);--ngs-button-color: var(--ngs-color-on-primary-container)}:host.ngs-color-accent{--ngs-button-color: var(--ngs-color-secondary)}:host.ngs-color-accent.ngs-button-primary{--ngs-button-bg: var(--ngs-color-secondary);--ngs-button-color: var(--ngs-color-on-secondary)}:host.ngs-color-accent.ngs-button-tonal{--ngs-button-bg: var(--ngs-color-secondary-container);--ngs-button-color: var(--ngs-color-on-secondary-container)}:host.ngs-color-warn{--ngs-button-color: var(--ngs-color-danger)}:host.ngs-color-warn.ngs-button-primary{--ngs-button-bg: var(--ngs-color-danger);--ngs-button-color: var(--ngs-color-on-danger)}:host.ngs-color-warn.ngs-button-tonal{--ngs-button-bg: var(--ngs-color-danger-container);--ngs-button-color: var(--ngs-color-on-danger-container)}:host.ngs-button-disabled{cursor:default;--ngs-button-bg: var(--ngs-state-disabled-bg) !important;--ngs-button-color: var(--ngs-state-disabled-color) !important;--ngs-button-hover-bg: var(--ngs-state-disabled-bg) !important}:host.ngs-button-disabled.ngs-button-text,:host.ngs-button-disabled.ngs-button-outlined{--ngs-button-bg: transparent !important;--ngs-button-hover-bg: transparent !important;--ngs-button-color: var(--ngs-state-disabled-color) !important}:host.ngs-button-disabled.ngs-button-outlined{border-color:var(--ngs-state-disabled-border)!important}:host.ngs-button-disabled:hover{background:var(--ngs-button-hover-bg)}:host.ngs-button-disabled[disabled]{pointer-events:none}:host:not([disabled]).ngs-button-disabled{pointer-events:auto;cursor:default}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: Ripple, selector: "[ngsRipple]", inputs: ["ngsRippleColor", "ngsRippleUnbounded", "ngsRippleCentered", "ngsRippleRadius", "ngsRippleAnimation", "ngsRippleDisabled", "ngsRippleTrigger"], outputs: ["ngsRippleCenteredChange", "ngsRippleDisabledChange", "ngsRippleTriggerChange"], exportAs: ["ngsRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Button, decorators: [{
|
|
40
40
|
type: Component,
|
|
@@ -59,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
59
59
|
'[attr.aria-disabled]': '(disabled() || loading()).toString()',
|
|
60
60
|
'(click)': '_haltDisabledEvents($event)',
|
|
61
61
|
'[attr.tabindex]': '(disabled() || loading()) && disabledInteractive() ? 0 : null',
|
|
62
|
-
}, exportAs: 'ngsButton', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"ripple\" ngsRipple></span>\n<span class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</span>\n<span class=\"content\"><ng-content/></span>\n@if (loading()) {\n <svg class=\"ngs-button-loading-spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n </svg>\n}\n<!--<div class=\"badge\"><ng-content select=\"ngs-badge\"/></div>-->\n", styles: [":host{--ngs-button-
|
|
62
|
+
}, exportAs: 'ngsButton', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"ripple\" ngsRipple></span>\n<span class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</span>\n<span class=\"content\"><ng-content/></span>\n@if (loading()) {\n <svg class=\"ngs-button-loading-spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n </svg>\n}\n<!--<div class=\"badge\"><ng-content select=\"ngs-badge\"/></div>-->\n", styles: [":host{--ngs-button-padding: 0 var(--ngs-button-padding-x, calc(var(--spacing, .25rem) * 4));--ngs-button-border-radius: var(--ngs-button-radius, var(--ngs-radius-lg));--ngs-button-bg: transparent;--ngs-button-color: var(--ngs-color-on-surface);--ngs-button-hover-bg: var(--ngs-button-bg);--ngs-button-content-gap: var(--ngs-control-gap, calc(var(--spacing, .25rem) * 2));position:relative;flex:none;width:max-content;box-sizing:border-box;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;cursor:pointer;border:none;background:var(--ngs-button-bg);color:var(--ngs-button-color);text-decoration:none;outline:none;font-size:var(--ngs-button-font-size, var(--ngs-font-size-sm));font-weight:var(--ngs-button-font-weight, 500);padding:var(--ngs-button-padding);height:var(--ngs-button-height);border-radius:var(--ngs-button-border-radius);transition:background-color .2s cubic-bezier(0,0,.2,1),box-shadow .2s cubic-bezier(0,0,.2,1);gap:var(--ngs-button-content-gap)}@supports (color: color-mix(in lab,red,red)){:host{--ngs-button-hover-bg: color-mix(in srgb, var(--ngs-button-bg), var(--ngs-button-color) 8%)}}:host.is-full-width{width:100%}@media(width<640px){:host.hide-text-on-mobile .content{display:none}:host.hide-text-on-mobile .icon{left:auto;right:auto}:host.hide-text-on-mobile{min-width:var(--ngs-button-height);padding:0}}:host .ripple{position:absolute;inset:0;border-radius:inherit}:host .icon:empty{display:none}:host .icon{line-height:0;position:relative;left:-5px}:host.ngs-icon-button .icon{position:static;left:auto;right:auto}:host .content{line-height:0}:host .content:empty{display:none}:host .ngs-button-loading-spinner{display:none;width:18px;height:18px;margin-left:8px;animation:rotate 2s linear infinite}:host .ngs-button-loading-spinner .path{stroke:currentColor;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}:host.ngs-button-loading .ngs-button-loading-spinner{display:block}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}:host:hover{background:var(--ngs-button-hover-bg)}:host:focus-visible{box-shadow:0 0 0 3px var(--ngs-state-focus-ring)}:host.is-reverse .icon{left:auto;right:-5px}:host.is-reverse{flex-direction:row-reverse}:host.ngs-button-primary{--ngs-button-bg: var(--ngs-button-filled-bg, var(--ngs-color-primary));--ngs-button-color: var(--ngs-button-filled-color, var(--ngs-color-on-primary))}:host.ngs-button-tonal{--ngs-button-bg: var(--ngs-button-tonal-bg, var(--ngs-color-secondary-container));--ngs-button-color: var(--ngs-button-tonal-color, var(--ngs-color-on-secondary-container))}:host.ngs-button-outlined{border:1px solid var(--ngs-button-outlined-border, var(--ngs-color-emphasis));--ngs-button-color: var(--ngs-button-outlined-color, var(--ngs-color-primary))}:host.ngs-icon-button{--ngs-button-padding: 0;--ngs-button-border-radius: 50%;min-width:var(--ngs-button-height);width:var(--ngs-button-height)}:host.ngs-icon-button.ngs-button-loading .icon{display:none}:host.ngs-color-primary{--ngs-button-color: var(--ngs-color-primary)}:host.ngs-color-primary.ngs-button-primary{--ngs-button-bg: var(--ngs-color-primary);--ngs-button-color: var(--ngs-color-on-primary)}:host.ngs-color-primary.ngs-button-tonal{--ngs-button-bg: var(--ngs-color-primary-container);--ngs-button-color: var(--ngs-color-on-primary-container)}:host.ngs-color-accent{--ngs-button-color: var(--ngs-color-secondary)}:host.ngs-color-accent.ngs-button-primary{--ngs-button-bg: var(--ngs-color-secondary);--ngs-button-color: var(--ngs-color-on-secondary)}:host.ngs-color-accent.ngs-button-tonal{--ngs-button-bg: var(--ngs-color-secondary-container);--ngs-button-color: var(--ngs-color-on-secondary-container)}:host.ngs-color-warn{--ngs-button-color: var(--ngs-color-danger)}:host.ngs-color-warn.ngs-button-primary{--ngs-button-bg: var(--ngs-color-danger);--ngs-button-color: var(--ngs-color-on-danger)}:host.ngs-color-warn.ngs-button-tonal{--ngs-button-bg: var(--ngs-color-danger-container);--ngs-button-color: var(--ngs-color-on-danger-container)}:host.ngs-button-disabled{cursor:default;--ngs-button-bg: var(--ngs-state-disabled-bg) !important;--ngs-button-color: var(--ngs-state-disabled-color) !important;--ngs-button-hover-bg: var(--ngs-state-disabled-bg) !important}:host.ngs-button-disabled.ngs-button-text,:host.ngs-button-disabled.ngs-button-outlined{--ngs-button-bg: transparent !important;--ngs-button-hover-bg: transparent !important;--ngs-button-color: var(--ngs-state-disabled-color) !important}:host.ngs-button-disabled.ngs-button-outlined{border-color:var(--ngs-state-disabled-border)!important}:host.ngs-button-disabled:hover{background:var(--ngs-button-hover-bg)}:host.ngs-button-disabled[disabled]{pointer-events:none}:host:not([disabled]).ngs-button-disabled{pointer-events:auto;cursor:default}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
63
63
|
}], ctorParameters: () => [], propDecorators: { ngsButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngsButton", required: false }] }], ngsIconButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngsIconButton", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], disabledInteractive: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledInteractive", required: false }] }], disableRipple: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableRipple", required: false }] }], reverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverse", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], hideTextOnMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideTextOnMobile", required: false }] }] } });
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-button.mjs","sources":["../../../projects/components/button/src/button/button.ts","../../../projects/components/button/src/button/button.html","../../../projects/components/button/ngstarter-ui-components-button.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport { Ripple } from '@ngstarter-ui/components/core';\n\nexport type ButtonVariant = 'filled' | 'outlined' | 'text' | 'tonal' | '';\n\n@Component({\n selector: `\n button[ngsButton], button[ngsIconButton],\n a[ngsButton], a[ngsIconButton]\n `,\n standalone: true,\n imports: [\n Ripple\n ],\n templateUrl: './button.html',\n styleUrl: './button.scss',\n host: {\n 'class': 'ngs-button',\n '[attr.disabled]': '((disabled() || loading()) && !disabledInteractive()) || null',\n '[class.ngs-button-disabled]': 'disabled() || loading()',\n '[class.ngs-button-loading]': 'loading()',\n '[class.ngs-button-primary]': 'ngsButton() === \"filled\"',\n '[class.ngs-button-outlined]': 'ngsButton() === \"outlined\"',\n '[class.ngs-button-text]': '(ngsButton() === \"text\" || ngsButton() === \"\") && ngsIconButton() !== undefined',\n '[class.ngs-button-tonal]': 'ngsButton() === \"tonal\"',\n '[class.ngs-icon-button]': 'ngsIconButton() !== undefined',\n '[class.is-reverse]': 'reverse()',\n '[class.hide-text-on-mobile]': 'hideTextOnMobile()',\n '[class.is-full-width]': 'fullWidth()',\n '[attr.aria-disabled]': '(disabled() || loading()).toString()',\n '(click)': '_haltDisabledEvents($event)',\n '[attr.tabindex]': '(disabled() || loading()) && disabledInteractive() ? 0 : null',\n },\n exportAs: 'ngsButton',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Button {\n readonly elementRef = inject(ElementRef);\n readonly _ripple = inject(Ripple, { optional: true });\n\n readonly ngsButton = input<ButtonVariant>('text');\n readonly ngsIconButton = input(undefined, { transform: booleanAttribute });\n readonly loading = input(false, { transform: booleanAttribute });\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly disabledInteractive = input(false, { transform: booleanAttribute });\n readonly disableRipple = input(false, { transform: booleanAttribute });\n readonly reverse = input(false, { transform: booleanAttribute });\n readonly fullWidth = input(false, { transform: booleanAttribute });\n readonly hideTextOnMobile = input(false, { transform: booleanAttribute });\n\n constructor() {\n effect(() => {\n if (this._ripple) {\n this._ripple.disabled.set(this.disabled() || this.loading() || this.disableRipple());\n this._ripple.trigger.set(this.elementRef.nativeElement);\n this._ripple.centered.set(this.isIconButton);\n }\n });\n }\n\n /** Whether the button is an icon button. */\n get isIconButton(): boolean {\n return this.ngsIconButton() !== undefined;\n }\n\n _haltDisabledEvents(event: Event) {\n if (this.disabled() || this.loading()) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<span class=\"ripple\" ngsRipple></span>\n<span class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</span>\n<span class=\"content\"><ng-content/></span>\n@if (loading()) {\n <svg class=\"ngs-button-loading-spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n </svg>\n}\n<!--<div class=\"badge\"><ng-content select=\"ngs-badge\"/></div>-->\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-button.mjs","sources":["../../../projects/components/button/src/button/button.ts","../../../projects/components/button/src/button/button.html","../../../projects/components/button/ngstarter-ui-components-button.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport { Ripple } from '@ngstarter-ui/components/core';\n\nexport type ButtonVariant = 'filled' | 'outlined' | 'text' | 'tonal' | '';\n\n@Component({\n selector: `\n button[ngsButton], button[ngsIconButton],\n a[ngsButton], a[ngsIconButton]\n `,\n standalone: true,\n imports: [\n Ripple\n ],\n templateUrl: './button.html',\n styleUrl: './button.scss',\n host: {\n 'class': 'ngs-button',\n '[attr.disabled]': '((disabled() || loading()) && !disabledInteractive()) || null',\n '[class.ngs-button-disabled]': 'disabled() || loading()',\n '[class.ngs-button-loading]': 'loading()',\n '[class.ngs-button-primary]': 'ngsButton() === \"filled\"',\n '[class.ngs-button-outlined]': 'ngsButton() === \"outlined\"',\n '[class.ngs-button-text]': '(ngsButton() === \"text\" || ngsButton() === \"\") && ngsIconButton() !== undefined',\n '[class.ngs-button-tonal]': 'ngsButton() === \"tonal\"',\n '[class.ngs-icon-button]': 'ngsIconButton() !== undefined',\n '[class.is-reverse]': 'reverse()',\n '[class.hide-text-on-mobile]': 'hideTextOnMobile()',\n '[class.is-full-width]': 'fullWidth()',\n '[attr.aria-disabled]': '(disabled() || loading()).toString()',\n '(click)': '_haltDisabledEvents($event)',\n '[attr.tabindex]': '(disabled() || loading()) && disabledInteractive() ? 0 : null',\n },\n exportAs: 'ngsButton',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Button {\n readonly elementRef = inject(ElementRef);\n readonly _ripple = inject(Ripple, { optional: true });\n\n readonly ngsButton = input<ButtonVariant>('text');\n readonly ngsIconButton = input(undefined, { transform: booleanAttribute });\n readonly loading = input(false, { transform: booleanAttribute });\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly disabledInteractive = input(false, { transform: booleanAttribute });\n readonly disableRipple = input(false, { transform: booleanAttribute });\n readonly reverse = input(false, { transform: booleanAttribute });\n readonly fullWidth = input(false, { transform: booleanAttribute });\n readonly hideTextOnMobile = input(false, { transform: booleanAttribute });\n\n constructor() {\n effect(() => {\n if (this._ripple) {\n this._ripple.disabled.set(this.disabled() || this.loading() || this.disableRipple());\n this._ripple.trigger.set(this.elementRef.nativeElement);\n this._ripple.centered.set(this.isIconButton);\n }\n });\n }\n\n /** Whether the button is an icon button. */\n get isIconButton(): boolean {\n return this.ngsIconButton() !== undefined;\n }\n\n _haltDisabledEvents(event: Event) {\n if (this.disabled() || this.loading()) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<span class=\"ripple\" ngsRipple></span>\n<span class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</span>\n<span class=\"content\"><ng-content/></span>\n@if (loading()) {\n <svg class=\"ngs-button-loading-spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n </svg>\n}\n<!--<div class=\"badge\"><ng-content select=\"ngs-badge\"/></div>-->\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ class Card {
|
|
|
27
27
|
return !!this._footer();
|
|
28
28
|
}
|
|
29
29
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Card, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Card, isStandalone: true, selector: "ngs-card", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ngs-card-outlined": "appearance() === \"outlined\"", "class.ngs-card-filled": "appearance() === \"filled\"", "class.ngs-card-raised": "appearance() === \"raised\"" }, classAttribute: "ngs-card not-prose" }, queries: [{ propertyName: "_footer", first: true, predicate: CardFooter, descendants: true, isSignal: true }], exportAs: ["ngsCard"], ngImport: i0, template: "<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n", styles: [":host{--ngs-card-bg: var(--color-surface-container);--ngs-card-color: var(--color-on-surface);--ngs-card-border-radius:
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Card, isStandalone: true, selector: "ngs-card", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ngs-card-outlined": "appearance() === \"outlined\"", "class.ngs-card-filled": "appearance() === \"filled\"", "class.ngs-card-raised": "appearance() === \"raised\"" }, classAttribute: "ngs-card not-prose" }, queries: [{ propertyName: "_footer", first: true, predicate: CardFooter, descendants: true, isSignal: true }], exportAs: ["ngsCard"], ngImport: i0, template: "<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n", styles: [":host{--ngs-card-bg: var(--ngs-color-surface-container);--ngs-card-color: var(--ngs-color-on-surface);--ngs-card-border-radius: var(--ngs-radius-xl);--ngs-card-border-color: var(--ngs-color-subtle);--ngs-card-shadow: none;--ngs-card-padding: calc(var(--spacing, .25rem) * 4);display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-radius:var(--ngs-card-border-radius);background:var(--ngs-card-bg);color:var(--ngs-card-color);box-shadow:var(--ngs-card-shadow);border-width:0;border-style:solid;border-color:var(--ngs-card-border-color)}:host(.ngs-card-outlined){--ngs-card-shadow: none;--ngs-card-bg: transparent;border-width:1px}:host(.ngs-card-raised){--ngs-card-shadow: var(--ngs-shadow-sm);--ngs-card-bg: var(--ngs-color-surface-container)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Card, decorators: [{
|
|
33
33
|
type: Component,
|
|
@@ -36,7 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
36
36
|
'[class.ngs-card-outlined]': 'appearance() === "outlined"',
|
|
37
37
|
'[class.ngs-card-filled]': 'appearance() === "filled"',
|
|
38
38
|
'[class.ngs-card-raised]': 'appearance() === "raised"',
|
|
39
|
-
}, template: "<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n", styles: [":host{--ngs-card-bg: var(--color-surface-container);--ngs-card-color: var(--color-on-surface);--ngs-card-border-radius:
|
|
39
|
+
}, template: "<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n", styles: [":host{--ngs-card-bg: var(--ngs-color-surface-container);--ngs-card-color: var(--ngs-color-on-surface);--ngs-card-border-radius: var(--ngs-radius-xl);--ngs-card-border-color: var(--ngs-color-subtle);--ngs-card-shadow: none;--ngs-card-padding: calc(var(--spacing, .25rem) * 4);display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-radius:var(--ngs-card-border-radius);background:var(--ngs-card-bg);color:var(--ngs-card-color);box-shadow:var(--ngs-card-shadow);border-width:0;border-style:solid;border-color:var(--ngs-card-border-color)}:host(.ngs-card-outlined){--ngs-card-shadow: none;--ngs-card-bg: transparent;border-width:1px}:host(.ngs-card-raised){--ngs-card-shadow: var(--ngs-shadow-sm);--ngs-card-bg: var(--ngs-color-surface-container)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
40
40
|
}], propDecorators: { appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], _footer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CardFooter), { isSignal: true }] }] } });
|
|
41
41
|
|
|
42
42
|
class CardHeader {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-card.mjs","sources":["../../../projects/components/card/src/card-footer/card-footer.ts","../../../projects/components/card/src/card-footer/card-footer.html","../../../projects/components/card/src/config.ts","../../../projects/components/card/src/card/card.ts","../../../projects/components/card/src/card/card.html","../../../projects/components/card/src/card-header/card-header.ts","../../../projects/components/card/src/card-header/card-header.html","../../../projects/components/card/src/card-title/card-title.ts","../../../projects/components/card/src/card-title/card-title.html","../../../projects/components/card/src/card-subtitle/card-subtitle.ts","../../../projects/components/card/src/card-subtitle/card-subtitle.html","../../../projects/components/card/src/card-content/card-content.ts","../../../projects/components/card/src/card-content/card-content.html","../../../projects/components/card/src/card-actions/card-actions.ts","../../../projects/components/card/src/card-actions/card-actions.html","../../../projects/components/card/src/card-aside/card-aside.ts","../../../projects/components/card/src/card-aside/card-aside.html","../../../projects/components/card/src/card-image/card-image.ts","../../../projects/components/card/src/card-image/card-image.html","../../../projects/components/card/src/card-avatar/card-avatar.ts","../../../projects/components/card/ngstarter-ui-components-card.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-footer, [ngs-card-footer], [ngsCardFooter]',\n templateUrl: './card-footer.html',\n styleUrl: './card-footer.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-footer'\n }\n})\nexport class CardFooter {}\n","<ng-content />\n","import { InjectionToken, makeEnvironmentProviders, EnvironmentProviders } from '@angular/core';\n\nexport type CardAppearance = 'raised' | 'outlined' | 'filled';\n\nexport interface CardConfig {\n appearance?: CardAppearance;\n}\n\nexport const CARD_CONFIG = new InjectionToken<CardConfig>('CARD_CONFIG');\n\nexport function provideCard(config: CardConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: CARD_CONFIG, useValue: config }\n ]);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n contentChild,\n} from '@angular/core';\nimport { CardFooter } from '../card-footer/card-footer';\nimport { CARD_CONFIG, CardAppearance } from '../config';\n\n@Component({\n selector: 'ngs-card',\n exportAs: 'ngsCard',\n templateUrl: './card.html',\n styleUrl: './card.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card not-prose',\n '[class.ngs-card-outlined]': 'appearance() === \"outlined\"',\n '[class.ngs-card-filled]': 'appearance() === \"filled\"',\n '[class.ngs-card-raised]': 'appearance() === \"raised\"',\n },\n})\nexport class Card {\n private _config = inject(CARD_CONFIG, { optional: true });\n\n appearance = input<CardAppearance>(this._config?.appearance || 'outlined');\n\n readonly _footer = contentChild(CardFooter);\n\n get hasFooter(): boolean {\n return !!this._footer();\n }\n}\n","<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-header',\n standalone: true,\n imports: [\n ],\n templateUrl: './card-header.html',\n styleUrl: './card-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-header'\n }\n})\nexport class CardHeader {}\n","<div class=\"flex items-center gap-3\">\n <ng-content select=\"ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]\"/>\n <div class=\"ngs-card-header-text\">\n <div>\n <ng-content select=\"ngs-card-title, [ngs-card-title], [ngsCardTitle]\"/>\n <ng-content select=\"ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]\"/>\n </div>\n <ng-content/>\n </div>\n</div>\n<div class=\"aside\">\n <ng-content select=\"ngs-card-aside, [ngs-card-aside], [ngsCardAside]\"/>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-title, [ngs-card-title], [ngsCardTitle]',\n exportAs: 'ngsCardTitle',\n standalone: true,\n templateUrl: './card-title.html',\n styleUrls: ['./card-title.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-title'\n }\n})\nexport class CardTitle {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]',\n exportAs: 'ngsCardSubtitle',\n standalone: true,\n templateUrl: './card-subtitle.html',\n styleUrl: './card-subtitle.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-subtitle'\n }\n})\nexport class CardSubtitle {}\n","<ng-content />\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-content, [ngs-card-content], [ngsCardContent]',\n exportAs: 'ngsCardContent',\n standalone: true,\n templateUrl: './card-content.html',\n styleUrls: ['./card-content.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-content',\n '[class.without-padding]': 'withoutPadding()',\n }\n})\nexport class CardContent {\n withoutPadding = input(false, {\n transform: booleanAttribute\n })\n}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nexport type CardActionsPosition = 'start' | 'center' | 'end' | 'between';\n\n@Component({\n selector: 'ngs-card-actions, [ngs-card-actions], [ngsCardActions]',\n standalone: true,\n templateUrl: './card-actions.html',\n styleUrl: './card-actions.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-actions',\n '[class.ngs-card-actions-align-end]': 'align() === \"end\"',\n '[class.ngs-card-actions-align-center]': 'align() === \"center\"',\n '[class.ngs-card-actions-align-between]': 'align() === \"between\"',\n }\n})\nexport class CardActions {\n align = input<CardActionsPosition>('start');\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-aside, [ngs-card-aside], ngsCardAside',\n imports: [],\n templateUrl: './card-aside.html',\n styleUrl: './card-aside.scss',\n})\nexport class CardAside {\n\n}\n","<ng-content/>\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-image, [ngs-card-image], [ngsCardImage]',\n standalone: true,\n templateUrl: './card-image.html',\n styleUrl: './card-image.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-image'\n }\n})\nexport class CardImage {}\n\n@Directive({\n selector: '[ngs-card-sm-image], [ngsCardImageSmall]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-sm-image'\n }\n})\nexport class CardImageSmall {}\n\n@Directive({\n selector: '[ngs-card-md-image], [ngsCardImageMedium]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-md-image'\n }\n})\nexport class CardImageMedium {}\n\n@Directive({\n selector: '[ngs-card-lg-image], [ngsCardImageLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-lg-image'\n }\n})\nexport class CardImageLarge {}\n\n@Directive({\n selector: '[ngs-card-xl-image], [ngsCardImageXLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-xl-image'\n }\n})\nexport class CardImageXLarge {}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]',\n standalone: true,\n host: {\n 'class': 'ngs-card-avatar'\n },\n})\nexport class CardAvatar {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-card.mjs","sources":["../../../projects/components/card/src/card-footer/card-footer.ts","../../../projects/components/card/src/card-footer/card-footer.html","../../../projects/components/card/src/config.ts","../../../projects/components/card/src/card/card.ts","../../../projects/components/card/src/card/card.html","../../../projects/components/card/src/card-header/card-header.ts","../../../projects/components/card/src/card-header/card-header.html","../../../projects/components/card/src/card-title/card-title.ts","../../../projects/components/card/src/card-title/card-title.html","../../../projects/components/card/src/card-subtitle/card-subtitle.ts","../../../projects/components/card/src/card-subtitle/card-subtitle.html","../../../projects/components/card/src/card-content/card-content.ts","../../../projects/components/card/src/card-content/card-content.html","../../../projects/components/card/src/card-actions/card-actions.ts","../../../projects/components/card/src/card-actions/card-actions.html","../../../projects/components/card/src/card-aside/card-aside.ts","../../../projects/components/card/src/card-aside/card-aside.html","../../../projects/components/card/src/card-image/card-image.ts","../../../projects/components/card/src/card-image/card-image.html","../../../projects/components/card/src/card-avatar/card-avatar.ts","../../../projects/components/card/ngstarter-ui-components-card.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-footer, [ngs-card-footer], [ngsCardFooter]',\n templateUrl: './card-footer.html',\n styleUrl: './card-footer.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-footer'\n }\n})\nexport class CardFooter {}\n","<ng-content />\n","import { InjectionToken, makeEnvironmentProviders, EnvironmentProviders } from '@angular/core';\n\nexport type CardAppearance = 'raised' | 'outlined' | 'filled';\n\nexport interface CardConfig {\n appearance?: CardAppearance;\n}\n\nexport const CARD_CONFIG = new InjectionToken<CardConfig>('CARD_CONFIG');\n\nexport function provideCard(config: CardConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: CARD_CONFIG, useValue: config }\n ]);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n contentChild,\n} from '@angular/core';\nimport { CardFooter } from '../card-footer/card-footer';\nimport { CARD_CONFIG, CardAppearance } from '../config';\n\n@Component({\n selector: 'ngs-card',\n exportAs: 'ngsCard',\n templateUrl: './card.html',\n styleUrl: './card.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card not-prose',\n '[class.ngs-card-outlined]': 'appearance() === \"outlined\"',\n '[class.ngs-card-filled]': 'appearance() === \"filled\"',\n '[class.ngs-card-raised]': 'appearance() === \"raised\"',\n },\n})\nexport class Card {\n private _config = inject(CARD_CONFIG, { optional: true });\n\n appearance = input<CardAppearance>(this._config?.appearance || 'outlined');\n\n readonly _footer = contentChild(CardFooter);\n\n get hasFooter(): boolean {\n return !!this._footer();\n }\n}\n","<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-header',\n standalone: true,\n imports: [\n ],\n templateUrl: './card-header.html',\n styleUrl: './card-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-header'\n }\n})\nexport class CardHeader {}\n","<div class=\"flex items-center gap-3\">\n <ng-content select=\"ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]\"/>\n <div class=\"ngs-card-header-text\">\n <div>\n <ng-content select=\"ngs-card-title, [ngs-card-title], [ngsCardTitle]\"/>\n <ng-content select=\"ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]\"/>\n </div>\n <ng-content/>\n </div>\n</div>\n<div class=\"aside\">\n <ng-content select=\"ngs-card-aside, [ngs-card-aside], [ngsCardAside]\"/>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-title, [ngs-card-title], [ngsCardTitle]',\n exportAs: 'ngsCardTitle',\n standalone: true,\n templateUrl: './card-title.html',\n styleUrls: ['./card-title.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-title'\n }\n})\nexport class CardTitle {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]',\n exportAs: 'ngsCardSubtitle',\n standalone: true,\n templateUrl: './card-subtitle.html',\n styleUrl: './card-subtitle.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-subtitle'\n }\n})\nexport class CardSubtitle {}\n","<ng-content />\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-content, [ngs-card-content], [ngsCardContent]',\n exportAs: 'ngsCardContent',\n standalone: true,\n templateUrl: './card-content.html',\n styleUrls: ['./card-content.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-content',\n '[class.without-padding]': 'withoutPadding()',\n }\n})\nexport class CardContent {\n withoutPadding = input(false, {\n transform: booleanAttribute\n })\n}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nexport type CardActionsPosition = 'start' | 'center' | 'end' | 'between';\n\n@Component({\n selector: 'ngs-card-actions, [ngs-card-actions], [ngsCardActions]',\n standalone: true,\n templateUrl: './card-actions.html',\n styleUrl: './card-actions.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-actions',\n '[class.ngs-card-actions-align-end]': 'align() === \"end\"',\n '[class.ngs-card-actions-align-center]': 'align() === \"center\"',\n '[class.ngs-card-actions-align-between]': 'align() === \"between\"',\n }\n})\nexport class CardActions {\n align = input<CardActionsPosition>('start');\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-aside, [ngs-card-aside], ngsCardAside',\n imports: [],\n templateUrl: './card-aside.html',\n styleUrl: './card-aside.scss',\n})\nexport class CardAside {\n\n}\n","<ng-content/>\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-image, [ngs-card-image], [ngsCardImage]',\n standalone: true,\n templateUrl: './card-image.html',\n styleUrl: './card-image.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-image'\n }\n})\nexport class CardImage {}\n\n@Directive({\n selector: '[ngs-card-sm-image], [ngsCardImageSmall]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-sm-image'\n }\n})\nexport class CardImageSmall {}\n\n@Directive({\n selector: '[ngs-card-md-image], [ngsCardImageMedium]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-md-image'\n }\n})\nexport class CardImageMedium {}\n\n@Directive({\n selector: '[ngs-card-lg-image], [ngsCardImageLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-lg-image'\n }\n})\nexport class CardImageLarge {}\n\n@Directive({\n selector: '[ngs-card-xl-image], [ngsCardImageXLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-xl-image'\n }\n})\nexport class CardImageXLarge {}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]',\n standalone: true,\n host: {\n 'class': 'ngs-card-avatar'\n },\n})\nexport class CardAvatar {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -238,7 +238,7 @@ class Checkbox {
|
|
|
238
238
|
useExisting: Checkbox,
|
|
239
239
|
multi: true,
|
|
240
240
|
},
|
|
241
|
-
], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }, { propertyName: "_labelElement", first: true, predicate: ["label"], descendants: true, isSignal: true }], exportAs: ["ngsCheckbox"], ngImport: i0, template: "<div class=\"ngs-checkbox-layout\" [class.ngs-checkbox-label-before]=\"labelPosition() === 'before'\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div #checkbox class=\"ngs-checkbox-frame\">\n <div class=\"ngs-checkbox-touch-target\" (click)=\"_onTouchTargetClick()\"></div>\n <input #input\n type=\"checkbox\"\n class=\"ngs-checkbox-native-control\"\n [class.ngs-checkbox--selected]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : null\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.aria-disabled]=\"disabled() && disabledInteractive() ? true : null\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-owns]=\"ariaOwns()\"\n [attr.name]=\"name()\"\n [attr.value]=\"value()\"\n [checked]=\"checked()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabled() && !disabledInteractive()\"\n [id]=\"inputId\"\n [required]=\"required()\"\n [tabIndex]=\"disabled() && !disabledInteractive() ? -1 : tabIndex()\"\n (blur)=\"_onBlur()\"\n (click)=\"_onInputClick()\"\n (change)=\"_onInteractionEvent($event)\"/>\n <div class=\"ngs-checkbox-ripple-container\"></div>\n <div class=\"ngs-checkbox-background\">\n @if (indeterminate()) {\n <div class=\"ngs-checkbox-mixedmark\"></div>\n } @else if (checked()) {\n <svg class=\"ngs-checkbox-checkmark\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"ngs-checkbox-checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n }\n </div>\n <div class=\"ngs-checkbox-ripple\" ngsRipple\n [ngsRippleTrigger]=\"checkbox\"\n [ngsRippleDisabled]=\"disableRipple() || disabled()\"\n [ngsRippleCentered]=\"true\"></div>\n </div>\n <label class=\"ngs-checkbox-label\" #label [for]=\"inputId\">\n <span class=\"content\"><ng-content /></span>\n <span class=\"description\">\n <ng-content select=\"[ngsCheckboxDecription]\" />\n </span>\n </label>\n</div>\n", styles: [":host{--ngs-checkbox-size: 19px;--ngs-checkbox-checked-color: var(--color-primary);--ngs-checkbox-unchecked-color: var(--
|
|
241
|
+
], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }, { propertyName: "_labelElement", first: true, predicate: ["label"], descendants: true, isSignal: true }], exportAs: ["ngsCheckbox"], ngImport: i0, template: "<div class=\"ngs-checkbox-layout\" [class.ngs-checkbox-label-before]=\"labelPosition() === 'before'\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div #checkbox class=\"ngs-checkbox-frame\">\n <div class=\"ngs-checkbox-touch-target\" (click)=\"_onTouchTargetClick()\"></div>\n <input #input\n type=\"checkbox\"\n class=\"ngs-checkbox-native-control\"\n [class.ngs-checkbox--selected]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : null\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.aria-disabled]=\"disabled() && disabledInteractive() ? true : null\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-owns]=\"ariaOwns()\"\n [attr.name]=\"name()\"\n [attr.value]=\"value()\"\n [checked]=\"checked()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabled() && !disabledInteractive()\"\n [id]=\"inputId\"\n [required]=\"required()\"\n [tabIndex]=\"disabled() && !disabledInteractive() ? -1 : tabIndex()\"\n (blur)=\"_onBlur()\"\n (click)=\"_onInputClick()\"\n (change)=\"_onInteractionEvent($event)\"/>\n <div class=\"ngs-checkbox-ripple-container\"></div>\n <div class=\"ngs-checkbox-background\">\n @if (indeterminate()) {\n <div class=\"ngs-checkbox-mixedmark\"></div>\n } @else if (checked()) {\n <svg class=\"ngs-checkbox-checkmark\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"ngs-checkbox-checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n }\n </div>\n <div class=\"ngs-checkbox-ripple\" ngsRipple\n [ngsRippleTrigger]=\"checkbox\"\n [ngsRippleDisabled]=\"disableRipple() || disabled()\"\n [ngsRippleCentered]=\"true\"></div>\n </div>\n <label class=\"ngs-checkbox-label\" #label [for]=\"inputId\">\n <span class=\"content\"><ng-content /></span>\n <span class=\"description\">\n <ng-content select=\"[ngsCheckboxDecription]\" />\n </span>\n </label>\n</div>\n", styles: [":host{--ngs-checkbox-size: 19px;--ngs-checkbox-checked-color: var(--ngs-color-primary);--ngs-checkbox-unchecked-color: var(--ngs-field-border-color);--ngs-checkbox-disabled-color: var(--ngs-color-on-surface-variant);--ngs-checkbox-checkmark-color: var(--ngs-color-on-primary);--ngs-checkbox-description-font-size: var(--ngs-font-size-sm);--ngs-checkbox-description-color: var(--ngs-color-neutral-500);--ngs-checkbox-gap: calc(var(--spacing, .25rem) * 2.5);--ngs-checkbox-label-font-size: var(--ngs-font-size-md);display:inline-block;position:relative}:host .description{font-size:var(--ngs-checkbox-description-font-size);color:var(--ngs-checkbox-description-color)}:host .description:empty{display:none}:host .content{font-size:var(--ngs-checkbox-label-font-size)}:host .ngs-checkbox-layout{display:flex;align-items:center;gap:var(--ngs-checkbox-gap);cursor:pointer}:host .ngs-checkbox-layout.ngs-checkbox-label-before{flex-direction:row-reverse}:host:has(.description:not(:empty)) .ngs-checkbox-layout{align-items:start}:host:has(.description:not(:empty)) .ngs-checkbox-frame{position:relative;top:calc(var(--spacing, .25rem) * 1.1)}:host .ngs-checkbox-frame{width:var(--ngs-checkbox-size);height:var(--ngs-checkbox-size);position:relative;display:flex;align-items:center;justify-content:center;flex:none}:host .ngs-checkbox-native-control{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1}:host .ngs-checkbox-background{width:100%;height:100%;border:1px solid var(--ngs-checkbox-unchecked-color);border-radius:3px;background:transparent;transition:background-color 90ms cubic-bezier(0,0,.2,1),border-color 90ms cubic-bezier(0,0,.2,1);box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:2px}:host .ngs-checkbox-checkmark{width:100%;height:100%}:host .ngs-checkbox-checkmark-path{stroke:var(--ngs-checkbox-checkmark-color);stroke-width:3.12px;stroke-dasharray:29.7833385;stroke-dashoffset:0}:host .ngs-checkbox-mixedmark{width:12px;height:2px;background:var(--ngs-checkbox-checkmark-color)}:host.ngs-checkbox-checked .ngs-checkbox-background,:host.ngs-checkbox-indeterminate .ngs-checkbox-background{background:var(--ngs-checkbox-checked-color);border-color:var(--ngs-checkbox-checked-color)}:host.ngs-checkbox-disabled{cursor:default;color:var(--ngs-color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host.ngs-checkbox-disabled{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host.ngs-checkbox-disabled .ngs-checkbox-layout{cursor:default}:host.ngs-checkbox-disabled .ngs-checkbox-background{border-color:var(--ngs-color-on-surface);background:transparent}@supports (color: color-mix(in lab,red,red)){:host.ngs-checkbox-disabled .ngs-checkbox-background{border-color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host.ngs-checkbox-disabled.ngs-checkbox-checked .ngs-checkbox-background,:host.ngs-checkbox-disabled.ngs-checkbox-indeterminate .ngs-checkbox-background{background:var(--ngs-color-on-surface);border-color:transparent}@supports (color: color-mix(in lab,red,red)){:host.ngs-checkbox-disabled.ngs-checkbox-checked .ngs-checkbox-background,:host.ngs-checkbox-disabled.ngs-checkbox-indeterminate .ngs-checkbox-background{background:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-checkbox-ripple{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;pointer-events:none;overflow:hidden}:host .ngs-checkbox-label{cursor:inherit}:host .ngs-checkbox-label:has(.description:empty):has(.content:empty){display:none}:host.ngs-accent{--ngs-checkbox-checked-color: var(--ngs-color-secondary);--ngs-checkbox-checkmark-color: var(--ngs-color-on-secondary)}:host.ngs-warn{--ngs-checkbox-checked-color: var(--ngs-color-danger);--ngs-checkbox-checkmark-color: var(--ngs-color-on-danger)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: Ripple, selector: "[ngsRipple]", inputs: ["ngsRippleColor", "ngsRippleUnbounded", "ngsRippleCentered", "ngsRippleRadius", "ngsRippleAnimation", "ngsRippleDisabled", "ngsRippleTrigger"], outputs: ["ngsRippleCenteredChange", "ngsRippleDisabledChange", "ngsRippleTriggerChange"], exportAs: ["ngsRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
242
242
|
}
|
|
243
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Checkbox, decorators: [{
|
|
244
244
|
type: Component,
|
|
@@ -265,7 +265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
265
265
|
useExisting: Checkbox,
|
|
266
266
|
multi: true,
|
|
267
267
|
},
|
|
268
|
-
], exportAs: 'ngsCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngs-checkbox-layout\" [class.ngs-checkbox-label-before]=\"labelPosition() === 'before'\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div #checkbox class=\"ngs-checkbox-frame\">\n <div class=\"ngs-checkbox-touch-target\" (click)=\"_onTouchTargetClick()\"></div>\n <input #input\n type=\"checkbox\"\n class=\"ngs-checkbox-native-control\"\n [class.ngs-checkbox--selected]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : null\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.aria-disabled]=\"disabled() && disabledInteractive() ? true : null\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-owns]=\"ariaOwns()\"\n [attr.name]=\"name()\"\n [attr.value]=\"value()\"\n [checked]=\"checked()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabled() && !disabledInteractive()\"\n [id]=\"inputId\"\n [required]=\"required()\"\n [tabIndex]=\"disabled() && !disabledInteractive() ? -1 : tabIndex()\"\n (blur)=\"_onBlur()\"\n (click)=\"_onInputClick()\"\n (change)=\"_onInteractionEvent($event)\"/>\n <div class=\"ngs-checkbox-ripple-container\"></div>\n <div class=\"ngs-checkbox-background\">\n @if (indeterminate()) {\n <div class=\"ngs-checkbox-mixedmark\"></div>\n } @else if (checked()) {\n <svg class=\"ngs-checkbox-checkmark\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"ngs-checkbox-checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n }\n </div>\n <div class=\"ngs-checkbox-ripple\" ngsRipple\n [ngsRippleTrigger]=\"checkbox\"\n [ngsRippleDisabled]=\"disableRipple() || disabled()\"\n [ngsRippleCentered]=\"true\"></div>\n </div>\n <label class=\"ngs-checkbox-label\" #label [for]=\"inputId\">\n <span class=\"content\"><ng-content /></span>\n <span class=\"description\">\n <ng-content select=\"[ngsCheckboxDecription]\" />\n </span>\n </label>\n</div>\n", styles: [":host{--ngs-checkbox-size: 19px;--ngs-checkbox-checked-color: var(--color-primary);--ngs-checkbox-unchecked-color: var(--
|
|
268
|
+
], exportAs: 'ngsCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngs-checkbox-layout\" [class.ngs-checkbox-label-before]=\"labelPosition() === 'before'\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div #checkbox class=\"ngs-checkbox-frame\">\n <div class=\"ngs-checkbox-touch-target\" (click)=\"_onTouchTargetClick()\"></div>\n <input #input\n type=\"checkbox\"\n class=\"ngs-checkbox-native-control\"\n [class.ngs-checkbox--selected]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : null\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.aria-disabled]=\"disabled() && disabledInteractive() ? true : null\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-owns]=\"ariaOwns()\"\n [attr.name]=\"name()\"\n [attr.value]=\"value()\"\n [checked]=\"checked()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabled() && !disabledInteractive()\"\n [id]=\"inputId\"\n [required]=\"required()\"\n [tabIndex]=\"disabled() && !disabledInteractive() ? -1 : tabIndex()\"\n (blur)=\"_onBlur()\"\n (click)=\"_onInputClick()\"\n (change)=\"_onInteractionEvent($event)\"/>\n <div class=\"ngs-checkbox-ripple-container\"></div>\n <div class=\"ngs-checkbox-background\">\n @if (indeterminate()) {\n <div class=\"ngs-checkbox-mixedmark\"></div>\n } @else if (checked()) {\n <svg class=\"ngs-checkbox-checkmark\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"ngs-checkbox-checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n }\n </div>\n <div class=\"ngs-checkbox-ripple\" ngsRipple\n [ngsRippleTrigger]=\"checkbox\"\n [ngsRippleDisabled]=\"disableRipple() || disabled()\"\n [ngsRippleCentered]=\"true\"></div>\n </div>\n <label class=\"ngs-checkbox-label\" #label [for]=\"inputId\">\n <span class=\"content\"><ng-content /></span>\n <span class=\"description\">\n <ng-content select=\"[ngsCheckboxDecription]\" />\n </span>\n </label>\n</div>\n", styles: [":host{--ngs-checkbox-size: 19px;--ngs-checkbox-checked-color: var(--ngs-color-primary);--ngs-checkbox-unchecked-color: var(--ngs-field-border-color);--ngs-checkbox-disabled-color: var(--ngs-color-on-surface-variant);--ngs-checkbox-checkmark-color: var(--ngs-color-on-primary);--ngs-checkbox-description-font-size: var(--ngs-font-size-sm);--ngs-checkbox-description-color: var(--ngs-color-neutral-500);--ngs-checkbox-gap: calc(var(--spacing, .25rem) * 2.5);--ngs-checkbox-label-font-size: var(--ngs-font-size-md);display:inline-block;position:relative}:host .description{font-size:var(--ngs-checkbox-description-font-size);color:var(--ngs-checkbox-description-color)}:host .description:empty{display:none}:host .content{font-size:var(--ngs-checkbox-label-font-size)}:host .ngs-checkbox-layout{display:flex;align-items:center;gap:var(--ngs-checkbox-gap);cursor:pointer}:host .ngs-checkbox-layout.ngs-checkbox-label-before{flex-direction:row-reverse}:host:has(.description:not(:empty)) .ngs-checkbox-layout{align-items:start}:host:has(.description:not(:empty)) .ngs-checkbox-frame{position:relative;top:calc(var(--spacing, .25rem) * 1.1)}:host .ngs-checkbox-frame{width:var(--ngs-checkbox-size);height:var(--ngs-checkbox-size);position:relative;display:flex;align-items:center;justify-content:center;flex:none}:host .ngs-checkbox-native-control{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1}:host .ngs-checkbox-background{width:100%;height:100%;border:1px solid var(--ngs-checkbox-unchecked-color);border-radius:3px;background:transparent;transition:background-color 90ms cubic-bezier(0,0,.2,1),border-color 90ms cubic-bezier(0,0,.2,1);box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:2px}:host .ngs-checkbox-checkmark{width:100%;height:100%}:host .ngs-checkbox-checkmark-path{stroke:var(--ngs-checkbox-checkmark-color);stroke-width:3.12px;stroke-dasharray:29.7833385;stroke-dashoffset:0}:host .ngs-checkbox-mixedmark{width:12px;height:2px;background:var(--ngs-checkbox-checkmark-color)}:host.ngs-checkbox-checked .ngs-checkbox-background,:host.ngs-checkbox-indeterminate .ngs-checkbox-background{background:var(--ngs-checkbox-checked-color);border-color:var(--ngs-checkbox-checked-color)}:host.ngs-checkbox-disabled{cursor:default;color:var(--ngs-color-on-surface)}@supports (color: color-mix(in lab,red,red)){:host.ngs-checkbox-disabled{color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host.ngs-checkbox-disabled .ngs-checkbox-layout{cursor:default}:host.ngs-checkbox-disabled .ngs-checkbox-background{border-color:var(--ngs-color-on-surface);background:transparent}@supports (color: color-mix(in lab,red,red)){:host.ngs-checkbox-disabled .ngs-checkbox-background{border-color:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host.ngs-checkbox-disabled.ngs-checkbox-checked .ngs-checkbox-background,:host.ngs-checkbox-disabled.ngs-checkbox-indeterminate .ngs-checkbox-background{background:var(--ngs-color-on-surface);border-color:transparent}@supports (color: color-mix(in lab,red,red)){:host.ngs-checkbox-disabled.ngs-checkbox-checked .ngs-checkbox-background,:host.ngs-checkbox-disabled.ngs-checkbox-indeterminate .ngs-checkbox-background{background:color-mix(in srgb,var(--ngs-color-on-surface),transparent 62%)}}:host .ngs-checkbox-ripple{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;pointer-events:none;overflow:hidden}:host .ngs-checkbox-label{cursor:inherit}:host .ngs-checkbox-label:has(.description:empty):has(.content:empty){display:none}:host.ngs-accent{--ngs-checkbox-checked-color: var(--ngs-color-secondary);--ngs-checkbox-checkmark-color: var(--ngs-color-on-secondary)}:host.ngs-warn{--ngs-checkbox-checked-color: var(--ngs-color-danger);--ngs-checkbox-checkmark-color: var(--ngs-color-on-danger)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
269
269
|
}], ctorParameters: () => [], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], ariaExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-expanded", required: false }] }], ariaControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-controls", required: false }] }], ariaOwns: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-owns", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], labelPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPosition", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disableRipple: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableRipple", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], disabledInteractive: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledInteractive", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }, { type: i0.Output, args: ["indeterminateChange"] }], change: [{ type: i0.Output, args: ["change"] }], indeterminateChange: [{ type: i0.Output, args: ["indeterminateChange"] }], _inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], _labelElement: [{ type: i0.ViewChild, args: ['label', { isSignal: true }] }] } });
|
|
270
270
|
|
|
271
271
|
class CheckboxDescription {
|