@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,13 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { NgbHoverCard } from '@ngbase/adk/hover-card';
|
|
3
|
-
|
|
4
|
-
@Directive({
|
|
5
|
-
selector: '[<%= name %>HoverCard]',
|
|
6
|
-
hostDirectives: [
|
|
7
|
-
{
|
|
8
|
-
directive: NgbHoverCard,
|
|
9
|
-
inputs: ['ngbHoverCard: <%= name %>HoverCard', 'options', 'delay'],
|
|
10
|
-
},
|
|
11
|
-
],
|
|
12
|
-
})
|
|
13
|
-
export class HoverCard<T = any> {}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
-
import { IconType, NgIconComponent } from '@ng-icons/core';
|
|
3
|
-
|
|
4
|
-
@Component({
|
|
5
|
-
selector: '<%= name %>-icon',
|
|
6
|
-
imports: [NgIconComponent],
|
|
7
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8
|
-
template: `<ng-icon [name]="name()" [size]="size()"></ng-icon>`,
|
|
9
|
-
host: {
|
|
10
|
-
class: 'inline-flex items-center justify-center',
|
|
11
|
-
},
|
|
12
|
-
})
|
|
13
|
-
export class Icon {
|
|
14
|
-
readonly name = input.required<IconType>();
|
|
15
|
-
readonly size = input<string>('1rem');
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './icon';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './inline-edit';
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
NgbInlineEdit,
|
|
4
|
-
NgbInlineInput,
|
|
5
|
-
NgbInlineValue,
|
|
6
|
-
provideInlineEdit,
|
|
7
|
-
} from '@ngbase/adk/inline-edit';
|
|
8
|
-
|
|
9
|
-
@Component({
|
|
10
|
-
selector: '<%= name %>-inline-edit',
|
|
11
|
-
imports: [NgbInlineInput, NgbInlineValue],
|
|
12
|
-
providers: [provideInlineEdit(), { provide: NgbInlineEdit, useExisting: InlineEdit }],
|
|
13
|
-
template: `
|
|
14
|
-
@if (isEditing()) {
|
|
15
|
-
<input
|
|
16
|
-
ngbInlineInput
|
|
17
|
-
class="rounded p-1 drop-shadow-md focus:border-transparent focus:outline-none"
|
|
18
|
-
/>
|
|
19
|
-
} @else {
|
|
20
|
-
<div ngbInlineValue class="cursor-pointer p-1">{{ localValue() }}</div>
|
|
21
|
-
}
|
|
22
|
-
`,
|
|
23
|
-
})
|
|
24
|
-
export class InlineEdit extends NgbInlineEdit {}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ChangeDetectionStrategy,
|
|
3
|
-
Component,
|
|
4
|
-
computed,
|
|
5
|
-
effect,
|
|
6
|
-
ElementRef,
|
|
7
|
-
inject,
|
|
8
|
-
Injector,
|
|
9
|
-
input,
|
|
10
|
-
} from '@angular/core';
|
|
11
|
-
import { keyMap } from '@ngbase/adk/keys';
|
|
12
|
-
|
|
13
|
-
@Component({
|
|
14
|
-
selector: '<%= name %>-key, [<%= name %>Key]',
|
|
15
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16
|
-
template: `{{ content() }}`,
|
|
17
|
-
host: {
|
|
18
|
-
class: 'ml-auto text-xs tracking-widest opacity-60 text-muted',
|
|
19
|
-
},
|
|
20
|
-
})
|
|
21
|
-
export class Key {
|
|
22
|
-
readonly el = inject<ElementRef<HTMLButtonElement>>(ElementRef);
|
|
23
|
-
|
|
24
|
-
readonly <%= name %>Key = input.required<string>();
|
|
25
|
-
readonly content = computed(() => {
|
|
26
|
-
return this.<%= name %>Key().replace(/\+/g, ' ');
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
constructor() {
|
|
30
|
-
const injector = inject(Injector);
|
|
31
|
-
effect(cleanup => {
|
|
32
|
-
keyMap(this.<%= name %>Key(), () => this.el.nativeElement.click(), { cleanup, injector });
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { NgbList, NgbListActionGroup, provideList } from '@ngbase/adk/list';
|
|
3
|
-
|
|
4
|
-
@Directive({
|
|
5
|
-
selector: '[<%= name %>ListStyle]',
|
|
6
|
-
host: {
|
|
7
|
-
class:
|
|
8
|
-
'flex items-center gap-2 py-2 px-2 hover:bg-muted-background cursor-pointer rounded-md text-left data-[focus="true"]:bg-muted-background',
|
|
9
|
-
},
|
|
10
|
-
})
|
|
11
|
-
export class ListStyle {}
|
|
12
|
-
|
|
13
|
-
@Directive({
|
|
14
|
-
selector: '[<%= name %>List]',
|
|
15
|
-
hostDirectives: [ListStyle],
|
|
16
|
-
providers: [provideList(List)],
|
|
17
|
-
host: {
|
|
18
|
-
role: 'list',
|
|
19
|
-
'[class]': 'disabled() ? "pointer-events-none cursor-not-allowed opacity-50" : ""',
|
|
20
|
-
},
|
|
21
|
-
})
|
|
22
|
-
export class List extends NgbList {}
|
|
23
|
-
|
|
24
|
-
@Directive({
|
|
25
|
-
selector: '[<%= name %>ActionGroup]',
|
|
26
|
-
hostDirectives: [NgbListActionGroup],
|
|
27
|
-
})
|
|
28
|
-
export class ListActionGroup {}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './mask';
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { NgbContextMenu } from '@ngbase/adk/menu';
|
|
3
|
-
|
|
4
|
-
@Directive({
|
|
5
|
-
selector: '[<%= name %>ContextMenu]',
|
|
6
|
-
hostDirectives: [
|
|
7
|
-
{
|
|
8
|
-
directive: NgbContextMenu,
|
|
9
|
-
inputs: ['ngbContextMenu: <%= name %>ContextMenu'],
|
|
10
|
-
outputs: ['ctxOpen', 'ctxClose'],
|
|
11
|
-
},
|
|
12
|
-
],
|
|
13
|
-
})
|
|
14
|
-
export class ContextMenu {}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { NgbMentionTrigger } from '@ngbase/adk/menu';
|
|
3
|
-
|
|
4
|
-
@Directive({
|
|
5
|
-
selector: '[<%= name %>MentionTrigger]',
|
|
6
|
-
hostDirectives: [
|
|
7
|
-
{
|
|
8
|
-
directive: NgbMentionTrigger,
|
|
9
|
-
inputs: ['ngbMentionTrigger: <%= name %>MentionTrigger', 'key', 'options'],
|
|
10
|
-
outputs: ['search'],
|
|
11
|
-
},
|
|
12
|
-
],
|
|
13
|
-
})
|
|
14
|
-
export class MentionTrigger {}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';
|
|
2
|
-
import { AccessibleGroup } from '@ngbase/adk/a11y';
|
|
3
|
-
import { NgbMenu, NgbMenuTrigger, MenuGroup, provideMenu } from '@ngbase/adk/menu';
|
|
4
|
-
|
|
5
|
-
@Component({
|
|
6
|
-
selector: '<%= name %>-menu',
|
|
7
|
-
exportAs: '<%= name %>Menu',
|
|
8
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
9
|
-
providers: [provideMenu(Menu)],
|
|
10
|
-
imports: [AccessibleGroup, MenuGroup],
|
|
11
|
-
template: `
|
|
12
|
-
<ng-template #container>
|
|
13
|
-
<div ngbMenuGroup class="flex flex-col p-1">
|
|
14
|
-
<ng-content />
|
|
15
|
-
</div>
|
|
16
|
-
</ng-template>
|
|
17
|
-
`,
|
|
18
|
-
})
|
|
19
|
-
export class Menu extends NgbMenu {}
|
|
20
|
-
|
|
21
|
-
@Directive({
|
|
22
|
-
selector: '[<%= name %>MenuTrigger]',
|
|
23
|
-
hostDirectives: [
|
|
24
|
-
{
|
|
25
|
-
directive: NgbMenuTrigger,
|
|
26
|
-
inputs: [
|
|
27
|
-
'ngbMenuTrigger: <%= name %>MenuTrigger',
|
|
28
|
-
'ngbMenuTriggerData: <%= name %>MenuTriggerData',
|
|
29
|
-
'options',
|
|
30
|
-
],
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
host: {
|
|
34
|
-
class: 'outline-none',
|
|
35
|
-
},
|
|
36
|
-
})
|
|
37
|
-
export class MenuTrigger {}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { NgbNavigationMenu } from '@ngbase/adk/menu';
|
|
3
|
-
|
|
4
|
-
@Directive({
|
|
5
|
-
selector: '[<%= name %>NavigationMenu]',
|
|
6
|
-
hostDirectives: [{ directive: NgbNavigationMenu, inputs: ['hover'] }],
|
|
7
|
-
})
|
|
8
|
-
export class NavigationMenu {}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './pagination';
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Component, input } from '@angular/core';
|
|
2
|
-
import { NgbPagination, NgbPaginationBtn } from '@ngbase/adk/pagination';
|
|
3
|
-
import { Button } from '<%= basepath %>/button';
|
|
4
|
-
import { Icon } from '<%= basepath %>/icon';
|
|
5
|
-
import { Option, Select } from '<%= basepath %>/select';
|
|
6
|
-
import { provideIcons } from '@ng-icons/core';
|
|
7
|
-
import {
|
|
8
|
-
lucideChevronLeft,
|
|
9
|
-
lucideChevronRight,
|
|
10
|
-
lucideChevronsLeft,
|
|
11
|
-
lucideChevronsRight,
|
|
12
|
-
} from '@ng-icons/lucide';
|
|
13
|
-
|
|
14
|
-
@Component({
|
|
15
|
-
selector: '<%= name %>-pagination',
|
|
16
|
-
providers: [{ provide: NgbPagination, useExisting: Pagination }],
|
|
17
|
-
viewProviders: [
|
|
18
|
-
provideIcons({
|
|
19
|
-
lucideChevronLeft,
|
|
20
|
-
lucideChevronRight,
|
|
21
|
-
lucideChevronsLeft,
|
|
22
|
-
lucideChevronsRight,
|
|
23
|
-
}),
|
|
24
|
-
],
|
|
25
|
-
imports: [Button, Icon, Select, Option, NgbPaginationBtn],
|
|
26
|
-
template: `
|
|
27
|
-
<div class="flex items-center gap-2">
|
|
28
|
-
<div>Rows per page</div>
|
|
29
|
-
<<%= name %>-select [value]="size()" (valueChange)="sizeChanged($event)" class="w-20 !py-1.5">
|
|
30
|
-
@for (size of sizeOptions(); track size) {
|
|
31
|
-
<<%= name %>-option [value]="size">
|
|
32
|
-
{{ size }}
|
|
33
|
-
</<%= name %>-option>
|
|
34
|
-
}
|
|
35
|
-
</<%= name %>-select>
|
|
36
|
-
</div>
|
|
37
|
-
<div>Page {{ active() }} of {{ totalSnaps() }}</div>
|
|
38
|
-
<div class="flex items-center gap-2">
|
|
39
|
-
<button ngbPaginationBtn="prev" <%= name %>Button="outline" class="h-8 w-8 !p-2">
|
|
40
|
-
<<%= name %>-icon name="lucideChevronsLeft" />
|
|
41
|
-
</button>
|
|
42
|
-
<button ngbPaginationBtn="prev" jump="-1" <%= name %>Button="outline" class="h-8 w-8 !p-2">
|
|
43
|
-
<<%= name %>-icon name="lucideChevronLeft" />
|
|
44
|
-
</button>
|
|
45
|
-
@if (showPage()) {
|
|
46
|
-
@for (snap of snaps(); track snap) {
|
|
47
|
-
<button
|
|
48
|
-
ngbPaginationBtn="page"
|
|
49
|
-
[jump]="snap"
|
|
50
|
-
<%= name %>Button="ghost"
|
|
51
|
-
class="min-w-9 !p-2 ring-offset-background aria-[current=page]:bg-muted-background aria-[current=page]:text-primary"
|
|
52
|
-
>
|
|
53
|
-
{{ snap }}
|
|
54
|
-
</button>
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
<button ngbPaginationBtn="next" jump="1" <%= name %>Button="outline" class="h-8 w-8 !p-2">
|
|
58
|
-
<<%= name %>-icon name="lucideChevronRight" />
|
|
59
|
-
</button>
|
|
60
|
-
<button ngbPaginationBtn="next" <%= name %>Button="outline" class="h-8 w-8 !p-2">
|
|
61
|
-
<<%= name %>-icon name="lucideChevronsRight" />
|
|
62
|
-
</button>
|
|
63
|
-
</div>
|
|
64
|
-
`,
|
|
65
|
-
host: {
|
|
66
|
-
class: 'flex items-center gap-8 font-semibold',
|
|
67
|
-
},
|
|
68
|
-
})
|
|
69
|
-
export class Pagination extends NgbPagination {
|
|
70
|
-
readonly showPage = input<boolean>(false);
|
|
71
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './picasa.directive';
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
afterNextRender,
|
|
3
|
-
ChangeDetectionStrategy,
|
|
4
|
-
Component,
|
|
5
|
-
viewChild,
|
|
6
|
-
ViewContainerRef,
|
|
7
|
-
} from '@angular/core';
|
|
8
|
-
import { BaseDialog, DialogOptions } from '@ngbase/adk/portal';
|
|
9
|
-
import { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';
|
|
10
|
-
import { Subject } from 'rxjs';
|
|
11
|
-
|
|
12
|
-
@Component({
|
|
13
|
-
selector: '<%= name %>-dialog',
|
|
14
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
|
-
template: `
|
|
16
|
-
<div class="pointer-events-none flex h-full items-center justify-center">
|
|
17
|
-
<div class="pointer-events-auto">
|
|
18
|
-
<ng-container #myDialog />
|
|
19
|
-
</div>
|
|
20
|
-
<div
|
|
21
|
-
class="backdropColor pointer-events-auto absolute top-0 -z-10 h-full w-full"
|
|
22
|
-
(click)="!options.disableClose && close()"
|
|
23
|
-
[@fadeAnimation]=""
|
|
24
|
-
></div>
|
|
25
|
-
</div>
|
|
26
|
-
`,
|
|
27
|
-
host: {
|
|
28
|
-
'[ngStyle]': '{ "z-index": options.overrideLowerDialog ? "982" : "980" }',
|
|
29
|
-
class: 'fixed block top-0 bottom-0 left-0 right-0 overflow-auto pointer-events-none z-p',
|
|
30
|
-
'[@parentAnimation]': '',
|
|
31
|
-
},
|
|
32
|
-
styles: `
|
|
33
|
-
.backdropColor {
|
|
34
|
-
background: rgba(0, 0, 0, 0.32);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.full-window {
|
|
38
|
-
width: 100vw !important;
|
|
39
|
-
height: 100vh;
|
|
40
|
-
max-width: initial;
|
|
41
|
-
top: 0;
|
|
42
|
-
border-radius: 0;
|
|
43
|
-
}
|
|
44
|
-
`,
|
|
45
|
-
animations: [createHostAnimation(['@fadeAnimation']), fadeAnimation('300ms')],
|
|
46
|
-
})
|
|
47
|
-
export class PicasaBase extends BaseDialog {
|
|
48
|
-
myDialog = viewChild('myDialog', { read: ViewContainerRef });
|
|
49
|
-
|
|
50
|
-
backdropColor = true;
|
|
51
|
-
isSidePopup = true;
|
|
52
|
-
|
|
53
|
-
options!: DialogOptions;
|
|
54
|
-
classNames = '';
|
|
55
|
-
isHideHeader = false;
|
|
56
|
-
onDone = new Subject<any>();
|
|
57
|
-
|
|
58
|
-
constructor() {
|
|
59
|
-
super();
|
|
60
|
-
afterNextRender(() => {
|
|
61
|
-
this._afterViewSource.next(this.myDialog()!);
|
|
62
|
-
|
|
63
|
-
// setTimeout(() => {
|
|
64
|
-
// this.show.set(false);
|
|
65
|
-
// }, 2000);
|
|
66
|
-
});
|
|
67
|
-
// this.dialogRef.afterClosed.subscribe(() => {
|
|
68
|
-
// setTimeout(() => {
|
|
69
|
-
// this.animationDone();
|
|
70
|
-
// }, 500);
|
|
71
|
-
// });
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
override setOptions(options: DialogOptions) {
|
|
75
|
-
this.options = options;
|
|
76
|
-
this.classNames = this.options.classNames?.join(' ') || '';
|
|
77
|
-
this.isHideHeader = this.options.header || false;
|
|
78
|
-
this.backdropColor = this.options.backdropColor || true;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, afterNextRender, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { DialogRef } from '@ngbase/adk/portal';
|
|
3
|
-
import { PicasaBase } from './picasa-base.component';
|
|
4
|
-
|
|
5
|
-
@Component({
|
|
6
|
-
selector: '<%= name %>-picasa',
|
|
7
|
-
template: `
|
|
8
|
-
<img
|
|
9
|
-
#imgEl
|
|
10
|
-
[src]="data.data.src"
|
|
11
|
-
alt="Placeholder"
|
|
12
|
-
class="max-h-[100vh] max-w-[100vw] object-contain"
|
|
13
|
-
[style.viewTransitionName]="data.data.id"
|
|
14
|
-
/>
|
|
15
|
-
`,
|
|
16
|
-
host: {
|
|
17
|
-
class: 'block',
|
|
18
|
-
},
|
|
19
|
-
})
|
|
20
|
-
export class PicasaContainer {
|
|
21
|
-
data = inject(DialogRef);
|
|
22
|
-
imgEl = viewChild<ElementRef<HTMLImageElement>>('imgEl');
|
|
23
|
-
dialogRef = inject(DialogRef);
|
|
24
|
-
picasa = inject(PicasaBase);
|
|
25
|
-
|
|
26
|
-
constructor() {
|
|
27
|
-
let transform = '';
|
|
28
|
-
afterNextRender(() => {
|
|
29
|
-
const imgEl = this.imgEl()!.nativeElement;
|
|
30
|
-
const target = this.data.data.target as HTMLElement;
|
|
31
|
-
const { width, height, top, left } = target.getBoundingClientRect();
|
|
32
|
-
const { clientWidth, clientHeight } = document.documentElement;
|
|
33
|
-
const imgRect = imgEl.getBoundingClientRect();
|
|
34
|
-
const scale = Math.max(width / imgRect.width, height / imgRect.height);
|
|
35
|
-
imgEl.style.transform = `scale(${scale})`;
|
|
36
|
-
const x = left + width / 2 - clientWidth / 2;
|
|
37
|
-
const y = top + height / 2 - clientHeight / 2;
|
|
38
|
-
transform = `translate3d(${x}px, ${y}px, 0) scale(${scale})`;
|
|
39
|
-
imgEl.style.transform = transform;
|
|
40
|
-
console.log(transform);
|
|
41
|
-
setTimeout(() => {
|
|
42
|
-
imgEl.style.transition = '300ms cubic-bezier(0.55, 0.31, 0.15, 0.93)';
|
|
43
|
-
imgEl.style.transform = `none`;
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
this.dialogRef.afterClosed.subscribe(() => {
|
|
48
|
-
const imgEl = this.imgEl()!.nativeElement;
|
|
49
|
-
imgEl.style.transition = '300ms cubic-bezier(0.55, 0.31, 0.15, 0.93)';
|
|
50
|
-
imgEl.style.transform = transform;
|
|
51
|
-
console.log(transform);
|
|
52
|
-
imgEl.addEventListener('transitionend', this.picasa.onClose, {
|
|
53
|
-
once: true,
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, contentChildren, inject, input } from '@angular/core';
|
|
2
|
-
import { PicasaContainer } from './picasa.component';
|
|
3
|
-
import { picasaPortal } from './picase.service';
|
|
4
|
-
|
|
5
|
-
@Directive({
|
|
6
|
-
selector: '[<%= name %>Picasa]',
|
|
7
|
-
})
|
|
8
|
-
export class Picasa {
|
|
9
|
-
dialog = picasaPortal();
|
|
10
|
-
items = contentChildren(PicasaItem);
|
|
11
|
-
|
|
12
|
-
open(src: string, id: string, target: HTMLElement) {
|
|
13
|
-
this.dialog.open(PicasaContainer, {
|
|
14
|
-
data: { src, id, target },
|
|
15
|
-
classNames: ['bg-transparent', 'border-0', 'shadow-none'],
|
|
16
|
-
height: '100vh',
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
@Directive({
|
|
22
|
-
selector: 'img[<%= name %>PicasaItem]',
|
|
23
|
-
host: {
|
|
24
|
-
'(click)': 'open()',
|
|
25
|
-
'[style.viewTransitionName]': 'id',
|
|
26
|
-
},
|
|
27
|
-
})
|
|
28
|
-
export class PicasaItem {
|
|
29
|
-
picasa = inject(Picasa);
|
|
30
|
-
src = input.required<string>();
|
|
31
|
-
el = inject<ElementRef<HTMLElement>>(ElementRef);
|
|
32
|
-
id = 'generateId()';
|
|
33
|
-
|
|
34
|
-
constructor() {
|
|
35
|
-
(this.el.nativeElement.style as any).viewTransitionName = this.id;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
open() {
|
|
39
|
-
this.picasa.open(this.src(), this.id, this.el.nativeElement);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { basePortal, DialogInput, DialogOptions } from '@ngbase/adk/portal';
|
|
2
|
-
import { PicasaBase } from './picasa-base.component';
|
|
3
|
-
|
|
4
|
-
export function picasaPortal() {
|
|
5
|
-
const NAME = 'picasa';
|
|
6
|
-
const base = basePortal(NAME, PicasaBase);
|
|
7
|
-
|
|
8
|
-
function open<T>(component: DialogInput, opt?: DialogOptions) {
|
|
9
|
-
const { diaRef } = base.open(
|
|
10
|
-
component,
|
|
11
|
-
(comp, options) => {
|
|
12
|
-
comp.instance.setOptions(options);
|
|
13
|
-
},
|
|
14
|
-
opt,
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
return diaRef;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function closeAll() {
|
|
21
|
-
base.closeAll();
|
|
22
|
-
}
|
|
23
|
-
return { open, closeAll };
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './popover';
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
NgbPopover,
|
|
4
|
-
NgbPopoverBackdrop,
|
|
5
|
-
NgbPopoverClose,
|
|
6
|
-
NgbPopoverMain,
|
|
7
|
-
ngbPopoverPortal,
|
|
8
|
-
NgbPopoverTrigger,
|
|
9
|
-
providePopover,
|
|
10
|
-
registerNgbPopover,
|
|
11
|
-
} from '@ngbase/adk/popover';
|
|
12
|
-
|
|
13
|
-
@Component({
|
|
14
|
-
selector: '<%= name %>-popover',
|
|
15
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16
|
-
providers: [providePopover(Popover)],
|
|
17
|
-
imports: [NgbPopoverBackdrop, NgbPopoverMain],
|
|
18
|
-
template: ` <style>
|
|
19
|
-
.popover-anchor {
|
|
20
|
-
--action-angle: 180deg;
|
|
21
|
-
--action-left: 50%;
|
|
22
|
-
--action-top: -1rem;
|
|
23
|
-
}
|
|
24
|
-
.popover-anchor::before {
|
|
25
|
-
content: '';
|
|
26
|
-
position: absolute;
|
|
27
|
-
width: 0;
|
|
28
|
-
height: 0;
|
|
29
|
-
border-style: solid;
|
|
30
|
-
border-top: 0.8rem solid;
|
|
31
|
-
@apply border-foreground;
|
|
32
|
-
border-left: 0.5rem solid transparent;
|
|
33
|
-
border-right: 0.5rem solid transparent;
|
|
34
|
-
top: var(--action-top);
|
|
35
|
-
left: var(--action-left);
|
|
36
|
-
transform: translateX(-50%) rotate(var(--action-angle, 180deg));
|
|
37
|
-
}
|
|
38
|
-
</style>
|
|
39
|
-
<div
|
|
40
|
-
ngbPopoverMain
|
|
41
|
-
[@slideInOutAnimation]
|
|
42
|
-
class="{{
|
|
43
|
-
'menu-container pointer-events-auto fixed z-10 flex flex-col rounded-lg border bg-foreground shadow-md ' +
|
|
44
|
-
(options().anchor ? 'popover-anchor ' : 'overflow-auto ')
|
|
45
|
-
}}"
|
|
46
|
-
>
|
|
47
|
-
<div class="flex flex-1 flex-col overflow-auto">
|
|
48
|
-
<ng-container #myDialog />
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
@if (options().backdrop) {
|
|
52
|
-
<div ngbPopoverBackdrop class="pointer-events-auto fixed top-0 h-full w-full"></div>
|
|
53
|
-
}`,
|
|
54
|
-
host: {
|
|
55
|
-
class:
|
|
56
|
-
'fixed top-0 left-0 w-full h-full pointer-events-none z-p flex items-center justify-center',
|
|
57
|
-
},
|
|
58
|
-
})
|
|
59
|
-
class Popover extends NgbPopover {}
|
|
60
|
-
|
|
61
|
-
export function registerPopover() {
|
|
62
|
-
return registerNgbPopover(Popover);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export const popoverPortal = ngbPopoverPortal;
|
|
66
|
-
|
|
67
|
-
@Directive({
|
|
68
|
-
selector: '[<%= name %>PopoverTrigger]',
|
|
69
|
-
hostDirectives: [
|
|
70
|
-
{
|
|
71
|
-
directive: NgbPopoverTrigger,
|
|
72
|
-
inputs: [
|
|
73
|
-
'ngbPopoverTrigger: <%= name %>PopoverTrigger',
|
|
74
|
-
'ngbPopoverTriggerData: <%= name %>PopoverTriggerData',
|
|
75
|
-
'options',
|
|
76
|
-
],
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
providers: [registerPopover()],
|
|
80
|
-
})
|
|
81
|
-
export class PopoverTrigger {}
|
|
82
|
-
|
|
83
|
-
@Directive({
|
|
84
|
-
selector: '[<%= name %>PopoverClose]',
|
|
85
|
-
hostDirectives: [NgbPopoverClose],
|
|
86
|
-
})
|
|
87
|
-
export class PopoverClose {}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { NgbProgress, NgbProgressBar } from '@ngbase/adk/progress';
|
|
3
|
-
|
|
4
|
-
@Component({
|
|
5
|
-
selector: '<%= name %>-progress',
|
|
6
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7
|
-
hostDirectives: [{ directive: NgbProgress, inputs: ['value'] }],
|
|
8
|
-
imports: [NgbProgressBar],
|
|
9
|
-
template: `<div class="h-full bg-primary transition" ngbProgressBar></div>`,
|
|
10
|
-
host: {
|
|
11
|
-
class: 'block h-2 my-1 bg-muted-background rounded-full',
|
|
12
|
-
},
|
|
13
|
-
})
|
|
14
|
-
export class Progress {}
|