@design-factory/angular 21.1.0 → 22.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ai/docs/components/accordion/accessibility.md +45 -0
- package/.ai/docs/components/accordion/api.md +279 -0
- package/.ai/docs/components/accordion/developer.md +43 -0
- package/.ai/docs/components/accordion/guidelines.md +99 -0
- package/.ai/docs/components/accordion/overview.md +17 -0
- package/.ai/docs/components/alert/accessibility.md +24 -0
- package/.ai/docs/components/alert/api.md +65 -0
- package/.ai/docs/components/alert/developer.md +63 -0
- package/.ai/docs/components/alert/guidelines.md +62 -0
- package/.ai/docs/components/alert/overview.md +12 -0
- package/.ai/docs/components/button/accessibility.md +25 -0
- package/.ai/docs/components/button/api.md +71 -0
- package/.ai/docs/components/button/developer.md +52 -0
- package/.ai/docs/components/button/guidelines.md +75 -0
- package/.ai/docs/components/button/overview.md +15 -0
- package/.ai/docs/components/buttongroup/api.md +16 -0
- package/.ai/docs/components/buttongroup/developer.md +32 -0
- package/.ai/docs/components/drawer/accessibility.md +15 -0
- package/.ai/docs/components/drawer/api.md +56 -0
- package/.ai/docs/components/drawer/developer.md +36 -0
- package/.ai/docs/components/drawer/examples.md +9 -0
- package/.ai/docs/components/drawer/guidelines.md +58 -0
- package/.ai/docs/components/drawer/overview.md +19 -0
- package/.ai/docs/components/dropdown/accessibility.md +27 -0
- package/.ai/docs/components/dropdown/api.md +85 -0
- package/.ai/docs/components/dropdown/developer.md +59 -0
- package/.ai/docs/components/dropdown/guidelines.md +80 -0
- package/.ai/docs/components/dropdown/overview.md +16 -0
- package/.ai/docs/components/sidenav/accessibility.md +48 -0
- package/.ai/docs/components/sidenav/api.md +110 -0
- package/.ai/docs/components/sidenav/developer.md +14 -0
- package/.ai/docs/components/sidenav/guidelines.md +83 -0
- package/.ai/docs/components/sidenav/overview.md +16 -0
- package/.ai/docs/components/tooltip/accessibility.md +11 -0
- package/.ai/docs/components/tooltip/api.md +39 -0
- package/.ai/docs/components/tooltip/developer.md +16 -0
- package/.ai/docs/components/tooltip/guidelines.md +84 -0
- package/.ai/docs/components/tooltip/overview.md +23 -0
- package/.ai/docs/components/topnav/accessibility.md +51 -0
- package/.ai/docs/components/topnav/api.md +190 -0
- package/.ai/docs/components/topnav/developer.md +43 -0
- package/.ai/docs/components/topnav/guidelines.md +121 -0
- package/.ai/docs/components/topnav/overview.md +17 -0
- package/.ai/docs/demos/accordion/addons-subtitle/accordion-addons-subtitle.html +75 -0
- package/.ai/docs/demos/accordion/addons-subtitle/accordion-addons-subtitle.ts +27 -0
- package/.ai/docs/demos/accordion/basic/accordion-basic.html +16 -0
- package/.ai/docs/demos/accordion/basic/accordion-basic.ts +14 -0
- package/.ai/docs/demos/accordion/close-others/accordion-close-others.html +16 -0
- package/.ai/docs/demos/accordion/close-others/accordion-close-others.ts +14 -0
- package/.ai/docs/demos/accordion/interactive/accordion-interactive.html +84 -0
- package/.ai/docs/demos/accordion/interactive/accordion-interactive.ts +30 -0
- package/.ai/docs/demos/accordion/interactive-addons-subtitle/accordion-interactive-addons-subtitle.html +126 -0
- package/.ai/docs/demos/accordion/interactive-addons-subtitle/accordion-interactive-addons-subtitle.ts +33 -0
- package/.ai/docs/demos/accordion/programmatic-control/accordion-programmatic-control.html +36 -0
- package/.ai/docs/demos/accordion/programmatic-control/accordion-programmatic-control.ts +15 -0
- package/.ai/docs/demos/accordion/selectable/accordion-selectable.html +16 -0
- package/.ai/docs/demos/accordion/selectable/accordion-selectable.ts +14 -0
- package/.ai/docs/demos/accordion/selectable-extended/accordion-selectable-extended.html +28 -0
- package/.ai/docs/demos/accordion/selectable-extended/accordion-selectable-extended.ts +80 -0
- package/.ai/docs/demos/accordion/separator/accordion-separator.html +16 -0
- package/.ai/docs/demos/accordion/separator/accordion-separator.ts +14 -0
- package/.ai/docs/demos/alert/banner/alert-banner.html +15 -0
- package/.ai/docs/demos/alert/banner/alert-banner.ts +16 -0
- package/.ai/docs/demos/alert/basic/alert-basic.html +6 -0
- package/.ai/docs/demos/alert/basic/alert-basic.ts +9 -0
- package/.ai/docs/demos/alert/card/alert-card.html +15 -0
- package/.ai/docs/demos/alert/card/alert-card.ts +9 -0
- package/.ai/docs/demos/alert/dismissal/alert-dismissal.html +5 -0
- package/.ai/docs/demos/alert/dismissal/alert-dismissal.ts +27 -0
- package/.ai/docs/demos/alert/expandable/alert-expandable.html +9 -0
- package/.ai/docs/demos/alert/expandable/alert-expandable.ts +11 -0
- package/.ai/docs/demos/button/basic/button-basic.html +4 -0
- package/.ai/docs/demos/button/basic/button-basic.ts +9 -0
- package/.ai/docs/demos/button/disabled/button-disabled.html +18 -0
- package/.ai/docs/demos/button/disabled/button-disabled.ts +12 -0
- package/.ai/docs/demos/button/icons/button-icons.html +17 -0
- package/.ai/docs/demos/button/icons/button-icons.ts +10 -0
- package/.ai/docs/demos/button/surfaces/button-surfaces.html +13 -0
- package/.ai/docs/demos/button/surfaces/button-surfaces.ts +9 -0
- package/.ai/docs/demos/button/variants/button-variants.html +49 -0
- package/.ai/docs/demos/button/variants/button-variants.ts +9 -0
- package/.ai/docs/demos/buttongroup/basic/buttongroup-basic.html +6 -0
- package/.ai/docs/demos/buttongroup/basic/buttongroup-basic.ts +10 -0
- package/.ai/docs/demos/buttongroup/disabled/buttongroup-disabled.html +6 -0
- package/.ai/docs/demos/buttongroup/disabled/buttongroup-disabled.ts +10 -0
- package/.ai/docs/demos/buttongroup/mirror/buttongroup-mirror.html +8 -0
- package/.ai/docs/demos/buttongroup/mirror/buttongroup-mirror.ts +10 -0
- package/.ai/docs/demos/buttongroup/orientation/buttongroup-orientation.html +19 -0
- package/.ai/docs/demos/buttongroup/orientation/buttongroup-orientation.ts +10 -0
- package/.ai/docs/demos/buttongroup/sizing/buttongroup-sizing.html +19 -0
- package/.ai/docs/demos/buttongroup/sizing/buttongroup-sizing.ts +10 -0
- package/.ai/docs/demos/drawer/inline/drawer-inline-basic.html +46 -0
- package/.ai/docs/demos/drawer/inline/drawer-inline-basic.ts +33 -0
- package/.ai/docs/demos/drawer/overlay/drawer-overlay-basic.html +30 -0
- package/.ai/docs/demos/drawer/overlay/drawer-overlay-basic.ts +25 -0
- package/.ai/docs/demos/dropdown/basic/dropdown-basic.html +8 -0
- package/.ai/docs/demos/dropdown/basic/dropdown-basic.ts +15 -0
- package/.ai/docs/demos/dropdown/sizes/dropdown-sizes.html +9 -0
- package/.ai/docs/demos/dropdown/sizes/dropdown-sizes.ts +21 -0
- package/.ai/docs/demos/dropdown/split/dropdown-split.html +9 -0
- package/.ai/docs/demos/dropdown/split/dropdown-split.ts +11 -0
- package/.ai/docs/demos/dropdown/toggle/dropdown-toggle.html +22 -0
- package/.ai/docs/demos/dropdown/toggle/dropdown-toggle.ts +10 -0
- package/.ai/docs/demos/sidenav/sidenav-basic-no-icon/routes.ts +95 -0
- package/.ai/docs/demos/sidenav/sidenav-basic-no-icon/sidenav-basic-no-icon.html +42 -0
- package/.ai/docs/demos/sidenav/sidenav-basic-no-icon/sidenav-basic-no-icon.ts +12 -0
- package/.ai/docs/demos/sidenav/sidenav-basic-with-icon/routes.ts +41 -0
- package/.ai/docs/demos/sidenav/sidenav-basic-with-icon/sidenav-basic-with-icon.html +34 -0
- package/.ai/docs/demos/sidenav/sidenav-basic-with-icon/sidenav-basic-with-icon.ts +12 -0
- package/.ai/docs/demos/tooltip/basic/tooltip-basic.html +1 -0
- package/.ai/docs/demos/tooltip/basic/tooltip-basic.ts +10 -0
- package/.ai/docs/demos/tooltip/placements/tooltip-placements.html +35 -0
- package/.ai/docs/demos/tooltip/placements/tooltip-placements.ts +12 -0
- package/.ai/docs/demos/tooltip/sizes/tooltip-sizes.html +5 -0
- package/.ai/docs/demos/tooltip/sizes/tooltip-sizes.ts +10 -0
- package/.ai/docs/demos/topnav/brand/topnav-brand.ts +64 -0
- package/.ai/docs/demos/topnav/environment-banner/topnav-environment-banner.ts +20 -0
- package/.ai/docs/demos/topnav/navigation/routes.ts +35 -0
- package/.ai/docs/demos/topnav/navigation/topnav-navigation-flat.ts +67 -0
- package/.ai/docs/demos/topnav/navigation/topnav-navigation-tree.ts +82 -0
- package/.ai/docs/demos/topnav/quick-actions/notifications.ts +75 -0
- package/.ai/docs/demos/topnav/quick-actions/topnav-quick-actions.ts +108 -0
- package/.ai/docs/demos/topnav/quick-actions/user-account.ts +23 -0
- package/.ai/index.md +26 -0
- package/fesm2022/design-factory-angular-accordion.mjs +1153 -0
- package/fesm2022/design-factory-angular-accordion.mjs.map +1 -0
- package/fesm2022/design-factory-angular-alert.mjs +312 -0
- package/fesm2022/design-factory-angular-alert.mjs.map +1 -0
- package/fesm2022/design-factory-angular-breakpoints.mjs +53 -0
- package/fesm2022/design-factory-angular-breakpoints.mjs.map +1 -0
- package/fesm2022/design-factory-angular-button.mjs +240 -0
- package/fesm2022/design-factory-angular-button.mjs.map +1 -0
- package/fesm2022/design-factory-angular-buttongroup.mjs +75 -0
- package/fesm2022/design-factory-angular-buttongroup.mjs.map +1 -0
- package/fesm2022/design-factory-angular-drawer.mjs +64 -62
- package/fesm2022/design-factory-angular-drawer.mjs.map +1 -1
- package/fesm2022/design-factory-angular-dropdown.mjs +323 -0
- package/fesm2022/design-factory-angular-dropdown.mjs.map +1 -0
- package/fesm2022/design-factory-angular-form-field.mjs +287 -0
- package/fesm2022/design-factory-angular-form-field.mjs.map +1 -0
- package/fesm2022/design-factory-angular-icon.mjs +24 -0
- package/fesm2022/design-factory-angular-icon.mjs.map +1 -0
- package/fesm2022/design-factory-angular-input.mjs +34 -0
- package/fesm2022/design-factory-angular-input.mjs.map +1 -0
- package/fesm2022/design-factory-angular-internals.mjs +119 -39
- package/fesm2022/design-factory-angular-internals.mjs.map +1 -1
- package/fesm2022/design-factory-angular-separator.mjs +43 -0
- package/fesm2022/design-factory-angular-separator.mjs.map +1 -0
- package/fesm2022/design-factory-angular-sidenav.mjs +652 -401
- package/fesm2022/design-factory-angular-sidenav.mjs.map +1 -1
- package/fesm2022/design-factory-angular-slider.mjs +451 -0
- package/fesm2022/design-factory-angular-slider.mjs.map +1 -0
- package/fesm2022/design-factory-angular-theme.mjs +29 -19
- package/fesm2022/design-factory-angular-theme.mjs.map +1 -1
- package/fesm2022/design-factory-angular-toggle.mjs +172 -0
- package/fesm2022/design-factory-angular-toggle.mjs.map +1 -0
- package/fesm2022/design-factory-angular-tooltip.mjs +138 -0
- package/fesm2022/design-factory-angular-tooltip.mjs.map +1 -0
- package/fesm2022/design-factory-angular-topnav.mjs +589 -589
- package/fesm2022/design-factory-angular-topnav.mjs.map +1 -1
- package/package.json +61 -8
- package/schematics/collection.json +35 -0
- package/schematics/component-migration/accordion/constants.d.ts +10 -0
- package/schematics/component-migration/accordion/constants.js +46 -0
- package/schematics/component-migration/accordion/guide.md +257 -0
- package/schematics/component-migration/accordion/index.d.ts +2 -0
- package/schematics/component-migration/accordion/index.js +5 -0
- package/schematics/component-migration/accordion/migration.d.ts +2 -0
- package/schematics/component-migration/accordion/migration.js +13 -0
- package/schematics/component-migration/accordion/schema.json +25 -0
- package/schematics/component-migration/accordion/steps/accordion-imports.d.ts +3 -0
- package/schematics/component-migration/accordion/steps/accordion-imports.js +41 -0
- package/schematics/component-migration/accordion/steps/template-migration.d.ts +3 -0
- package/schematics/component-migration/accordion/steps/template-migration.js +554 -0
- package/schematics/component-migration/accordion/steps/title-content.d.ts +9 -0
- package/schematics/component-migration/accordion/steps/title-content.js +75 -0
- package/schematics/component-migration/ai/prompt.md +83 -0
- package/schematics/component-migration/alert/guide.md +246 -0
- package/schematics/component-migration/alert/index.d.ts +2 -0
- package/schematics/component-migration/alert/index.js +5 -0
- package/schematics/component-migration/alert/migration.d.ts +2 -0
- package/schematics/component-migration/alert/migration.js +50 -0
- package/schematics/component-migration/alert/schema.json +25 -0
- package/schematics/component-migration/alert/steps/alert-imports.d.ts +4 -0
- package/schematics/component-migration/alert/steps/alert-imports.js +97 -0
- package/schematics/component-migration/alert/steps/animation-input.d.ts +3 -0
- package/schematics/component-migration/alert/steps/animation-input.js +17 -0
- package/schematics/component-migration/alert/steps/close-output.d.ts +3 -0
- package/schematics/component-migration/alert/steps/close-output.js +17 -0
- package/schematics/component-migration/alert/steps/icon-directive-imports.d.ts +3 -0
- package/schematics/component-migration/alert/steps/icon-directive-imports.js +84 -0
- package/schematics/component-migration/alert/steps/icon-directive.d.ts +3 -0
- package/schematics/component-migration/alert/steps/icon-directive.js +10 -0
- package/schematics/component-migration/alert/steps/legacy-module-imports.d.ts +3 -0
- package/schematics/component-migration/alert/steps/legacy-module-imports.js +57 -0
- package/schematics/component-migration/alert/steps/programmatic-close.d.ts +3 -0
- package/schematics/component-migration/alert/steps/programmatic-close.js +44 -0
- package/schematics/component-migration/alert/steps/selector.d.ts +3 -0
- package/schematics/component-migration/alert/steps/selector.js +18 -0
- package/schematics/component-migration/alert/steps/static-classes.d.ts +3 -0
- package/schematics/component-migration/alert/steps/static-classes.js +97 -0
- package/schematics/component-migration/alert/steps/static-type.d.ts +3 -0
- package/schematics/component-migration/alert/steps/static-type.js +28 -0
- package/schematics/component-migration/alert/steps/template-reference.d.ts +3 -0
- package/schematics/component-migration/alert/steps/template-reference.js +15 -0
- package/schematics/component-migration/alert/steps/template-todos.d.ts +3 -0
- package/schematics/component-migration/alert/steps/template-todos.js +78 -0
- package/schematics/component-migration/button/guide.md +278 -0
- package/schematics/component-migration/button/index.d.ts +2 -0
- package/schematics/component-migration/button/index.js +5 -0
- package/schematics/component-migration/button/migration.d.ts +2 -0
- package/schematics/component-migration/button/migration.js +180 -0
- package/schematics/component-migration/button/schema.json +25 -0
- package/schematics/component-migration/button/steps/static-classes.d.ts +10 -0
- package/schematics/component-migration/button/steps/static-classes.js +128 -0
- package/schematics/component-migration/button/steps/template-todos.d.ts +19 -0
- package/schematics/component-migration/button/steps/template-todos.js +120 -0
- package/schematics/component-migration/button/types.d.ts +7 -0
- package/schematics/component-migration/button/types.js +2 -0
- package/schematics/component-migration/dropdown/guide.md +252 -0
- package/schematics/component-migration/dropdown/index.d.ts +2 -0
- package/schematics/component-migration/dropdown/index.js +5 -0
- package/schematics/component-migration/dropdown/migration.d.ts +2 -0
- package/schematics/component-migration/dropdown/migration.js +41 -0
- package/schematics/component-migration/dropdown/schema.json +25 -0
- package/schematics/component-migration/dropdown/steps/dropdown-imports.d.ts +3 -0
- package/schematics/component-migration/dropdown/steps/dropdown-imports.js +308 -0
- package/schematics/component-migration/dropdown/steps/template-attributes.d.ts +10 -0
- package/schematics/component-migration/dropdown/steps/template-attributes.js +57 -0
- package/schematics/component-migration/dropdown/steps/template-helpers.d.ts +20 -0
- package/schematics/component-migration/dropdown/steps/template-helpers.js +125 -0
- package/schematics/component-migration/dropdown/steps/template-imports.d.ts +22 -0
- package/schematics/component-migration/dropdown/steps/template-imports.js +12 -0
- package/schematics/component-migration/dropdown/steps/template-items.d.ts +7 -0
- package/schematics/component-migration/dropdown/steps/template-items.js +58 -0
- package/schematics/component-migration/dropdown/steps/template-menu.d.ts +14 -0
- package/schematics/component-migration/dropdown/steps/template-menu.js +107 -0
- package/schematics/component-migration/dropdown/steps/template-todos.d.ts +19 -0
- package/schematics/component-migration/dropdown/steps/template-todos.js +118 -0
- package/schematics/component-migration/dropdown/steps/template-toggle.d.ts +9 -0
- package/schematics/component-migration/dropdown/steps/template-toggle.js +70 -0
- package/schematics/component-migration/dropdown/steps/template-wrapper.d.ts +12 -0
- package/schematics/component-migration/dropdown/steps/template-wrapper.js +105 -0
- package/schematics/component-migration/index.d.ts +3 -0
- package/schematics/component-migration/index.js +26 -0
- package/schematics/component-migration/next-steps/index.d.ts +13 -0
- package/schematics/component-migration/next-steps/index.js +34 -0
- package/schematics/component-migration/registry.d.ts +1 -0
- package/schematics/component-migration/registry.js +15 -0
- package/schematics/component-migration/schema.json +20 -0
- package/schematics/component-migration/shared/ai-handoff.d.ts +2 -0
- package/schematics/component-migration/shared/ai-handoff.js +28 -0
- package/schematics/component-migration/shared/angular-component.d.ts +10 -0
- package/schematics/component-migration/shared/angular-component.js +125 -0
- package/schematics/component-migration/shared/button-visual-classes.d.ts +24 -0
- package/schematics/component-migration/shared/button-visual-classes.js +111 -0
- package/schematics/component-migration/shared/component-context.d.ts +7 -0
- package/schematics/component-migration/shared/component-context.js +24 -0
- package/schematics/component-migration/shared/component-imports.d.ts +45 -0
- package/schematics/component-migration/shared/component-imports.js +380 -0
- package/schematics/component-migration/shared/create-component-schematic.d.ts +3 -0
- package/schematics/component-migration/shared/create-component-schematic.js +55 -0
- package/schematics/component-migration/shared/import-edits.d.ts +11 -0
- package/schematics/component-migration/shared/import-edits.js +157 -0
- package/schematics/component-migration/shared/legacy-config-todos.d.ts +3 -0
- package/schematics/component-migration/shared/legacy-config-todos.js +90 -0
- package/schematics/component-migration/shared/migrate-project.d.ts +12 -0
- package/schematics/component-migration/shared/migrate-project.js +151 -0
- package/schematics/component-migration/shared/project-templates.d.ts +15 -0
- package/schematics/component-migration/shared/project-templates.js +43 -0
- package/schematics/component-migration/shared/scan-project.d.ts +3 -0
- package/schematics/component-migration/shared/scan-project.js +24 -0
- package/schematics/component-migration/shared/static-placement.d.ts +1 -0
- package/schematics/component-migration/shared/static-placement.js +45 -0
- package/schematics/component-migration/shared/template-edits.d.ts +28 -0
- package/schematics/component-migration/shared/template-edits.js +153 -0
- package/schematics/component-migration/shared/template-result.d.ts +3 -0
- package/schematics/component-migration/shared/template-result.js +11 -0
- package/schematics/component-migration/shared/testing.d.ts +13 -0
- package/schematics/component-migration/shared/testing.js +59 -0
- package/schematics/component-migration/shared/todo-comments.d.ts +10 -0
- package/schematics/component-migration/shared/todo-comments.js +81 -0
- package/schematics/component-migration/shared/types.d.ts +41 -0
- package/schematics/component-migration/shared/types.js +2 -0
- package/schematics/component-migration/tooltip/guide.md +196 -0
- package/schematics/component-migration/tooltip/index.d.ts +2 -0
- package/schematics/component-migration/tooltip/index.js +5 -0
- package/schematics/component-migration/tooltip/migration.d.ts +2 -0
- package/schematics/component-migration/tooltip/migration.js +50 -0
- package/schematics/component-migration/tooltip/schema.json +25 -0
- package/schematics/component-migration/tooltip/steps/template-attributes.d.ts +13 -0
- package/schematics/component-migration/tooltip/steps/template-attributes.js +266 -0
- package/schematics/component-migration/tooltip/steps/template-todos.d.ts +24 -0
- package/schematics/component-migration/tooltip/steps/template-todos.js +115 -0
- package/schematics/component-migration/tooltip/steps/tooltip-imports.d.ts +3 -0
- package/schematics/component-migration/tooltip/steps/tooltip-imports.js +79 -0
- package/schematics/component-migration/utils/component-resource-collector.d.ts +34 -0
- package/schematics/component-migration/utils/component-resource-collector.js +107 -0
- package/schematics/component-migration/utils/project_tsconfig_paths.d.ts +18 -0
- package/schematics/component-migration/utils/project_tsconfig_paths.js +105 -0
- package/schematics/component-migration/utils/typescript/compiler_host.d.ts +44 -0
- package/schematics/component-migration/utils/typescript/compiler_host.js +87 -0
- package/schematics/component-migration/utils/typescript/decorators.d.ts +22 -0
- package/schematics/component-migration/utils/typescript/decorators.js +41 -0
- package/schematics/component-migration/utils/typescript/functions.d.ts +14 -0
- package/schematics/component-migration/utils/typescript/functions.js +20 -0
- package/schematics/component-migration/utils/typescript/imports.d.ts +17 -0
- package/schematics/component-migration/utils/typescript/imports.js +110 -0
- package/schematics/component-migration/utils/typescript/parse_tsconfig.d.ts +9 -0
- package/schematics/component-migration/utils/typescript/parse_tsconfig.js +29 -0
- package/schematics/component-migration/utils/typescript/property-name.d.ts +13 -0
- package/schematics/component-migration/utils/typescript/property-name.js +22 -0
- package/schematics/package.json +3 -0
- package/types/design-factory-angular-accordion.d.ts +553 -0
- package/types/design-factory-angular-alert.d.ts +166 -0
- package/types/design-factory-angular-breakpoints.d.ts +13 -0
- package/types/design-factory-angular-button.d.ts +166 -0
- package/types/design-factory-angular-buttongroup.d.ts +45 -0
- package/types/design-factory-angular-drawer.d.ts +10 -16
- package/types/design-factory-angular-dropdown.d.ts +148 -0
- package/types/design-factory-angular-form-field.d.ts +122 -0
- package/types/design-factory-angular-icon.d.ts +11 -0
- package/types/design-factory-angular-input.d.ts +16 -0
- package/types/design-factory-angular-internals.d.ts +78 -19
- package/types/design-factory-angular-separator.d.ts +29 -0
- package/types/design-factory-angular-sidenav.d.ts +98 -14
- package/types/design-factory-angular-slider.d.ts +239 -0
- package/types/design-factory-angular-toggle.d.ts +93 -0
- package/types/design-factory-angular-tooltip.d.ts +113 -0
- package/types/design-factory-angular-topnav.d.ts +35 -47
- package/drawer/README.md +0 -54
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-factory-angular-button.mjs","sources":["../../button/button-host.ts","../../button/button-visual.ts","../../button/button.ts","../../button/design-factory-angular-button.ts"],"sourcesContent":["import { booleanAttribute, DestroyRef, Directive, ElementRef, inject, input } from '@angular/core';\n\n/**\n * Internal host behavior for DF button-like directives.\n *\n * @since 22.0\n * @internal\n */\n@Directive({\n host: {\n '[attr.type]': 'isButton ? type() : null',\n '[attr.disabled]': 'isButton && disabled() ? \"\" : null',\n '[attr.aria-disabled]': 'isAnchor && disabled() ? \"true\" : null',\n '[attr.tabindex]': 'isAnchor && disabled() ? \"-1\" : tabindex()',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class ɵDfButtonHost {\n /**\n * Native button type attribute.\n * @defaultValue `'button'`\n */\n readonly type = input<HTMLButtonElement['type']>('button');\n /**\n * Disabled state for buttons and anchor buttons.\n * @defaultValue `false`\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /**\n * Host tabindex override.\n * @defaultValue `undefined`\n */\n readonly tabindex = input<string | number | null | undefined>(undefined);\n readonly #hostEl = inject<ElementRef<HTMLButtonElement | HTMLAnchorElement>>(ElementRef).nativeElement;\n protected readonly isButton = this.#hostEl.tagName.toLowerCase() === 'button';\n protected readonly isAnchor = this.#hostEl.tagName.toLowerCase() === 'a';\n\n constructor() {\n // Angular host listener metadata does not expose capture-phase options. Use a native listener so\n // disabled anchor buttons can block clicks before RouterLink or other bubble-phase handlers navigate.\n if (this.isAnchor) {\n const destroyRef = inject(DestroyRef);\n\n const onClickCapture = (event: Event) => {\n if (this.disabled()) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n\n this.#hostEl.addEventListener('click', onClickCapture, { capture: true });\n destroyRef.onDestroy(() => this.#hostEl.removeEventListener('click', onClickCapture, { capture: true }));\n }\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (this.isAnchor && this.disabled() && (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar')) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n PLATFORM_ID\n} from '@angular/core';\nimport type { DfButtonAppearance, DfButtonSize, DfButtonVariant } from './button.types';\n\n/**\n * Interface for the `dfButtonGroup` directive, which is provided to all `dfButton` elements in a group.\n *\n * @since 22.0\n * @internal\n */\nexport interface ɵDfButtonGroupInterface {\n readonly size: () => DfButtonSize;\n readonly appearance: () => 'solid' | 'outline';\n readonly mirror: () => boolean;\n readonly orientation: () => 'horizontal' | 'vertical';\n}\n\n/**\n * Injection token for the `dfButtonGroup` directive, which is provided to all `dfButton` elements in a group.\n *\n * @since 22.0\n * @internal\n */\nexport const ɵDfButtonGroupInjectionToken = new InjectionToken<ɵDfButtonGroupInterface>('DfButtonGroup');\n\n/**\n * Shared visual directive for DF button-like elements.\n *\n * @since 22.0\n * @internal\n */\n@Directive({\n host: {\n class: 'df-btn df-btn-no-transition',\n '[class.df-btn-solid]': `resolvedAppearance() === 'solid'`,\n '[class.df-btn-outline]': `resolvedAppearance() === 'outline'`,\n '[class.df-btn-text]': `resolvedAppearance() === 'text'`,\n '[class.df-btn-transparent]': `resolvedTransparent() && resolvedAppearance() !== 'solid'`,\n '[class.df-btn-primary]': `resolvedVariant() === 'primary'`,\n '[class.df-btn-neutral]': `resolvedVariant() === 'neutral'`,\n '[class.df-btn-danger]': `resolvedVariant() === 'danger'`,\n '[class.df-btn-mirror]': 'resolvedMirror()',\n '[class.df-btn-sm]': `resolvedSize() === 'sm'`,\n '[class.df-btn-lg]': `resolvedSize() === 'lg'`\n }\n})\nexport class ɵDfButtonVisual {\n /**\n * The button group that contains this button, if any.\n */\n private readonly buttonGroup = inject(ɵDfButtonGroupInjectionToken, { optional: true });\n /**\n * Semantic variant of the button. Forced to `'primary'` if the button is in a `df-button-group`.\n * @defaultValue `'primary'`\n */\n readonly variant = input<DfButtonVariant>('primary');\n /**\n * Effective variant applied to the host. Resolves to `'primary'` when the button is in a `df-button-group`,\n * otherwise falls back to the `variant` input.\n */\n protected readonly resolvedVariant = this.buttonGroup ? () => 'primary' as const : this.variant;\n /**\n * Visual appearance of the button. In a `df-button-group`, the group appearance is used unless the button\n * sets an explicit `'solid'` or `'outline'` appearance.\n * @defaultValue `'solid'`\n */\n readonly appearance = input<DfButtonAppearance>();\n /**\n * Effective appearance applied to the host. In a `df-button-group`, resolves to the group appearance unless the\n * button sets an explicit `'solid'` or `'outline'` appearance; otherwise falls back to the `appearance` input or\n * `'solid'`.\n */\n protected readonly resolvedAppearance = computed(() => {\n const appearance = this.appearance();\n if (this.buttonGroup && (!appearance || appearance === 'text')) {\n return this.buttonGroup.appearance();\n }\n return appearance ?? 'solid';\n });\n /**\n * Size of the button. Ignored if the button is in a `df-button-group` (the group size is used instead).\n * @defaultValue `'md'`\n */\n readonly size = input<DfButtonSize>('md');\n /**\n * Effective size applied to the host. Resolves to the group size when the button is in a `df-button-group`,\n * otherwise falls back to the `size` input.\n */\n protected readonly resolvedSize = this.buttonGroup ? this.buttonGroup.size : this.size;\n /**\n * Makes outline and text buttons transparent. Solid buttons are unaffected.\n * Ignored if the button is in a `df-button-group` (transparent buttons are currently not supported in groups).\n * @defaultValue `false`\n */\n readonly transparent = input(false, { transform: booleanAttribute });\n /**\n * Effective transparent flag applied to the host. Always false in a `df-button-group`, otherwise falls back\n * to the `transparent` input.\n */\n protected readonly resolvedTransparent = this.buttonGroup ? () => false : this.transparent;\n /**\n * Enables mirrored styling for inverse surfaces.\n * Ignored if the button is in a `df-button-group` (the group value is used instead).\n * @defaultValue `false`\n */\n readonly mirror = input(false, { transform: booleanAttribute });\n /**\n * Effective mirror flag applied to the host. Resolves to the group value when the button is in a\n * `df-button-group`, otherwise falls back to the `mirror` input.\n */\n protected readonly resolvedMirror = this.buttonGroup ? this.buttonGroup.mirror : this.mirror;\n\n constructor() {\n // Angular may attach the host class bindings one tick after the host element is inserted when routed views render.\n // See https://github.com/angular/angular/issues/57528 and https://github.com/angular/angular/issues/66923.\n // That briefly animates the initial color, background, and border changes, causing a visible flicker on first render.\n // Keep transitions disabled for the first client frame so those initial class changes do not animate.\n if (isPlatformBrowser(inject(PLATFORM_ID))) {\n const hostEl = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n afterNextRender(() => requestAnimationFrame(() => hostEl.classList.remove('df-btn-no-transition')));\n }\n }\n}\n","/* eslint-disable @angular-eslint/component-selector */\nimport { Component, ViewEncapsulation } from '@angular/core';\nimport { ɵDfButtonHost } from './button-host';\nimport { ɵDfButtonVisual } from './button-visual';\nexport type { DfButtonAppearance, DfButtonSize, DfButtonVariant } from './button.types';\n\n/**\n * Design Factory button directive for native `<button>` and `<a>` elements.\n *\n * @since 22.0\n */\n@Component({\n selector: 'button[dfButton], a[dfButton]',\n hostDirectives: [\n {\n directive: ɵDfButtonVisual,\n inputs: ['variant', 'appearance', 'size', 'transparent', 'mirror']\n },\n {\n directive: ɵDfButtonHost,\n inputs: ['type', 'disabled', 'tabindex']\n }\n ],\n template: `<ng-content />`,\n styleUrls: ['./button.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DfButton {}\n\n/**\n * Design Factory icon-only button directive for native `<button>` and `<a>` elements.\n *\n * Provide an accessible name with `aria-label` or `aria-labelledby`.\n * Provide the icon with classes on the host element.\n *\n * @since 22.0\n */\n@Component({\n selector: 'button[dfIconButton], a[dfIconButton]',\n host: {\n class: 'df-btn-icononly'\n },\n hostDirectives: [\n {\n directive: ɵDfButtonVisual,\n inputs: ['variant', 'appearance', 'size', 'transparent', 'mirror']\n },\n {\n directive: ɵDfButtonHost,\n inputs: ['type', 'disabled', 'tabindex']\n }\n ],\n template: ``,\n styleUrls: ['./button.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DfIconButton {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { ɵDfButtonGroupInjectionToken as _DfButtonGroupInjectionToken } from '@design-factory/angular/button';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Groups a set of related `dfButton` actions, rendering them as a single visually joined control.
|
|
7
|
+
*
|
|
8
|
+
* Project `dfButton` elements as content:
|
|
9
|
+
*
|
|
10
|
+
* ```html
|
|
11
|
+
* <df-button-group [size]="'md'" [appearance]="'outline'">
|
|
12
|
+
* <button dfButton [appearance]="'solid'">Main action</button>
|
|
13
|
+
* <button dfButton>Left</button>
|
|
14
|
+
* <button dfButton>Middle</button>
|
|
15
|
+
* <button dfButton>Right</button>
|
|
16
|
+
* </df-button-group>
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @since 22.0
|
|
20
|
+
*/
|
|
21
|
+
class DfButtonGroup {
|
|
22
|
+
constructor() {
|
|
23
|
+
/**
|
|
24
|
+
* The size of the buttons in the group.
|
|
25
|
+
* @defaultValue `'md'`
|
|
26
|
+
*/
|
|
27
|
+
this.size = input('md', /* @ts-ignore */
|
|
28
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
29
|
+
/**
|
|
30
|
+
* The appearance of the buttons in the group.
|
|
31
|
+
* @defaultValue `'outline'`
|
|
32
|
+
*/
|
|
33
|
+
this.appearance = input('outline', /* @ts-ignore */
|
|
34
|
+
...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
|
|
35
|
+
/**
|
|
36
|
+
* Enables mirrored styling for inverse surfaces.
|
|
37
|
+
* @defaultValue `false`
|
|
38
|
+
*/
|
|
39
|
+
this.mirror = input(false, { ...(ngDevMode ? { debugName: "mirror" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
40
|
+
/**
|
|
41
|
+
* The orientation of the button group.
|
|
42
|
+
* @defaultValue `'horizontal'`
|
|
43
|
+
*/
|
|
44
|
+
this.orientation = input('horizontal', /* @ts-ignore */
|
|
45
|
+
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
46
|
+
}
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: DfButtonGroup, isStandalone: true, selector: "df-button-group", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, mirror: { classPropertyName: "mirror", publicName: "mirror", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, properties: { "class.df-btn-group-horizontal": "orientation() === 'horizontal'", "class.df-btn-group-vertical": "orientation() === 'vertical'" }, classAttribute: "df-btn-group" }, providers: [
|
|
49
|
+
{
|
|
50
|
+
provide: _DfButtonGroupInjectionToken,
|
|
51
|
+
useExisting: DfButtonGroup
|
|
52
|
+
}
|
|
53
|
+
], ngImport: i0, template: `<ng-content />`, isInline: true, styles: [".df-btn-group{display:inline-flex;position:relative;isolation:isolate}.df-btn-group>.df-btn{position:relative;flex:1 1 auto}.df-btn-group>.df-btn:hover,.df-btn-group>.df-btn:focus,.df-btn-group>.df-btn:active{z-index:1}.df-btn-group>.df-btn:focus-visible{z-index:2;outline:0;box-shadow:0 0 0 2px var(--df-color-inert-neutral-main-pageBackground),0 0 0 4px var(--df-button-focus-ring-color)}.df-btn-group>.df-btn:is(:disabled,[aria-disabled=true]){z-index:-1}.df-btn-group-horizontal{flex-direction:row;align-items:center;vertical-align:middle}.df-btn-group-horizontal>.df-btn:not(:first-child){margin-inline-start:-1px;border-start-start-radius:0;border-end-start-radius:0}.df-btn-group-horizontal>.df-btn:not(:last-child,.df-dropdown-toggle){border-start-end-radius:0;border-end-end-radius:0}.df-btn-group-horizontal>.df-btn.df-btn-solid.df-dropdown-toggle{margin-inline-start:0;border-inline-start-color:transparent;background-clip:padding-box}.df-btn-group-vertical{flex-direction:column;align-items:stretch}.df-btn-group-vertical>.df-btn:not(:first-child){margin-block-start:-1px;border-start-start-radius:0;border-start-end-radius:0}.df-btn-group-vertical>.df-btn:not(:last-child,.df-dropdown-toggle){border-end-start-radius:0;border-end-end-radius:0}.df-btn-group-vertical>.df-btn.df-btn-solid.df-dropdown-toggle{margin-block-start:0;border-block-start-color:transparent;background-clip:padding-box}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfButtonGroup, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'df-button-group', host: {
|
|
58
|
+
role: 'group',
|
|
59
|
+
class: 'df-btn-group',
|
|
60
|
+
'[class.df-btn-group-horizontal]': `orientation() === 'horizontal'`,
|
|
61
|
+
'[class.df-btn-group-vertical]': `orientation() === 'vertical'`
|
|
62
|
+
}, providers: [
|
|
63
|
+
{
|
|
64
|
+
provide: _DfButtonGroupInjectionToken,
|
|
65
|
+
useExisting: DfButtonGroup
|
|
66
|
+
}
|
|
67
|
+
], template: `<ng-content />`, encapsulation: ViewEncapsulation.None, styles: [".df-btn-group{display:inline-flex;position:relative;isolation:isolate}.df-btn-group>.df-btn{position:relative;flex:1 1 auto}.df-btn-group>.df-btn:hover,.df-btn-group>.df-btn:focus,.df-btn-group>.df-btn:active{z-index:1}.df-btn-group>.df-btn:focus-visible{z-index:2;outline:0;box-shadow:0 0 0 2px var(--df-color-inert-neutral-main-pageBackground),0 0 0 4px var(--df-button-focus-ring-color)}.df-btn-group>.df-btn:is(:disabled,[aria-disabled=true]){z-index:-1}.df-btn-group-horizontal{flex-direction:row;align-items:center;vertical-align:middle}.df-btn-group-horizontal>.df-btn:not(:first-child){margin-inline-start:-1px;border-start-start-radius:0;border-end-start-radius:0}.df-btn-group-horizontal>.df-btn:not(:last-child,.df-dropdown-toggle){border-start-end-radius:0;border-end-end-radius:0}.df-btn-group-horizontal>.df-btn.df-btn-solid.df-dropdown-toggle{margin-inline-start:0;border-inline-start-color:transparent;background-clip:padding-box}.df-btn-group-vertical{flex-direction:column;align-items:stretch}.df-btn-group-vertical>.df-btn:not(:first-child){margin-block-start:-1px;border-start-start-radius:0;border-start-end-radius:0}.df-btn-group-vertical>.df-btn:not(:last-child,.df-dropdown-toggle){border-end-start-radius:0;border-end-end-radius:0}.df-btn-group-vertical>.df-btn.df-btn-solid.df-dropdown-toggle{margin-block-start:0;border-block-start-color:transparent;background-clip:padding-box}\n"] }]
|
|
68
|
+
}], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], mirror: [{ type: i0.Input, args: [{ isSignal: true, alias: "mirror", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }] } });
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Generated bundle index. Do not edit.
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
export { DfButtonGroup };
|
|
75
|
+
//# sourceMappingURL=design-factory-angular-buttongroup.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-factory-angular-buttongroup.mjs","sources":["../../buttongroup/buttongroup.ts","../../buttongroup/design-factory-angular-buttongroup.ts"],"sourcesContent":["import { booleanAttribute, Component, input, ViewEncapsulation } from '@angular/core';\nimport { DfButtonSize, ɵDfButtonGroupInjectionToken, ɵDfButtonGroupInterface } from '@design-factory/angular/button';\n\n/**\n * Groups a set of related `dfButton` actions, rendering them as a single visually joined control.\n *\n * Project `dfButton` elements as content:\n *\n * ```html\n * <df-button-group [size]=\"'md'\" [appearance]=\"'outline'\">\n * <button dfButton [appearance]=\"'solid'\">Main action</button>\n * <button dfButton>Left</button>\n * <button dfButton>Middle</button>\n * <button dfButton>Right</button>\n * </df-button-group>\n * ```\n *\n * @since 22.0\n */\n@Component({\n selector: 'df-button-group',\n host: {\n role: 'group',\n class: 'df-btn-group',\n '[class.df-btn-group-horizontal]': `orientation() === 'horizontal'`,\n '[class.df-btn-group-vertical]': `orientation() === 'vertical'`\n },\n providers: [\n {\n provide: ɵDfButtonGroupInjectionToken,\n useExisting: DfButtonGroup\n }\n ],\n template: `<ng-content />`,\n styleUrls: ['./buttongroup.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DfButtonGroup implements ɵDfButtonGroupInterface {\n /**\n * The size of the buttons in the group.\n * @defaultValue `'md'`\n */\n readonly size = input<DfButtonSize>('md');\n /**\n * The appearance of the buttons in the group.\n * @defaultValue `'outline'`\n */\n readonly appearance = input<'solid' | 'outline'>('outline');\n /**\n * Enables mirrored styling for inverse surfaces.\n * @defaultValue `false`\n */\n readonly mirror = input(false, { transform: booleanAttribute });\n /**\n * The orientation of the button group.\n * @defaultValue `'horizontal'`\n */\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ɵDfButtonGroupInjectionToken"],"mappings":";;;;AAGA;;;;;;;;;;;;;;;AAeG;MAmBU,aAAa,CAAA;AAlB1B,IAAA,WAAA,GAAA;AAmBE;;;AAGG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAe,IAAI;iFAAC;AACzC;;;AAGG;QACM,IAAA,CAAA,UAAU,GAAG,KAAK,CAAsB,SAAS;uFAAC;AAC3D;;;AAGG;QACM,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC/D;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,YAAY;wFAAC;AACtE,IAAA;8GArBY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,gCAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAVb;AACT,YAAA;AACE,gBAAA,OAAO,EAAEA,4BAA4B;AACrC,gBAAA,WAAW,EAAE;AACd;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACS,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,i4CAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIf,aAAa,EAAA,UAAA,EAAA,CAAA;kBAlBzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,IAAA,EACrB;AACJ,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,iCAAiC,EAAE,CAAA,8BAAA,CAAgC;AACnE,wBAAA,+BAA+B,EAAE,CAAA,4BAAA;qBAClC,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAEA,4BAA4B;AACrC,4BAAA,WAAW,EAAA;AACZ;AACF,qBAAA,EAAA,QAAA,EACS,CAAA,cAAA,CAAgB,EAAA,aAAA,EAEX,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,i4CAAA,CAAA,EAAA;;;ACnCvC;;AAEG;;;;"}
|
|
@@ -4,8 +4,9 @@ import { createCollapseTransition } from '@design-factory/core/services/transiti
|
|
|
4
4
|
import { createSimpleClassTransition } from '@design-factory/core/services/transitions/simpleClassTransition';
|
|
5
5
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
7
|
-
import { Directive, contentChild, TemplateRef, computed, input, booleanAttribute, model, output, ViewEncapsulation,
|
|
7
|
+
import { Directive, contentChild, TemplateRef, computed, input, booleanAttribute, model, output, ViewEncapsulation, Component } from '@angular/core';
|
|
8
8
|
import { AgnosWidgetDirective, callWidgetFactory, UseDirective, UseMultiDirective } from '@design-factory/angular/internals';
|
|
9
|
+
import { DfIconButton } from '@design-factory/angular/button';
|
|
9
10
|
|
|
10
11
|
const fadeTransition = createSimpleClassTransition({
|
|
11
12
|
animationPendingClasses: ['df-fade'],
|
|
@@ -29,10 +30,10 @@ const horizontalConfig = {
|
|
|
29
30
|
* A directive to define a template containing the header content of the drawer.
|
|
30
31
|
*/
|
|
31
32
|
class DfDrawerHeaderTemplate {
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
33
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawerHeaderTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: DfDrawerHeaderTemplate, isStandalone: true, selector: "ng-template[dfDrawerHeader]", ngImport: i0 }); }
|
|
34
35
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawerHeaderTemplate, decorators: [{
|
|
36
37
|
type: Directive,
|
|
37
38
|
args: [{
|
|
38
39
|
selector: 'ng-template[dfDrawerHeader]'
|
|
@@ -42,10 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
42
43
|
* A directive to define a template containing the body content of the drawer.
|
|
43
44
|
*/
|
|
44
45
|
class DfDrawerBodyTemplate {
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
46
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawerBodyTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
47
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: DfDrawerBodyTemplate, isStandalone: true, selector: "ng-template[dfDrawerBody]", ngImport: i0 }); }
|
|
47
48
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawerBodyTemplate, decorators: [{
|
|
49
50
|
type: Directive,
|
|
50
51
|
args: [{
|
|
51
52
|
selector: 'ng-template[dfDrawerBody]'
|
|
@@ -55,10 +56,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
55
56
|
* A directive to define a template containing the footer content of the drawer.
|
|
56
57
|
*/
|
|
57
58
|
class DfDrawerFooterTemplate {
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawerFooterTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
60
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: DfDrawerFooterTemplate, isStandalone: true, selector: "ng-template[dfDrawerFooter]", ngImport: i0 }); }
|
|
60
61
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawerFooterTemplate, decorators: [{
|
|
62
63
|
type: Directive,
|
|
63
64
|
args: [{
|
|
64
65
|
selector: 'ng-template[dfDrawerFooter]'
|
|
@@ -83,7 +84,6 @@ class DfDrawer extends AgnosWidgetDirective {
|
|
|
83
84
|
events: {
|
|
84
85
|
onSizeChange: (size) => {
|
|
85
86
|
this.size.set(size);
|
|
86
|
-
this.sizeChange.emit(size);
|
|
87
87
|
},
|
|
88
88
|
onVisibleChange: (visible) => {
|
|
89
89
|
this.visibleChange.emit(visible);
|
|
@@ -100,64 +100,73 @@ class DfDrawer extends AgnosWidgetDirective {
|
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
102
|
super(widget);
|
|
103
|
-
this.headerTemplate = contentChild(DfDrawerHeaderTemplate, { ...(ngDevMode ? { debugName: "headerTemplate" } : {}), read: TemplateRef });
|
|
104
|
-
this.bodyTemplate = contentChild(DfDrawerBodyTemplate, { ...(ngDevMode ? { debugName: "bodyTemplate" } : {}), read: TemplateRef });
|
|
105
|
-
this.footerTemplate = contentChild(DfDrawerFooterTemplate, { ...(ngDevMode ? { debugName: "footerTemplate" } : {}), read: TemplateRef });
|
|
106
|
-
this.hasSectionTemplates = computed(() => !!this.headerTemplate() || !!this.bodyTemplate() || !!this.footerTemplate(),
|
|
103
|
+
this.headerTemplate = contentChild(DfDrawerHeaderTemplate, { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
104
|
+
this.bodyTemplate = contentChild(DfDrawerBodyTemplate, { ...(ngDevMode ? { debugName: "bodyTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
105
|
+
this.footerTemplate = contentChild(DfDrawerFooterTemplate, { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
106
|
+
this.hasSectionTemplates = computed(() => !!this.headerTemplate() || !!this.bodyTemplate() || !!this.footerTemplate(), /* @ts-ignore */
|
|
107
|
+
...(ngDevMode ? [{ debugName: "hasSectionTemplates" }] : /* istanbul ignore next */ []));
|
|
107
108
|
/**
|
|
108
109
|
* CSS classes to be applied on the widget main container
|
|
109
110
|
*
|
|
110
111
|
* @defaultValue ``
|
|
111
112
|
*/
|
|
112
|
-
this.className = input('',
|
|
113
|
+
this.className = input('', /* @ts-ignore */
|
|
114
|
+
...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
|
|
113
115
|
/**
|
|
114
116
|
* If `true` allows body scrolling when the drawer is open.
|
|
115
117
|
*
|
|
116
118
|
* @defaultValue `false`
|
|
117
119
|
*/
|
|
118
|
-
this.bodyScroll = input(false, { ...(ngDevMode ? { debugName: "bodyScroll" } : {}), transform: booleanAttribute });
|
|
120
|
+
this.bodyScroll = input(false, { ...(ngDevMode ? { debugName: "bodyScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
119
121
|
/**
|
|
120
122
|
* If `true` displays the backdrop element and disables the body scrolling, otherwise the body of the document is navigable
|
|
121
123
|
*
|
|
122
124
|
* @defaultValue `true`
|
|
123
125
|
*/
|
|
124
|
-
this.backdrop = input(true, { ...(ngDevMode ? { debugName: "backdrop" } : {}), transform: booleanAttribute });
|
|
126
|
+
this.backdrop = input(true, { ...(ngDevMode ? { debugName: "backdrop" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
127
|
+
/**
|
|
128
|
+
* If `true` the drawer will be closed when clicking on the backdrop, otherwise the backdrop is static and non iteractive.
|
|
129
|
+
*
|
|
130
|
+
* @defaultValue `true`
|
|
131
|
+
*/
|
|
132
|
+
this.closeOnBackdropClick = input(true, { ...(ngDevMode ? { debugName: "closeOnBackdropClick" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
125
133
|
/**
|
|
126
134
|
* Which element should contain the drawer and backdrop DOM elements.
|
|
127
135
|
* If it is not null, the drawer and backdrop DOM elements are moved to the specified container.
|
|
128
136
|
* Otherwise, they stay where the widget is located.
|
|
129
137
|
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* ```
|
|
138
|
+
* Defaults to `document.body` in the browser and `null` on the server.
|
|
139
|
+
*
|
|
140
|
+
* @defaultValue `document.body`
|
|
134
141
|
*/
|
|
135
|
-
this.container = input(null,
|
|
142
|
+
this.container = input(null, /* @ts-ignore */
|
|
143
|
+
...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
|
|
136
144
|
/**
|
|
137
145
|
* The size of the drawer in pixels.
|
|
138
146
|
*
|
|
139
147
|
* @defaultValue `300`
|
|
140
148
|
*/
|
|
141
|
-
this.size = model(300,
|
|
149
|
+
this.size = model(300, /* @ts-ignore */
|
|
150
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
142
151
|
/**
|
|
143
152
|
* If `true`, the drawer can be resized by the user.
|
|
144
153
|
*
|
|
145
154
|
* @defaultValue `false`
|
|
146
155
|
*/
|
|
147
|
-
this.resizable = input(false, { ...(ngDevMode ? { debugName: "resizable" } : {}), transform: booleanAttribute });
|
|
156
|
+
this.resizable = input(false, { ...(ngDevMode ? { debugName: "resizable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
148
157
|
/**
|
|
149
158
|
* If `true`, the drawer is shown; otherwise, it is hidden.
|
|
150
159
|
*
|
|
151
160
|
* @defaultValue `false`
|
|
152
161
|
*/
|
|
153
|
-
this.visible = input(false, { ...(ngDevMode ? { debugName: "visible" } : {}), transform: booleanAttribute });
|
|
162
|
+
this.visible = input(false, { ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
154
163
|
/**
|
|
155
164
|
* If `true`, the drawer element is kept in the DOM when it is not visible.
|
|
156
165
|
* This can be useful to preserve the state of the drawer content when it is hidden.
|
|
157
166
|
*
|
|
158
167
|
* @defaultValue `false`
|
|
159
168
|
*/
|
|
160
|
-
this.keepInDom = input(false, { ...(ngDevMode ? { debugName: "keepInDom" } : {}), transform: booleanAttribute });
|
|
169
|
+
this.keepInDom = input(false, { ...(ngDevMode ? { debugName: "keepInDom" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
161
170
|
/**
|
|
162
171
|
* The display configuration of the drawer.
|
|
163
172
|
* - `'overlay'` (default): the drawer overlays the page content with a backdrop.
|
|
@@ -165,24 +174,15 @@ class DfDrawer extends AgnosWidgetDirective {
|
|
|
165
174
|
*
|
|
166
175
|
* @defaultValue `'overlay'`
|
|
167
176
|
*/
|
|
168
|
-
this.configuration = input('overlay',
|
|
177
|
+
this.configuration = input('overlay', /* @ts-ignore */
|
|
178
|
+
...(ngDevMode ? [{ debugName: "configuration" }] : /* istanbul ignore next */ []));
|
|
169
179
|
/**
|
|
170
180
|
* The position of the drawer on the screen.
|
|
171
181
|
*
|
|
172
182
|
* @defaultValue `'inline-start'`
|
|
173
183
|
*/
|
|
174
|
-
this.position = input('inline-start',
|
|
175
|
-
|
|
176
|
-
* An event emitted when the width is changed.
|
|
177
|
-
*
|
|
178
|
-
* Event payload is equal to the newly selected width.
|
|
179
|
-
*
|
|
180
|
-
* @defaultValue
|
|
181
|
-
* ```ts
|
|
182
|
-
* () => {}
|
|
183
|
-
* ```
|
|
184
|
-
*/
|
|
185
|
-
this.sizeChange = output();
|
|
184
|
+
this.position = input('inline-start', /* @ts-ignore */
|
|
185
|
+
...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
186
186
|
/**
|
|
187
187
|
* Event to be triggered when the visible property changes.
|
|
188
188
|
*
|
|
@@ -226,7 +226,7 @@ class DfDrawer extends AgnosWidgetDirective {
|
|
|
226
226
|
*
|
|
227
227
|
* @defaultValue `true`
|
|
228
228
|
*/
|
|
229
|
-
this.focusOnInit = input(true, { ...(ngDevMode ? { debugName: "focusOnInit" } : {}), transform: booleanAttribute });
|
|
229
|
+
this.focusOnInit = input(true, { ...(ngDevMode ? { debugName: "focusOnInit" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
230
230
|
this.navManager = createNavManager();
|
|
231
231
|
this.navManagerConfig = {
|
|
232
232
|
keys: {
|
|
@@ -267,8 +267,8 @@ class DfDrawer extends AgnosWidgetDirective {
|
|
|
267
267
|
close(animated) {
|
|
268
268
|
return this.api.close(animated);
|
|
269
269
|
}
|
|
270
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
271
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
270
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: DfDrawer, isStandalone: true, selector: "df-drawer", inputs: { className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, bodyScroll: { classPropertyName: "bodyScroll", publicName: "bodyScroll", isSignal: true, isRequired: false, transformFunction: null }, backdrop: { classPropertyName: "backdrop", publicName: "backdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "container", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, keepInDom: { classPropertyName: "keepInDom", publicName: "keepInDom", isSignal: true, isRequired: false, transformFunction: null }, configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, focusOnInit: { classPropertyName: "focusOnInit", publicName: "focusOnInit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { size: "sizeChange", visibleChange: "visibleChange", minimizedChange: "minimizedChange", maximizedChange: "maximizedChange", resizingChange: "resizingChange", minSize: "minSize", maxSize: "maxSize" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: DfDrawerHeaderTemplate, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "bodyTemplate", first: true, predicate: DfDrawerBodyTemplate, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: DfDrawerFooterTemplate, descendants: true, read: TemplateRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
272
272
|
@let isHidden = state.hidden();
|
|
273
273
|
@let backdropHidden = state.backdropHidden();
|
|
274
274
|
@if (!isHidden || keepInDom()) {
|
|
@@ -314,14 +314,15 @@ class DfDrawer extends AgnosWidgetDirective {
|
|
|
314
314
|
>
|
|
315
315
|
<ng-content select="df-drawer-splitter-content">
|
|
316
316
|
<button
|
|
317
|
+
dfIconButton
|
|
317
318
|
#splitterHandle
|
|
318
|
-
class="
|
|
319
|
-
[class]="
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
319
|
+
class="df-drawer-splitter-handle"
|
|
320
|
+
[class.fa-grip-lines]="isVertical"
|
|
321
|
+
[class.fa-grip-lines-vertical]="!isVertical"
|
|
322
|
+
appearance="text"
|
|
323
|
+
[variant]="backdropHidden ? 'primary' : 'neutral'"
|
|
324
|
+
[mirror]="!backdropHidden"
|
|
325
|
+
transparent
|
|
325
326
|
i18n-aria-label="@@df.drawer.resize.ariaLabel"
|
|
326
327
|
aria-label="Resize drawer"
|
|
327
328
|
[dfUse]="[navManager.directive, navManagerConfig]"
|
|
@@ -337,11 +338,11 @@ class DfDrawer extends AgnosWidgetDirective {
|
|
|
337
338
|
[dfUseMulti]="[directives.backdropPortalDirective, directives.backdropDirective]"
|
|
338
339
|
></div>
|
|
339
340
|
}
|
|
340
|
-
`, isInline: true, styles: [".df-fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.df-fade{transition:none}}.df-fade:not(.df-show){opacity:0}.df-hidden{display:none}.df-drawer{--df-drawer-
|
|
341
|
+
`, isInline: true, styles: [".df-fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.df-fade{transition:none}}.df-fade:not(.df-show){opacity:0}.df-hidden{display:none!important}.df-drawer{--df-drawer-size: max-content;--df-drawer-min-size: 0;--df-drawer-max-size: 100vw;display:flex;flex-direction:column;width:100%;min-width:0;max-width:none;height:var(--df-drawer-size);min-height:var(--df-drawer-min-size);max-height:var(--df-drawer-max-size)}.df-drawer .df-drawer-header{display:flex;padding:var(--df-spacing-6) var(--df-spacing-4) var(--df-spacing-5) var(--df-spacing-6);border-block-end:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer .df-drawer-body{padding:var(--df-spacing-6) var(--df-spacing-6) 0}.df-drawer .df-drawer-footer{display:flex;justify-content:end;padding:var(--df-spacing-6);margin-top:auto;flex-wrap:wrap}.df-drawer.df-inline-start,.df-drawer.df-inline-end{width:var(--df-drawer-size);min-width:var(--df-drawer-min-size);max-width:var(--df-drawer-max-size);height:100%;min-height:0;max-height:none}.df-drawer{background-color:var(--df-color-inert-neutral-main-background);z-index:2010;position:fixed}.df-drawer.df-inline-start{inset-block:0;inset-inline-start:0;border-inline-end:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-inline-end{inset-block:0;inset-inline-end:0;border-inline-start:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-inline-end .df-drawer-splitter{inset-inline:-32px auto}.df-drawer.df-block-start{inset-inline:0;inset-block-start:0;border-block-end:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-block-start .df-drawer-splitter{inset-block-start:auto;cursor:ns-resize}.df-drawer.df-block-start .df-drawer-splitter .df-drawer-splitter-handle{cursor:ns-resize}.df-drawer.df-block-end{inset-inline:0;inset-block-end:0;border-block-start:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-block-end .df-drawer-splitter{inset-block:-32px auto;cursor:ns-resize}.df-drawer.df-block-end .df-drawer-splitter .df-drawer-splitter-handle{cursor:ns-resize}.df-drawer .df-drawer-splitter{display:flex;position:absolute;inset-block:0;inset-inline-end:-4px;width:8px;cursor:ew-resize;background:transparent;touch-action:none}.df-drawer .df-drawer-splitter .df-drawer-splitter-handle{flex-shrink:0;cursor:ew-resize}.df-drawer.df-block-start .df-drawer-splitter,.df-drawer.df-block-end .df-drawer-splitter{inset-inline:0;width:auto;height:8px;cursor:ns-resize}.df-drawer.df-collapse-hide{display:none}.df-drawer.df-collapse-collapsing{min-width:0;min-height:0;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.df-drawer.df-collapse-collapsing{transition:none}}.df-drawer.df-collapse-collapsing.df-collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){.df-drawer.df-collapse-collapsing.df-collapse-horizontal{transition:none}}@media(width<=576px){.df-drawer.df-inline-start,.df-drawer.df-inline-end{width:100dvw;min-width:100dvw;max-width:100dvw}.df-drawer.df-block-start,.df-drawer.df-block-end{height:100dvh;min-height:100dvh;max-height:100dvh}}.df-drawer-backdrop{position:fixed;inset:0;background-color:var(--df-color-backdrop-background);z-index:2000}.df-drawer-backdrop.df-show{opacity:.9;pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: UseDirective, selector: "[dfUse]", inputs: ["dfUse"] }, { kind: "directive", type: UseMultiDirective, selector: "[dfUseMulti]", inputs: ["dfUseMulti"] }, { kind: "component", type: DfIconButton, selector: "button[dfIconButton], a[dfIconButton]" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
341
342
|
}
|
|
342
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DfDrawer, decorators: [{
|
|
343
344
|
type: Component,
|
|
344
|
-
args: [{ selector: 'df-drawer', imports: [NgTemplateOutlet, UseDirective, UseMultiDirective], template: `
|
|
345
|
+
args: [{ selector: 'df-drawer', imports: [NgTemplateOutlet, UseDirective, UseMultiDirective, DfIconButton], template: `
|
|
345
346
|
@let isHidden = state.hidden();
|
|
346
347
|
@let backdropHidden = state.backdropHidden();
|
|
347
348
|
@if (!isHidden || keepInDom()) {
|
|
@@ -387,14 +388,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
387
388
|
>
|
|
388
389
|
<ng-content select="df-drawer-splitter-content">
|
|
389
390
|
<button
|
|
391
|
+
dfIconButton
|
|
390
392
|
#splitterHandle
|
|
391
|
-
class="
|
|
392
|
-
[class]="
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
393
|
+
class="df-drawer-splitter-handle"
|
|
394
|
+
[class.fa-grip-lines]="isVertical"
|
|
395
|
+
[class.fa-grip-lines-vertical]="!isVertical"
|
|
396
|
+
appearance="text"
|
|
397
|
+
[variant]="backdropHidden ? 'primary' : 'neutral'"
|
|
398
|
+
[mirror]="!backdropHidden"
|
|
399
|
+
transparent
|
|
398
400
|
i18n-aria-label="@@df.drawer.resize.ariaLabel"
|
|
399
401
|
aria-label="Resize drawer"
|
|
400
402
|
[dfUse]="[navManager.directive, navManagerConfig]"
|
|
@@ -410,8 +412,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
410
412
|
[dfUseMulti]="[directives.backdropPortalDirective, directives.backdropDirective]"
|
|
411
413
|
></div>
|
|
412
414
|
}
|
|
413
|
-
`,
|
|
414
|
-
}], ctorParameters: () => [], propDecorators: { headerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DfDrawerHeaderTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], bodyTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DfDrawerBodyTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DfDrawerFooterTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], bodyScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyScroll", required: false }] }], backdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdrop", required: false }] }], container: [{ type: i0.Input, args: [{ isSignal: true, alias: "container", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }, { type: i0.Output, args: ["sizeChange"] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], keepInDom: [{ type: i0.Input, args: [{ isSignal: true, alias: "keepInDom", required: false }] }], configuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "configuration", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }],
|
|
415
|
+
`, encapsulation: ViewEncapsulation.None, styles: [".df-fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.df-fade{transition:none}}.df-fade:not(.df-show){opacity:0}.df-hidden{display:none!important}.df-drawer{--df-drawer-size: max-content;--df-drawer-min-size: 0;--df-drawer-max-size: 100vw;display:flex;flex-direction:column;width:100%;min-width:0;max-width:none;height:var(--df-drawer-size);min-height:var(--df-drawer-min-size);max-height:var(--df-drawer-max-size)}.df-drawer .df-drawer-header{display:flex;padding:var(--df-spacing-6) var(--df-spacing-4) var(--df-spacing-5) var(--df-spacing-6);border-block-end:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer .df-drawer-body{padding:var(--df-spacing-6) var(--df-spacing-6) 0}.df-drawer .df-drawer-footer{display:flex;justify-content:end;padding:var(--df-spacing-6);margin-top:auto;flex-wrap:wrap}.df-drawer.df-inline-start,.df-drawer.df-inline-end{width:var(--df-drawer-size);min-width:var(--df-drawer-min-size);max-width:var(--df-drawer-max-size);height:100%;min-height:0;max-height:none}.df-drawer{background-color:var(--df-color-inert-neutral-main-background);z-index:2010;position:fixed}.df-drawer.df-inline-start{inset-block:0;inset-inline-start:0;border-inline-end:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-inline-end{inset-block:0;inset-inline-end:0;border-inline-start:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-inline-end .df-drawer-splitter{inset-inline:-32px auto}.df-drawer.df-block-start{inset-inline:0;inset-block-start:0;border-block-end:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-block-start .df-drawer-splitter{inset-block-start:auto;cursor:ns-resize}.df-drawer.df-block-start .df-drawer-splitter .df-drawer-splitter-handle{cursor:ns-resize}.df-drawer.df-block-end{inset-inline:0;inset-block-end:0;border-block-start:1px solid var(--df-color-inert-neutral-main-border)}.df-drawer.df-block-end .df-drawer-splitter{inset-block:-32px auto;cursor:ns-resize}.df-drawer.df-block-end .df-drawer-splitter .df-drawer-splitter-handle{cursor:ns-resize}.df-drawer .df-drawer-splitter{display:flex;position:absolute;inset-block:0;inset-inline-end:-4px;width:8px;cursor:ew-resize;background:transparent;touch-action:none}.df-drawer .df-drawer-splitter .df-drawer-splitter-handle{flex-shrink:0;cursor:ew-resize}.df-drawer.df-block-start .df-drawer-splitter,.df-drawer.df-block-end .df-drawer-splitter{inset-inline:0;width:auto;height:8px;cursor:ns-resize}.df-drawer.df-collapse-hide{display:none}.df-drawer.df-collapse-collapsing{min-width:0;min-height:0;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.df-drawer.df-collapse-collapsing{transition:none}}.df-drawer.df-collapse-collapsing.df-collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){.df-drawer.df-collapse-collapsing.df-collapse-horizontal{transition:none}}@media(width<=576px){.df-drawer.df-inline-start,.df-drawer.df-inline-end{width:100dvw;min-width:100dvw;max-width:100dvw}.df-drawer.df-block-start,.df-drawer.df-block-end{height:100dvh;min-height:100dvh;max-height:100dvh}}.df-drawer-backdrop{position:fixed;inset:0;background-color:var(--df-color-backdrop-background);z-index:2000}.df-drawer-backdrop.df-show{opacity:.9;pointer-events:auto}\n"] }]
|
|
416
|
+
}], ctorParameters: () => [], propDecorators: { headerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DfDrawerHeaderTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], bodyTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DfDrawerBodyTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DfDrawerFooterTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], bodyScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyScroll", required: false }] }], backdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdrop", required: false }] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdropClick", required: false }] }], container: [{ type: i0.Input, args: [{ isSignal: true, alias: "container", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }, { type: i0.Output, args: ["sizeChange"] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], keepInDom: [{ type: i0.Input, args: [{ isSignal: true, alias: "keepInDom", required: false }] }], configuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "configuration", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], visibleChange: [{ type: i0.Output, args: ["visibleChange"] }], minimizedChange: [{ type: i0.Output, args: ["minimizedChange"] }], maximizedChange: [{ type: i0.Output, args: ["maximizedChange"] }], resizingChange: [{ type: i0.Output, args: ["resizingChange"] }], focusOnInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnInit", required: false }] }], minSize: [{ type: i0.Output, args: ["minSize"] }], maxSize: [{ type: i0.Output, args: ["maxSize"] }] } });
|
|
415
417
|
|
|
416
418
|
/**
|
|
417
419
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-factory-angular-drawer.mjs","sources":["../../drawer/drawer.ts","../../drawer/design-factory-angular-drawer.ts"],"sourcesContent":["import type { DrawerConfiguration, DrawerPosition, DrawerWidget } from '@design-factory/core/components/drawer';\nimport { createDrawer } from '@design-factory/core/components/drawer';\nimport type { NavManagerItemConfig } from '@design-factory/core/services/navManager';\nimport { createNavManager } from '@design-factory/core/services/navManager';\nimport { CollapseConfig, createCollapseTransition } from '@design-factory/core/services/transitions/collapse';\nimport { createSimpleClassTransition } from '@design-factory/core/services/transitions/simpleClassTransition';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n input,\n model,\n output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n AgnosWidgetDirective,\n callWidgetFactory,\n UseDirective,\n UseMultiDirective\n} from '@design-factory/angular/internals';\n\nconst fadeTransition = createSimpleClassTransition({\n animationPendingClasses: ['df-fade'],\n animationPendingShowClasses: ['df-show'],\n showClasses: ['df-show', 'df-fade'],\n hideClasses: ['df-hidden', 'df-fade']\n});\n\nconst verticalConfig: CollapseConfig = {\n dimension: 'height',\n hideClasses: ['df-collapse-hide'],\n showClasses: ['df-collapse-show'],\n animationPendingClasses: ['df-collapse-collapsing']\n};\n\nconst horizontalConfig: CollapseConfig = {\n dimension: 'width',\n hideClasses: ['df-collapse-hide'],\n showClasses: ['df-collapse-show'],\n animationPendingClasses: ['df-collapse-collapsing', 'df-collapse-horizontal']\n};\n\n/**\n * Available drawer positions.\n */\nexport type DfDrawerPosition = DrawerPosition;\n\n/**\n * Available drawer display configurations.\n * - `'overlay'`: the drawer overlays the page content with a backdrop.\n * - `'inline'`: the drawer stays in the document flow and moves content as it expands/resizes.\n */\nexport type DfDrawerConfiguration = DrawerConfiguration;\n\n/**\n * A directive to define a template containing the header content of the drawer.\n */\n@Directive({\n selector: 'ng-template[dfDrawerHeader]'\n})\nexport class DfDrawerHeaderTemplate {}\n\n/**\n * A directive to define a template containing the body content of the drawer.\n */\n@Directive({\n selector: 'ng-template[dfDrawerBody]'\n})\nexport class DfDrawerBodyTemplate {}\n\n/**\n * A directive to define a template containing the footer content of the drawer.\n */\n@Directive({\n selector: 'ng-template[dfDrawerFooter]'\n})\nexport class DfDrawerFooterTemplate {}\n\n/**\n * Enables users to show contextual content via a sliding panel from any screen edge.\n *\n * See {@link https://design-factory.amadeus.net/components/drawer|Design Factory documentation} for details and examples.\n * @since 21.1\n */\n@Component({\n selector: 'df-drawer',\n imports: [NgTemplateOutlet, UseDirective, UseMultiDirective],\n template: `\n @let isHidden = state.hidden();\n @let backdropHidden = state.backdropHidden();\n @if (!isHidden || keepInDom()) {\n @let isVertical = state.isVertical();\n @let drawerSize = size();\n <div\n class=\"df-drawer\"\n [class]=\"state.className()\"\n [dfUseMulti]=\"[directives.drawerPortalDirective, directives.drawerDirective]\"\n [style.--df-drawer-size]=\"drawerSize !== null ? drawerSize + 'px' : ''\"\n >\n <ng-template #defaultBodyTemplate>\n <ng-content />\n </ng-template>\n @if (hasSectionTemplates()) {\n @if (headerTemplate(); as header) {\n <div class=\"df-drawer-header\">\n <ng-template [ngTemplateOutlet]=\"header\" />\n </div>\n }\n <div class=\"df-drawer-body\">\n @if (bodyTemplate(); as body) {\n <ng-template [ngTemplateOutlet]=\"body\" />\n } @else {\n <ng-template [ngTemplateOutlet]=\"defaultBodyTemplate\" />\n }\n </div>\n @if (footerTemplate(); as footer) {\n <div class=\"df-drawer-footer\">\n <ng-template [ngTemplateOutlet]=\"footer\" />\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"defaultBodyTemplate\" />\n }\n @if (state.resizable()) {\n <div\n class=\"df-drawer-splitter\"\n tabindex=\"-1\"\n [dfUse]=\"directives.splitterDirective\"\n [style.align-items]=\"!isVertical ? 'center' : undefined\"\n [style.justify-content]=\"isVertical ? 'center' : undefined\"\n >\n <ng-content select=\"df-drawer-splitter-content\">\n <button\n #splitterHandle\n class=\"btn df-btn-icononly df-btn-tertiary df-drawer-splitter-handle\"\n [class]=\"{\n 'fa-grip-lines-vertical': !isVertical,\n 'fa-grip-lines': isVertical,\n 'df-btn-outline-neutral-mirror': !backdropHidden,\n 'btn-outline-primary': backdropHidden\n }\"\n i18n-aria-label=\"@@df.drawer.resize.ariaLabel\"\n aria-label=\"Resize drawer\"\n [dfUse]=\"[navManager.directive, navManagerConfig]\"\n ></button>\n </ng-content>\n </div>\n }\n </div>\n }\n @if (!backdropHidden) {\n <div\n class=\"df-drawer-backdrop\"\n [dfUseMulti]=\"[directives.backdropPortalDirective, directives.backdropDirective]\"\n ></div>\n }\n `,\n styles: \"@use '@design-factory/components-styles/drawer';\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DfDrawer extends AgnosWidgetDirective<DrawerWidget> {\n protected readonly headerTemplate = contentChild(DfDrawerHeaderTemplate, { read: TemplateRef });\n protected readonly bodyTemplate = contentChild(DfDrawerBodyTemplate, { read: TemplateRef });\n protected readonly footerTemplate = contentChild(DfDrawerFooterTemplate, { read: TemplateRef });\n protected readonly hasSectionTemplates = computed(\n () => !!this.headerTemplate() || !!this.bodyTemplate() || !!this.footerTemplate()\n );\n\n /**\n * CSS classes to be applied on the widget main container\n *\n * @defaultValue ``\n */\n readonly className = input<string>('');\n /**\n * If `true` allows body scrolling when the drawer is open.\n *\n * @defaultValue `false`\n */\n readonly bodyScroll = input(false, { transform: booleanAttribute });\n /**\n * If `true` displays the backdrop element and disables the body scrolling, otherwise the body of the document is navigable\n *\n * @defaultValue `true`\n */\n readonly backdrop = input(true, { transform: booleanAttribute });\n /**\n * Which element should contain the drawer and backdrop DOM elements.\n * If it is not null, the drawer and backdrop DOM elements are moved to the specified container.\n * Otherwise, they stay where the widget is located.\n *\n * @defaultValue\n * ```ts\n * typeof window !== 'undefined' ? document.body : null\n * ```\n */\n readonly container = input<HTMLElement | null>(null);\n /**\n * The size of the drawer in pixels.\n *\n * @defaultValue `300`\n */\n readonly size = model<number | null>(300);\n /**\n * If `true`, the drawer can be resized by the user.\n *\n * @defaultValue `false`\n */\n readonly resizable = input(false, { transform: booleanAttribute });\n /**\n * If `true`, the drawer is shown; otherwise, it is hidden.\n *\n * @defaultValue `false`\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * If `true`, the drawer element is kept in the DOM when it is not visible.\n * This can be useful to preserve the state of the drawer content when it is hidden.\n *\n * @defaultValue `false`\n */\n readonly keepInDom = input(false, { transform: booleanAttribute });\n\n /**\n * The display configuration of the drawer.\n * - `'overlay'` (default): the drawer overlays the page content with a backdrop.\n * - `'inline'`: the drawer stays in the document flow and moves content as it expands/resizes.\n *\n * @defaultValue `'overlay'`\n */\n readonly configuration = input<DrawerConfiguration>('overlay');\n\n /**\n * The position of the drawer on the screen.\n *\n * @defaultValue `'inline-start'`\n */\n readonly position = input<DfDrawerPosition>('inline-start');\n\n /**\n * An event emitted when the width is changed.\n *\n * Event payload is equal to the newly selected width.\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly sizeChange = output<number | null>();\n /**\n * Event to be triggered when the visible property changes.\n *\n * @param visible - new value of the visible propery\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly visibleChange = output<boolean>();\n\n /**\n * Event to be triggered when the minimized state changes.\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly minimizedChange = output<boolean>();\n\n /**\n * Event to be triggered when the maximized state changes.\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly maximizedChange = output<boolean>();\n\n /**\n * Event to be triggered when the user start or stop moving the drawer.\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly resizingChange = output<boolean>();\n\n /**\n * If `true` focuses the drawer when it is opened.\n *\n * @defaultValue `true`\n */\n readonly focusOnInit = input(true, { transform: booleanAttribute });\n\n protected readonly navManager = createNavManager();\n\n protected readonly navManagerConfig: NavManagerItemConfig = {\n keys: {\n Home: this.navManager.focusFirst,\n End: this.navManager.focusLast\n }\n };\n\n /**\n * Event to be triggered when the minimum size is reached.\n *\n * @defaultValue `null`\n */\n readonly minSize = output<void>();\n\n /**\n * Event to be triggered when the maximum size is reached.\n *\n * @defaultValue `null`\n */\n readonly maxSize = output<void>();\n\n constructor() {\n const widget = callWidgetFactory(createDrawer, {\n defaultConfig: {\n bodyScroll: false,\n backdrop: true,\n transition: createCollapseTransition(horizontalConfig),\n verticalTransition: createCollapseTransition(verticalConfig),\n backdropTransition: fadeTransition\n },\n events: {\n onSizeChange: (size) => {\n this.size.set(size);\n this.sizeChange.emit(size);\n },\n onVisibleChange: (visible) => {\n this.visibleChange.emit(visible);\n },\n onMinimizedChange: (isMinimized) => {\n this.minimizedChange.emit(isMinimized);\n },\n onMaximizedChange: (isMaximized) => {\n this.maximizedChange.emit(isMaximized);\n },\n onResizingChange: (isResizing) => {\n this.resizingChange.emit(isResizing);\n }\n }\n });\n super(widget);\n }\n\n /**\n * Trigger the opening of the drawer.\n *\n * @param animated - whether the transition should be animated. If the parameter is not defined, the `animated` is defined by the component input or the default config.\n *\n * @returns A promise that resolves once the opening transition has finished.\n */\n public open(animated?: boolean): Promise<void> {\n return this.api.open(animated);\n }\n\n /**\n * Trigger the closing of the drawer.\n *\n * @param animated - whether the transition should be animated. If the parameter is not defined, the `animated` is defined by the component input or the default config.\n *\n * @returns A promise that resolves once the closing transition has finished.\n */\n public close(animated?: boolean): Promise<void> {\n return this.api.close(animated);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-factory-angular-drawer.mjs","sources":["../../drawer/drawer.ts","../../drawer/design-factory-angular-drawer.ts"],"sourcesContent":["import type { DrawerConfiguration, DrawerPosition, DrawerWidget } from '@design-factory/core/components/drawer';\nimport { createDrawer } from '@design-factory/core/components/drawer';\nimport type { NavManagerItemConfig } from '@design-factory/core/services/navManager';\nimport { createNavManager } from '@design-factory/core/services/navManager';\nimport { CollapseConfig, createCollapseTransition } from '@design-factory/core/services/transitions/collapse';\nimport { createSimpleClassTransition } from '@design-factory/core/services/transitions/simpleClassTransition';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n contentChild,\n Directive,\n input,\n model,\n output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n AgnosWidgetDirective,\n callWidgetFactory,\n UseDirective,\n UseMultiDirective\n} from '@design-factory/angular/internals';\nimport { DfIconButton } from '@design-factory/angular/button';\n\nconst fadeTransition = createSimpleClassTransition({\n animationPendingClasses: ['df-fade'],\n animationPendingShowClasses: ['df-show'],\n showClasses: ['df-show', 'df-fade'],\n hideClasses: ['df-hidden', 'df-fade']\n});\n\nconst verticalConfig: CollapseConfig = {\n dimension: 'height',\n hideClasses: ['df-collapse-hide'],\n showClasses: ['df-collapse-show'],\n animationPendingClasses: ['df-collapse-collapsing']\n};\n\nconst horizontalConfig: CollapseConfig = {\n dimension: 'width',\n hideClasses: ['df-collapse-hide'],\n showClasses: ['df-collapse-show'],\n animationPendingClasses: ['df-collapse-collapsing', 'df-collapse-horizontal']\n};\n\n/**\n * Available drawer positions.\n */\nexport type DfDrawerPosition = DrawerPosition;\n\n/**\n * Available drawer display configurations.\n * - `'overlay'`: the drawer overlays the page content with a backdrop.\n * - `'inline'`: the drawer stays in the document flow and moves content as it expands/resizes.\n */\nexport type DfDrawerConfiguration = DrawerConfiguration;\n\n/**\n * A directive to define a template containing the header content of the drawer.\n */\n@Directive({\n selector: 'ng-template[dfDrawerHeader]'\n})\nexport class DfDrawerHeaderTemplate {}\n\n/**\n * A directive to define a template containing the body content of the drawer.\n */\n@Directive({\n selector: 'ng-template[dfDrawerBody]'\n})\nexport class DfDrawerBodyTemplate {}\n\n/**\n * A directive to define a template containing the footer content of the drawer.\n */\n@Directive({\n selector: 'ng-template[dfDrawerFooter]'\n})\nexport class DfDrawerFooterTemplate {}\n\n/**\n * Enables users to show contextual content via a sliding panel from any screen edge.\n *\n * See {@link https://design-factory.amadeus.net/components/drawer|Design Factory documentation} for details and examples.\n * @since 21.1\n */\n@Component({\n selector: 'df-drawer',\n imports: [NgTemplateOutlet, UseDirective, UseMultiDirective, DfIconButton],\n template: `\n @let isHidden = state.hidden();\n @let backdropHidden = state.backdropHidden();\n @if (!isHidden || keepInDom()) {\n @let isVertical = state.isVertical();\n @let drawerSize = size();\n <div\n class=\"df-drawer\"\n [class]=\"state.className()\"\n [dfUseMulti]=\"[directives.drawerPortalDirective, directives.drawerDirective]\"\n [style.--df-drawer-size]=\"drawerSize !== null ? drawerSize + 'px' : ''\"\n >\n <ng-template #defaultBodyTemplate>\n <ng-content />\n </ng-template>\n @if (hasSectionTemplates()) {\n @if (headerTemplate(); as header) {\n <div class=\"df-drawer-header\">\n <ng-template [ngTemplateOutlet]=\"header\" />\n </div>\n }\n <div class=\"df-drawer-body\">\n @if (bodyTemplate(); as body) {\n <ng-template [ngTemplateOutlet]=\"body\" />\n } @else {\n <ng-template [ngTemplateOutlet]=\"defaultBodyTemplate\" />\n }\n </div>\n @if (footerTemplate(); as footer) {\n <div class=\"df-drawer-footer\">\n <ng-template [ngTemplateOutlet]=\"footer\" />\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"defaultBodyTemplate\" />\n }\n @if (state.resizable()) {\n <div\n class=\"df-drawer-splitter\"\n tabindex=\"-1\"\n [dfUse]=\"directives.splitterDirective\"\n [style.align-items]=\"!isVertical ? 'center' : undefined\"\n [style.justify-content]=\"isVertical ? 'center' : undefined\"\n >\n <ng-content select=\"df-drawer-splitter-content\">\n <button\n dfIconButton\n #splitterHandle\n class=\"df-drawer-splitter-handle\"\n [class.fa-grip-lines]=\"isVertical\"\n [class.fa-grip-lines-vertical]=\"!isVertical\"\n appearance=\"text\"\n [variant]=\"backdropHidden ? 'primary' : 'neutral'\"\n [mirror]=\"!backdropHidden\"\n transparent\n i18n-aria-label=\"@@df.drawer.resize.ariaLabel\"\n aria-label=\"Resize drawer\"\n [dfUse]=\"[navManager.directive, navManagerConfig]\"\n ></button>\n </ng-content>\n </div>\n }\n </div>\n }\n @if (!backdropHidden) {\n <div\n class=\"df-drawer-backdrop\"\n [dfUseMulti]=\"[directives.backdropPortalDirective, directives.backdropDirective]\"\n ></div>\n }\n `,\n styles: \"@use '@design-factory/components-styles/drawer';\",\n encapsulation: ViewEncapsulation.None\n})\nexport class DfDrawer extends AgnosWidgetDirective<DrawerWidget> {\n protected readonly headerTemplate = contentChild(DfDrawerHeaderTemplate, { read: TemplateRef });\n protected readonly bodyTemplate = contentChild(DfDrawerBodyTemplate, { read: TemplateRef });\n protected readonly footerTemplate = contentChild(DfDrawerFooterTemplate, { read: TemplateRef });\n protected readonly hasSectionTemplates = computed(\n () => !!this.headerTemplate() || !!this.bodyTemplate() || !!this.footerTemplate()\n );\n\n /**\n * CSS classes to be applied on the widget main container\n *\n * @defaultValue ``\n */\n readonly className = input<string>('');\n /**\n * If `true` allows body scrolling when the drawer is open.\n *\n * @defaultValue `false`\n */\n readonly bodyScroll = input(false, { transform: booleanAttribute });\n /**\n * If `true` displays the backdrop element and disables the body scrolling, otherwise the body of the document is navigable\n *\n * @defaultValue `true`\n */\n readonly backdrop = input(true, { transform: booleanAttribute });\n /**\n * If `true` the drawer will be closed when clicking on the backdrop, otherwise the backdrop is static and non iteractive.\n *\n * @defaultValue `true`\n */\n readonly closeOnBackdropClick = input(true, { transform: booleanAttribute });\n /**\n * Which element should contain the drawer and backdrop DOM elements.\n * If it is not null, the drawer and backdrop DOM elements are moved to the specified container.\n * Otherwise, they stay where the widget is located.\n *\n * Defaults to `document.body` in the browser and `null` on the server.\n *\n * @defaultValue `document.body`\n */\n readonly container = input<HTMLElement | null>(null);\n /**\n * The size of the drawer in pixels.\n *\n * @defaultValue `300`\n */\n readonly size = model<number | null>(300);\n /**\n * If `true`, the drawer can be resized by the user.\n *\n * @defaultValue `false`\n */\n readonly resizable = input(false, { transform: booleanAttribute });\n /**\n * If `true`, the drawer is shown; otherwise, it is hidden.\n *\n * @defaultValue `false`\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * If `true`, the drawer element is kept in the DOM when it is not visible.\n * This can be useful to preserve the state of the drawer content when it is hidden.\n *\n * @defaultValue `false`\n */\n readonly keepInDom = input(false, { transform: booleanAttribute });\n\n /**\n * The display configuration of the drawer.\n * - `'overlay'` (default): the drawer overlays the page content with a backdrop.\n * - `'inline'`: the drawer stays in the document flow and moves content as it expands/resizes.\n *\n * @defaultValue `'overlay'`\n */\n readonly configuration = input<DrawerConfiguration>('overlay');\n\n /**\n * The position of the drawer on the screen.\n *\n * @defaultValue `'inline-start'`\n */\n readonly position = input<DfDrawerPosition>('inline-start');\n\n /**\n * Event to be triggered when the visible property changes.\n *\n * @param visible - new value of the visible propery\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly visibleChange = output<boolean>();\n\n /**\n * Event to be triggered when the minimized state changes.\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly minimizedChange = output<boolean>();\n\n /**\n * Event to be triggered when the maximized state changes.\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly maximizedChange = output<boolean>();\n\n /**\n * Event to be triggered when the user start or stop moving the drawer.\n *\n * @defaultValue\n * ```ts\n * () => {}\n * ```\n */\n readonly resizingChange = output<boolean>();\n\n /**\n * If `true` focuses the drawer when it is opened.\n *\n * @defaultValue `true`\n */\n readonly focusOnInit = input(true, { transform: booleanAttribute });\n\n protected readonly navManager = createNavManager();\n\n protected readonly navManagerConfig: NavManagerItemConfig = {\n keys: {\n Home: this.navManager.focusFirst,\n End: this.navManager.focusLast\n }\n };\n\n /**\n * Event to be triggered when the minimum size is reached.\n *\n * @defaultValue `null`\n */\n readonly minSize = output<void>();\n\n /**\n * Event to be triggered when the maximum size is reached.\n *\n * @defaultValue `null`\n */\n readonly maxSize = output<void>();\n\n constructor() {\n const widget = callWidgetFactory(createDrawer, {\n defaultConfig: {\n bodyScroll: false,\n backdrop: true,\n transition: createCollapseTransition(horizontalConfig),\n verticalTransition: createCollapseTransition(verticalConfig),\n backdropTransition: fadeTransition\n },\n events: {\n onSizeChange: (size) => {\n this.size.set(size);\n },\n onVisibleChange: (visible) => {\n this.visibleChange.emit(visible);\n },\n onMinimizedChange: (isMinimized) => {\n this.minimizedChange.emit(isMinimized);\n },\n onMaximizedChange: (isMaximized) => {\n this.maximizedChange.emit(isMaximized);\n },\n onResizingChange: (isResizing) => {\n this.resizingChange.emit(isResizing);\n }\n }\n });\n super(widget);\n }\n\n /**\n * Trigger the opening of the drawer.\n *\n * @param animated - whether the transition should be animated. If the parameter is not defined, the `animated` is defined by the component input or the default config.\n *\n * @returns A promise that resolves once the opening transition has finished.\n */\n public open(animated?: boolean): Promise<void> {\n return this.api.open(animated);\n }\n\n /**\n * Trigger the closing of the drawer.\n *\n * @param animated - whether the transition should be animated. If the parameter is not defined, the `animated` is defined by the component input or the default config.\n *\n * @returns A promise that resolves once the closing transition has finished.\n */\n public close(animated?: boolean): Promise<void> {\n return this.api.close(animated);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|