@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
package/resizable/index.d.ts
CHANGED
|
@@ -1,5 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ElementRef, ViewContainerRef, TemplateRef } from '@angular/core';
|
|
3
|
+
import * as i1 from '@ngbase/adk/drag';
|
|
4
|
+
import { Drag, DragData } from '@ngbase/adk/drag';
|
|
5
|
+
|
|
6
|
+
declare class NgbResizableGroup {
|
|
7
|
+
readonly document: Document;
|
|
8
|
+
readonly el: ElementRef<HTMLElement>;
|
|
9
|
+
readonly panels: _angular_core.Signal<readonly any[]>;
|
|
10
|
+
readonly direction: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
11
|
+
readonly id: string;
|
|
12
|
+
private overlayDiv?;
|
|
13
|
+
constructor();
|
|
14
|
+
get w(): number;
|
|
15
|
+
get h(): number;
|
|
16
|
+
setAuto(): void;
|
|
17
|
+
start(): void;
|
|
18
|
+
end(): void;
|
|
19
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgbResizableGroup, never>;
|
|
20
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgbResizableGroup, "[ngbResizableGroup]", ["ngbResizableGroup"], { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; }, {}, ["panels"], never, true, never>;
|
|
21
|
+
}
|
|
22
|
+
declare function aliasResizableGroup(resizableGroup: typeof NgbResizableGroup): {
|
|
23
|
+
provide: typeof NgbResizableGroup;
|
|
24
|
+
useExisting: typeof NgbResizableGroup;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
declare class NgbGutter {
|
|
28
|
+
readonly resizable: NgbResizable;
|
|
29
|
+
readonly drag: Drag;
|
|
30
|
+
constructor();
|
|
31
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgbGutter, never>;
|
|
32
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgbGutter, "[ngbGutter]", ["ngbGutter"], {}, {}, never, never, true, [{ directive: typeof i1.Drag; inputs: {}; outputs: {}; }]>;
|
|
33
|
+
}
|
|
34
|
+
declare class NgbResizable {
|
|
35
|
+
readonly el: ElementRef<HTMLElement>;
|
|
36
|
+
readonly resizable: NgbResizableGroup;
|
|
37
|
+
readonly containerRef: ViewContainerRef;
|
|
38
|
+
readonly dragElement: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
39
|
+
readonly drag: _angular_core.Signal<Drag | undefined>;
|
|
40
|
+
readonly id: string;
|
|
41
|
+
readonly lockAxis: _angular_core.Signal<"x" | "y">;
|
|
42
|
+
readonly size: _angular_core.InputSignal<string | number>;
|
|
43
|
+
readonly min: _angular_core.InputSignal<string | number>;
|
|
44
|
+
readonly max: _angular_core.InputSignal<string | number | undefined>;
|
|
45
|
+
readonly lSize: _angular_core.WritableSignal<string | number>;
|
|
46
|
+
readonly draggable: _angular_core.WritableSignal<boolean>;
|
|
47
|
+
private reducedSize;
|
|
48
|
+
private localMinSize;
|
|
49
|
+
private localMaxSize;
|
|
50
|
+
private lastReducedSize;
|
|
51
|
+
index: number;
|
|
52
|
+
str: string;
|
|
53
|
+
constructor();
|
|
54
|
+
cSize(): number;
|
|
55
|
+
onStart(): void;
|
|
56
|
+
onEnd(): void;
|
|
57
|
+
private getSize;
|
|
58
|
+
onDrag(data: DragData): void;
|
|
59
|
+
handleDrag(event?: DragData): void;
|
|
60
|
+
private getUpdatedSize;
|
|
61
|
+
updateSize(px: number, direct: 'both' | 'prev' | 'next'): void;
|
|
62
|
+
private calculateSize;
|
|
63
|
+
private updateFlex;
|
|
64
|
+
updateElementSize(str: string): void;
|
|
65
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgbResizable, never>;
|
|
66
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgbResizable, "[ngbResizable]", ["ngbResizable"], { "size": { "alias": "size"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
67
|
+
}
|
|
68
|
+
declare function aliasResizable(resizable: typeof NgbResizable): {
|
|
69
|
+
provide: typeof NgbResizable;
|
|
70
|
+
useExisting: typeof NgbResizable;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export { NgbGutter, NgbResizable, NgbResizableGroup, aliasResizable, aliasResizableGroup };
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
@Component({
|
|
12
12
|
selector: '<%= name %>-accordion-group',
|
|
13
13
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14
|
-
hostDirectives: [{ directive: NgbAccordionGroup, inputs: ['multiple'] }],
|
|
14
|
+
hostDirectives: [{ directive: NgbAccordionGroup, inputs: ['multiple', 'expandAll'] }],
|
|
15
15
|
template: `<ng-content />`,
|
|
16
16
|
host: {
|
|
17
17
|
class: 'block rounded-lg border bg-background',
|
|
@@ -29,7 +29,7 @@ export class AccordionGroup {}
|
|
|
29
29
|
<ng-content select="[<%= name %>AccordionHeader]" />
|
|
30
30
|
@if (expanded()) {
|
|
31
31
|
<div ngbAccordionContent [@slide] class="overflow-hidden">
|
|
32
|
-
<div class="
|
|
32
|
+
<div class="px-3 pb-4">
|
|
33
33
|
<ng-content />
|
|
34
34
|
</div>
|
|
35
35
|
</div>
|
|
@@ -4,6 +4,7 @@ import { NgbSelectOptionGroup } from '@ngbase/adk/select';
|
|
|
4
4
|
|
|
5
5
|
@Component({
|
|
6
6
|
selector: '<%= name %>-autocomplete',
|
|
7
|
+
exportAs: '<%= name %>Autocomplete',
|
|
7
8
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8
9
|
providers: [aliasAutocomplete(Autocomplete)],
|
|
9
10
|
imports: [NgbSelectOptionGroup],
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';
|
|
2
2
|
import { NgbAvatar, NgbAvatarGroup, aliasAvatar } from '@ngbase/adk/avatar';
|
|
3
3
|
|
|
4
|
+
type AvatarSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
5
|
+
|
|
4
6
|
@Component({
|
|
5
7
|
selector: '<%= name %>-avatar-group',
|
|
6
8
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -10,7 +12,9 @@ import { NgbAvatar, NgbAvatarGroup, aliasAvatar } from '@ngbase/adk/avatar';
|
|
|
10
12
|
class: 'flex flex-row',
|
|
11
13
|
},
|
|
12
14
|
})
|
|
13
|
-
export class AvatarGroup {
|
|
15
|
+
export class AvatarGroup {
|
|
16
|
+
readonly size = input<AvatarSize>();
|
|
17
|
+
}
|
|
14
18
|
|
|
15
19
|
@Component({
|
|
16
20
|
selector: '<%= name %>-avatar, [<%= name %>Avatar]',
|
|
@@ -26,9 +30,13 @@ export class AvatarGroup {}
|
|
|
26
30
|
host: {
|
|
27
31
|
class:
|
|
28
32
|
'inline-flex aspect-square rounded-full overflow-hidden border-2 border-muted relative bg-background text-muted-foreground items-center justify-center',
|
|
29
|
-
'[class]': `
|
|
33
|
+
'[class]': `aSize() === 'xs' ? 'h-5 w-5 text-[10px] !border' : aSize() === 'sm' ? 'h-6 w-6' : aSize() === 'md' ? 'h-8 w-8' : aSize() === 'lg' ? 'h-10 w-10' : ''`,
|
|
30
34
|
},
|
|
31
35
|
})
|
|
32
36
|
export class Avatar extends NgbAvatar {
|
|
33
|
-
readonly
|
|
37
|
+
readonly group = inject(AvatarGroup, { optional: true });
|
|
38
|
+
|
|
39
|
+
readonly size = input<AvatarSize>();
|
|
40
|
+
|
|
41
|
+
readonly aSize = computed(() => this.size() ?? this.group?.size() ?? 'md');
|
|
34
42
|
}
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
2
2
|
import { ɵFocusStyle as FocusStyle } from '<%= basepath %>/checkbox';
|
|
3
3
|
|
|
4
|
-
export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'outline' | 'icon';
|
|
4
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'outline' | 'icon' | 'link';
|
|
5
|
+
export type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'icon';
|
|
6
|
+
|
|
7
|
+
const buttonStyles = {
|
|
8
|
+
primary: 'bg-primary text-primary-foreground border-primary',
|
|
9
|
+
secondary: 'bg-secondary text-secondary-foreground border-secondary hover:bg-secondary/80',
|
|
10
|
+
ghost: 'hover:bg-accent hover:text-accent-foreground border-transparent',
|
|
11
|
+
icon: 'hover:bg-accent hover:text-accent-foreground border-transparent',
|
|
12
|
+
outline: 'bg-background hover:bg-accent hover:text-accent-foreground',
|
|
13
|
+
link: 'hover:text-primary/80 border-transparent',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const buttonSizeStyles = {
|
|
17
|
+
xs: 'w-4 h-4',
|
|
18
|
+
md: '',
|
|
19
|
+
sm: 'py-1 px-2',
|
|
20
|
+
lg: 'h-9 px-4',
|
|
21
|
+
icon: 'w-8 h-8',
|
|
22
|
+
};
|
|
5
23
|
|
|
6
24
|
@Component({
|
|
7
25
|
selector: '[<%= name %>Button]',
|
|
@@ -11,21 +29,22 @@ export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'outline' | 'ico
|
|
|
11
29
|
host: {
|
|
12
30
|
type: 'button',
|
|
13
31
|
class:
|
|
14
|
-
'inline-flex items-center justify-center rounded-lg
|
|
15
|
-
'[class]':
|
|
16
|
-
? 'bg-primary text-primary-foreground border-primary'
|
|
17
|
-
: variant() === 'secondary'
|
|
18
|
-
? 'bg-secondary text-secondary-foreground border-secondary hover:bg-secondary/80'
|
|
19
|
-
: variant() === 'ghost' || variant() === 'icon'
|
|
20
|
-
? 'hover:bg-accent hover:text-accent-foreground border-transparent'
|
|
21
|
-
: 'bg-background hover:bg-accent hover:text-accent-foreground'`,
|
|
22
|
-
'[class.px-4]': 'variant() !== "icon"',
|
|
23
|
-
'[class.px-2]': 'variant() === "icon"',
|
|
32
|
+
'inline-flex items-center justify-center rounded-lg border cursor-pointer disabled:opacity-50 disabled:pointer-events-none gap-2',
|
|
33
|
+
'[class]': 'styles()',
|
|
24
34
|
},
|
|
25
35
|
})
|
|
26
36
|
export class Button {
|
|
27
|
-
variant = input('primary', {
|
|
37
|
+
readonly variant = input('primary', {
|
|
28
38
|
alias: '<%= name %>Button',
|
|
29
39
|
transform: (value: ButtonVariant | '') => value || 'primary',
|
|
30
40
|
});
|
|
41
|
+
|
|
42
|
+
readonly size = input<ButtonSize>('lg');
|
|
43
|
+
|
|
44
|
+
readonly styles = computed(() => {
|
|
45
|
+
return [
|
|
46
|
+
buttonStyles[this.variant()],
|
|
47
|
+
buttonSizeStyles[this.variant() === 'icon' ? 'icon' : this.size()],
|
|
48
|
+
].join(' ');
|
|
49
|
+
});
|
|
31
50
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
-
import { FormsModule } from '@angular/forms';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
|
|
3
2
|
import { RouterLink } from '@angular/router';
|
|
4
3
|
import { AccessibleGroup, AccessibleItem, Autofocus } from '@ngbase/adk/a11y';
|
|
5
4
|
import { DialogRef } from '@ngbase/adk/portal';
|
|
6
5
|
import { filterFunction, uniqueId } from '@ngbase/adk/utils';
|
|
7
6
|
import { List } from '<%= basepath %>/list';
|
|
7
|
+
import { MeeInput } from '<%= basepath %>/form-field';
|
|
8
8
|
|
|
9
9
|
export interface CommandGroup {
|
|
10
10
|
name: string;
|
|
@@ -19,15 +19,16 @@ export interface CommandItem {
|
|
|
19
19
|
@Component({
|
|
20
20
|
selector: '<%= name %>-command',
|
|
21
21
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22
|
-
imports: [
|
|
22
|
+
imports: [List, AccessibleGroup, AccessibleItem, Autofocus, RouterLink, MeeInput],
|
|
23
23
|
template: `
|
|
24
24
|
<div ngbAccessibleGroup [ayId]="ayId" [isPopup]="true" class="static w-full">
|
|
25
25
|
<input
|
|
26
26
|
ngbAutofocus
|
|
27
|
-
|
|
27
|
+
<%= name %>Input
|
|
28
|
+
[(value)]="filter.search"
|
|
28
29
|
type="text"
|
|
29
30
|
placeholder="Search for apps and commands"
|
|
30
|
-
class="sticky -top-4 w-full border-b
|
|
31
|
+
class="bg-background sticky -top-4 w-full border-b p-4 outline-none"
|
|
31
32
|
/>
|
|
32
33
|
@for (group of filter.filteredList(); track group.name) {
|
|
33
34
|
<h4 class="mx-4 my-2 text-sm text-gray-500">{{ group.name }}</h4>
|
|
@@ -70,10 +71,10 @@ export class Command {
|
|
|
70
71
|
|
|
71
72
|
readonly ayId = uniqueId();
|
|
72
73
|
|
|
73
|
-
readonly filter = filterFunction<CommandGroup, CommandItem>(
|
|
74
|
-
|
|
75
|
-
key: 'items',
|
|
76
|
-
|
|
74
|
+
readonly filter = filterFunction<CommandGroup, CommandItem>(
|
|
75
|
+
this.dialogRef.data!,
|
|
76
|
+
signal({ filter: item => item.name, key: 'items' }),
|
|
77
|
+
);
|
|
77
78
|
|
|
78
79
|
close() {
|
|
79
80
|
this.dialogRef.close();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
```typescript
|
|
4
4
|
import { FormField, Label } from '@/ui/form-field';
|
|
5
|
-
import { DatepickerTrigger } from '@/ui/datepicker';
|
|
5
|
+
import { DatepickerTrigger, DatePicker } from '@/ui/datepicker';
|
|
6
6
|
```
|
|
7
7
|
|
|
8
8
|
## Components
|
|
@@ -20,12 +20,22 @@ import { DatepickerTrigger } from '@/ui/datepicker';
|
|
|
20
20
|
- `pickerType`: 'date' | 'month' | 'year' - The type of picker to display
|
|
21
21
|
- `pickerTemplate`: TemplateRef<any> - A template to display in the picker
|
|
22
22
|
|
|
23
|
+
### `<%= name %>-date-picker`
|
|
24
|
+
|
|
25
|
+
- **Inputs:**
|
|
26
|
+
|
|
27
|
+
- `dateFilter`: (date: Date) => boolean - A function to filter dates
|
|
28
|
+
- `pickerType`: 'date' | 'month' | 'year' - The type of picker to display
|
|
29
|
+
- `noOfCalendar`: number - The number of calendars to display
|
|
30
|
+
- `range`: boolean - Whether to display a range of dates
|
|
31
|
+
|
|
23
32
|
## Usage
|
|
24
33
|
|
|
25
34
|
```html
|
|
26
35
|
<<%= name %>-form-field>
|
|
27
36
|
<label <%= name %>Label>Date</label>
|
|
28
|
-
|
|
37
|
+
<input
|
|
38
|
+
<%= name %>DatepickerTrigger
|
|
29
39
|
[noOfCalendars]="noOfCalendars"
|
|
30
40
|
[range]="range"
|
|
31
41
|
[time]="time"
|
|
@@ -40,4 +50,7 @@ import { DatepickerTrigger } from '@/ui/datepicker';
|
|
|
40
50
|
<button <%= name %>Button>Yesterday</button>
|
|
41
51
|
</ng-template>
|
|
42
52
|
</<%= name %>-form-field>
|
|
53
|
+
|
|
54
|
+
<!-- Calendar -->
|
|
55
|
+
<<%= name %>-date-picker />
|
|
43
56
|
```
|
|
@@ -11,8 +11,10 @@ import {
|
|
|
11
11
|
NgbDialogContainer,
|
|
12
12
|
NgbDialogMain,
|
|
13
13
|
ngbDialogPortal,
|
|
14
|
+
viewAnimation,
|
|
14
15
|
} from '@ngbase/adk/dialog';
|
|
15
16
|
import { DragMove } from '@ngbase/adk/drag';
|
|
17
|
+
import { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';
|
|
16
18
|
|
|
17
19
|
@Component({
|
|
18
20
|
selector: '<%= name %>-dialog',
|
|
@@ -53,9 +55,9 @@ import { DragMove } from '@ngbase/adk/drag';
|
|
|
53
55
|
</div>
|
|
54
56
|
@if (showBackdrop()) {
|
|
55
57
|
<div
|
|
56
|
-
class="pointer-events-auto absolute top-0 -z-10 h-full w-full bg-black
|
|
57
|
-
ngbDialogBackdrop
|
|
58
|
+
class="pointer-events-auto absolute top-0 -z-10 h-full w-full bg-black/30"
|
|
58
59
|
[@fadeAnimation]
|
|
60
|
+
ngbDialogBackdrop
|
|
59
61
|
></div>
|
|
60
62
|
}
|
|
61
63
|
</div>
|
|
@@ -63,6 +65,11 @@ import { DragMove } from '@ngbase/adk/drag';
|
|
|
63
65
|
host: {
|
|
64
66
|
class: 'fixed block top-0 bottom-0 left-0 right-0 overflow-auto pointer-events-none z-p',
|
|
65
67
|
},
|
|
68
|
+
animations: [
|
|
69
|
+
createHostAnimation(['@viewAnimation', '@fadeAnimation']),
|
|
70
|
+
fadeAnimation('200ms'),
|
|
71
|
+
viewAnimation,
|
|
72
|
+
],
|
|
66
73
|
})
|
|
67
74
|
export class DialogContainer extends NgbDialogContainer {}
|
|
68
75
|
|
|
@@ -32,7 +32,7 @@ import { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';
|
|
|
32
32
|
</div>
|
|
33
33
|
@if (backdropColor) {
|
|
34
34
|
<div
|
|
35
|
-
class="absolute top-0 -z-10 h-full w-full bg-black
|
|
35
|
+
class="absolute top-0 -z-10 h-full w-full bg-black/30"
|
|
36
36
|
[@fadeAnimation]
|
|
37
37
|
(click)="close()"
|
|
38
38
|
></div>
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
effect,
|
|
6
6
|
ElementRef,
|
|
7
7
|
inject,
|
|
8
|
+
OnDestroy,
|
|
8
9
|
viewChild,
|
|
9
10
|
} from '@angular/core';
|
|
10
11
|
import {
|
|
@@ -101,11 +102,19 @@ export class InputSuffix {}
|
|
|
101
102
|
},
|
|
102
103
|
animations: [toggleDiv],
|
|
103
104
|
})
|
|
104
|
-
export class InputError {
|
|
105
|
+
export class InputError implements OnDestroy {
|
|
105
106
|
readonly error = inject(NgbInputError);
|
|
107
|
+
readonly el = inject<ElementRef<HTMLDivElement>>(ElementRef);
|
|
108
|
+
|
|
106
109
|
readonly isInvalid = this.error.isInvalid;
|
|
107
110
|
|
|
108
111
|
constructor() {
|
|
109
112
|
this.error.animate.set(true);
|
|
110
113
|
}
|
|
114
|
+
|
|
115
|
+
ngOnDestroy() {
|
|
116
|
+
if (!this.isInvalid()) {
|
|
117
|
+
this.el.nativeElement.classList.add('h-0', 'opacity-0');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
111
120
|
}
|
|
@@ -5,7 +5,7 @@ import { ɵFocusStyles as focusStyles } from '<%= basepath %>/checkbox';
|
|
|
5
5
|
selector: '[<%= name %>InputStyle]',
|
|
6
6
|
host: {
|
|
7
7
|
'[class]':
|
|
8
|
-
"'mis inline-
|
|
8
|
+
"'mis inline-flex rounded-lg bg-transparent px-2.5 py-2 border font-normal min-h-10 ' + focusStyles.focus + ' ' + focusStyles.within",
|
|
9
9
|
},
|
|
10
10
|
})
|
|
11
11
|
export class InputStyle {
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
NgbInlineEdit,
|
|
4
4
|
NgbInlineInput,
|
|
5
5
|
NgbInlineValue,
|
|
6
|
-
|
|
6
|
+
aliasInlineEdit,
|
|
7
7
|
} from '@ngbase/adk/inline-edit';
|
|
8
8
|
|
|
9
9
|
@Component({
|
|
10
10
|
selector: '<%= name %>-inline-edit',
|
|
11
|
+
providers: [aliasInlineEdit(InlineEdit)],
|
|
11
12
|
imports: [NgbInlineInput, NgbInlineValue],
|
|
12
|
-
providers: [provideInlineEdit(), { provide: NgbInlineEdit, useExisting: InlineEdit }],
|
|
13
13
|
template: `
|
|
14
14
|
@if (isEditing()) {
|
|
15
15
|
<input
|
|
@@ -16,7 +16,7 @@ import { InputStyle } from '<%= basepath %>/form-field';
|
|
|
16
16
|
<%= name %>InputStyle
|
|
17
17
|
ngbOtpValue
|
|
18
18
|
class="{{
|
|
19
|
-
'mb-0 aspect-square w-10 rounded-none !px-0
|
|
19
|
+
'mb-0 aspect-square w-10 rounded-none !px-0 justify-center text-base font-semibold data-[disabled]:bg-muted/40 data-[disabled]:text-muted-foreground data-[focus]:relative data-[focus]:ring-2' +
|
|
20
20
|
((dir.isRtl() ? ll : i === 0) ? ' !rounded-l-lg' : '') +
|
|
21
21
|
((dir.isRtl() ? i === 0 : ll) ? ' !rounded-r-lg' : '')
|
|
22
22
|
}}"
|
|
@@ -10,7 +10,7 @@ import { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';
|
|
|
10
10
|
import { Subject } from 'rxjs';
|
|
11
11
|
|
|
12
12
|
@Component({
|
|
13
|
-
selector: '<%= name %>-
|
|
13
|
+
selector: '<%= name %>-picasa',
|
|
14
14
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
15
|
template: `
|
|
16
16
|
<div class="pointer-events-none flex h-full items-center justify-center">
|
|
@@ -25,7 +25,6 @@ import { Subject } from 'rxjs';
|
|
|
25
25
|
</div>
|
|
26
26
|
`,
|
|
27
27
|
host: {
|
|
28
|
-
'[ngStyle]': '{ "z-index": options.overrideLowerDialog ? "982" : "980" }',
|
|
29
28
|
class: 'fixed block top-0 bottom-0 left-0 right-0 overflow-auto pointer-events-none z-p',
|
|
30
29
|
'[@parentAnimation]': '',
|
|
31
30
|
},
|
|
@@ -18,10 +18,10 @@ import { PicasaBase } from './picasa-base.component';
|
|
|
18
18
|
},
|
|
19
19
|
})
|
|
20
20
|
export class PicasaContainer {
|
|
21
|
-
data = inject(DialogRef);
|
|
22
|
-
imgEl = viewChild<ElementRef<HTMLImageElement>>('imgEl');
|
|
23
|
-
dialogRef = inject(DialogRef);
|
|
24
|
-
picasa = inject(PicasaBase);
|
|
21
|
+
readonly data = inject(DialogRef);
|
|
22
|
+
readonly imgEl = viewChild<ElementRef<HTMLImageElement>>('imgEl');
|
|
23
|
+
readonly dialogRef = inject(DialogRef);
|
|
24
|
+
readonly picasa = inject(PicasaBase);
|
|
25
25
|
|
|
26
26
|
constructor() {
|
|
27
27
|
let transform = '';
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
Directive,
|
|
7
7
|
input,
|
|
8
8
|
} from '@angular/core';
|
|
9
|
-
import { FormsModule } from '@angular/forms';
|
|
10
9
|
import { Icon } from '<%= basepath %>/icon';
|
|
11
10
|
import { provideIcons } from '@ng-icons/core';
|
|
12
11
|
import { lucideChevronsUpDown } from '@ng-icons/lucide';
|
|
@@ -29,23 +28,16 @@ export class SelectOption<T> {}
|
|
|
29
28
|
|
|
30
29
|
@Component({
|
|
31
30
|
selector: '<%= name %>-select',
|
|
31
|
+
exportAs: '<%= name %>Select',
|
|
32
32
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33
33
|
viewProviders: [provideIcons({ lucideChevronsUpDown })],
|
|
34
34
|
providers: [aliasSelect(Select)],
|
|
35
|
-
imports: [
|
|
36
|
-
Icon,
|
|
37
|
-
FormsModule,
|
|
38
|
-
SelectInput,
|
|
39
|
-
Option,
|
|
40
|
-
NgTemplateOutlet,
|
|
41
|
-
SelectValue,
|
|
42
|
-
NgbSelectOptionGroup,
|
|
43
|
-
],
|
|
35
|
+
imports: [Icon, SelectInput, Option, NgTemplateOutlet, SelectValue, NgbSelectOptionGroup],
|
|
44
36
|
template: `
|
|
45
37
|
<button
|
|
46
38
|
ngbSelectValue
|
|
47
39
|
[class.opacity-50]="disabled()"
|
|
48
|
-
class="flex min-h-5 w-full items-center gap-1 whitespace-nowrap
|
|
40
|
+
class="flex min-h-5 w-full items-center gap-1 text-left whitespace-nowrap outline-none"
|
|
49
41
|
>
|
|
50
42
|
<!-- Prefix template -->
|
|
51
43
|
<ng-content select=".select-prefix" />
|
|
@@ -56,7 +48,7 @@ export class SelectOption<T> {}
|
|
|
56
48
|
</ng-content>
|
|
57
49
|
</span>
|
|
58
50
|
@if (!noIcon()) {
|
|
59
|
-
<<%= name %>-icon name="lucideChevronsUpDown" class="ml-0.5
|
|
51
|
+
<<%= name %>-icon name="lucideChevronsUpDown" class="text-muted-foreground ml-0.5" />
|
|
60
52
|
}
|
|
61
53
|
</button>
|
|
62
54
|
|
|
@@ -65,12 +57,7 @@ export class SelectOption<T> {}
|
|
|
65
57
|
<div class="flex flex-col overflow-hidden">
|
|
66
58
|
<ng-content select="[<%= name %>SelectInput]">
|
|
67
59
|
@if (options().length) {
|
|
68
|
-
<input
|
|
69
|
-
<%= name %>SelectInput
|
|
70
|
-
placeholder="Search options"
|
|
71
|
-
[(ngModel)]="optionsFilter.search"
|
|
72
|
-
[ngModelOptions]="{ standalone: true }"
|
|
73
|
-
/>
|
|
60
|
+
<input <%= name %>SelectInput placeholder="Search options" [(value)]="optionsFilter.search" />
|
|
74
61
|
}
|
|
75
62
|
</ng-content>
|
|
76
63
|
<div #optionsGroup ngbSelectOptionGroup class="overflow-auto p-1">
|
|
@@ -44,7 +44,7 @@ import { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';
|
|
|
44
44
|
</div>
|
|
45
45
|
@if (backdropColor) {
|
|
46
46
|
<div
|
|
47
|
-
class="absolute top-0 -z-10 h-full w-full bg-black
|
|
47
|
+
class="absolute top-0 -z-10 h-full w-full bg-black/30"
|
|
48
48
|
[@fadeAnimation]
|
|
49
49
|
(click)="close()"
|
|
50
50
|
></div>
|
|
@@ -26,7 +26,6 @@ import { Sidenav, SidenavHeader } from '@/ui/sidenav';
|
|
|
26
26
|
|
|
27
27
|
```typescript
|
|
28
28
|
@Component({
|
|
29
|
-
standalone: true,
|
|
30
29
|
imports: [Sidenav, SidenavHeader],
|
|
31
30
|
template: ` <<%= name %>-sidenav [show]="show()" [mode]="mode()">
|
|
32
31
|
<<%= name %>-sidenav-header width="100px" minWidth="50px">
|
|
@@ -1,28 +1,4 @@
|
|
|
1
1
|
import { Component, input } from '@angular/core';
|
|
2
|
-
import { animate, keyframes, style, transition, trigger } from '@angular/animations';
|
|
3
|
-
|
|
4
|
-
const spinnerAnimation = trigger('enterLeave', [
|
|
5
|
-
transition(':enter', [
|
|
6
|
-
animate(
|
|
7
|
-
'500ms cubic-bezier(0.68, -0.55, 0.265, 1.55)',
|
|
8
|
-
keyframes([
|
|
9
|
-
style({ opacity: 0, transform: 'scale(0)', offset: 0 }),
|
|
10
|
-
style({ opacity: 1, transform: 'scale(1.5)', offset: 0.7 }),
|
|
11
|
-
style({ opacity: 1, transform: 'scale(1)', offset: 1 }),
|
|
12
|
-
]),
|
|
13
|
-
),
|
|
14
|
-
]),
|
|
15
|
-
transition(':leave', [
|
|
16
|
-
animate(
|
|
17
|
-
'500ms cubic-bezier(0.68, -0.55, 0.265, 1.55)',
|
|
18
|
-
keyframes([
|
|
19
|
-
style({ opacity: 1, transform: 'scale(1)', offset: 0 }),
|
|
20
|
-
style({ opacity: 1, transform: 'scale(1.5)', offset: 0.3 }),
|
|
21
|
-
style({ opacity: 0, transform: 'scale(0)', offset: 1 }),
|
|
22
|
-
]),
|
|
23
|
-
),
|
|
24
|
-
]),
|
|
25
|
-
]);
|
|
26
2
|
|
|
27
3
|
@Component({
|
|
28
4
|
selector: '<%= name %>-spinner',
|
|
@@ -64,12 +40,8 @@ const spinnerAnimation = trigger('enterLeave', [
|
|
|
64
40
|
`,
|
|
65
41
|
host: {
|
|
66
42
|
class: 'inline-flex items-center justify-center transition-all duration-300 text-primary',
|
|
67
|
-
'[class]': `root() ? 'fixed inset-0 z-p bg-background
|
|
43
|
+
'[class]': `root() ? 'fixed inset-0 z-p bg-background/60 backdrop-blur-sm' : 'relative'`,
|
|
68
44
|
},
|
|
69
|
-
animations: [
|
|
70
|
-
// animation for entering and exiting, with a bouncy effect
|
|
71
|
-
spinnerAnimation,
|
|
72
|
-
],
|
|
73
45
|
})
|
|
74
46
|
export class Spinner {
|
|
75
47
|
readonly mode = input<'light' | 'dark' | ''>('light');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Table
|
|
2
2
|
|
|
3
3
|
```typescript
|
|
4
|
-
import { TableComponents } from '@/ui/table';
|
|
4
|
+
import { TableComponents, Sort, SortHeader, EmptyState } from '@/ui/table';
|
|
5
5
|
```
|
|
6
6
|
|
|
7
7
|
### `<%= name %>Table`
|
|
@@ -13,6 +13,29 @@ import { TableComponents } from '@/ui/table';
|
|
|
13
13
|
|
|
14
14
|
- **Exports** - `<%= name %>Table`
|
|
15
15
|
|
|
16
|
+
### `<%= name %>EmptyState`
|
|
17
|
+
|
|
18
|
+
### `<%= name %>Sort`
|
|
19
|
+
|
|
20
|
+
- **inputs**
|
|
21
|
+
|
|
22
|
+
- `mode`: `'selection' | 'toggle'`
|
|
23
|
+
- `sortFn`: `(data: T[], column: string, direction: 'asc' | 'desc') => T[]`
|
|
24
|
+
- `disableClear`: `boolean`
|
|
25
|
+
- `sortMode`: `'client' | 'server'`
|
|
26
|
+
|
|
27
|
+
- **Outputs**
|
|
28
|
+
|
|
29
|
+
- `sortChange`: `(sort: Sort) => void`
|
|
30
|
+
|
|
31
|
+
### `<%= name %>SortHeader`
|
|
32
|
+
|
|
33
|
+
- **inputs**
|
|
34
|
+
|
|
35
|
+
- `disableClear`: `boolean`
|
|
36
|
+
|
|
37
|
+
- **Exports** - `<%= name %>SortHeader`
|
|
38
|
+
|
|
16
39
|
## Usage
|
|
17
40
|
|
|
18
41
|
```html
|
|
@@ -25,6 +48,23 @@ import { TableComponents } from '@/ui/table';
|
|
|
25
48
|
<th <%= name %>Head *<%= name %>HeadDef>Age</th>
|
|
26
49
|
<td <%= name %>Cell *<%= name %>CellDef="let row">{{row.age}}</td>
|
|
27
50
|
</ng-container>
|
|
51
|
+
<tr <%= name %>EmptyState>
|
|
52
|
+
No data
|
|
53
|
+
</tr>
|
|
54
|
+
<tr <%= name %>HeadRow *<%= name %>HeadRowDef="columns()"></tr>
|
|
55
|
+
<tr <%= name %>BodyRow *<%= name %>BodyRowDef="let row; columns: columns()"></tr>
|
|
56
|
+
</table>
|
|
57
|
+
|
|
58
|
+
<!-- Table with sort -->
|
|
59
|
+
<table <%= name %>Table [data]="data" [trackBy]="trackBy" <%= name %>Sort>
|
|
60
|
+
<ng-container <%= name %>Column="name">
|
|
61
|
+
<th <%= name %>Head *<%= name %>HeadDef <%= name %>SortHeader>Name</th>
|
|
62
|
+
<td <%= name %>Cell *<%= name %>CellDef="let row">{{row.name}}</td>
|
|
63
|
+
</ng-container>
|
|
64
|
+
<ng-container <%= name %>Column="age">
|
|
65
|
+
<th <%= name %>Head *<%= name %>HeadDef <%= name %>SortHeader>Age</th>
|
|
66
|
+
<td <%= name %>Cell *<%= name %>CellDef="let row">{{row.age}}</td>
|
|
67
|
+
</ng-container>
|
|
28
68
|
<tr <%= name %>HeadRow *<%= name %>HeadRowDef="columns()"></tr>
|
|
29
69
|
<tr <%= name %>BodyRow *<%= name %>BodyRowDef="let row; columns: columns()"></tr>
|
|
30
70
|
</table>
|