@ngbase/adk 0.1.2 → 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.
Files changed (203) hide show
  1. package/a11y/accessibility-group.d.ts +2 -5
  2. package/accordion/accordion-item.d.ts +3 -1
  3. package/autocomplete/autocomplete-input.d.ts +2 -4
  4. package/autocomplete/autocomplete.d.ts +12 -3
  5. package/carousel/carousel.d.ts +2 -2
  6. package/checkbox/checkbox.d.ts +11 -3
  7. package/checkbox/public-api.d.ts +1 -1
  8. package/datepicker/datepicker-trigger.d.ts +22 -5
  9. package/datepicker/datepicker.d.ts +2 -1
  10. package/drag/drag.d.ts +1 -2
  11. package/fesm2022/ngbase-adk-a11y.mjs +29 -26
  12. package/fesm2022/ngbase-adk-a11y.mjs.map +1 -1
  13. package/fesm2022/ngbase-adk-accordion.mjs +12 -2
  14. package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
  15. package/fesm2022/ngbase-adk-autocomplete.mjs +18 -18
  16. package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
  17. package/fesm2022/ngbase-adk-carousel.mjs +5 -5
  18. package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
  19. package/fesm2022/ngbase-adk-checkbox.mjs +8 -6
  20. package/fesm2022/ngbase-adk-checkbox.mjs.map +1 -1
  21. package/fesm2022/ngbase-adk-datepicker.mjs +76 -25
  22. package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
  23. package/fesm2022/ngbase-adk-dialog.mjs +3 -3
  24. package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
  25. package/fesm2022/ngbase-adk-drag.mjs +1 -2
  26. package/fesm2022/ngbase-adk-drag.mjs.map +1 -1
  27. package/fesm2022/ngbase-adk-list.mjs +2 -2
  28. package/fesm2022/ngbase-adk-list.mjs.map +1 -1
  29. package/fesm2022/ngbase-adk-mask.mjs +5 -3
  30. package/fesm2022/ngbase-adk-mask.mjs.map +1 -1
  31. package/fesm2022/ngbase-adk-menu.mjs +22 -7
  32. package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
  33. package/fesm2022/ngbase-adk-pagination.mjs +3 -3
  34. package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
  35. package/fesm2022/ngbase-adk-popover.mjs +25 -22
  36. package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
  37. package/fesm2022/ngbase-adk-portal.mjs +5 -9
  38. package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
  39. package/fesm2022/ngbase-adk-radio.mjs +6 -3
  40. package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
  41. package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
  42. package/fesm2022/ngbase-adk-select.mjs +21 -13
  43. package/fesm2022/ngbase-adk-select.mjs.map +1 -1
  44. package/fesm2022/ngbase-adk-slider.mjs +4 -1
  45. package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
  46. package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
  47. package/fesm2022/ngbase-adk-table.mjs +8 -6
  48. package/fesm2022/ngbase-adk-table.mjs.map +1 -1
  49. package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
  50. package/fesm2022/ngbase-adk-test.mjs +11 -1
  51. package/fesm2022/ngbase-adk-test.mjs.map +1 -1
  52. package/fesm2022/ngbase-adk-tour.mjs +2 -2
  53. package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
  54. package/fesm2022/ngbase-adk-utils.mjs +12 -9
  55. package/fesm2022/ngbase-adk-utils.mjs.map +1 -1
  56. package/mask/mask.d.ts +1 -2
  57. package/menu/menu-trigger.d.ts +1 -1
  58. package/menu/menu.d.ts +8 -2
  59. package/package.json +11 -11
  60. package/pagination/pagination.d.ts +3 -3
  61. package/popover/base-popover.service.d.ts +1 -1
  62. package/popover/popover.d.ts +5 -4
  63. package/portal/portal-base.service.d.ts +3 -3
  64. package/portal/portal-close.directive.d.ts +3 -2
  65. package/radio/radio.d.ts +5 -1
  66. package/select/option.d.ts +1 -1
  67. package/select/select-base.d.ts +8 -6
  68. package/select/select.d.ts +5 -2
  69. package/slider/slider.d.ts +1 -0
  70. package/table/table.d.ts +2 -2
  71. package/test/utils.d.ts +19 -3
  72. package/utils/utils.d.ts +5 -4
  73. package/schematics/collection.json +0 -15
  74. package/schematics/components/files/accordion/accordion.ts.template +0 -53
  75. package/schematics/components/files/accordion/index.ts.template +0 -5
  76. package/schematics/components/files/alert/alert.ts.template +0 -62
  77. package/schematics/components/files/alert/index.ts.template +0 -1
  78. package/schematics/components/files/autocomplete/autocomplete.ts.template +0 -44
  79. package/schematics/components/files/autocomplete/index.ts.template +0 -5
  80. package/schematics/components/files/avatar/avatar.ts.template +0 -31
  81. package/schematics/components/files/avatar/index.ts.template +0 -1
  82. package/schematics/components/files/badge/badge.ts.template +0 -11
  83. package/schematics/components/files/badge/index.ts.template +0 -1
  84. package/schematics/components/files/breadcrumb/breadcrumb.ts.template +0 -49
  85. package/schematics/components/files/breadcrumb/index.ts.template +0 -1
  86. package/schematics/components/files/button/button.ts.template +0 -29
  87. package/schematics/components/files/button/index.ts.template +0 -5
  88. package/schematics/components/files/card/card.ts.template +0 -11
  89. package/schematics/components/files/card/index.ts.template +0 -5
  90. package/schematics/components/files/carousel/carousel.ts.template +0 -44
  91. package/schematics/components/files/carousel/index.ts.template +0 -1
  92. package/schematics/components/files/checkbox/checkbox.ts.template +0 -46
  93. package/schematics/components/files/checkbox/focus-style.directive.ts.template +0 -12
  94. package/schematics/components/files/checkbox/index.ts.template +0 -6
  95. package/schematics/components/files/chip/chip.ts.template +0 -36
  96. package/schematics/components/files/chip/index.ts.template +0 -1
  97. package/schematics/components/files/color-picker/color-picker.ts.template +0 -104
  98. package/schematics/components/files/color-picker/index.ts.template +0 -5
  99. package/schematics/components/files/command/command.ts.template +0 -82
  100. package/schematics/components/files/command/index.ts.template +0 -1
  101. package/schematics/components/files/datepicker/calendar.ts.template +0 -117
  102. package/schematics/components/files/datepicker/datepicker.ts.template +0 -58
  103. package/schematics/components/files/datepicker/index.ts.template +0 -2
  104. package/schematics/components/files/datepicker/time.ts.template +0 -54
  105. package/schematics/components/files/dialog/dialog.ts.template +0 -89
  106. package/schematics/components/files/dialog/index.ts.template +0 -5
  107. package/schematics/components/files/drawer/drawer.ts.template +0 -104
  108. package/schematics/components/files/drawer/index.ts.template +0 -5
  109. package/schematics/components/files/form-field/form-field.ts.template +0 -111
  110. package/schematics/components/files/form-field/index.ts.template +0 -6
  111. package/schematics/components/files/form-field/input-style.directive.ts.template +0 -11
  112. package/schematics/components/files/hover-card/hover-card.ts.template +0 -13
  113. package/schematics/components/files/hover-card/index.ts.template +0 -5
  114. package/schematics/components/files/icon/icon.ts.template +0 -16
  115. package/schematics/components/files/icon/index.ts.template +0 -1
  116. package/schematics/components/files/inline-edit/index.ts.template +0 -1
  117. package/schematics/components/files/inline-edit/inline-edit.ts.template +0 -24
  118. package/schematics/components/files/keys/index.ts.template +0 -5
  119. package/schematics/components/files/keys/key.ts.template +0 -35
  120. package/schematics/components/files/list/index.ts.template +0 -5
  121. package/schematics/components/files/list/list.ts.template +0 -28
  122. package/schematics/components/files/mask/index.ts.template +0 -1
  123. package/schematics/components/files/mask/mask.ts.template +0 -8
  124. package/schematics/components/files/menu/context-menu.ts.template +0 -14
  125. package/schematics/components/files/menu/index.ts.template +0 -8
  126. package/schematics/components/files/menu/mention.ts.template +0 -14
  127. package/schematics/components/files/menu/menu.ts.template +0 -37
  128. package/schematics/components/files/menu/navigation-menu.ts.template +0 -8
  129. package/schematics/components/files/otp/index.ts.template +0 -5
  130. package/schematics/components/files/otp/otp.ts.template +0 -37
  131. package/schematics/components/files/pagination/index.ts.template +0 -1
  132. package/schematics/components/files/pagination/pagination.ts.template +0 -71
  133. package/schematics/components/files/picasa/index.ts.template +0 -1
  134. package/schematics/components/files/picasa/picasa-base.component.ts.template +0 -80
  135. package/schematics/components/files/picasa/picasa.component.ts.template +0 -57
  136. package/schematics/components/files/picasa/picasa.directive.ts.template +0 -41
  137. package/schematics/components/files/picasa/picase.service.ts.template +0 -24
  138. package/schematics/components/files/popover/index.ts.template +0 -1
  139. package/schematics/components/files/popover/popover.ts.template +0 -64
  140. package/schematics/components/files/progress/index.ts.template +0 -5
  141. package/schematics/components/files/progress/progress.ts.template +0 -14
  142. package/schematics/components/files/radio/index.ts.template +0 -5
  143. package/schematics/components/files/radio/radio.ts.template +0 -35
  144. package/schematics/components/files/resizable/index.ts.template +0 -5
  145. package/schematics/components/files/resizable/resizable.ts.template +0 -56
  146. package/schematics/components/files/scroll-area/index.ts.template +0 -1
  147. package/schematics/components/files/scroll-area/scroll-area.ts.template +0 -40
  148. package/schematics/components/files/select/index.ts.template +0 -8
  149. package/schematics/components/files/select/list-selection.ts.template +0 -15
  150. package/schematics/components/files/select/option.ts.template +0 -35
  151. package/schematics/components/files/select/select-input.ts.template +0 -21
  152. package/schematics/components/files/select/select.ts.template +0 -96
  153. package/schematics/components/files/selectable/index.ts.template +0 -1
  154. package/schematics/components/files/selectable/selectable.ts.template +0 -34
  155. package/schematics/components/files/separator/index.ts.template +0 -5
  156. package/schematics/components/files/separator/separator.ts.template +0 -19
  157. package/schematics/components/files/sheet/index.ts.template +0 -5
  158. package/schematics/components/files/sheet/sheet.ts.template +0 -69
  159. package/schematics/components/files/sidenav/index.ts.template +0 -1
  160. package/schematics/components/files/sidenav/sidenav.ts.template +0 -48
  161. package/schematics/components/files/skeleton/index.ts.template +0 -1
  162. package/schematics/components/files/skeleton/skeleton.ts.template +0 -15
  163. package/schematics/components/files/slider/index.ts.template +0 -5
  164. package/schematics/components/files/slider/slider.ts.template +0 -35
  165. package/schematics/components/files/sonner/index.ts.template +0 -5
  166. package/schematics/components/files/sonner/sonner.ts.template +0 -59
  167. package/schematics/components/files/spinner/index.ts.template +0 -1
  168. package/schematics/components/files/spinner/spinner.ts.template +0 -79
  169. package/schematics/components/files/stepper/index.ts.template +0 -1
  170. package/schematics/components/files/stepper/stepper.ts.template +0 -88
  171. package/schematics/components/files/switch/index.ts.template +0 -5
  172. package/schematics/components/files/switch/switch.ts.template +0 -29
  173. package/schematics/components/files/table/body-cell.ts.template +0 -19
  174. package/schematics/components/files/table/body-row.ts.template +0 -21
  175. package/schematics/components/files/table/column.ts.template +0 -8
  176. package/schematics/components/files/table/head-cell.ts.template +0 -19
  177. package/schematics/components/files/table/head-row.ts.template +0 -27
  178. package/schematics/components/files/table/index.ts.template +0 -26
  179. package/schematics/components/files/table/table.ts.template +0 -20
  180. package/schematics/components/files/tabs/index.ts.template +0 -5
  181. package/schematics/components/files/tabs/tab.ts.template +0 -92
  182. package/schematics/components/files/theme/index.ts.template +0 -2
  183. package/schematics/components/files/theme/theme-button.component.ts.template +0 -26
  184. package/schematics/components/files/theme/theme.service.ts.template +0 -33
  185. package/schematics/components/files/toggle/index.ts.template +0 -5
  186. package/schematics/components/files/toggle/toggle.ts.template +0 -13
  187. package/schematics/components/files/toggle-group/index.ts.template +0 -5
  188. package/schematics/components/files/toggle-group/toggle-group.ts.template +0 -25
  189. package/schematics/components/files/tooltip/index.ts.template +0 -5
  190. package/schematics/components/files/tooltip/tooltip.ts.template +0 -45
  191. package/schematics/components/files/tour/index.ts.template +0 -1
  192. package/schematics/components/files/tour/tour.ts.template +0 -19
  193. package/schematics/components/files/tree/index.ts.template +0 -1
  194. package/schematics/components/files/tree/tree.ts.template +0 -66
  195. package/schematics/components/index.d.ts +0 -3
  196. package/schematics/components/index.js +0 -17
  197. package/schematics/components/index.js.map +0 -1
  198. package/schematics/components/index.ts +0 -29
  199. package/schematics/components/schema.d.ts +0 -6
  200. package/schematics/components/schema.js +0 -3
  201. package/schematics/components/schema.js.map +0 -1
  202. package/schematics/components/schema.json +0 -145
  203. package/schematics/components/schema.ts +0 -6
@@ -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,8 +0,0 @@
1
- /*
2
- * Public API Surface of select
3
- */
4
-
5
- export * from './select';
6
- export * from './option';
7
- export * from './select-input';
8
- export * from './list-selection';
@@ -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,35 +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: 'outline-none',
17
- '[class.bg-muted-background]': 'option.active() || option.checked()',
18
- },
19
- })
20
- export class Option<T> {
21
- readonly option = inject(NgbOption<T>);
22
- }
23
-
24
- @Component({
25
- selector: '<%= name %>-option-group, [<%= name %>OptionGroup]',
26
- changeDetection: ChangeDetectionStrategy.OnPush,
27
- template: `<div class="sticky -top-1 z-10 bg-foreground px-2 py-1.5 text-sm text-muted">
28
- {{ label() }}
29
- </div>
30
- <ng-content />`,
31
- host: {
32
- class: 'block',
33
- },
34
- })
35
- 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 { Icon } from '<%= basepath %>/icon';
5
- import { provideIcons } from '@ng-icons/core';
6
- import { lucideChevronsUpDown } from '@ng-icons/lucide';
7
- import {
8
- aliasSelect,
9
- NgbSelect,
10
- NgbSelectOption,
11
- NgbSelectOptionGroup,
12
- SelectValue,
13
- } from '@ngbase/adk/select';
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: [aliasSelect(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 gap-1 whitespace-nowrap text-left outline-none"
42
- >
43
- <!-- Prefix template -->
44
- <ng-content select=".select-prefix" />
45
-
46
- <span class="flex-1 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 outline-none',
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,5 +0,0 @@
1
- /*
2
- * Public API Surface of separator
3
- */
4
-
5
- export * from './separator';
@@ -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,5 +0,0 @@
1
- /*
2
- * Public API Surface of sheet
3
- */
4
-
5
- export * from './sheet';
@@ -1,69 +0,0 @@
1
- import { NgStyle } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { Button } from '<%= basepath %>/button';
4
- import { Icon } from '<%= basepath %>/icon';
5
- import { provideIcons } from '@ng-icons/core';
6
- import { lucideX } from '@ng-icons/lucide';
7
- import { sideAnimation } from '@ngbase/adk/dialog';
8
- import { NgbSheet, NgbSheetContainer, ngbSheetPortal } from '@ngbase/adk/sheet';
9
- import { aliasSheet } from '@ngbase/adk/sheet';
10
- import { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';
11
-
12
- @Component({
13
- selector: '<%= name %>-sheet',
14
- changeDetection: ChangeDetectionStrategy.OnPush,
15
- providers: [aliasSheet(SheetContainer)],
16
- viewProviders: [provideIcons({ lucideX })],
17
- imports: [NgStyle, Button, Icon],
18
- template: `
19
- <div
20
- class="pointer-events-none flex h-full"
21
- [class]="options.position === 'left' ? 'justify-start' : 'justify-end'"
22
- >
23
- <div
24
- class="pointer-events-auto m-2 flex flex-col overflow-hidden rounded-lg border-l bg-foreground shadow-2xl will-change-transform"
25
- [@sideAnimation]="position()"
26
- [ngStyle]="{
27
- width: options.width,
28
- minWidth: options.minWidth,
29
- maxWidth: options.maxWidth,
30
- }"
31
- >
32
- @if (!isHideHeader) {
33
- <div class="flex items-center border-b px-4 py-2">
34
- <h2 class="flex-1 font-bold">{{ options.title }}</h2>
35
- <button <%= name %>Button="ghost" class="-mr-2 !p-2" (click)="close()">
36
- <<%= name %>-icon name="lucideX" />
37
- </button>
38
- </div>
39
- }
40
- <div class="h-full overflow-auto p-4">
41
- <ng-container #myDialog />
42
- </div>
43
- </div>
44
- </div>
45
- @if (backdropColor) {
46
- <div
47
- class="absolute top-0 -z-10 h-full w-full bg-black bg-opacity-30 will-change-transform"
48
- [@fadeAnimation]
49
- (click)="close()"
50
- ></div>
51
- <!-- [class]="status() ? 'pointer-events-auto' : 'pointer-events-none'" -->
52
- }
53
- `,
54
- host: {
55
- class: 'fixed block top-0 bottom-0 left-0 right-0 z-p',
56
- },
57
- animations: [
58
- createHostAnimation(['@fadeAnimation', '@sideAnimation']),
59
- fadeAnimation('300ms'),
60
- sideAnimation,
61
- ],
62
- })
63
- export class SheetContainer extends NgbSheetContainer {}
64
-
65
- export function sheetPortal() {
66
- return ngbSheetPortal(SheetContainer);
67
- }
68
-
69
- export type Sheet = NgbSheet;
@@ -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
- SidenavType,
9
- aliasSidenav,
10
- slideAnimation,
11
- } from '@ngbase/adk/sidenav';
12
-
13
- export type { SidenavType };
14
-
15
- @Component({
16
- selector: '<%= name %>-sidenav',
17
- changeDetection: ChangeDetectionStrategy.OnPush,
18
- providers: [aliasSidenav(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,5 +0,0 @@
1
- /*
2
- * Public API Surface of slider
3
- */
4
-
5
- export * from './slider';
@@ -1,35 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { NgbSlider, SliderRange, SliderThumb, SliderTrack, aliasSlider } from '@ngbase/adk/slider';
3
- import { ɵFocusStyle as FocusStyle } from '<%= basepath %>/checkbox';
4
-
5
- @Component({
6
- selector: '<%= name %>-slider',
7
- exportAs: '<%= name %>Slider',
8
- changeDetection: ChangeDetectionStrategy.OnPush,
9
- providers: [aliasSlider(Slider)],
10
- imports: [FocusStyle, SliderTrack, SliderRange, SliderThumb],
11
- template: `
12
- <div
13
- ngbSliderTrack
14
- class="h-full overflow-hidden rounded-full bg-muted-background aria-[disabled=true]:bg-opacity-30"
15
- >
16
- <div ngbSliderRange class="bg-primary aria-[disabled=true]:bg-muted-background"></div>
17
- </div>
18
- @for (thumb of noOfThumbs(); track thumb) {
19
- <button
20
- ngbSliderThumb
21
- <%= name %>FocusStyle
22
- class="{{
23
- '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 ' +
24
- (orientation() === 'vertical'
25
- ? '-left-1.5 -translate-y-1/2'
26
- : '-top-1.5 -translate-x-1/2')
27
- }}"
28
- ></button>
29
- }
30
- `,
31
- host: {
32
- class: 'block relative my-2 aria-[orientation=vertical]:w-2 aria-[orientation=horizontal]:h-2',
33
- },
34
- })
35
- export class Slider extends NgbSlider {}
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of sonner
3
- */
4
-
5
- export { sonnerPortal } from './sonner';
@@ -1,59 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { NgbSonner, ngbSonnerPortal, sonnerAnimation, SonnerBase } from '@ngbase/adk/sonner';
3
- import { Icon } from '<%= basepath %>/icon';
4
- import { provideIcons } from '@ng-icons/core';
5
- import {
6
- lucideCircleAlert,
7
- lucideCircleCheck,
8
- lucideInfo,
9
- lucideTriangleAlert,
10
- } from '@ng-icons/lucide';
11
-
12
- @Component({
13
- selector: '<%= name %>-sonner',
14
- changeDetection: ChangeDetectionStrategy.OnPush,
15
- providers: [
16
- provideIcons({ lucideCircleCheck, lucideInfo, lucideTriangleAlert, lucideCircleAlert }),
17
- ],
18
- imports: [Icon, SonnerBase],
19
- template: `
20
- <ul class="fixed bottom-0 right-0 flex flex-col gap-1">
21
- @for (msg of messages(); track msg.id) {
22
- <li
23
- [ngbSonnerBase]="$index"
24
- class="{{
25
- 'm-4 w-96 rounded-lg border bg-foreground p-4 shadow-lg transition-all duration-300' +
26
- (msg.type === 'success' ? ' bg-green-50 text-green-600' : '') +
27
- (msg.type === 'error' ? ' bg-red-50 text-red-600' : '') +
28
- (msg.type === 'warning' ? ' bg-yellow-50 text-yellow-600' : '')
29
- }}"
30
- >
31
- <h4 class="flex items-center gap-2 font-semibold">
32
- @if (msg.type && icons[msg.type]; as iconName) {
33
- <<%= name %>-icon [name]="iconName" />
34
- }
35
- {{ msg.message }}
36
- </h4>
37
- @if (msg.data?.description) {
38
- <p class="text-muted">{{ msg.data?.description }}</p>
39
- }
40
- </li>
41
- }
42
- </ul>
43
- `,
44
- animations: [sonnerAnimation],
45
- })
46
- export class Sonner extends NgbSonner {
47
- readonly icons = {
48
- success: 'lucideCircleCheck',
49
- error: 'lucideCircleAlert',
50
- info: 'lucideInfo',
51
- warning: 'lucideTriangleAlert',
52
- default: '',
53
- };
54
- }
55
-
56
- export function sonnerPortal() {
57
- const portal = ngbSonnerPortal(Sonner);
58
- return portal;
59
- }
@@ -1 +0,0 @@
1
- export * from './spinner';
@@ -1,79 +0,0 @@
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
-
27
- @Component({
28
- selector: '<%= name %>-spinner',
29
- template: `
30
- <ng-content />
31
- <!-- <div
32
- class="aspect-square w-full animate-spin rounded-full border-primary border-l-transparent"
33
- [class]="mode()"
34
- [style.border-width.px]="strokeWidth()"
35
- [style.width.px]="diameter()"
36
- ></div> -->
37
- <div
38
- class="spinner"
39
- [style]="{
40
- width: diameter() + 'px',
41
- height: diameter() + 'px',
42
- }"
43
- >
44
- <svg viewBox="0 0 50 50">
45
- <circle
46
- cx="25"
47
- cy="25"
48
- r="20"
49
- [style.strokeWidth.px]="strokeWidth()"
50
- stroke-dasharray="88 38"
51
- stroke-linecap="round"
52
- class="fill-none stroke-current"
53
- >
54
- <animateTransform
55
- attributeName="transform"
56
- type="rotate"
57
- repeatCount="indefinite"
58
- dur="1s"
59
- values="0 25 25;360 25 25"
60
- />
61
- </circle>
62
- </svg>
63
- </div>
64
- `,
65
- host: {
66
- class: 'inline-flex items-center justify-center transition-all duration-300 text-primary',
67
- '[class]': `root() ? 'fixed inset-0 z-p bg-foreground bg-opacity-60 backdrop-blur-sm' : 'relative'`,
68
- },
69
- animations: [
70
- // animation for entering and exiting, with a bouncy effect
71
- spinnerAnimation,
72
- ],
73
- })
74
- export class Spinner {
75
- readonly mode = input<'light' | 'dark' | ''>('light');
76
- readonly diameter = input<number>(35);
77
- readonly strokeWidth = input<any>(3);
78
- readonly root = input<boolean>(false);
79
- }
@@ -1 +0,0 @@
1
- export * from './stepper';