@ngbase/adk 0.1.10 → 0.1.12
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/a11y/index.d.ts +151 -5
- package/accordion/index.d.ts +44 -5
- package/autocomplete/index.d.ts +54 -5
- package/avatar/index.d.ts +25 -5
- package/bidi/index.d.ts +17 -5
- package/breadcrumb/index.d.ts +36 -5
- package/cache/index.d.ts +46 -5
- package/carousel/index.d.ts +79 -5
- package/checkbox/index.d.ts +33 -5
- package/chip/index.d.ts +28 -5
- package/clipboard/index.d.ts +11 -5
- package/collections/index.d.ts +23 -5
- package/color-picker/index.d.ts +119 -5
- package/cookies/index.d.ts +35 -5
- package/datepicker/index.d.ts +317 -5
- package/dialog/index.d.ts +63 -5
- package/drag/index.d.ts +107 -5
- package/fesm2022/ngbase-adk-a11y.mjs +100 -74
- package/fesm2022/ngbase-adk-a11y.mjs.map +1 -1
- package/fesm2022/ngbase-adk-accordion.mjs +31 -19
- package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
- package/fesm2022/ngbase-adk-autocomplete.mjs +17 -17
- package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
- package/fesm2022/ngbase-adk-avatar.mjs +16 -16
- package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
- package/fesm2022/ngbase-adk-bidi.mjs +6 -7
- package/fesm2022/ngbase-adk-bidi.mjs.map +1 -1
- package/fesm2022/ngbase-adk-breadcrumb.mjs +15 -15
- package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngbase-adk-cache.mjs +3 -3
- package/fesm2022/ngbase-adk-carousel.mjs +24 -24
- package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
- package/fesm2022/ngbase-adk-checkbox.mjs +10 -10
- package/fesm2022/ngbase-adk-checkbox.mjs.map +1 -1
- package/fesm2022/ngbase-adk-chip.mjs +13 -13
- package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-clipboard.mjs +27 -12
- package/fesm2022/ngbase-adk-clipboard.mjs.map +1 -1
- package/fesm2022/ngbase-adk-collections.mjs +5 -5
- package/fesm2022/ngbase-adk-collections.mjs.map +1 -1
- package/fesm2022/ngbase-adk-color-picker.mjs +39 -39
- package/fesm2022/ngbase-adk-color-picker.mjs.map +1 -1
- package/fesm2022/ngbase-adk-cookies.mjs +3 -3
- package/fesm2022/ngbase-adk-datepicker.mjs +107 -107
- package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
- package/fesm2022/ngbase-adk-dialog.mjs +39 -109
- package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
- package/fesm2022/ngbase-adk-drag.mjs +21 -22
- package/fesm2022/ngbase-adk-drag.mjs.map +1 -1
- package/fesm2022/ngbase-adk-form-field.mjs +206 -31
- package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
- package/fesm2022/ngbase-adk-hover-card.mjs +6 -6
- package/fesm2022/ngbase-adk-hover-card.mjs.map +1 -1
- package/fesm2022/ngbase-adk-icon.mjs +10 -10
- package/fesm2022/ngbase-adk-icon.mjs.map +1 -1
- package/fesm2022/ngbase-adk-inline-edit.mjs +29 -27
- package/fesm2022/ngbase-adk-inline-edit.mjs.map +1 -1
- package/fesm2022/ngbase-adk-jwt.mjs +6 -6
- package/fesm2022/ngbase-adk-keys.mjs +7 -8
- package/fesm2022/ngbase-adk-keys.mjs.map +1 -1
- package/fesm2022/ngbase-adk-layout.mjs +1 -1
- package/fesm2022/ngbase-adk-layout.mjs.map +1 -1
- package/fesm2022/ngbase-adk-list.mjs +10 -10
- package/fesm2022/ngbase-adk-list.mjs.map +1 -1
- package/fesm2022/ngbase-adk-mask.mjs +8 -8
- package/fesm2022/ngbase-adk-mask.mjs.map +1 -1
- package/fesm2022/ngbase-adk-menu.mjs +41 -41
- package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
- package/fesm2022/ngbase-adk-network.mjs +4 -4
- package/fesm2022/ngbase-adk-network.mjs.map +1 -1
- package/fesm2022/ngbase-adk-otp.mjs +19 -19
- package/fesm2022/ngbase-adk-otp.mjs.map +1 -1
- package/fesm2022/ngbase-adk-pagination.mjs +20 -20
- package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
- package/fesm2022/ngbase-adk-popover.mjs +28 -28
- package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
- package/fesm2022/ngbase-adk-portal.mjs +14 -15
- package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
- package/fesm2022/ngbase-adk-progress.mjs +8 -8
- package/fesm2022/ngbase-adk-progress.mjs.map +1 -1
- package/fesm2022/ngbase-adk-radio.mjs +15 -15
- package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
- package/fesm2022/ngbase-adk-resizable.mjs +19 -20
- package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
- package/fesm2022/ngbase-adk-scroll-area.mjs +31 -31
- package/fesm2022/ngbase-adk-scroll-area.mjs.map +1 -1
- package/fesm2022/ngbase-adk-select.mjs +73 -75
- package/fesm2022/ngbase-adk-select.mjs.map +1 -1
- package/fesm2022/ngbase-adk-selectable.mjs +9 -9
- package/fesm2022/ngbase-adk-selectable.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sheet.mjs +9 -7
- package/fesm2022/ngbase-adk-sheet.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sidenav.mjs +37 -37
- package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
- package/fesm2022/ngbase-adk-slider.mjs +26 -26
- package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sonner.mjs +11 -11
- package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
- package/fesm2022/ngbase-adk-stepper.mjs +28 -28
- package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
- package/fesm2022/ngbase-adk-switch.mjs +16 -16
- package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
- package/fesm2022/ngbase-adk-table.mjs +98 -78
- package/fesm2022/ngbase-adk-table.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tabs.mjs +44 -44
- package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
- package/fesm2022/ngbase-adk-toggle-group.mjs +15 -15
- package/fesm2022/ngbase-adk-toggle-group.mjs.map +1 -1
- package/fesm2022/ngbase-adk-toggle.mjs +4 -4
- package/fesm2022/ngbase-adk-toggle.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tooltip.mjs +15 -15
- package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tour.mjs +28 -28
- package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
- package/fesm2022/ngbase-adk-translate.mjs +13 -13
- package/fesm2022/ngbase-adk-translate.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tree.mjs +27 -27
- package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
- package/fesm2022/ngbase-adk-utils.mjs +43 -20
- package/fesm2022/ngbase-adk-utils.mjs.map +1 -1
- package/fesm2022/ngbase-adk-virtualizer.mjs +20 -20
- package/fesm2022/ngbase-adk-virtualizer.mjs.map +1 -1
- package/form-field/index.d.ts +95 -5
- package/hover-card/index.d.ts +21 -5
- package/icon/index.d.ts +28 -5
- package/index.d.ts +2 -5
- package/inline-edit/index.d.ts +53 -5
- package/jwt/index.d.ts +20 -5
- package/keys/index.d.ts +54 -5
- package/layout/index.d.ts +20 -5
- package/list/index.d.ts +34 -5
- package/mask/index.d.ts +33 -5
- package/menu/index.d.ts +145 -5
- package/network/index.d.ts +29 -5
- package/otp/index.d.ts +51 -5
- package/package.json +44 -44
- package/pagination/index.d.ts +35 -5
- package/popover/index.d.ts +212 -5
- package/portal/index.d.ts +113 -5
- package/progress/index.d.ts +17 -5
- package/radio/index.d.ts +45 -5
- package/resizable/index.d.ts +73 -5
- package/schematics/components/files/accordion/accordion.ts.template +2 -2
- package/schematics/components/files/autocomplete/autocomplete.ts.template +1 -0
- package/schematics/components/files/avatar/avatar.ts.template +12 -4
- package/schematics/components/files/button/button.ts.template +32 -13
- package/schematics/components/files/command/command.ts.template +10 -9
- package/schematics/components/files/datepicker/datepicker-llm.md.template +15 -2
- package/schematics/components/files/dialog/dialog.ts.template +9 -2
- package/schematics/components/files/drawer/drawer.ts.template +1 -1
- package/schematics/components/files/form-field/form-field.ts.template +10 -1
- package/schematics/components/files/form-field/input-style.directive.ts.template +1 -1
- package/schematics/components/files/icon/icon-llm.md.template +0 -1
- package/schematics/components/files/inline-edit/inline-edit.ts.template +2 -2
- package/schematics/components/files/otp/otp.ts.template +1 -1
- package/schematics/components/files/picasa/picasa-base.component.ts.template +1 -2
- package/schematics/components/files/picasa/picasa.component.ts.template +4 -4
- package/schematics/components/files/select/select.ts.template +5 -18
- package/schematics/components/files/sheet/sheet.ts.template +1 -1
- package/schematics/components/files/sidenav/sidenav-llm.md.template +0 -1
- package/schematics/components/files/spinner/spinner.ts.template +1 -29
- package/schematics/components/files/table/table-llm.md.template +41 -1
- package/schematics/components/files/table/table.ts.template +40 -5
- package/scroll-area/index.d.ts +60 -5
- package/select/index.d.ts +177 -5
- package/selectable/index.d.ts +32 -5
- package/sheet/index.d.ts +44 -5
- package/sidenav/index.d.ts +74 -5
- package/slider/index.d.ts +79 -5
- package/sonner/index.d.ts +50 -5
- package/stepper/index.d.ts +54 -5
- package/switch/index.d.ts +47 -5
- package/table/index.d.ts +143 -5
- package/tabs/index.d.ts +85 -5
- package/test/index.d.ts +81 -5
- package/toggle/index.d.ts +16 -5
- package/toggle-group/index.d.ts +39 -5
- package/tooltip/index.d.ts +60 -5
- package/tour/index.d.ts +70 -5
- package/translate/index.d.ts +58 -5
- package/tree/index.d.ts +95 -5
- package/utils/index.d.ts +82 -5
- package/virtualizer/index.d.ts +45 -5
- package/a11y/accessibility-group.d.ts +0 -46
- package/a11y/accessibility-item.d.ts +0 -49
- package/a11y/accessibility.service.d.ts +0 -17
- package/a11y/autofocus.d.ts +0 -18
- package/a11y/focus-trap.d.ts +0 -15
- package/a11y/public-api.d.ts +0 -4
- package/accordion/accordion-content.d.ts +0 -8
- package/accordion/accordion-group.d.ts +0 -10
- package/accordion/accordion-header.d.ts +0 -7
- package/accordion/accordion-item.d.ts +0 -16
- package/accordion/public-api.d.ts +0 -4
- package/autocomplete/autocomplete-input.d.ts +0 -19
- package/autocomplete/autocomplete.d.ts +0 -34
- package/autocomplete/public-api.d.ts +0 -2
- package/avatar/avatar.d.ts +0 -22
- package/avatar/public-api.d.ts +0 -1
- package/bidi/direction.service.d.ts +0 -14
- package/bidi/public-api.d.ts +0 -1
- package/breadcrumb/breadcrumb-link.d.ts +0 -7
- package/breadcrumb/breadcrumb-separator.d.ts +0 -6
- package/breadcrumb/breadcrumb.d.ts +0 -12
- package/breadcrumb/breadcrumbs.d.ts +0 -9
- package/breadcrumb/public-api.d.ts +0 -4
- package/cache/cache-config.d.ts +0 -22
- package/cache/cache.d.ts +0 -17
- package/cache/cache.interecptor.d.ts +0 -2
- package/cache/public-api.d.ts +0 -3
- package/carousel/carousel-item.d.ts +0 -7
- package/carousel/carousel-next.d.ts +0 -8
- package/carousel/carousel.d.ts +0 -61
- package/carousel/public-api.d.ts +0 -3
- package/checkbox/checkbox.d.ts +0 -30
- package/checkbox/public-api.d.ts +0 -1
- package/chip/chip-group.d.ts +0 -7
- package/chip/chip.d.ts +0 -19
- package/chip/public-api.d.ts +0 -2
- package/clipboard/clipboard.d.ts +0 -7
- package/clipboard/public-api.d.ts +0 -1
- package/collections/SelectionModel.d.ts +0 -19
- package/collections/public-api.d.ts +0 -1
- package/color-picker/color-input.d.ts +0 -16
- package/color-picker/color-picker-trigger.d.ts +0 -30
- package/color-picker/color-picker.d.ts +0 -72
- package/color-picker/public-api.d.ts +0 -3
- package/color-picker/utils.d.ts +0 -21
- package/cookies/cookie.service.d.ts +0 -32
- package/cookies/public-api.d.ts +0 -1
- package/datepicker/calendar.d.ts +0 -121
- package/datepicker/datepicker-trigger.d.ts +0 -66
- package/datepicker/datepicker.d.ts +0 -55
- package/datepicker/native-date-adapter.d.ts +0 -33
- package/datepicker/public-api.d.ts +0 -5
- package/datepicker/time.d.ts +0 -42
- package/dialog/dialog.animation.d.ts +0 -3
- package/dialog/dialog.d.ts +0 -49
- package/dialog/dialog.service.d.ts +0 -7
- package/dialog/public-api.d.ts +0 -3
- package/drag/drag-drop.d.ts +0 -37
- package/drag/drag-move.d.ts +0 -17
- package/drag/drag.d.ts +0 -52
- package/drag/public-api.d.ts +0 -3
- package/form-field/auto-height.d.ts +0 -9
- package/form-field/error.d.ts +0 -18
- package/form-field/form-field.d.ts +0 -14
- package/form-field/input.d.ts +0 -16
- package/form-field/label.d.ts +0 -7
- package/form-field/public-api.d.ts +0 -5
- package/hover-card/hover-card.d.ts +0 -18
- package/hover-card/public-api.d.ts +0 -1
- package/icon/icon.d.ts +0 -12
- package/icon/icon.service.d.ts +0 -12
- package/icon/public-api.d.ts +0 -2
- package/inline-edit/inline-edit.d.ts +0 -47
- package/inline-edit/public-api.d.ts +0 -1
- package/jwt/jwt.service.d.ts +0 -27
- package/jwt/public-api.d.ts +0 -1
- package/keys/keys.service.d.ts +0 -13
- package/keys/public-api.d.ts +0 -2
- package/keys/shortcuts.service.d.ts +0 -38
- package/layout/layout.d.ts +0 -16
- package/layout/public-api.d.ts +0 -1
- package/list/list.d.ts +0 -20
- package/list/list.directive.d.ts +0 -12
- package/list/public-api.d.ts +0 -2
- package/mask/mask-pipe.d.ts +0 -7
- package/mask/mask.d.ts +0 -24
- package/mask/public-api.d.ts +0 -2
- package/menu/context-menu.d.ts +0 -21
- package/menu/mention.d.ts +0 -18
- package/menu/menu-trigger.d.ts +0 -34
- package/menu/menu.d.ts +0 -58
- package/menu/navigation-menu.d.ts +0 -19
- package/menu/public-api.d.ts +0 -5
- package/network/network.interceptor.d.ts +0 -6
- package/network/network.service.d.ts +0 -18
- package/network/public-api.d.ts +0 -2
- package/otp/otp.d.ts +0 -48
- package/otp/public-api.d.ts +0 -1
- package/pagination/pagination.d.ts +0 -32
- package/pagination/public-api.d.ts +0 -1
- package/popover/base-popover.service.d.ts +0 -16
- package/popover/popover-arrow.ng.d.ts +0 -34
- package/popover/popover-trigger.d.ts +0 -21
- package/popover/popover.d.ts +0 -60
- package/popover/popover.service.d.ts +0 -43
- package/popover/public-api.d.ts +0 -6
- package/popover/utils.d.ts +0 -69
- package/portal/dialog-ref.d.ts +0 -70
- package/portal/portal-base.service.d.ts +0 -19
- package/portal/portal-close.directive.d.ts +0 -9
- package/portal/portal.component.d.ts +0 -7
- package/portal/portal.service.d.ts +0 -16
- package/portal/public-api.d.ts +0 -5
- package/progress/progress.d.ts +0 -13
- package/progress/public-api.d.ts +0 -1
- package/public-api.d.ts +0 -2
- package/radio/public-api.d.ts +0 -2
- package/radio/radio-group.d.ts +0 -19
- package/radio/radio.d.ts +0 -26
- package/resizable/public-api.d.ts +0 -2
- package/resizable/resizable-group.d.ts +0 -22
- package/resizable/resizable.d.ts +0 -50
- package/scroll-area/public-api.d.ts +0 -1
- package/scroll-area/scroll-area.d.ts +0 -56
- package/select/list-selection.d.ts +0 -7
- package/select/option-group.d.ts +0 -7
- package/select/option.d.ts +0 -25
- package/select/public-api.d.ts +0 -6
- package/select/select-base.d.ts +0 -66
- package/select/select-input.d.ts +0 -23
- package/select/select.d.ts +0 -53
- package/selectable/public-api.d.ts +0 -2
- package/selectable/selectable-item.d.ts +0 -12
- package/selectable/selectable.d.ts +0 -19
- package/sheet/public-api.d.ts +0 -2
- package/sheet/sheet.d.ts +0 -26
- package/sheet/sheet.service.d.ts +0 -13
- package/sidenav/public-api.d.ts +0 -3
- package/sidenav/sidenav-header.d.ts +0 -31
- package/sidenav/sidenav.d.ts +0 -23
- package/sidenav/sidenav.service.d.ts +0 -18
- package/slider/public-api.d.ts +0 -1
- package/slider/slider.d.ts +0 -76
- package/sonner/public-api.d.ts +0 -2
- package/sonner/sonner.d.ts +0 -25
- package/sonner/sonner.service.d.ts +0 -21
- package/stepper/animation.d.ts +0 -1
- package/stepper/public-api.d.ts +0 -3
- package/stepper/step.d.ts +0 -24
- package/stepper/stepper.d.ts +0 -26
- package/switch/public-api.d.ts +0 -1
- package/switch/switch.d.ts +0 -44
- package/table/body-cell.d.ts +0 -11
- package/table/body-row.d.ts +0 -25
- package/table/column.d.ts +0 -10
- package/table/head-cell.d.ts +0 -12
- package/table/head-row.d.ts +0 -24
- package/table/public-api.d.ts +0 -8
- package/table/sort.d.ts +0 -40
- package/table/table.d.ts +0 -38
- package/tabs/public-api.d.ts +0 -2
- package/tabs/tab-group.d.ts +0 -52
- package/tabs/tab.d.ts +0 -31
- package/test/public-api.d.ts +0 -1
- package/test/utils.d.ts +0 -78
- package/toggle/public-api.d.ts +0 -1
- package/toggle/toggle.d.ts +0 -13
- package/toggle-group/public-api.d.ts +0 -2
- package/toggle-group/toggle-group.d.ts +0 -25
- package/toggle-group/toggle-item.d.ts +0 -14
- package/tooltip/public-api.d.ts +0 -2
- package/tooltip/tooltip.d.ts +0 -24
- package/tooltip/tooltip.directive.d.ts +0 -34
- package/tooltip/tooltip.service.d.ts +0 -28
- package/tour/animation.d.ts +0 -2
- package/tour/public-api.d.ts +0 -5
- package/tour/tour-base.d.ts +0 -21
- package/tour/tour-step.d.ts +0 -11
- package/tour/tour.d.ts +0 -9
- package/tour/tour.service.d.ts +0 -29
- package/translate/config.d.ts +0 -16
- package/translate/public-api.d.ts +0 -3
- package/translate/translate.d.ts +0 -11
- package/translate/translate.service.d.ts +0 -31
- package/tree/public-api.d.ts +0 -3
- package/tree/tree-node.d.ts +0 -28
- package/tree/tree-toggle.d.ts +0 -16
- package/tree/tree.d.ts +0 -55
- package/utils/animation.d.ts +0 -3
- package/utils/disposals.d.ts +0 -7
- package/utils/number-only.d.ts +0 -22
- package/utils/public-api.d.ts +0 -6
- package/utils/range.pipe.d.ts +0 -7
- package/utils/ssr.d.ts +0 -2
- package/utils/utils.d.ts +0 -28
- package/virtualizer/public-api.d.ts +0 -1
- package/virtualizer/virtualizer.d.ts +0 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngbase-adk-select.mjs","sources":["../../../projects/adk/select/option.ts","../../../projects/adk/select/select-base.ts","../../../projects/adk/select/select.ts","../../../projects/adk/select/option-group.ts","../../../projects/adk/select/select-input.ts","../../../projects/adk/select/list-selection.ts","../../../projects/adk/select/public-api.ts","../../../projects/adk/select/ngbase-adk-select.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n booleanAttribute,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n} from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\n\n@Directive({\n selector: '[ngbOption]',\n hostDirectives: [AccessibleItem],\n host: {\n role: 'option',\n tabindex: '-1',\n '(click)': 'selectOption()',\n },\n})\nexport class NgbOption<T> {\n readonly allyItem = inject(AccessibleItem);\n readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n\n // inputs\n readonly value = input<T>();\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly ayId = input<string>();\n\n // outputs\n readonly onSelectionChange = output<T>();\n\n readonly multiple = signal(false);\n readonly checked = signal(false);\n readonly active = signal(false);\n private _ayId = linkedSignal({ source: this.ayId, computation: id => id || '' });\n\n constructor() {\n this.allyItem._ayId = this._ayId;\n this.allyItem._disabled = this.disabled;\n }\n\n selectOption() {}\n\n setAyId(id: string) {\n this._ayId.set(id);\n }\n\n label() {\n return this.el.nativeElement.textContent || '';\n }\n\n focus() {\n this.el.nativeElement.scrollIntoView({ block: 'nearest' });\n this.el.nativeElement.classList.add('bg-muted');\n }\n\n unselect() {\n this.el.nativeElement.classList.remove('bg-muted');\n }\n\n getValue() {\n if (this.value() === undefined) {\n return this.label();\n }\n return this.value();\n }\n}\n","import {\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n output,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { ngbPopoverPortal, PopoverOptions } from '@ngbase/adk/popover';\nimport { uniqueId } from '@ngbase/adk/utils';\nimport { Subject } from 'rxjs';\nimport { NgbOption } from './option';\n\n@Directive({\n selector: '[ngbSelectTarget]',\n})\nexport class NgbSelectTarget {\n readonly target = signal<HTMLDivElement | null>(null);\n}\n\n@Directive()\nexport abstract class SelectBase<T> implements ControlValueAccessor, OnDestroy {\n // Dependencies\n readonly el = inject(ElementRef);\n readonly dir = inject(Directionality);\n readonly target = inject(NgbSelectTarget, { optional: true });\n readonly list = contentChildren(NgbOption, { descendants: true });\n readonly popover = ngbPopoverPortal();\n\n readonly optionsTemplate = viewChild('optionsTemplate', { read: TemplateRef });\n readonly container = viewChild('container', { read: ElementRef });\n readonly optionsGroup = viewChild('optionsGroup', { read: ElementRef });\n\n // inputs\n readonly value = model<any>('' as any);\n readonly disabled = model<boolean>(false);\n\n readonly multiple = input(false, { transform: booleanAttribute });\n readonly noAutoClose = input(false, { transform: booleanAttribute });\n readonly options = input<T[]>([]);\n readonly placeholder = input<string>(' ');\n readonly size = input<'target' | 'free'>('free');\n\n readonly opened = output<boolean>();\n readonly closed = output<boolean>();\n\n // state\n defaultOptions: Partial<PopoverOptions> = {};\n readonly panelOpen = signal(false);\n readonly values = signal<T[]>([]);\n readonly status = signal<'opening' | 'opened' | 'closed'>('closed');\n onChange?: (value: any) => void;\n onTouched?: () => void;\n popClose?: VoidFunction;\n private previousValue = '';\n events = new Subject<'open' | 'close'>();\n readonly ayId = uniqueId();\n readonly cValue = computed(() => {\n if (!this.isSelect && this.status() === 'opened') {\n return this.previousValue;\n }\n const multiple = this.multiple();\n const options = this.list();\n const filtered = this.values(); // .filter(x => x !== undefined && x !== null && x !== '');\n\n const values = filtered.length\n ? options.reduce((acc, option) => {\n if (filtered.includes(option.getValue())) {\n acc.push(option.label());\n }\n return acc;\n }, [] as string[])\n : [];\n\n // if the value is greater than 1, then take the first value and add a plus sign with the length of the remaining values\n if (multiple && values.length > 1) {\n this.previousValue = `${values[0]} (+${values.length - 1})`;\n } else {\n this.previousValue = values[0] || '';\n }\n return this.previousValue;\n });\n\n // used to determine whether the select is with in a popup\n private withInPopup = false;\n valueRef: EffectRef;\n\n protected constructor(private isSelect: boolean) {\n effect(() => {\n const options = this.list();\n options.forEach(option => {\n option.setAyId(this.ayId);\n option.multiple.set(this.multiple());\n option.selectOption = () => {\n untracked(() => {\n this.setValue([option.getValue()]);\n option.checked.set(!option.checked());\n option.onSelectionChange.emit(option.getValue());\n if (!this.multiple() && !this.noAutoClose()) {\n this.close();\n }\n });\n };\n });\n untracked(() => {\n if (this.status() === 'opening') {\n this.open();\n }\n });\n });\n\n effect(() => {\n const values = this.values();\n const options = this.list();\n // console.log('values', this.values());\n\n options.forEach(option => {\n option.checked.set(values.includes(option.getValue()));\n });\n });\n\n // valueRef is required to destroy the effect when formControl is registered\n // so that it does not override the form value\n this.valueRef = effect(() => this.updateValues(this.value()));\n }\n\n open() {\n // if the status is opened, return\n if (this.status() === 'opened') return;\n\n // if the options are empty, return\n if (this.list().length === 0 && this.options().length === 0) {\n this.status.set('opening');\n return;\n }\n\n const el = this.target?.target() || this.container()?.nativeElement || this.el.nativeElement;\n const { diaRef, events } = this.popover.open(this.optionsTemplate()!, {\n ...this.defaultOptions,\n target: el,\n position: this.dir.isRtl() ? 'br' : 'bl',\n backdrop: this.isSelect,\n width: this.size(),\n maxHeight: '400px',\n ayId: this.ayId,\n focusTrap: false,\n afterFocusEl: this.container()?.nativeElement || this.el.nativeElement,\n });\n this.withInPopup = false;\n\n events.subscribe(e => {\n this.withInPopup = e.type !== 'mouseleave';\n });\n if (!this.isSelect) {\n diaRef.events.subscribe(() => {\n document.addEventListener('click', this.clickHandler);\n this.events.next('open');\n });\n } else {\n this.events.next('open');\n }\n // listen for close from backdrop click\n diaRef.afterClosed.subscribe(() => {\n this.afterClose();\n });\n this.popClose = () => {\n diaRef.close();\n };\n this.afterOpen();\n }\n\n popValue() {\n const values = this.values();\n const value = values[values.length - 1];\n if (value) {\n this.setValue([value]);\n }\n }\n\n close() {\n this.popClose?.();\n this.popClose = undefined;\n }\n\n private afterOpen() {\n this.status.set('opened');\n this.opened.emit(true);\n this.panelOpen.set(true);\n\n // listen for focus out to close the popover\n // this.el.nativeElement.addEventListener('focusout', this.focusOut);\n }\n\n private afterClose() {\n this.closed.emit(true);\n this.panelOpen.set(false);\n\n this.status.set('closed');\n this.events.next('close');\n // stop listening for focus out\n // this.el.nativeElement.removeEventListener('focusout', this.focusOut);\n // stop listening for click\n document.removeEventListener('click', this.clickHandler);\n }\n\n private clickHandler = (e: MouseEvent) => {\n // if the click is in the options group, then do not close the popover\n if (!this.optionsGroup()?.nativeElement.contains(e.target as Node)) {\n this.close();\n }\n };\n\n private focusOut = () => {\n // settimeout is required to wait for withInPopup to be set by the popover\n requestAnimationFrame(() => {\n // if the focus is not in the popup, then close the popover\n if (!this.withInPopup) this.close();\n });\n };\n\n private setValue(values: T[], skip = false): void {\n let localValue = this.values();\n let setValue: any;\n if (this.multiple()) {\n values.forEach(v => {\n const index = localValue.indexOf(v);\n if (index > -1) {\n localValue = localValue.filter((_, i) => i !== index);\n } else {\n localValue = [...localValue, v];\n }\n });\n setValue = localValue;\n } else {\n localValue = values;\n setValue = values[0];\n if (!this.noAutoClose()) this.close();\n }\n // console.log('setValue', localValue, this.values());\n this.values.set(localValue);\n if (!skip) {\n this.onChange?.(setValue);\n this.onTouched?.();\n this.value.set(setValue);\n }\n }\n\n removeValue(value: T) {\n // let values = this.values();\n // const index = values.indexOf(value);\n // if (index > -1) {\n // values = values.filter((_, i) => i === index);\n this.setValue([value]);\n // }\n }\n\n writeValue(value: T[] | T): void {\n this.updateValues(value);\n }\n\n private updateValues(value: T[] | T) {\n this.values.set(Array.isArray(value) ? value : [value]);\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n this.valueRef.destroy();\n }\n\n registerOnTouched(fn: VoidFunction): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n ngOnDestroy() {\n this.close();\n }\n}\n","import {\n computed,\n contentChild,\n Directive,\n inject,\n input,\n model,\n TemplateRef,\n} from '@angular/core';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { filterFunction, FilterOptions, provideValueAccessor } from '@ngbase/adk/utils';\nimport { SelectBase } from './select-base';\n\nexport interface OptionContext<T> {\n $implicit: T;\n index: number;\n}\n\n@Directive({\n selector: '[ngbSelectOption]',\n})\nexport class NgbSelectOption<T> {\n readonly template = inject(TemplateRef<OptionContext<T>>);\n}\n\n@Directive({\n selector: '[ngbSelectValue]',\n host: {\n type: 'button',\n role: 'combobox',\n tabindex: '-1',\n '[disabled]': 'select.disabled()',\n },\n})\nexport class SelectValue {\n readonly select = inject(NgbSelect<any>);\n}\n\n@Directive({\n selector: '[ngbSelectOptionGroup]',\n hostDirectives: [AccessibleGroup],\n})\nexport class NgbSelectOptionGroup {\n readonly group = inject(AccessibleGroup);\n readonly select = inject(SelectBase<any>);\n\n constructor() {\n this.group._isPopup.set(true);\n this.group._loop.set(false);\n this.group._ayId.set(this.select.ayId);\n }\n}\n\n@Directive({\n selector: '[ngbSelect]',\n providers: [_provide(NgbSelect)],\n host: {\n role: 'listbox',\n type: 'button',\n '(click)': 'open()',\n '(keydown.arrowdown)': 'open()',\n '(keydown.arrowup)': 'open()',\n '(keydown.enter)': 'open()',\n '(keydown.space)': 'open()',\n '[tabindex]': 'disabled() ? -1 : 0',\n },\n})\nexport class NgbSelect<T> extends SelectBase<T> {\n readonly search = model<string>('');\n readonly optionTemplate = contentChild(NgbSelectOption<T>);\n readonly filterFn = input((option: string) => option as string);\n readonly queryFn = input<(query: string, option: any) => boolean>();\n readonly filterOptions = input<FilterOptions<T>>();\n readonly optionsFilter = filterFunction(\n this.options,\n computed(\n () =>\n this.filterOptions() ??\n ({ filter: this.filterFn(), query: this.queryFn() } as FilterOptions<T>),\n ),\n );\n\n constructor() {\n super(true);\n }\n}\n\nfunction _provide(select: typeof NgbSelect) {\n return [{ provide: SelectBase, useExisting: select }, provideValueAccessor(select)];\n}\n\nexport function aliasSelect(select: typeof NgbSelect) {\n const deps = [_provide(select), { provide: NgbSelect, useExisting: select }];\n return deps;\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[ngbOptionGroup]',\n})\nexport class NgbOptionGroup {\n readonly label = input.required<string>();\n readonly disabled = input<boolean>(false);\n}\n","import { Directive, ElementRef, computed, inject, input } from '@angular/core';\nimport { Autofocus } from '@ngbase/adk/a11y';\nimport { InputBase } from '@ngbase/adk/form-field';\nimport { NgbSelect } from './select';\n\n@Directive({\n selector: '[ngbSelectInput]',\n exportAs: 'ngbSelectInput',\n hostDirectives: [\n Autofocus,\n { directive: InputBase, inputs: ['value'], outputs: ['valueChange'] },\n ],\n host: {\n '[placeholder]': 'placeholder()',\n '[tabindex]': '0',\n },\n})\nexport class NgbSelectInput<T> {\n // Dependencies\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n readonly select = inject<NgbSelect<T>>(NgbSelect, { optional: true });\n readonly inputBase = inject(InputBase);\n\n // Inputs\n readonly placeholder = input('Search here');\n readonly options = input<T[]>([]);\n readonly filterFn = input<(query: string, value: T, values: T[]) => boolean>();\n\n // State\n readonly filteredOptions = computed(() => {\n const fn = this.filterFn();\n const options = this.options();\n const search = this.inputBase.value();\n const values = search ? options.filter(v => fn!(search, v, options)) : options;\n return values;\n });\n\n constructor() {\n this.select?.events.subscribe(event => {\n if (event === 'open') {\n this.inputBase.value.set('');\n this.el.nativeElement.focus();\n }\n });\n }\n\n updateSearch(value: string) {\n this.inputBase.value.set(value);\n }\n}\n\n@Directive({\n selector: '[ngbSelectTrigger]',\n})\nexport class NgbSelectTrigger {}\n","import { Directive } from '@angular/core';\nimport { provideValueAccessor } from '@ngbase/adk/utils';\nimport { SelectBase } from './select-base';\n\n@Directive({\n selector: '[ngbListSelection]',\n providers: [provideValueAccessor(ListSelection)],\n})\nexport class ListSelection<T> extends SelectBase<T> {\n constructor() {\n super(true);\n }\n}\n","/*\n * Public API Surface of select\n */\n\nexport * from './select';\nexport * from './option';\nexport * from './option-group';\nexport * from './select-input';\nexport * from './list-selection';\nexport * from './select-base';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngbase-adk-select.mjs","sources":["../../../projects/adk/select/option.ts","../../../projects/adk/select/select-base.ts","../../../projects/adk/select/select.ts","../../../projects/adk/select/option-group.ts","../../../projects/adk/select/select-input.ts","../../../projects/adk/select/list-selection.ts","../../../projects/adk/select/public-api.ts","../../../projects/adk/select/ngbase-adk-select.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n booleanAttribute,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n} from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\n\n@Directive({\n selector: '[ngbOption]',\n hostDirectives: [AccessibleItem],\n host: {\n role: 'option',\n tabindex: '-1',\n '(click)': 'selectOption()',\n },\n})\nexport class NgbOption<T> {\n readonly allyItem = inject(AccessibleItem);\n readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n\n // inputs\n readonly value = input<T>();\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly ayId = input<string>();\n\n // outputs\n readonly onSelectionChange = output<T>();\n\n readonly multiple = signal(false);\n readonly checked = signal(false);\n readonly active = signal(false);\n private _ayId = linkedSignal({ source: this.ayId, computation: id => id || '' });\n\n constructor() {\n this.allyItem._ayId = this._ayId;\n this.allyItem._disabled = this.disabled;\n }\n\n selectOption() {}\n\n setAyId(id: string) {\n this._ayId.set(id);\n }\n\n label() {\n return this.el.nativeElement.textContent || '';\n }\n\n focus() {\n this.el.nativeElement.scrollIntoView({ block: 'nearest' });\n this.el.nativeElement.classList.add('bg-muted');\n }\n\n unselect() {\n this.el.nativeElement.classList.remove('bg-muted');\n }\n\n getValue() {\n if (this.value() === undefined) {\n return this.label();\n }\n return this.value();\n }\n}\n","import {\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n output,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { ngbPopoverPortal, PopoverOptions } from '@ngbase/adk/popover';\nimport { uniqueId } from '@ngbase/adk/utils';\nimport { Subject } from 'rxjs';\nimport { NgbOption } from './option';\n\n@Directive({\n selector: '[ngbSelectTarget]',\n})\nexport class NgbSelectTarget {\n readonly target = signal<HTMLDivElement | null>(null);\n}\n\n@Directive()\nexport abstract class SelectBase<T> implements ControlValueAccessor, OnDestroy {\n // Dependencies\n readonly el = inject(ElementRef);\n readonly dir = inject(Directionality);\n readonly target = inject(NgbSelectTarget, { optional: true });\n readonly list = contentChildren(NgbOption, { descendants: true });\n readonly popover = ngbPopoverPortal();\n\n readonly optionsTemplate = viewChild('optionsTemplate', { read: TemplateRef });\n readonly container = viewChild('container', { read: ElementRef });\n readonly optionsGroup = viewChild('optionsGroup', { read: ElementRef });\n\n // inputs\n readonly value = model<any>('' as any);\n readonly disabled = model<boolean>(false);\n\n readonly multiple = input(false, { transform: booleanAttribute });\n readonly noAutoClose = input(false, { transform: booleanAttribute });\n readonly options = input<T[]>([]);\n readonly placeholder = input<string>(' ');\n readonly size = input<'target' | 'free'>('free');\n\n readonly opened = output<boolean>();\n readonly closed = output<boolean>();\n\n // state\n defaultOptions: Partial<PopoverOptions> = {};\n readonly panelOpen = signal(false);\n readonly values = signal<T[]>([]);\n readonly status = signal<'opening' | 'opened' | 'closed'>('closed');\n onChange?: (value: any) => void;\n onTouched?: () => void;\n popClose?: VoidFunction;\n private previousValue = '';\n events = new Subject<'open' | 'close'>();\n readonly ayId = uniqueId();\n readonly cValue = computed(() => {\n if (!this.isSelect && this.status() === 'opened') {\n return this.previousValue;\n }\n const multiple = this.multiple();\n const options = this.list();\n const filtered = this.values(); // .filter(x => x !== undefined && x !== null && x !== '');\n\n const values = filtered.length\n ? options.reduce((acc, option) => {\n if (filtered.includes(option.getValue())) {\n acc.push(option.label());\n }\n return acc;\n }, [] as string[])\n : [];\n\n // if the value is greater than 1, then take the first value and add a plus sign with the length of the remaining values\n if (multiple && values.length > 1) {\n this.previousValue = `${values[0]} (+${values.length - 1})`;\n } else {\n this.previousValue = values[0] || '';\n }\n return this.previousValue;\n });\n\n // used to determine whether the select is with in a popup\n private withInPopup = false;\n valueRef: EffectRef;\n\n protected constructor(private isSelect: boolean) {\n effect(() => {\n const options = this.list();\n options.forEach(option => {\n option.setAyId(this.ayId);\n option.multiple.set(this.multiple());\n option.selectOption = () => {\n untracked(() => {\n this.setValue([option.getValue()]);\n option.checked.set(!option.checked());\n option.onSelectionChange.emit(option.getValue());\n if (!this.multiple() && !this.noAutoClose()) {\n this.close();\n }\n });\n };\n });\n untracked(() => {\n if (this.status() === 'opening') {\n this.open();\n }\n });\n });\n\n effect(() => {\n const values = this.values();\n const options = this.list();\n // console.log('values', this.values());\n\n options.forEach(option => {\n option.checked.set(values.includes(option.getValue()));\n });\n });\n\n // valueRef is required to destroy the effect when formControl is registered\n // so that it does not override the form value\n this.valueRef = effect(() => this.updateValues(this.value()));\n }\n\n open() {\n // if the status is opened, return\n if (this.status() === 'opened') return;\n\n // if the options are empty, return\n if (this.list().length === 0 && this.options().length === 0) {\n this.status.set('opening');\n return;\n }\n\n const el = this.target?.target() || this.container()?.nativeElement || this.el.nativeElement;\n const { diaRef, events } = this.popover.open(this.optionsTemplate()!, {\n ...this.defaultOptions,\n target: el,\n position: this.dir.isRtl() ? 'br' : 'bl',\n backdrop: this.isSelect,\n width: this.size(),\n maxHeight: '400px',\n ayId: this.ayId,\n focusTrap: false,\n afterFocusEl: this.container()?.nativeElement || this.el.nativeElement,\n });\n this.withInPopup = false;\n\n events.subscribe(e => {\n this.withInPopup = e.type !== 'mouseleave';\n });\n if (!this.isSelect) {\n diaRef.events.subscribe(() => {\n document.addEventListener('click', this.clickHandler);\n this.events.next('open');\n });\n } else {\n this.events.next('open');\n }\n // listen for close from backdrop click\n diaRef.afterClosed.subscribe(() => {\n this.afterClose();\n });\n this.popClose = () => {\n diaRef.close();\n };\n this.afterOpen();\n }\n\n popValue() {\n const values = this.values();\n const value = values[values.length - 1];\n if (value) {\n this.setValue([value]);\n }\n }\n\n close() {\n this.popClose?.();\n this.popClose = undefined;\n }\n\n private afterOpen() {\n this.status.set('opened');\n this.opened.emit(true);\n this.panelOpen.set(true);\n\n // listen for focus out to close the popover\n // this.el.nativeElement.addEventListener('focusout', this.focusOut);\n }\n\n private afterClose() {\n this.closed.emit(true);\n this.panelOpen.set(false);\n\n this.status.set('closed');\n this.events.next('close');\n // stop listening for focus out\n // this.el.nativeElement.removeEventListener('focusout', this.focusOut);\n // stop listening for click\n document.removeEventListener('click', this.clickHandler);\n }\n\n private clickHandler = (e: MouseEvent) => {\n // if the click is in the options group, then do not close the popover\n if (!this.optionsGroup()?.nativeElement.contains(e.target as Node)) {\n this.close();\n }\n };\n\n private focusOut = () => {\n // settimeout is required to wait for withInPopup to be set by the popover\n requestAnimationFrame(() => {\n // if the focus is not in the popup, then close the popover\n if (!this.withInPopup) this.close();\n });\n };\n\n private setValue(values: T[], skip = false): void {\n let localValue = this.values();\n let setValue: any;\n if (this.multiple()) {\n values.forEach(v => {\n const index = localValue.indexOf(v);\n if (index > -1) {\n localValue = localValue.filter((_, i) => i !== index);\n } else {\n localValue = [...localValue, v];\n }\n });\n setValue = localValue;\n } else {\n localValue = values;\n setValue = values[0];\n if (!this.noAutoClose()) this.close();\n }\n // console.log('setValue', localValue, this.values());\n this.values.set(localValue);\n if (!skip) {\n this.onChange?.(setValue);\n this.onTouched?.();\n this.value.set(setValue);\n }\n }\n\n removeValue(value: T) {\n // let values = this.values();\n // const index = values.indexOf(value);\n // if (index > -1) {\n // values = values.filter((_, i) => i === index);\n this.setValue([value]);\n // }\n }\n\n writeValue(value: T[] | T): void {\n this.updateValues(value);\n }\n\n private updateValues(value: T[] | T) {\n this.values.set(Array.isArray(value) ? value : [value]);\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n this.valueRef.destroy();\n }\n\n registerOnTouched(fn: VoidFunction): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n ngOnDestroy() {\n this.close();\n }\n}\n","import {\n computed,\n contentChild,\n Directive,\n inject,\n input,\n model,\n TemplateRef,\n} from '@angular/core';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { filterFunction, FilterOptions, provideValueAccessor } from '@ngbase/adk/utils';\nimport { SelectBase } from './select-base';\n\nexport interface OptionContext<T> {\n $implicit: T;\n index: number;\n}\n\n@Directive({\n selector: '[ngbSelectOption]',\n})\nexport class NgbSelectOption<T> {\n readonly template = inject(TemplateRef<OptionContext<T>>);\n}\n\n@Directive({\n selector: 'button[ngbSelectValue]',\n host: {\n type: 'button',\n role: 'combobox',\n tabindex: '-1',\n '[disabled]': 'select.disabled()',\n },\n})\nexport class SelectValue {\n readonly select = inject(NgbSelect<any>);\n}\n\n@Directive({\n selector: '[ngbSelectOptionGroup]',\n hostDirectives: [AccessibleGroup],\n})\nexport class NgbSelectOptionGroup {\n readonly group = inject(AccessibleGroup);\n readonly select = inject(SelectBase<any>);\n\n constructor() {\n this.group._isPopup.set(true);\n this.group._loop.set(false);\n this.group._ayId.set(this.select.ayId);\n }\n}\n\n@Directive({\n selector: '[ngbSelect]',\n providers: [_provide(NgbSelect)],\n host: {\n role: 'listbox',\n type: 'button',\n '(click)': 'open()',\n '(keydown.arrowdown)': '$event.preventDefault(); open()',\n '(keydown.arrowup)': '$event.preventDefault(); open()',\n '(keydown.enter)': '$event.preventDefault(); open()',\n '(keydown.space)': '$event.preventDefault(); open()',\n '[tabindex]': 'disabled() ? -1 : 0',\n },\n})\nexport class NgbSelect<T> extends SelectBase<T> {\n readonly optionTemplate = contentChild(NgbSelectOption<T>);\n\n readonly search = model<string>('');\n readonly filterFn = input((option: T) => option as string);\n readonly filterOptions = input<FilterOptions<T>>();\n\n readonly optionsFilter = filterFunction(\n this.options,\n computed(() => this.filterOptions() ?? { filter: this.filterFn() }),\n );\n\n constructor() {\n super(true);\n }\n}\n\nfunction _provide(select: typeof NgbSelect) {\n return [{ provide: SelectBase, useExisting: select }, provideValueAccessor(select)];\n}\n\nexport function aliasSelect(select: typeof NgbSelect) {\n const deps = [_provide(select), { provide: NgbSelect, useExisting: select }];\n return deps;\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[ngbOptionGroup]',\n})\nexport class NgbOptionGroup {\n readonly label = input.required<string>();\n readonly disabled = input<boolean>(false);\n}\n","import { Directive, ElementRef, computed, inject, input } from '@angular/core';\nimport { Autofocus } from '@ngbase/adk/a11y';\nimport { InputBase } from '@ngbase/adk/form-field';\nimport { NgbSelect } from './select';\n\n@Directive({\n selector: 'input[ngbSelectInput]',\n exportAs: 'ngbSelectInput',\n hostDirectives: [\n Autofocus,\n { directive: InputBase, inputs: ['value'], outputs: ['valueChange'] },\n ],\n host: {\n '[placeholder]': 'placeholder()',\n '[tabindex]': '0',\n },\n})\nexport class NgbSelectInput<T> {\n // Dependencies\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n readonly select = inject<NgbSelect<T>>(NgbSelect, { optional: true });\n readonly inputBase = inject(InputBase);\n\n // Inputs\n readonly placeholder = input('Search here');\n readonly options = input<T[]>([]);\n readonly filterFn = input<(query: string, value: T, values: T[]) => boolean>();\n\n // State\n readonly filteredOptions = computed(() => {\n const fn = this.filterFn();\n const options = this.options();\n const search = this.inputBase.value();\n const values = search ? options.filter(v => fn!(search, v, options)) : options;\n return values;\n });\n\n constructor() {\n this.select?.events.subscribe(event => {\n if (event === 'open') {\n this.inputBase.value.set('');\n this.el.nativeElement.focus();\n }\n });\n }\n\n updateSearch(value: string) {\n this.inputBase.value.set(value);\n }\n}\n\n@Directive({\n selector: '[ngbSelectTrigger]',\n})\nexport class NgbSelectTrigger {}\n","import { Directive } from '@angular/core';\nimport { provideValueAccessor } from '@ngbase/adk/utils';\nimport { SelectBase } from './select-base';\n\n@Directive({\n selector: '[ngbListSelection]',\n providers: [provideValueAccessor(ListSelection)],\n})\nexport class ListSelection<T> extends SelectBase<T> {\n constructor() {\n super(true);\n }\n}\n","/*\n * Public API Surface of select\n */\n\nexport * from './select';\nexport * from './option';\nexport * from './option-group';\nexport * from './select-input';\nexport * from './list-selection';\nexport * from './select-base';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { uniqueId, provideValueAccessor } from '@ngbase/adk/utils';
|
|
|
7
7
|
class NgbSelectable {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.allyGroup = inject(AccessibleGroup);
|
|
10
|
-
this.activeIndex = model();
|
|
10
|
+
this.activeIndex = model(...(ngDevMode ? [undefined, { debugName: "activeIndex" }] : []));
|
|
11
11
|
this.valueChanged = output();
|
|
12
12
|
this.ayId = uniqueId();
|
|
13
13
|
this.onChange = (_) => { };
|
|
@@ -30,10 +30,10 @@ class NgbSelectable {
|
|
|
30
30
|
registerOnTouched(fn) {
|
|
31
31
|
this.onTouched = fn;
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSelectable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.0", type: NgbSelectable, isStandalone: true, selector: "[ngbSelectable]", inputs: { activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange", valueChanged: "valueChanged" }, host: { attributes: { "role": "tablist" } }, providers: [provideValueAccessor(NgbSelectable)], hostDirectives: [{ directive: i1.AccessibleGroup }], ngImport: i0 }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSelectable, decorators: [{
|
|
37
37
|
type: Directive,
|
|
38
38
|
args: [{
|
|
39
39
|
selector: '[ngbSelectable]',
|
|
@@ -48,17 +48,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
48
48
|
class NgbSelectableItem {
|
|
49
49
|
constructor() {
|
|
50
50
|
this.selectable = inject(NgbSelectable);
|
|
51
|
-
this.value = input.required();
|
|
52
|
-
this.selected = computed(() => this.value() === this.selectable.activeIndex());
|
|
51
|
+
this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
52
|
+
this.selected = computed(() => this.value() === this.selectable.activeIndex(), ...(ngDevMode ? [{ debugName: "selected" }] : []));
|
|
53
53
|
inject(AccessibleItem)._ayId.set(this.selectable.ayId);
|
|
54
54
|
}
|
|
55
55
|
select() {
|
|
56
56
|
this.selectable.setValue(this.value());
|
|
57
57
|
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSelectableItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.0", type: NgbSelectableItem, isStandalone: true, selector: "[ngbSelectableItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tab" }, listeners: { "click": "select()" }, properties: { "attr.aria-selected": "selected()" } }, hostDirectives: [{ directive: i1.AccessibleItem }], ngImport: i0 }); }
|
|
60
60
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSelectableItem, decorators: [{
|
|
62
62
|
type: Directive,
|
|
63
63
|
args: [{
|
|
64
64
|
selector: '[ngbSelectableItem]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngbase-adk-selectable.mjs","sources":["../../../projects/adk/selectable/selectable.ts","../../../projects/adk/selectable/selectable-item.ts","../../../projects/adk/selectable/ngbase-adk-selectable.ts"],"sourcesContent":["import { Directive, inject, model, output } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { provideValueAccessor, uniqueId } from '@ngbase/adk/utils';\n\n@Directive({\n selector: '[ngbSelectable]',\n host: {\n role: 'tablist',\n },\n hostDirectives: [AccessibleGroup],\n providers: [provideValueAccessor(NgbSelectable)],\n})\nexport class NgbSelectable<T> implements ControlValueAccessor {\n readonly allyGroup = inject(AccessibleGroup);\n\n readonly activeIndex = model<T>();\n readonly valueChanged = output<T>();\n\n readonly ayId = uniqueId();\n onChange = (_: T) => {};\n onTouched = () => {};\n\n constructor() {\n this.allyGroup.ayId.set(this.ayId);\n this.allyGroup.clickable.set(true);\n }\n\n setValue(value: T) {\n this.activeIndex.set(value);\n this.onChange(value);\n this.onTouched();\n this.valueChanged.emit(value);\n }\n\n writeValue(v: T): void {\n this.activeIndex.set(v);\n }\n\n registerOnChange(fn: (v: T) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","import { Directive, computed, inject, input } from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\nimport { NgbSelectable } from './selectable';\n\n@Directive({\n selector: '[ngbSelectableItem]',\n host: {\n role: 'tab',\n '(click)': 'select()',\n '[attr.aria-selected]': 'selected()',\n },\n hostDirectives: [AccessibleItem],\n})\nexport class NgbSelectableItem<T> {\n readonly selectable: NgbSelectable<T> = inject(NgbSelectable);\n readonly value = input.required<T>();\n\n readonly selected = computed(() => this.value() === this.selectable.activeIndex());\n\n constructor() {\n inject(AccessibleItem)._ayId.set(this.selectable.ayId);\n }\n\n select() {\n this.selectable.setValue(this.value()!);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAaa,aAAa,CAAA;AAUxB,IAAA,WAAA,GAAA;AATS,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;QAEnC,IAAW,CAAA,WAAA,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"ngbase-adk-selectable.mjs","sources":["../../../projects/adk/selectable/selectable.ts","../../../projects/adk/selectable/selectable-item.ts","../../../projects/adk/selectable/ngbase-adk-selectable.ts"],"sourcesContent":["import { Directive, inject, model, output } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { provideValueAccessor, uniqueId } from '@ngbase/adk/utils';\n\n@Directive({\n selector: '[ngbSelectable]',\n host: {\n role: 'tablist',\n },\n hostDirectives: [AccessibleGroup],\n providers: [provideValueAccessor(NgbSelectable)],\n})\nexport class NgbSelectable<T> implements ControlValueAccessor {\n readonly allyGroup = inject(AccessibleGroup);\n\n readonly activeIndex = model<T>();\n readonly valueChanged = output<T>();\n\n readonly ayId = uniqueId();\n onChange = (_: T) => {};\n onTouched = () => {};\n\n constructor() {\n this.allyGroup.ayId.set(this.ayId);\n this.allyGroup.clickable.set(true);\n }\n\n setValue(value: T) {\n this.activeIndex.set(value);\n this.onChange(value);\n this.onTouched();\n this.valueChanged.emit(value);\n }\n\n writeValue(v: T): void {\n this.activeIndex.set(v);\n }\n\n registerOnChange(fn: (v: T) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","import { Directive, computed, inject, input } from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\nimport { NgbSelectable } from './selectable';\n\n@Directive({\n selector: '[ngbSelectableItem]',\n host: {\n role: 'tab',\n '(click)': 'select()',\n '[attr.aria-selected]': 'selected()',\n },\n hostDirectives: [AccessibleItem],\n})\nexport class NgbSelectableItem<T> {\n readonly selectable: NgbSelectable<T> = inject(NgbSelectable);\n readonly value = input.required<T>();\n\n readonly selected = computed(() => this.value() === this.selectable.activeIndex());\n\n constructor() {\n inject(AccessibleItem)._ayId.set(this.selectable.ayId);\n }\n\n select() {\n this.selectable.setValue(this.value()!);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DialogOptions, basePortal, BaseDialog, DialogRef } from '@ngbase/adk/portal';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { viewChild, ViewContainerRef, computed, afterNextRender, inject, Directive } from '@angular/core';
|
|
3
|
+
import { viewChild, ViewContainerRef, signal, computed, afterNextRender, inject, Directive } from '@angular/core';
|
|
4
4
|
import { injectDirectionality } from '@ngbase/adk/bidi';
|
|
5
5
|
|
|
6
6
|
class SheetOptions extends DialogOptions {
|
|
@@ -29,18 +29,19 @@ function ngbSheetPortal(component) {
|
|
|
29
29
|
class NgbSheetContainer extends BaseDialog {
|
|
30
30
|
constructor() {
|
|
31
31
|
super();
|
|
32
|
-
this.myDialog = viewChild('myDialog', { read: ViewContainerRef });
|
|
32
|
+
this.myDialog = viewChild('myDialog', ...(ngDevMode ? [{ debugName: "myDialog", read: ViewContainerRef }] : [{ read: ViewContainerRef }]));
|
|
33
33
|
this.dir = injectDirectionality();
|
|
34
34
|
this.backdropColor = true;
|
|
35
35
|
this.classNames = '';
|
|
36
36
|
this.isHideHeader = false;
|
|
37
|
+
this.isOpen = signal(true, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
37
38
|
this.position = computed(() => {
|
|
38
39
|
return {
|
|
39
40
|
params: {
|
|
40
|
-
|
|
41
|
+
slideFrom: this.dir.isRtl() ? 'translate3d(-100%, 0, 0)' : 'translate3d(100%, 0, 0)',
|
|
41
42
|
},
|
|
42
43
|
};
|
|
43
|
-
});
|
|
44
|
+
}, ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
44
45
|
afterNextRender(() => {
|
|
45
46
|
this._afterViewSource.next(this.myDialog());
|
|
46
47
|
// this.position.set('center');
|
|
@@ -64,12 +65,13 @@ class NgbSheetContainer extends BaseDialog {
|
|
|
64
65
|
// this.position.set(this.options.position as 'left' | 'right' | 'center');
|
|
65
66
|
}
|
|
66
67
|
ngOnDestroy() {
|
|
68
|
+
this.isOpen.set(false);
|
|
67
69
|
// this.position.set(this.options.position as 'left' | 'right' | 'center');
|
|
68
70
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
70
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSheetContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
72
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.2.0", type: NgbSheetContainer, isStandalone: true, selector: "mee-sheet", host: { listeners: { "@parentAnimation.done": "animationDone()" }, properties: { "@parentAnimation": "" } }, viewQueries: [{ propertyName: "myDialog", first: true, predicate: ["myDialog"], descendants: true, read: ViewContainerRef, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
71
73
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSheetContainer, decorators: [{
|
|
73
75
|
type: Directive,
|
|
74
76
|
args: [{
|
|
75
77
|
selector: 'mee-sheet',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngbase-adk-sheet.mjs","sources":["../../../projects/adk/sheet/sheet.service.ts","../../../projects/adk/sheet/sheet.ts","../../../projects/adk/sheet/public-api.ts","../../../projects/adk/sheet/ngbase-adk-sheet.ts"],"sourcesContent":["import { basePortal, DialogInput, DialogOptions } from '@ngbase/adk/portal';\nimport { NgbSheetContainer } from './sheet';\n\nexport class SheetOptions extends DialogOptions {\n position?: 'left' | 'right' = 'right';\n}\n\nexport function ngbSheetPortal(component: typeof NgbSheetContainer) {\n const NAME = 'sheet';\n const base = basePortal(NAME, component);\n\n function open<T>(component: DialogInput, opt?: SheetOptions) {\n const { diaRef } = base.open(\n component,\n comp => {\n const options = { ...new SheetOptions(), ...opt };\n comp.instance.setOptions(options);\n },\n opt,\n );\n\n const { afterClosed, close } = diaRef;\n return { afterClosed, close };\n }\n\n function closeAll() {\n base.closeAll();\n }\n return { open, closeAll };\n}\n\nexport type NgbSheet = ReturnType<typeof ngbSheetPortal>;\n","import {\n Directive,\n OnDestroy,\n ViewContainerRef,\n afterNextRender,\n computed,\n inject,\n linkedSignal,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BaseDialog, DialogRef } from '@ngbase/adk/portal';\nimport { SheetOptions } from './sheet.service';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\n\n@Directive({\n selector: 'mee-sheet',\n host: {\n '[@parentAnimation]': '',\n '(@parentAnimation.done)': 'animationDone()',\n },\n})\nexport class NgbSheetContainer extends BaseDialog implements OnDestroy {\n myDialog = viewChild('myDialog', { read: ViewContainerRef });\n readonly dir = injectDirectionality();\n backdropColor = true;\n options!: SheetOptions;\n classNames = '';\n isHideHeader = false;\n readonly position = computed(() => {\n return {\n params: {\n
|
|
1
|
+
{"version":3,"file":"ngbase-adk-sheet.mjs","sources":["../../../projects/adk/sheet/sheet.service.ts","../../../projects/adk/sheet/sheet.ts","../../../projects/adk/sheet/public-api.ts","../../../projects/adk/sheet/ngbase-adk-sheet.ts"],"sourcesContent":["import { basePortal, DialogInput, DialogOptions } from '@ngbase/adk/portal';\nimport { NgbSheetContainer } from './sheet';\n\nexport class SheetOptions extends DialogOptions {\n position?: 'left' | 'right' = 'right';\n}\n\nexport function ngbSheetPortal(component: typeof NgbSheetContainer) {\n const NAME = 'sheet';\n const base = basePortal(NAME, component);\n\n function open<T>(component: DialogInput, opt?: SheetOptions) {\n const { diaRef } = base.open(\n component,\n comp => {\n const options = { ...new SheetOptions(), ...opt };\n comp.instance.setOptions(options);\n },\n opt,\n );\n\n const { afterClosed, close } = diaRef;\n return { afterClosed, close };\n }\n\n function closeAll() {\n base.closeAll();\n }\n return { open, closeAll };\n}\n\nexport type NgbSheet = ReturnType<typeof ngbSheetPortal>;\n","import {\n Directive,\n OnDestroy,\n ViewContainerRef,\n afterNextRender,\n computed,\n inject,\n linkedSignal,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BaseDialog, DialogRef } from '@ngbase/adk/portal';\nimport { SheetOptions } from './sheet.service';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\n\n@Directive({\n selector: 'mee-sheet',\n host: {\n '[@parentAnimation]': '',\n '(@parentAnimation.done)': 'animationDone()',\n },\n})\nexport class NgbSheetContainer extends BaseDialog implements OnDestroy {\n myDialog = viewChild('myDialog', { read: ViewContainerRef });\n readonly dir = injectDirectionality();\n backdropColor = true;\n options!: SheetOptions;\n classNames = '';\n isHideHeader = false;\n readonly isOpen = signal(true);\n readonly position = computed(() => {\n return {\n params: {\n slideFrom: this.dir.isRtl() ? 'translate3d(-100%, 0, 0)' : 'translate3d(100%, 0, 0)',\n },\n };\n });\n\n constructor() {\n super();\n afterNextRender(() => {\n this._afterViewSource.next(this.myDialog()!);\n // this.position.set('center');\n });\n const ref = inject(DialogRef);\n ref.afterClosed.subscribe(() => {\n console.log('afterClosed', this.options.position);\n // this.position.set(this.options.position as 'left' | 'right' | 'center');\n // this.position.set({\n // params: {\n // outTransform: this.dir.isRtl() ? 'translate3d(-100%, 0, 0)' : 'translate3d(100%, 0, 0)',\n // },\n // });\n });\n }\n\n override setOptions(options: SheetOptions): void {\n this.options = options;\n this.classNames = this.options.classNames?.join(' ') || '';\n this.isHideHeader = this.options.header || false;\n this.backdropColor = this.options.backdropColor || true;\n // this.position.set(this.options.position as 'left' | 'right' | 'center');\n }\n\n ngOnDestroy(): void {\n this.isOpen.set(false);\n // this.position.set(this.options.position as 'left' | 'right' | 'center');\n }\n}\n\nexport function aliasSheet(dialog: typeof NgbSheetContainer) {\n return { provide: NgbSheetContainer, useExisting: dialog };\n}\n","/*\n * Public API Surface of sheet\n */\n\nexport * from './sheet.service';\nexport * from './sheet';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,18 +7,18 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
|
|
|
7
7
|
class SidenavService {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.dir = injectDirectionality();
|
|
10
|
-
this.width = signal('0');
|
|
11
|
-
this.show = signal(true);
|
|
12
|
-
this.mode = signal('side');
|
|
13
|
-
this.minWidth = signal('0');
|
|
14
|
-
this.status = signal(1);
|
|
15
|
-
this.visibility = computed(() => (this.mode() === 'partial' ? true : this.status()));
|
|
16
|
-
this.animate = computed(() => (this.mode() === 'partial' ? true : this.show()));
|
|
10
|
+
this.width = signal('0', ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
11
|
+
this.show = signal(true, ...(ngDevMode ? [{ debugName: "show" }] : []));
|
|
12
|
+
this.mode = signal('side', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
13
|
+
this.minWidth = signal('0', ...(ngDevMode ? [{ debugName: "minWidth" }] : []));
|
|
14
|
+
this.status = signal(1, ...(ngDevMode ? [{ debugName: "status" }] : []));
|
|
15
|
+
this.visibility = computed(() => (this.mode() === 'partial' ? true : this.status()), ...(ngDevMode ? [{ debugName: "visibility" }] : []));
|
|
16
|
+
this.animate = computed(() => (this.mode() === 'partial' ? true : this.show()), ...(ngDevMode ? [{ debugName: "animate" }] : []));
|
|
17
17
|
this.w = computed(() => this.show() && this.mode() !== 'over'
|
|
18
18
|
? this.width()
|
|
19
19
|
: this.mode() === 'partial'
|
|
20
20
|
? this.minWidth()
|
|
21
|
-
: '0');
|
|
21
|
+
: '0', ...(ngDevMode ? [{ debugName: "w" }] : []));
|
|
22
22
|
this.styles = computed(() => {
|
|
23
23
|
const styles = {};
|
|
24
24
|
if (this.dir.isRtl()) {
|
|
@@ -28,7 +28,7 @@ class SidenavService {
|
|
|
28
28
|
styles.paddingLeft = this.w();
|
|
29
29
|
}
|
|
30
30
|
return styles;
|
|
31
|
-
});
|
|
31
|
+
}, ...(ngDevMode ? [{ debugName: "styles" }] : []));
|
|
32
32
|
}
|
|
33
33
|
animationDone() {
|
|
34
34
|
this.status.set(this.show() ? 1 : 0);
|
|
@@ -36,10 +36,10 @@ class SidenavService {
|
|
|
36
36
|
animationStart() {
|
|
37
37
|
this.status.set(1);
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SidenavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SidenavService }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SidenavService, decorators: [{
|
|
43
43
|
type: Injectable
|
|
44
44
|
}] });
|
|
45
45
|
|
|
@@ -47,10 +47,10 @@ class NgbSidenavOverlay {
|
|
|
47
47
|
constructor() {
|
|
48
48
|
this.sidenav = inject(NgbSidenav);
|
|
49
49
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavOverlay, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.0", type: NgbSidenavOverlay, isStandalone: true, selector: "[ngbSidenavOverlay]", host: { listeners: { "click": "sidenav.toggle()" }, properties: { "@fadeAnimation": "" }, styleAttribute: "position:absolute;left:0;top:0;width:100%;height:100%;", classAttribute: "sidenav-overlay" }, ngImport: i0, template: ``, isInline: true, animations: [fadeAnimation('500ms')] }); }
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavOverlay, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
55
|
args: [{
|
|
56
56
|
selector: '[ngbSidenavOverlay]',
|
|
@@ -68,19 +68,19 @@ class NgbSidenav {
|
|
|
68
68
|
constructor() {
|
|
69
69
|
this.sidenavService = inject(SidenavService);
|
|
70
70
|
// Inputs
|
|
71
|
-
this.show = model(true);
|
|
72
|
-
this.mode = input('side');
|
|
73
|
-
this.showOverlay = computed(() => this.mode() === 'over' && this.show());
|
|
71
|
+
this.show = model(true, ...(ngDevMode ? [{ debugName: "show" }] : []));
|
|
72
|
+
this.mode = input('side', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
73
|
+
this.showOverlay = computed(() => this.mode() === 'over' && this.show(), ...(ngDevMode ? [{ debugName: "showOverlay" }] : []));
|
|
74
74
|
this.sidenavService.show = linkedSignal(this.show);
|
|
75
75
|
this.sidenavService.mode = linkedSignal(this.mode);
|
|
76
76
|
}
|
|
77
77
|
toggle() {
|
|
78
78
|
this.show.update(show => !show);
|
|
79
79
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenav, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
81
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.0", type: NgbSidenav, isStandalone: true, selector: "[ngbSidenav]", inputs: { show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { show: "showChange" }, host: { styleAttribute: "position:relative;width:100%;height:100%;" }, providers: [SidenavService], exportAs: ["ngbSidenav"], ngImport: i0 }); }
|
|
82
82
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenav, decorators: [{
|
|
84
84
|
type: Directive,
|
|
85
85
|
args: [{
|
|
86
86
|
selector: '[ngbSidenav]',
|
|
@@ -101,12 +101,12 @@ class NgbSidenavHeaderContent {
|
|
|
101
101
|
this.sidenav = inject(SidenavService);
|
|
102
102
|
this.w = computed(() => this.sidenav.mode() === 'partial' && !this.sidenav.show()
|
|
103
103
|
? this.sidenav.minWidth()
|
|
104
|
-
: this.sidenav.width());
|
|
104
|
+
: this.sidenav.width(), ...(ngDevMode ? [{ debugName: "w" }] : []));
|
|
105
105
|
}
|
|
106
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
107
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
107
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0", type: NgbSidenavHeaderContent, isStandalone: true, selector: "[ngbSidenavHeaderContent]", host: { properties: { "style.width": "w()" } }, ngImport: i0 }); }
|
|
108
108
|
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderContent, decorators: [{
|
|
110
110
|
type: Directive,
|
|
111
111
|
args: [{
|
|
112
112
|
selector: '[ngbSidenavHeaderContent]',
|
|
@@ -119,10 +119,10 @@ class NgbSidenavHeaderTrack {
|
|
|
119
119
|
constructor() {
|
|
120
120
|
this.sidenav = inject(SidenavService);
|
|
121
121
|
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
123
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderTrack, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
123
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0", type: NgbSidenavHeaderTrack, isStandalone: true, selector: "[ngbSidenavHeaderTrack]", host: { properties: { "style.width": "sidenav.w()" } }, ngImport: i0 }); }
|
|
124
124
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderTrack, decorators: [{
|
|
126
126
|
type: Directive,
|
|
127
127
|
args: [{
|
|
128
128
|
selector: '[ngbSidenavHeaderTrack]',
|
|
@@ -143,14 +143,14 @@ class NgbSidenavHeader {
|
|
|
143
143
|
this.sidenav = inject(SidenavService);
|
|
144
144
|
this.el = inject(ElementRef);
|
|
145
145
|
this.dir = inject(Directionality);
|
|
146
|
-
this.width = input('250px');
|
|
147
|
-
this.minWidth = input('0');
|
|
146
|
+
this.width = input('250px', ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
147
|
+
this.minWidth = input('0', ...(ngDevMode ? [{ debugName: "minWidth" }] : []));
|
|
148
148
|
this.initial = 0;
|
|
149
149
|
this.isAnimationDisabled = linkedSignal({
|
|
150
150
|
source: this.sidenav.animate,
|
|
151
151
|
computation: () => this.initial++ === 0, // this will not considered on initial render due to increment
|
|
152
152
|
});
|
|
153
|
-
this.w = computed(() => (this.sidenav.mode() === 'partial' ? this.minWidth() : this.width()));
|
|
153
|
+
this.w = computed(() => (this.sidenav.mode() === 'partial' ? this.minWidth() : this.width()), ...(ngDevMode ? [{ debugName: "w" }] : []));
|
|
154
154
|
this.actualWidth = computed(() => {
|
|
155
155
|
if (this.sidenav.show()) {
|
|
156
156
|
return this.width();
|
|
@@ -162,7 +162,7 @@ class NgbSidenavHeader {
|
|
|
162
162
|
return this.width();
|
|
163
163
|
}
|
|
164
164
|
return this.width();
|
|
165
|
-
});
|
|
165
|
+
}, ...(ngDevMode ? [{ debugName: "actualWidth" }] : []));
|
|
166
166
|
this.headerStyles = computed(() => {
|
|
167
167
|
let styles = {};
|
|
168
168
|
if (this.sidenav.mode() === 'over') {
|
|
@@ -175,14 +175,14 @@ class NgbSidenavHeader {
|
|
|
175
175
|
styles = { ...styles, left: '0' };
|
|
176
176
|
}
|
|
177
177
|
return styles;
|
|
178
|
-
});
|
|
178
|
+
}, ...(ngDevMode ? [{ debugName: "headerStyles" }] : []));
|
|
179
179
|
this.sidenav.width = linkedSignal(this.width);
|
|
180
180
|
this.sidenav.minWidth = linkedSignal(this.minWidth);
|
|
181
181
|
}
|
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
183
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
183
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.0", type: NgbSidenavHeader, isStandalone: true, selector: "[ngbSidenavHeader]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "@slide.done": "sidenav.animationDone()", "@slide.start": "sidenav.animationStart()" }, properties: { "style.visibility": "sidenav.visibility() ? \"visible\" : \"hidden\"", "style": "headerStyles()", "style.width": "actualWidth()", "attr.aria-hidden": "!sidenav.show()", "attr.data-mode": "sidenav.mode()", "@slide": "{ value: sidenav.animate(), params: { x: dir.isRtl() ? w() : '-'+w() } }" }, styleAttribute: "overflow:hidden;position:absolute;" }, ngImport: i0 }); }
|
|
184
184
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeader, decorators: [{
|
|
186
186
|
type: Directive,
|
|
187
187
|
args: [{
|
|
188
188
|
selector: '[ngbSidenavHeader]',
|
|
@@ -196,7 +196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
196
196
|
'[@slide]': `{ value: sidenav.animate(), params: { x: dir.isRtl() ? w() : '-'+w() } }`,
|
|
197
197
|
'(@slide.done)': 'sidenav.animationDone()',
|
|
198
198
|
'(@slide.start)': 'sidenav.animationStart()',
|
|
199
|
-
'[
|
|
199
|
+
// '[@slide.disabled]': 'isAnimationDisabled()',
|
|
200
200
|
},
|
|
201
201
|
}]
|
|
202
202
|
}], ctorParameters: () => [] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngbase-adk-sidenav.mjs","sources":["../../../projects/adk/sidenav/sidenav.service.ts","../../../projects/adk/sidenav/sidenav.ts","../../../projects/adk/sidenav/sidenav-header.ts","../../../projects/adk/sidenav/ngbase-adk-sidenav.ts"],"sourcesContent":["import { computed, Injectable, signal } from '@angular/core';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\n\nexport type SidenavType = 'side' | 'over' | 'partial';\n\n@Injectable()\nexport class SidenavService {\n readonly dir = injectDirectionality();\n width = signal('0');\n show = signal(true);\n mode = signal<'side' | 'over' | 'partial'>('side');\n minWidth = signal('0');\n readonly status = signal(1);\n\n readonly visibility = computed(() => (this.mode() === 'partial' ? true : this.status()));\n readonly animate = computed(() => (this.mode() === 'partial' ? true : this.show()));\n\n readonly w = computed(() =>\n this.show() && this.mode() !== 'over'\n ? this.width()\n : this.mode() === 'partial'\n ? this.minWidth()\n : '0',\n );\n\n readonly styles = computed(() => {\n const styles = {} as any;\n if (this.dir.isRtl()) {\n styles.paddingRight = this.w();\n } else {\n styles.paddingLeft = this.w();\n }\n return styles;\n });\n\n animationDone() {\n this.status.set(this.show() ? 1 : 0);\n }\n\n animationStart() {\n this.status.set(1);\n }\n}\n","import {\n Component,\n computed,\n Directive,\n inject,\n input,\n linkedSignal,\n model,\n Type,\n} from '@angular/core';\nimport { fadeAnimation } from '@ngbase/adk/utils';\nimport { SidenavType } from './sidenav.service';\nimport { SidenavService } from './sidenav.service';\n\n@Component({\n selector: '[ngbSidenavOverlay]',\n template: ``,\n host: {\n class: 'sidenav-overlay',\n style: 'position:absolute;left:0;top:0;width:100%;height:100%;',\n '(click)': 'sidenav.toggle()',\n '[@fadeAnimation]': '',\n },\n animations: [fadeAnimation('500ms')],\n})\nexport class NgbSidenavOverlay {\n readonly sidenav = inject(NgbSidenav);\n}\n\n@Directive({\n selector: '[ngbSidenav]',\n exportAs: 'ngbSidenav',\n providers: [SidenavService],\n host: {\n style: 'position:relative;width:100%;height:100%;',\n },\n})\nexport class NgbSidenav {\n readonly sidenavService = inject(SidenavService);\n\n // Inputs\n readonly show = model(true);\n readonly mode = input<SidenavType>('side');\n\n readonly showOverlay = computed(() => this.mode() === 'over' && this.show());\n\n constructor() {\n this.sidenavService.show = linkedSignal(this.show);\n this.sidenavService.mode = linkedSignal(this.mode);\n }\n\n toggle() {\n this.show.update(show => !show);\n }\n}\n\nexport const aliasSidenav = (sidenav: Type<NgbSidenav>) => [\n SidenavService,\n { provide: NgbSidenav, useExisting: sidenav },\n];\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { computed, Directive, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { SidenavService } from './sidenav.service';\n\n@Directive({\n selector: '[ngbSidenavHeaderContent]',\n host: {\n '[style.width]': 'w()',\n },\n})\nexport class NgbSidenavHeaderContent {\n readonly sidenav = inject(SidenavService);\n readonly w = computed(() =>\n this.sidenav.mode() === 'partial' && !this.sidenav.show()\n ? this.sidenav.minWidth()\n : this.sidenav.width(),\n );\n}\n\n@Directive({\n selector: '[ngbSidenavHeaderTrack]',\n host: {\n '[style.width]': 'sidenav.w()',\n },\n})\nexport class NgbSidenavHeaderTrack {\n readonly sidenav = inject(SidenavService);\n}\n\nexport function slideAnimation(ease: string) {\n return trigger('slide', [\n state('true', style({ transform: 'translateX(0)' })),\n state('false', style({ transform: 'translateX({{x}})' }), { params: { x: '-100%' } }),\n transition('* <=> *', [animate(ease)]),\n ]);\n}\n\n@Directive({\n selector: '[ngbSidenavHeader]',\n host: {\n style: 'overflow:hidden;position:absolute;',\n '[style.visibility]': 'sidenav.visibility() ? \"visible\" : \"hidden\"',\n '[style]': `headerStyles()`,\n '[style.width]': `actualWidth()`,\n '[attr.aria-hidden]': '!sidenav.show()',\n '[attr.data-mode]': 'sidenav.mode()',\n '[@slide]': `{ value: sidenav.animate(), params: { x: dir.isRtl() ? w() : '-'+w() } }`,\n '(@slide.done)': 'sidenav.animationDone()',\n '(@slide.start)': 'sidenav.animationStart()',\n '[@.disabled]': 'isAnimationDisabled()',\n },\n})\nexport class NgbSidenavHeader {\n readonly sidenav = inject(SidenavService);\n readonly el = inject(ElementRef);\n readonly dir = inject(Directionality);\n\n readonly width = input('250px');\n readonly minWidth = input('0');\n\n private initial = 0;\n readonly isAnimationDisabled = linkedSignal({\n source: this.sidenav.animate,\n computation: () => this.initial++ === 0, // this will not considered on initial render due to increment\n });\n\n readonly w = computed(() => (this.sidenav.mode() === 'partial' ? this.minWidth() : this.width()));\n readonly actualWidth = computed(() => {\n if (this.sidenav.show()) {\n return this.width();\n } else if (this.sidenav.mode() === 'partial') {\n return this.minWidth();\n } else if (this.sidenav.mode() === 'over') {\n return this.width();\n }\n return this.width();\n });\n\n readonly headerStyles = computed(() => {\n let styles = {};\n if (this.sidenav.mode() === 'over') {\n styles = { ...styles, position: 'absolute', top: '0', height: '100%' };\n }\n if (this.dir.isRtl()) {\n styles = { ...styles, right: '0' };\n } else {\n styles = { ...styles, left: '0' };\n }\n return styles;\n });\n\n constructor() {\n this.sidenav.width = linkedSignal(this.width);\n this.sidenav.minWidth = linkedSignal(this.minWidth);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngbase-adk-sidenav.mjs","sources":["../../../projects/adk/sidenav/sidenav.service.ts","../../../projects/adk/sidenav/sidenav.ts","../../../projects/adk/sidenav/sidenav-header.ts","../../../projects/adk/sidenav/ngbase-adk-sidenav.ts"],"sourcesContent":["import { computed, Injectable, signal } from '@angular/core';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\n\nexport type SidenavType = 'side' | 'over' | 'partial';\n\n@Injectable()\nexport class SidenavService {\n readonly dir = injectDirectionality();\n width = signal('0');\n show = signal(true);\n mode = signal<'side' | 'over' | 'partial'>('side');\n minWidth = signal('0');\n readonly status = signal(1);\n\n readonly visibility = computed(() => (this.mode() === 'partial' ? true : this.status()));\n readonly animate = computed(() => (this.mode() === 'partial' ? true : this.show()));\n\n readonly w = computed(() =>\n this.show() && this.mode() !== 'over'\n ? this.width()\n : this.mode() === 'partial'\n ? this.minWidth()\n : '0',\n );\n\n readonly styles = computed(() => {\n const styles = {} as any;\n if (this.dir.isRtl()) {\n styles.paddingRight = this.w();\n } else {\n styles.paddingLeft = this.w();\n }\n return styles;\n });\n\n animationDone() {\n this.status.set(this.show() ? 1 : 0);\n }\n\n animationStart() {\n this.status.set(1);\n }\n}\n","import {\n Component,\n computed,\n Directive,\n inject,\n input,\n linkedSignal,\n model,\n Type,\n} from '@angular/core';\nimport { fadeAnimation } from '@ngbase/adk/utils';\nimport { SidenavType } from './sidenav.service';\nimport { SidenavService } from './sidenav.service';\n\n@Component({\n selector: '[ngbSidenavOverlay]',\n template: ``,\n host: {\n class: 'sidenav-overlay',\n style: 'position:absolute;left:0;top:0;width:100%;height:100%;',\n '(click)': 'sidenav.toggle()',\n '[@fadeAnimation]': '',\n },\n animations: [fadeAnimation('500ms')],\n})\nexport class NgbSidenavOverlay {\n readonly sidenav = inject(NgbSidenav);\n}\n\n@Directive({\n selector: '[ngbSidenav]',\n exportAs: 'ngbSidenav',\n providers: [SidenavService],\n host: {\n style: 'position:relative;width:100%;height:100%;',\n },\n})\nexport class NgbSidenav {\n readonly sidenavService = inject(SidenavService);\n\n // Inputs\n readonly show = model(true);\n readonly mode = input<SidenavType>('side');\n\n readonly showOverlay = computed(() => this.mode() === 'over' && this.show());\n\n constructor() {\n this.sidenavService.show = linkedSignal(this.show);\n this.sidenavService.mode = linkedSignal(this.mode);\n }\n\n toggle() {\n this.show.update(show => !show);\n }\n}\n\nexport const aliasSidenav = (sidenav: Type<NgbSidenav>) => [\n SidenavService,\n { provide: NgbSidenav, useExisting: sidenav },\n];\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { computed, Directive, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { SidenavService } from './sidenav.service';\n\n@Directive({\n selector: '[ngbSidenavHeaderContent]',\n host: {\n '[style.width]': 'w()',\n },\n})\nexport class NgbSidenavHeaderContent {\n readonly sidenav = inject(SidenavService);\n readonly w = computed(() =>\n this.sidenav.mode() === 'partial' && !this.sidenav.show()\n ? this.sidenav.minWidth()\n : this.sidenav.width(),\n );\n}\n\n@Directive({\n selector: '[ngbSidenavHeaderTrack]',\n host: {\n '[style.width]': 'sidenav.w()',\n },\n})\nexport class NgbSidenavHeaderTrack {\n readonly sidenav = inject(SidenavService);\n}\n\nexport function slideAnimation(ease: string) {\n return trigger('slide', [\n state('true', style({ transform: 'translateX(0)' })),\n state('false', style({ transform: 'translateX({{x}})' }), { params: { x: '-100%' } }),\n transition('* <=> *', [animate(ease)]),\n ]);\n}\n\n@Directive({\n selector: '[ngbSidenavHeader]',\n host: {\n style: 'overflow:hidden;position:absolute;',\n '[style.visibility]': 'sidenav.visibility() ? \"visible\" : \"hidden\"',\n '[style]': `headerStyles()`,\n '[style.width]': `actualWidth()`,\n '[attr.aria-hidden]': '!sidenav.show()',\n '[attr.data-mode]': 'sidenav.mode()',\n '[@slide]': `{ value: sidenav.animate(), params: { x: dir.isRtl() ? w() : '-'+w() } }`,\n '(@slide.done)': 'sidenav.animationDone()',\n '(@slide.start)': 'sidenav.animationStart()',\n // '[@slide.disabled]': 'isAnimationDisabled()',\n },\n})\nexport class NgbSidenavHeader {\n readonly sidenav = inject(SidenavService);\n readonly el = inject(ElementRef);\n readonly dir = inject(Directionality);\n\n readonly width = input('250px');\n readonly minWidth = input('0');\n\n private initial = 0;\n readonly isAnimationDisabled = linkedSignal({\n source: this.sidenav.animate,\n computation: () => this.initial++ === 0, // this will not considered on initial render due to increment\n });\n\n readonly w = computed(() => (this.sidenav.mode() === 'partial' ? this.minWidth() : this.width()));\n readonly actualWidth = computed(() => {\n if (this.sidenav.show()) {\n return this.width();\n } else if (this.sidenav.mode() === 'partial') {\n return this.minWidth();\n } else if (this.sidenav.mode() === 'over') {\n return this.width();\n }\n return this.width();\n });\n\n readonly headerStyles = computed(() => {\n let styles = {};\n if (this.sidenav.mode() === 'over') {\n styles = { ...styles, position: 'absolute', top: '0', height: '100%' };\n }\n if (this.dir.isRtl()) {\n styles = { ...styles, right: '0' };\n } else {\n styles = { ...styles, left: '0' };\n }\n return styles;\n });\n\n constructor() {\n this.sidenav.width = linkedSignal(this.width);\n this.sidenav.minWidth = linkedSignal(this.minWidth);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|