@ngbase/adk 0.1.1 → 0.1.3
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/accessibility-group.d.ts +2 -5
- package/accordion/accordion-item.d.ts +7 -1
- package/accordion/public-api.d.ts +1 -1
- package/autocomplete/autocomplete-input.d.ts +2 -4
- package/autocomplete/autocomplete.d.ts +13 -4
- package/avatar/avatar.d.ts +1 -1
- package/breadcrumb/breadcrumb.d.ts +2 -3
- package/breadcrumb/public-api.d.ts +1 -1
- package/carousel/carousel.d.ts +3 -3
- package/checkbox/checkbox.d.ts +11 -3
- package/checkbox/public-api.d.ts +1 -1
- package/chip/chip.d.ts +2 -2
- package/datepicker/calendar.d.ts +3 -3
- package/datepicker/datepicker-trigger.d.ts +22 -5
- package/datepicker/datepicker.d.ts +4 -3
- package/datepicker/time.d.ts +2 -2
- package/dialog/dialog.d.ts +1 -1
- package/drag/drag.d.ts +1 -2
- package/fesm2022/ngbase-adk-a11y.mjs +29 -26
- package/fesm2022/ngbase-adk-a11y.mjs.map +1 -1
- package/fesm2022/ngbase-adk-accordion.mjs +16 -3
- package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
- package/fesm2022/ngbase-adk-autocomplete.mjs +23 -52
- package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
- package/fesm2022/ngbase-adk-avatar.mjs +2 -2
- package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
- package/fesm2022/ngbase-adk-breadcrumb.mjs +2 -2
- package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngbase-adk-carousel.mjs +7 -7
- package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
- package/fesm2022/ngbase-adk-checkbox.mjs +8 -6
- package/fesm2022/ngbase-adk-checkbox.mjs.map +1 -1
- package/fesm2022/ngbase-adk-chip.mjs +4 -2
- package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-datepicker.mjs +187 -350
- package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
- package/fesm2022/ngbase-adk-dialog.mjs +14 -15
- package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
- package/fesm2022/ngbase-adk-drag.mjs +1 -2
- package/fesm2022/ngbase-adk-drag.mjs.map +1 -1
- package/fesm2022/ngbase-adk-form-field.mjs +2 -156
- package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
- package/fesm2022/ngbase-adk-list.mjs +2 -2
- package/fesm2022/ngbase-adk-list.mjs.map +1 -1
- package/fesm2022/ngbase-adk-mask.mjs +5 -3
- package/fesm2022/ngbase-adk-mask.mjs.map +1 -1
- package/fesm2022/ngbase-adk-menu.mjs +34 -34
- package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
- package/fesm2022/ngbase-adk-otp.mjs +164 -0
- package/fesm2022/ngbase-adk-otp.mjs.map +1 -0
- package/fesm2022/ngbase-adk-pagination.mjs +10 -67
- package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
- package/fesm2022/ngbase-adk-popover.mjs +434 -556
- package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
- package/fesm2022/ngbase-adk-portal.mjs +5 -10
- package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
- package/fesm2022/ngbase-adk-radio.mjs +8 -19
- package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
- package/fesm2022/ngbase-adk-resizable.mjs +10 -43
- package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
- package/fesm2022/ngbase-adk-select.mjs +87 -185
- package/fesm2022/ngbase-adk-select.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sheet.mjs +95 -0
- package/fesm2022/ngbase-adk-sheet.mjs.map +1 -0
- package/fesm2022/ngbase-adk-sidenav.mjs +2 -2
- package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
- package/fesm2022/ngbase-adk-slider.mjs +12 -23
- package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sonner.mjs +13 -63
- package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
- package/fesm2022/ngbase-adk-stepper.mjs +16 -114
- package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
- package/fesm2022/ngbase-adk-switch.mjs +2 -2
- package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
- package/fesm2022/ngbase-adk-table.mjs +17 -35
- package/fesm2022/ngbase-adk-table.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tabs.mjs +14 -94
- package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
- package/fesm2022/ngbase-adk-test.mjs +11 -1
- package/fesm2022/ngbase-adk-test.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tooltip.mjs +49 -39
- package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tour.mjs +3 -3
- package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tree.mjs +11 -43
- package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
- package/fesm2022/ngbase-adk-utils.mjs +12 -9
- package/fesm2022/ngbase-adk-utils.mjs.map +1 -1
- package/form-field/public-api.d.ts +0 -1
- package/mask/mask.d.ts +1 -2
- package/menu/menu-trigger.d.ts +3 -3
- package/menu/menu.d.ts +13 -7
- package/otp/index.d.ts +5 -0
- package/{form-field → otp}/otp.d.ts +1 -1
- package/otp/public-api.d.ts +1 -0
- package/package.json +27 -19
- package/pagination/pagination.d.ts +7 -3
- package/popover/base-popover.service.d.ts +1 -1
- package/popover/popover-arrow.ng.d.ts +34 -0
- package/popover/popover.d.ts +17 -7
- package/popover/popover.service.d.ts +5 -4
- package/popover/public-api.d.ts +1 -0
- package/popover/utils.d.ts +32 -48
- package/portal/dialog-ref.d.ts +0 -1
- package/portal/portal-base.service.d.ts +3 -3
- package/portal/portal-close.directive.d.ts +3 -2
- package/radio/radio.d.ts +5 -1
- package/resizable/resizable-group.d.ts +2 -2
- package/resizable/resizable.d.ts +2 -2
- package/select/option-group.d.ts +3 -3
- package/select/option.d.ts +1 -1
- package/select/select-base.d.ts +8 -6
- package/select/select.d.ts +6 -3
- package/sheet/index.d.ts +5 -0
- package/sheet/public-api.d.ts +2 -0
- package/sheet/sheet.d.ts +26 -0
- package/sheet/sheet.service.d.ts +13 -0
- package/sidenav/public-api.d.ts +1 -1
- package/sidenav/sidenav.d.ts +1 -1
- package/slider/public-api.d.ts +1 -1
- package/slider/slider.d.ts +6 -5
- package/sonner/sonner.d.ts +2 -1
- package/stepper/animation.d.ts +1 -1
- package/stepper/step.d.ts +1 -1
- package/stepper/stepper.d.ts +2 -2
- package/switch/switch.d.ts +1 -1
- package/table/body-row.d.ts +3 -3
- package/table/head-row.d.ts +3 -3
- package/table/table.d.ts +3 -3
- package/tabs/tab-group.d.ts +4 -4
- package/tabs/tab.d.ts +2 -2
- package/test/utils.d.ts +19 -3
- package/tooltip/public-api.d.ts +1 -1
- package/tooltip/tooltip.d.ts +5 -1
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/tooltip/tooltip.service.d.ts +4 -2
- package/tour/tour.service.d.ts +3 -4
- package/tree/public-api.d.ts +2 -2
- package/tree/tree-node.d.ts +2 -2
- package/tree/tree.d.ts +2 -2
- package/utils/utils.d.ts +5 -4
- package/schematics/collection.json +0 -15
- package/schematics/components/files/accordion/accordion.ts.template +0 -55
- package/schematics/components/files/accordion/index.ts.template +0 -5
- package/schematics/components/files/alert/alert.ts.template +0 -62
- package/schematics/components/files/alert/index.ts.template +0 -1
- package/schematics/components/files/autocomplete/autocomplete.ts.template +0 -48
- package/schematics/components/files/autocomplete/index.ts.template +0 -5
- package/schematics/components/files/avatar/avatar.ts.template +0 -31
- package/schematics/components/files/avatar/index.ts.template +0 -1
- package/schematics/components/files/badge/badge.ts.template +0 -11
- package/schematics/components/files/badge/index.ts.template +0 -1
- package/schematics/components/files/breadcrumb/breadcrumb.ts.template +0 -49
- package/schematics/components/files/breadcrumb/index.ts.template +0 -1
- package/schematics/components/files/button/button.ts.template +0 -29
- package/schematics/components/files/button/index.ts.template +0 -5
- package/schematics/components/files/card/card.ts.template +0 -11
- package/schematics/components/files/card/index.ts.template +0 -5
- package/schematics/components/files/carousel/carousel.ts.template +0 -44
- package/schematics/components/files/carousel/index.ts.template +0 -1
- package/schematics/components/files/checkbox/checkbox.ts.template +0 -46
- package/schematics/components/files/checkbox/focus-style.directive.ts.template +0 -12
- package/schematics/components/files/checkbox/index.ts.template +0 -6
- package/schematics/components/files/chip/chip.ts.template +0 -36
- package/schematics/components/files/chip/index.ts.template +0 -1
- package/schematics/components/files/color-picker/color-picker.ts.template +0 -104
- package/schematics/components/files/color-picker/index.ts.template +0 -5
- package/schematics/components/files/command/command.ts.template +0 -82
- package/schematics/components/files/command/index.ts.template +0 -1
- package/schematics/components/files/datepicker/calendar.ts.template +0 -117
- package/schematics/components/files/datepicker/datepicker-trigger.ts.template +0 -27
- package/schematics/components/files/datepicker/datepicker.ts.template +0 -28
- package/schematics/components/files/datepicker/index.ts.template +0 -3
- package/schematics/components/files/datepicker/time.ts.template +0 -46
- package/schematics/components/files/dialog/dialog.ts.template +0 -89
- package/schematics/components/files/dialog/index.ts.template +0 -5
- package/schematics/components/files/drawer/drawer.ts.template +0 -104
- package/schematics/components/files/drawer/index.ts.template +0 -5
- package/schematics/components/files/form-field/index.ts.template +0 -7
- package/schematics/components/files/form-field/input-style.directive.ts.template +0 -11
- package/schematics/components/files/form-field/input.ts.template +0 -100
- package/schematics/components/files/form-field/otp.ts.template +0 -37
- package/schematics/components/files/hover-card/hover-card.ts.template +0 -13
- package/schematics/components/files/hover-card/index.ts.template +0 -5
- package/schematics/components/files/icon/icon.ts.template +0 -16
- package/schematics/components/files/icon/index.ts.template +0 -1
- package/schematics/components/files/inline-edit/index.ts.template +0 -1
- package/schematics/components/files/inline-edit/inline-edit.ts.template +0 -24
- package/schematics/components/files/keys/index.ts.template +0 -5
- package/schematics/components/files/keys/key.ts.template +0 -35
- package/schematics/components/files/list/index.ts.template +0 -5
- package/schematics/components/files/list/list.ts.template +0 -28
- package/schematics/components/files/mask/index.ts.template +0 -1
- package/schematics/components/files/mask/mask.ts.template +0 -8
- package/schematics/components/files/menu/context-menu.ts.template +0 -14
- package/schematics/components/files/menu/index.ts.template +0 -8
- package/schematics/components/files/menu/mention.ts.template +0 -14
- package/schematics/components/files/menu/menu.ts.template +0 -37
- package/schematics/components/files/menu/navigation-menu.ts.template +0 -8
- package/schematics/components/files/pagination/index.ts.template +0 -1
- package/schematics/components/files/pagination/pagination.ts.template +0 -71
- package/schematics/components/files/picasa/index.ts.template +0 -1
- package/schematics/components/files/picasa/picasa-base.component.ts.template +0 -80
- package/schematics/components/files/picasa/picasa.component.ts.template +0 -57
- package/schematics/components/files/picasa/picasa.directive.ts.template +0 -41
- package/schematics/components/files/picasa/picase.service.ts.template +0 -24
- package/schematics/components/files/popover/index.ts.template +0 -1
- package/schematics/components/files/popover/popover.ts.template +0 -87
- package/schematics/components/files/progress/index.ts.template +0 -5
- package/schematics/components/files/progress/progress.ts.template +0 -14
- package/schematics/components/files/radio/index.ts.template +0 -5
- package/schematics/components/files/radio/radio.ts.template +0 -40
- package/schematics/components/files/resizable/index.ts.template +0 -5
- package/schematics/components/files/resizable/resizable.ts.template +0 -56
- package/schematics/components/files/scroll-area/index.ts.template +0 -1
- package/schematics/components/files/scroll-area/scroll-area.ts.template +0 -40
- package/schematics/components/files/select/index.ts.template +0 -8
- package/schematics/components/files/select/list-selection.ts.template +0 -15
- package/schematics/components/files/select/option.ts.template +0 -34
- package/schematics/components/files/select/select-input.ts.template +0 -21
- package/schematics/components/files/select/select.ts.template +0 -96
- package/schematics/components/files/selectable/index.ts.template +0 -1
- package/schematics/components/files/selectable/selectable.ts.template +0 -34
- package/schematics/components/files/separator/index.ts.template +0 -5
- package/schematics/components/files/separator/separator.ts.template +0 -19
- package/schematics/components/files/sheet/index.ts.template +0 -5
- package/schematics/components/files/sheet/sheet.ts.template +0 -134
- package/schematics/components/files/sidenav/index.ts.template +0 -1
- package/schematics/components/files/sidenav/sidenav.ts.template +0 -48
- package/schematics/components/files/skeleton/index.ts.template +0 -1
- package/schematics/components/files/skeleton/skeleton.ts.template +0 -15
- package/schematics/components/files/slider/index.ts.template +0 -5
- package/schematics/components/files/slider/slider.ts.template +0 -42
- package/schematics/components/files/sonner/index.ts.template +0 -5
- package/schematics/components/files/sonner/sonner.ts.template +0 -58
- package/schematics/components/files/spinner/index.ts.template +0 -1
- package/schematics/components/files/spinner/spinner.ts.template +0 -79
- package/schematics/components/files/stepper/index.ts.template +0 -1
- package/schematics/components/files/stepper/stepper.ts.template +0 -88
- package/schematics/components/files/switch/index.ts.template +0 -5
- package/schematics/components/files/switch/switch.ts.template +0 -29
- package/schematics/components/files/table/body-cell.ts.template +0 -19
- package/schematics/components/files/table/body-row.ts.template +0 -21
- package/schematics/components/files/table/column.ts.template +0 -8
- package/schematics/components/files/table/head-cell.ts.template +0 -19
- package/schematics/components/files/table/head-row.ts.template +0 -27
- package/schematics/components/files/table/index.ts.template +0 -26
- package/schematics/components/files/table/table.ts.template +0 -20
- package/schematics/components/files/tabs/index.ts.template +0 -5
- package/schematics/components/files/tabs/tab.ts.template +0 -89
- package/schematics/components/files/theme/index.ts.template +0 -2
- package/schematics/components/files/theme/theme-button.component.ts.template +0 -26
- package/schematics/components/files/theme/theme.component.ts.template +0 -165
- package/schematics/components/files/theme/theme.service.ts.template +0 -44
- package/schematics/components/files/toggle/index.ts.template +0 -5
- package/schematics/components/files/toggle/toggle.ts.template +0 -13
- package/schematics/components/files/toggle-group/index.ts.template +0 -5
- package/schematics/components/files/toggle-group/toggle-group.ts.template +0 -25
- package/schematics/components/files/tooltip/index.ts.template +0 -5
- package/schematics/components/files/tooltip/tooltip.ts.template +0 -40
- package/schematics/components/files/tour/index.ts.template +0 -3
- package/schematics/components/files/tour/tour-step.ts.template +0 -8
- package/schematics/components/files/tour/tour.service.ts.template +0 -7
- package/schematics/components/files/tour/tour.ts.template +0 -8
- package/schematics/components/files/tree/index.ts.template +0 -1
- package/schematics/components/files/tree/tree.ts.template +0 -66
- package/schematics/components/index.d.ts +0 -3
- package/schematics/components/index.js +0 -17
- package/schematics/components/index.js.map +0 -1
- package/schematics/components/index.ts +0 -29
- package/schematics/components/schema.d.ts +0 -6
- package/schematics/components/schema.js +0 -3
- package/schematics/components/schema.js.map +0 -1
- package/schematics/components/schema.json +0 -137
- package/schematics/components/schema.ts +0 -6
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { NgbRadio, NgbRadioGroup, NgbRadioIndicator } from '@ngbase/adk/radio';
|
|
3
|
-
import { ɵFocusStyle as FocusStyle } from '<%= basepath %>/checkbox';
|
|
4
|
-
|
|
5
|
-
@Component({
|
|
6
|
-
selector: '<%= name %>-radio-group',
|
|
7
|
-
hostDirectives: [{ directive: NgbRadioGroup, inputs: ['value'], outputs: ['valueChange'] }],
|
|
8
|
-
template: `<ng-content />`,
|
|
9
|
-
host: {
|
|
10
|
-
class: 'flex gap-2',
|
|
11
|
-
},
|
|
12
|
-
})
|
|
13
|
-
export class RadioGroup {}
|
|
14
|
-
|
|
15
|
-
@Component({
|
|
16
|
-
selector: '<%= name %>-radio, [<%= name %>Radio]',
|
|
17
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
18
|
-
hostDirectives: [{ directive: NgbRadio, inputs: ['value', 'disabled'] }],
|
|
19
|
-
imports: [FocusStyle, NgbRadioIndicator],
|
|
20
|
-
template: `
|
|
21
|
-
<button
|
|
22
|
-
<%= name %>FocusStyle
|
|
23
|
-
ngbRadioIndicator
|
|
24
|
-
#radioIndicator
|
|
25
|
-
class="custom-radio relative flex h-4 w-4 flex-none items-center justify-center rounded-full border border-primary"
|
|
26
|
-
[class]="radioIndicator.disabled() ? 'border-muted' : 'border-primary'"
|
|
27
|
-
>
|
|
28
|
-
<div
|
|
29
|
-
class="h-2 w-2 rounded-full"
|
|
30
|
-
[class]="radioIndicator.disabled() ? 'bg-muted' : 'bg-primary'"
|
|
31
|
-
></div>
|
|
32
|
-
</button>
|
|
33
|
-
<ng-content />
|
|
34
|
-
`,
|
|
35
|
-
host: {
|
|
36
|
-
class:
|
|
37
|
-
'flex items-center gap-2 py-1 cursor-pointer aria-[disabled="true"]:opacity-40 aria-[disabled="true"]:cursor-not-allowed',
|
|
38
|
-
},
|
|
39
|
-
})
|
|
40
|
-
export class Radio {}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
NgbGutter,
|
|
4
|
-
NgbResizable,
|
|
5
|
-
NgbResizableGroup,
|
|
6
|
-
provideResizable,
|
|
7
|
-
provideResizableGroup,
|
|
8
|
-
} from '@ngbase/adk/resizable';
|
|
9
|
-
import { Icon } from '<%= basepath %>/icon';
|
|
10
|
-
import { provideIcons } from '@ng-icons/core';
|
|
11
|
-
import { lucideGripVertical } from '@ng-icons/lucide';
|
|
12
|
-
|
|
13
|
-
@Component({
|
|
14
|
-
selector: '<%= name %>-resizable-group',
|
|
15
|
-
exportAs: '<%= name %>ResizableGroup',
|
|
16
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
17
|
-
providers: [provideResizableGroup(ResizableGroup)],
|
|
18
|
-
template: `<ng-content select="<%= name %>-resizable" />`,
|
|
19
|
-
host: {
|
|
20
|
-
class: 'flex w-full',
|
|
21
|
-
'[class.flex-col]': "direction() === 'vertical'",
|
|
22
|
-
'[attr.id]': 'id',
|
|
23
|
-
},
|
|
24
|
-
})
|
|
25
|
-
export class ResizableGroup extends NgbResizableGroup {}
|
|
26
|
-
|
|
27
|
-
@Component({
|
|
28
|
-
selector: '<%= name %>-resizable',
|
|
29
|
-
exportAs: '<%= name %>Resizable',
|
|
30
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
|
-
providers: [provideResizable(Resizable)],
|
|
32
|
-
viewProviders: [provideIcons({ lucideGripVertical })],
|
|
33
|
-
imports: [Icon, NgbGutter],
|
|
34
|
-
template: `<ng-content />
|
|
35
|
-
<ng-template #dragElement>
|
|
36
|
-
@if (draggable()) {
|
|
37
|
-
<div
|
|
38
|
-
ngbGutter
|
|
39
|
-
class="{{
|
|
40
|
-
'dragElement relative flex cursor-ew-resize items-center justify-center after:absolute after:top-0' +
|
|
41
|
-
(resizable.direction() === 'vertical'
|
|
42
|
-
? ' bottom-0 left-0 h-0 w-full cursor-ns-resize border-b after:-mt-1 after:h-2 after:w-full'
|
|
43
|
-
: ' right-0 top-0 w-0 cursor-ew-resize border-l after:h-full after:w-2')
|
|
44
|
-
}}"
|
|
45
|
-
>
|
|
46
|
-
<<%= name %>-icon name="lucideGripVertical" class="z-30 rounded-lg border
|
|
47
|
-
bg-muted-background py-0.5" size=".75rem" [class]="resizable.direction() === 'vertical' ?
|
|
48
|
-
'rotate-90' : ''" />
|
|
49
|
-
</div>
|
|
50
|
-
}
|
|
51
|
-
</ng-template>`,
|
|
52
|
-
host: {
|
|
53
|
-
class: 'relative overflow-hidden block flex-none',
|
|
54
|
-
},
|
|
55
|
-
})
|
|
56
|
-
export class Resizable extends NgbResizable {}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './scroll-area';
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, input } from '@angular/core';
|
|
2
|
-
import { NgbScrollArea, NgbScrollBar, ScrollBarOrientation } from '@ngbase/adk/scroll-area';
|
|
3
|
-
|
|
4
|
-
@Component({
|
|
5
|
-
selector: '<%= name %>-scroll-area',
|
|
6
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7
|
-
imports: [NgbScrollBar, NgbScrollArea],
|
|
8
|
-
template: `
|
|
9
|
-
<div
|
|
10
|
-
ngbScrollArea
|
|
11
|
-
[alwaysShow]="alwaysShow()"
|
|
12
|
-
[orientation]="orientation()"
|
|
13
|
-
[hideDelay]="hideDelay()"
|
|
14
|
-
class="flex-1"
|
|
15
|
-
>
|
|
16
|
-
<ng-content></ng-content>
|
|
17
|
-
|
|
18
|
-
<div
|
|
19
|
-
ngbScrollBar="vertical"
|
|
20
|
-
class="!right-0.5 rounded bg-black/10 opacity-0 transition-colors duration-150 hover:bg-black/50 data-[active=true]:bg-black/50 data-[visible=true]:opacity-100"
|
|
21
|
-
></div>
|
|
22
|
-
|
|
23
|
-
<div
|
|
24
|
-
ngbScrollBar="horizontal"
|
|
25
|
-
class="!bottom-0.5 rounded bg-black/10 opacity-0 transition-colors duration-150 hover:bg-black/50 data-[active=true]:bg-black/50 data-[visible=true]:opacity-100"
|
|
26
|
-
></div>
|
|
27
|
-
|
|
28
|
-
<!-- Corner piece when both scrollbars are visible -->
|
|
29
|
-
<div class="scroll-area-corner absolute bottom-0 right-0 h-2 w-2 rounded bg-black/10"></div>
|
|
30
|
-
</div>
|
|
31
|
-
`,
|
|
32
|
-
host: {
|
|
33
|
-
class: 'flex flex-col w-full',
|
|
34
|
-
},
|
|
35
|
-
})
|
|
36
|
-
export class ScrollArea {
|
|
37
|
-
readonly alwaysShow = input<boolean>(false);
|
|
38
|
-
readonly orientation = input<ScrollBarOrientation>('both');
|
|
39
|
-
readonly hideDelay = input(1000);
|
|
40
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { provideValueAccessor } from '@ngbase/adk/utils';
|
|
3
|
-
import { SelectBase } from '@ngbase/adk/select';
|
|
4
|
-
|
|
5
|
-
@Component({
|
|
6
|
-
selector: '<%= name %>-list-selection',
|
|
7
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8
|
-
template: `<ng-content />`,
|
|
9
|
-
providers: [provideValueAccessor(ListSelection)],
|
|
10
|
-
})
|
|
11
|
-
export class ListSelection<T> extends SelectBase<T> {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(true);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
-
import { NgbOption, NgbOptionGroup } from '@ngbase/adk/select';
|
|
3
|
-
import { Checkbox } from '<%= basepath %>/checkbox';
|
|
4
|
-
import { ListStyle } from '<%= basepath %>/list';
|
|
5
|
-
|
|
6
|
-
@Component({
|
|
7
|
-
selector: '<%= name %>-option, [<%= name %>Option]',
|
|
8
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
9
|
-
hostDirectives: [ListStyle, { directive: NgbOption, inputs: ['value', 'disabled', 'ayId'] }],
|
|
10
|
-
imports: [Checkbox],
|
|
11
|
-
template: ` @if (option.multiple()) {
|
|
12
|
-
<<%= name %>-checkbox [checked]="option.checked()" class="!py-0" />
|
|
13
|
-
}
|
|
14
|
-
<ng-content />`,
|
|
15
|
-
host: {
|
|
16
|
-
'[class.bg-muted-background]': 'option.active() || option.checked()',
|
|
17
|
-
},
|
|
18
|
-
})
|
|
19
|
-
export class Option<T> {
|
|
20
|
-
readonly option = inject(NgbOption<T>);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@Component({
|
|
24
|
-
selector: '<%= name %>-option-group, [<%= name %>OptionGroup]',
|
|
25
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26
|
-
template: `<div class="sticky -top-1 z-10 bg-foreground px-2 py-1.5 text-sm text-muted">
|
|
27
|
-
{{ label() }}
|
|
28
|
-
</div>
|
|
29
|
-
<ng-content />`,
|
|
30
|
-
host: {
|
|
31
|
-
class: 'block',
|
|
32
|
-
},
|
|
33
|
-
})
|
|
34
|
-
export class OptionGroup extends NgbOptionGroup {}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { NgbSelectInput, NgbSelectTrigger } from '@ngbase/adk/select';
|
|
3
|
-
import { InputStyle } from '<%= basepath %>/form-field';
|
|
4
|
-
|
|
5
|
-
@Directive({
|
|
6
|
-
selector: '[<%= name %>SelectInput]',
|
|
7
|
-
hostDirectives: [
|
|
8
|
-
{ directive: NgbSelectInput, inputs: ['placeholder', 'options', 'filterFn'] },
|
|
9
|
-
InputStyle,
|
|
10
|
-
],
|
|
11
|
-
host: {
|
|
12
|
-
class: 'w-full !m-0 mb-1 !ring-0 !border-0 !border-b rounded-none px-3 z-10',
|
|
13
|
-
},
|
|
14
|
-
})
|
|
15
|
-
export class SelectInput<T> {}
|
|
16
|
-
|
|
17
|
-
@Directive({
|
|
18
|
-
selector: '[<%= name %>SelectTrigger]',
|
|
19
|
-
hostDirectives: [NgbSelectTrigger],
|
|
20
|
-
})
|
|
21
|
-
export class SelectTrigger {}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import {
|
|
5
|
-
NgbSelect,
|
|
6
|
-
NgbSelectOption,
|
|
7
|
-
NgbSelectOptionGroup,
|
|
8
|
-
provideSelect,
|
|
9
|
-
SelectValue,
|
|
10
|
-
} from '@ngbase/adk/select';
|
|
11
|
-
import { Icon } from '<%= basepath %>/icon';
|
|
12
|
-
import { provideIcons } from '@ng-icons/core';
|
|
13
|
-
import { lucideChevronsUpDown } from '@ng-icons/lucide';
|
|
14
|
-
import { Option } from './option';
|
|
15
|
-
import { SelectInput } from './select-input';
|
|
16
|
-
|
|
17
|
-
@Directive({
|
|
18
|
-
selector: '[<%= name %>SelectOption]',
|
|
19
|
-
hostDirectives: [NgbSelectOption],
|
|
20
|
-
})
|
|
21
|
-
export class SelectOption<T> {}
|
|
22
|
-
|
|
23
|
-
@Component({
|
|
24
|
-
selector: '<%= name %>-select',
|
|
25
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26
|
-
viewProviders: [provideIcons({ lucideChevronsUpDown })],
|
|
27
|
-
providers: [provideSelect(Select)],
|
|
28
|
-
imports: [
|
|
29
|
-
Icon,
|
|
30
|
-
FormsModule,
|
|
31
|
-
SelectInput,
|
|
32
|
-
Option,
|
|
33
|
-
NgTemplateOutlet,
|
|
34
|
-
SelectValue,
|
|
35
|
-
NgbSelectOptionGroup,
|
|
36
|
-
],
|
|
37
|
-
template: `
|
|
38
|
-
<button
|
|
39
|
-
ngbSelectValue
|
|
40
|
-
[class.opacity-50]="disabled()"
|
|
41
|
-
class="flex min-h-5 w-full items-center justify-between gap-1 whitespace-nowrap outline-none"
|
|
42
|
-
>
|
|
43
|
-
<!-- Prefix template -->
|
|
44
|
-
<ng-content select=".select-prefix" />
|
|
45
|
-
|
|
46
|
-
<span class="truncate" [class.text-muted]="!cValue()">
|
|
47
|
-
<ng-content select="[<%= name %>SelectTrigger]">
|
|
48
|
-
{{ cValue() || placeholder() }}
|
|
49
|
-
</ng-content>
|
|
50
|
-
</span>
|
|
51
|
-
<<%= name %>-icon name="lucideChevronsUpDown" class="ml-0.5 text-muted" />
|
|
52
|
-
</button>
|
|
53
|
-
|
|
54
|
-
<!-- Options template -->
|
|
55
|
-
<ng-template #optionsTemplate>
|
|
56
|
-
<div class="flex flex-col overflow-hidden">
|
|
57
|
-
<ng-content select="[<%= name %>SelectInput]">
|
|
58
|
-
@if (options().length) {
|
|
59
|
-
<input
|
|
60
|
-
<%= name %>SelectInput
|
|
61
|
-
placeholder="Search options"
|
|
62
|
-
[(ngModel)]="optionsFilter.search"
|
|
63
|
-
[ngModelOptions]="{ standalone: true }"
|
|
64
|
-
/>
|
|
65
|
-
}
|
|
66
|
-
</ng-content>
|
|
67
|
-
<div #optionsGroup ngbSelectOptionGroup class="overflow-auto p-1">
|
|
68
|
-
<div class="h-full" role="listbox" aria-label="Suggestions">
|
|
69
|
-
<ng-content>
|
|
70
|
-
@for (option of optionsFilter.filteredList(); track option; let i = $index) {
|
|
71
|
-
<<%= name %>-option [value]="option" [ayId]="ayId">
|
|
72
|
-
@if (optionTemplate(); as ot) {
|
|
73
|
-
<ng-template
|
|
74
|
-
[ngTemplateOutlet]="ot.template"
|
|
75
|
-
[ngTemplateOutletContext]="{ $implicit: option, index: i }"
|
|
76
|
-
/>
|
|
77
|
-
} @else {
|
|
78
|
-
{{ option }}
|
|
79
|
-
}
|
|
80
|
-
</<%= name %>-option>
|
|
81
|
-
}
|
|
82
|
-
</ng-content>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
<ng-content select=".select-footer" />
|
|
86
|
-
</div>
|
|
87
|
-
</ng-template>
|
|
88
|
-
`,
|
|
89
|
-
host: {
|
|
90
|
-
class: 'flex cursor-pointer font-medium',
|
|
91
|
-
'[class.pointer-events-none]': 'disabled()',
|
|
92
|
-
},
|
|
93
|
-
})
|
|
94
|
-
export class Select<T> extends NgbSelect<T> {
|
|
95
|
-
override sideOffset = 16;
|
|
96
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './selectable';
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
-
import { NgbSelectable, NgbSelectableItem } from '@ngbase/adk/selectable';
|
|
3
|
-
|
|
4
|
-
@Component({
|
|
5
|
-
selector: '<%= name %>-selectable-item, [<%= name %>SelectableItem]',
|
|
6
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7
|
-
hostDirectives: [{ directive: NgbSelectableItem, inputs: ['value'] }],
|
|
8
|
-
template: `<ng-content />`,
|
|
9
|
-
host: {
|
|
10
|
-
class:
|
|
11
|
-
'flex-1 flex items-center font-medium justify-center px-3 py-1.5 cursor-pointer transition-colors rounded-md whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary',
|
|
12
|
-
'[class]': `selectable.selected() ? 'bg-foreground shadow-md ring-1 ring-border' : 'opacity-60'`,
|
|
13
|
-
},
|
|
14
|
-
})
|
|
15
|
-
export class SelectableItem<T> {
|
|
16
|
-
readonly selectable = inject(NgbSelectableItem);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@Component({
|
|
20
|
-
selector: '<%= name %>-selectable',
|
|
21
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22
|
-
template: `<ng-content />`,
|
|
23
|
-
host: {
|
|
24
|
-
class: 'inline-flex relative bg-muted-background rounded-md p-0.5',
|
|
25
|
-
},
|
|
26
|
-
hostDirectives: [
|
|
27
|
-
{
|
|
28
|
-
directive: NgbSelectable,
|
|
29
|
-
inputs: ['activeIndex'],
|
|
30
|
-
outputs: ['activeIndexChange', 'valueChanged'],
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
})
|
|
34
|
-
export class Selectable<T> {}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
@Component({
|
|
4
|
-
selector: '<%= name %>-separator',
|
|
5
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6
|
-
template: ``,
|
|
7
|
-
host: {
|
|
8
|
-
class: 'bg-border block flex-none',
|
|
9
|
-
'[class]': `vertical() ? 'w-[1px]' : 'h-[1px] w-full'`,
|
|
10
|
-
// '[class.my-1]': `menu`,
|
|
11
|
-
},
|
|
12
|
-
})
|
|
13
|
-
export class Separator {
|
|
14
|
-
vertical = input(false, { transform: booleanAttribute });
|
|
15
|
-
|
|
16
|
-
constructor() {
|
|
17
|
-
// console.log('Separator', this.menu);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { NgStyle } from '@angular/common';
|
|
2
|
-
import {
|
|
3
|
-
ChangeDetectionStrategy,
|
|
4
|
-
Component,
|
|
5
|
-
OnDestroy,
|
|
6
|
-
ViewContainerRef,
|
|
7
|
-
afterNextRender,
|
|
8
|
-
inject,
|
|
9
|
-
signal,
|
|
10
|
-
viewChild,
|
|
11
|
-
} from '@angular/core';
|
|
12
|
-
import { BaseDialog, basePortal, DialogInput, DialogOptions, DialogRef } from '@ngbase/adk/portal';
|
|
13
|
-
import { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';
|
|
14
|
-
import { Button } from '<%= basepath %>/button';
|
|
15
|
-
import { sideAnimation } from '@ngbase/adk/dialog';
|
|
16
|
-
import { Icon } from '<%= basepath %>/icon';
|
|
17
|
-
import { provideIcons } from '@ng-icons/core';
|
|
18
|
-
import { lucideX } from '@ng-icons/lucide';
|
|
19
|
-
|
|
20
|
-
@Component({
|
|
21
|
-
selector: '<%= name %>-sheet',
|
|
22
|
-
imports: [NgStyle, Button, Icon],
|
|
23
|
-
viewProviders: [provideIcons({ lucideX })],
|
|
24
|
-
template: `
|
|
25
|
-
<div
|
|
26
|
-
class="pointer-events-none flex h-full"
|
|
27
|
-
[class]="options.position === 'left' ? 'justify-start' : 'justify-end'"
|
|
28
|
-
>
|
|
29
|
-
<div
|
|
30
|
-
class="pointer-events-auto m-2 flex flex-col overflow-hidden rounded-lg border-l bg-foreground shadow-2xl will-change-transform"
|
|
31
|
-
[@sideAnimation]="position()"
|
|
32
|
-
[ngStyle]="{
|
|
33
|
-
width: options.width,
|
|
34
|
-
minWidth: options.minWidth,
|
|
35
|
-
maxWidth: options.maxWidth,
|
|
36
|
-
}"
|
|
37
|
-
>
|
|
38
|
-
@if (!isHideHeader) {
|
|
39
|
-
<div class="flex items-center border-b px-4 py-2">
|
|
40
|
-
<h2 class="flex-1 font-bold">{{ options.title }}</h2>
|
|
41
|
-
<button <%= name %>Button="ghost" class="-mr-2 !p-2" (click)="close()">
|
|
42
|
-
<<%= name %>-icon name="lucideX" />
|
|
43
|
-
</button>
|
|
44
|
-
</div>
|
|
45
|
-
}
|
|
46
|
-
<div class="h-full overflow-auto p-4">
|
|
47
|
-
<ng-container #myDialog />
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
@if (backdropColor) {
|
|
52
|
-
<div
|
|
53
|
-
class="absolute top-0 -z-10 h-full w-full bg-black bg-opacity-30 will-change-transform"
|
|
54
|
-
[@fadeAnimation]
|
|
55
|
-
(click)="close()"
|
|
56
|
-
></div>
|
|
57
|
-
<!-- [class]="status() ? 'pointer-events-auto' : 'pointer-events-none'" -->
|
|
58
|
-
}
|
|
59
|
-
`,
|
|
60
|
-
host: {
|
|
61
|
-
class: 'fixed block top-0 bottom-0 left-0 right-0 z-p',
|
|
62
|
-
'[@parentAnimation]': '',
|
|
63
|
-
'(@parentAnimation.done)': 'animationDone()',
|
|
64
|
-
},
|
|
65
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
66
|
-
animations: [
|
|
67
|
-
createHostAnimation(['@fadeAnimation', '@sideAnimation']),
|
|
68
|
-
fadeAnimation('300ms'),
|
|
69
|
-
sideAnimation,
|
|
70
|
-
],
|
|
71
|
-
})
|
|
72
|
-
export class SheetContainer extends BaseDialog implements OnDestroy {
|
|
73
|
-
myDialog = viewChild('myDialog', { read: ViewContainerRef });
|
|
74
|
-
backdropColor = true;
|
|
75
|
-
options!: SheetOptions;
|
|
76
|
-
classNames = '';
|
|
77
|
-
isHideHeader = false;
|
|
78
|
-
position = signal<'left' | 'right' | 'center'>('left');
|
|
79
|
-
|
|
80
|
-
constructor() {
|
|
81
|
-
super();
|
|
82
|
-
afterNextRender(() => {
|
|
83
|
-
this._afterViewSource.next(this.myDialog()!);
|
|
84
|
-
this.position.set('center');
|
|
85
|
-
});
|
|
86
|
-
const ref = inject(DialogRef);
|
|
87
|
-
ref.afterClosed.subscribe(() => {
|
|
88
|
-
console.log('afterClosed', this.options.position);
|
|
89
|
-
this.position.set(this.options.position as 'left' | 'right' | 'center');
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
override setOptions(options: SheetOptions): void {
|
|
94
|
-
this.options = options;
|
|
95
|
-
this.classNames = this.options.classNames?.join(' ') || '';
|
|
96
|
-
this.isHideHeader = this.options.header || false;
|
|
97
|
-
this.backdropColor = this.options.backdropColor || true;
|
|
98
|
-
this.position.set(this.options.position as 'left' | 'right' | 'center');
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
ngOnDestroy(): void {
|
|
102
|
-
// this.position.set(this.options.position as 'left' | 'right' | 'center');
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export class SheetOptions extends DialogOptions {
|
|
107
|
-
position?: 'left' | 'right' = 'right';
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export function sheetPortal() {
|
|
111
|
-
const NAME = 'sheet';
|
|
112
|
-
const base = basePortal(NAME, SheetContainer);
|
|
113
|
-
|
|
114
|
-
function open<T>(component: DialogInput, opt?: SheetOptions) {
|
|
115
|
-
const { diaRef } = base.open(
|
|
116
|
-
component,
|
|
117
|
-
comp => {
|
|
118
|
-
const options = { ...new SheetOptions(), ...opt };
|
|
119
|
-
comp.instance.setOptions(options);
|
|
120
|
-
},
|
|
121
|
-
opt,
|
|
122
|
-
);
|
|
123
|
-
|
|
124
|
-
const { afterClosed } = diaRef;
|
|
125
|
-
return { afterClosed };
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function closeAll() {
|
|
129
|
-
base.closeAll();
|
|
130
|
-
}
|
|
131
|
-
return { open, closeAll };
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export type Sheet = ReturnType<typeof sheetPortal>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './sidenav';
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
NgbSidenav,
|
|
4
|
-
NgbSidenavHeader,
|
|
5
|
-
NgbSidenavHeaderContent,
|
|
6
|
-
NgbSidenavHeaderTrack,
|
|
7
|
-
NgbSidenavOverlay,
|
|
8
|
-
provideSidenav,
|
|
9
|
-
slideAnimation,
|
|
10
|
-
SidenavType,
|
|
11
|
-
} from '@ngbase/adk/sidenav';
|
|
12
|
-
|
|
13
|
-
export type { SidenavType };
|
|
14
|
-
|
|
15
|
-
@Component({
|
|
16
|
-
selector: '<%= name %>-sidenav',
|
|
17
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
18
|
-
providers: [provideSidenav(Sidenav)],
|
|
19
|
-
imports: [NgbSidenavOverlay, NgbSidenavHeaderTrack],
|
|
20
|
-
template: `
|
|
21
|
-
@if (showOverlay()) {
|
|
22
|
-
<div ngbSidenavOverlay class="z-p bg-black/70"></div>
|
|
23
|
-
}
|
|
24
|
-
<div ngbSidenavHeaderTrack class="transition-[width] duration-500"></div>
|
|
25
|
-
<ng-content select="<%= name %>-sidenav-header" />
|
|
26
|
-
<ng-content />
|
|
27
|
-
`,
|
|
28
|
-
host: {
|
|
29
|
-
class: 'flex w-full overflow-hidden relative top-0 left-0 h-full',
|
|
30
|
-
},
|
|
31
|
-
})
|
|
32
|
-
export class Sidenav extends NgbSidenav {}
|
|
33
|
-
|
|
34
|
-
@Component({
|
|
35
|
-
selector: '<%= name %>-sidenav-header',
|
|
36
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
37
|
-
imports: [NgbSidenavHeaderContent],
|
|
38
|
-
template: `
|
|
39
|
-
<div ngbSidenavHeaderContent class="h-full overflow-auto">
|
|
40
|
-
<ng-content />
|
|
41
|
-
</div>
|
|
42
|
-
`,
|
|
43
|
-
host: {
|
|
44
|
-
class: 'block h-full bg-foreground z-p transition-[width] duration-500',
|
|
45
|
-
},
|
|
46
|
-
animations: [slideAnimation('500ms cubic-bezier(0.4, 0, 0.2, 1)')],
|
|
47
|
-
})
|
|
48
|
-
export class SidenavHeader extends NgbSidenavHeader {}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './skeleton';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Component, input } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
@Component({
|
|
4
|
-
selector: '<%= name %>-skeleton',
|
|
5
|
-
template: ``,
|
|
6
|
-
host: {
|
|
7
|
-
class: 'block animate-pulse bg-muted-background',
|
|
8
|
-
'[class]': `shape() === 'circle' ? 'rounded-full' : 'rounded-md'`,
|
|
9
|
-
},
|
|
10
|
-
})
|
|
11
|
-
export class Skeleton {
|
|
12
|
-
readonly shape = input<'circle' | 'rectangle'>('rectangle');
|
|
13
|
-
readonly width = input<string>('100%');
|
|
14
|
-
readonly height = input<string>('20px');
|
|
15
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
NgbSlider,
|
|
4
|
-
SliderRange,
|
|
5
|
-
SliderThumb,
|
|
6
|
-
SliderTrack,
|
|
7
|
-
provideSlider,
|
|
8
|
-
} from '@ngbase/adk/slider';
|
|
9
|
-
import { ɵFocusStyle as FocusStyle } from '<%= basepath %>/checkbox';
|
|
10
|
-
|
|
11
|
-
@Component({
|
|
12
|
-
selector: '<%= name %>-slider',
|
|
13
|
-
exportAs: '<%= name %>Slider',
|
|
14
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
|
-
providers: [provideSlider(Slider)],
|
|
16
|
-
imports: [FocusStyle, SliderTrack, SliderRange, SliderThumb],
|
|
17
|
-
template: `
|
|
18
|
-
<div
|
|
19
|
-
ngbSliderTrack
|
|
20
|
-
class="h-full overflow-hidden rounded-full bg-muted-background aria-[disabled=true]:bg-opacity-30"
|
|
21
|
-
>
|
|
22
|
-
<div ngbSliderRange class="bg-primary aria-[disabled=true]:bg-muted-background"></div>
|
|
23
|
-
</div>
|
|
24
|
-
@for (thumb of noOfThumbs(); track thumb) {
|
|
25
|
-
<button
|
|
26
|
-
ngbSliderThumb
|
|
27
|
-
<%= name %>FocusStyle
|
|
28
|
-
class="{{
|
|
29
|
-
'inline-block h-5 w-5 rounded-full border-2 bg-foreground shadow-md aria-[disabled=false]:border-primary aria-[disabled=true]:bg-muted-background ' +
|
|
30
|
-
(orientation() === 'vertical'
|
|
31
|
-
? '-left-1.5 -translate-y-1/2'
|
|
32
|
-
: '-top-1.5 -translate-x-1/2')
|
|
33
|
-
}}"
|
|
34
|
-
></button>
|
|
35
|
-
}
|
|
36
|
-
`,
|
|
37
|
-
host: {
|
|
38
|
-
class: 'block relative my-1',
|
|
39
|
-
'[class]': 'orientation() === "vertical" ? "w-2" : "h-2"',
|
|
40
|
-
},
|
|
41
|
-
})
|
|
42
|
-
export class Slider extends NgbSlider {}
|