@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.
Files changed (275) hide show
  1. package/a11y/accessibility-group.d.ts +2 -5
  2. package/accordion/accordion-item.d.ts +7 -1
  3. package/accordion/public-api.d.ts +1 -1
  4. package/autocomplete/autocomplete-input.d.ts +2 -4
  5. package/autocomplete/autocomplete.d.ts +13 -4
  6. package/avatar/avatar.d.ts +1 -1
  7. package/breadcrumb/breadcrumb.d.ts +2 -3
  8. package/breadcrumb/public-api.d.ts +1 -1
  9. package/carousel/carousel.d.ts +3 -3
  10. package/checkbox/checkbox.d.ts +11 -3
  11. package/checkbox/public-api.d.ts +1 -1
  12. package/chip/chip.d.ts +2 -2
  13. package/datepicker/calendar.d.ts +3 -3
  14. package/datepicker/datepicker-trigger.d.ts +22 -5
  15. package/datepicker/datepicker.d.ts +4 -3
  16. package/datepicker/time.d.ts +2 -2
  17. package/dialog/dialog.d.ts +1 -1
  18. package/drag/drag.d.ts +1 -2
  19. package/fesm2022/ngbase-adk-a11y.mjs +29 -26
  20. package/fesm2022/ngbase-adk-a11y.mjs.map +1 -1
  21. package/fesm2022/ngbase-adk-accordion.mjs +16 -3
  22. package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
  23. package/fesm2022/ngbase-adk-autocomplete.mjs +23 -52
  24. package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
  25. package/fesm2022/ngbase-adk-avatar.mjs +2 -2
  26. package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
  27. package/fesm2022/ngbase-adk-breadcrumb.mjs +2 -2
  28. package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
  29. package/fesm2022/ngbase-adk-carousel.mjs +7 -7
  30. package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
  31. package/fesm2022/ngbase-adk-checkbox.mjs +8 -6
  32. package/fesm2022/ngbase-adk-checkbox.mjs.map +1 -1
  33. package/fesm2022/ngbase-adk-chip.mjs +4 -2
  34. package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
  35. package/fesm2022/ngbase-adk-datepicker.mjs +187 -350
  36. package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
  37. package/fesm2022/ngbase-adk-dialog.mjs +14 -15
  38. package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
  39. package/fesm2022/ngbase-adk-drag.mjs +1 -2
  40. package/fesm2022/ngbase-adk-drag.mjs.map +1 -1
  41. package/fesm2022/ngbase-adk-form-field.mjs +2 -156
  42. package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
  43. package/fesm2022/ngbase-adk-list.mjs +2 -2
  44. package/fesm2022/ngbase-adk-list.mjs.map +1 -1
  45. package/fesm2022/ngbase-adk-mask.mjs +5 -3
  46. package/fesm2022/ngbase-adk-mask.mjs.map +1 -1
  47. package/fesm2022/ngbase-adk-menu.mjs +34 -34
  48. package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
  49. package/fesm2022/ngbase-adk-otp.mjs +164 -0
  50. package/fesm2022/ngbase-adk-otp.mjs.map +1 -0
  51. package/fesm2022/ngbase-adk-pagination.mjs +10 -67
  52. package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
  53. package/fesm2022/ngbase-adk-popover.mjs +434 -556
  54. package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
  55. package/fesm2022/ngbase-adk-portal.mjs +5 -10
  56. package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
  57. package/fesm2022/ngbase-adk-radio.mjs +8 -19
  58. package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
  59. package/fesm2022/ngbase-adk-resizable.mjs +10 -43
  60. package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
  61. package/fesm2022/ngbase-adk-select.mjs +87 -185
  62. package/fesm2022/ngbase-adk-select.mjs.map +1 -1
  63. package/fesm2022/ngbase-adk-sheet.mjs +95 -0
  64. package/fesm2022/ngbase-adk-sheet.mjs.map +1 -0
  65. package/fesm2022/ngbase-adk-sidenav.mjs +2 -2
  66. package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
  67. package/fesm2022/ngbase-adk-slider.mjs +12 -23
  68. package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
  69. package/fesm2022/ngbase-adk-sonner.mjs +13 -63
  70. package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
  71. package/fesm2022/ngbase-adk-stepper.mjs +16 -114
  72. package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
  73. package/fesm2022/ngbase-adk-switch.mjs +2 -2
  74. package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
  75. package/fesm2022/ngbase-adk-table.mjs +17 -35
  76. package/fesm2022/ngbase-adk-table.mjs.map +1 -1
  77. package/fesm2022/ngbase-adk-tabs.mjs +14 -94
  78. package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
  79. package/fesm2022/ngbase-adk-test.mjs +11 -1
  80. package/fesm2022/ngbase-adk-test.mjs.map +1 -1
  81. package/fesm2022/ngbase-adk-tooltip.mjs +49 -39
  82. package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
  83. package/fesm2022/ngbase-adk-tour.mjs +3 -3
  84. package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
  85. package/fesm2022/ngbase-adk-tree.mjs +11 -43
  86. package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
  87. package/fesm2022/ngbase-adk-utils.mjs +12 -9
  88. package/fesm2022/ngbase-adk-utils.mjs.map +1 -1
  89. package/form-field/public-api.d.ts +0 -1
  90. package/mask/mask.d.ts +1 -2
  91. package/menu/menu-trigger.d.ts +3 -3
  92. package/menu/menu.d.ts +13 -7
  93. package/otp/index.d.ts +5 -0
  94. package/{form-field → otp}/otp.d.ts +1 -1
  95. package/otp/public-api.d.ts +1 -0
  96. package/package.json +27 -19
  97. package/pagination/pagination.d.ts +7 -3
  98. package/popover/base-popover.service.d.ts +1 -1
  99. package/popover/popover-arrow.ng.d.ts +34 -0
  100. package/popover/popover.d.ts +17 -7
  101. package/popover/popover.service.d.ts +5 -4
  102. package/popover/public-api.d.ts +1 -0
  103. package/popover/utils.d.ts +32 -48
  104. package/portal/dialog-ref.d.ts +0 -1
  105. package/portal/portal-base.service.d.ts +3 -3
  106. package/portal/portal-close.directive.d.ts +3 -2
  107. package/radio/radio.d.ts +5 -1
  108. package/resizable/resizable-group.d.ts +2 -2
  109. package/resizable/resizable.d.ts +2 -2
  110. package/select/option-group.d.ts +3 -3
  111. package/select/option.d.ts +1 -1
  112. package/select/select-base.d.ts +8 -6
  113. package/select/select.d.ts +6 -3
  114. package/sheet/index.d.ts +5 -0
  115. package/sheet/public-api.d.ts +2 -0
  116. package/sheet/sheet.d.ts +26 -0
  117. package/sheet/sheet.service.d.ts +13 -0
  118. package/sidenav/public-api.d.ts +1 -1
  119. package/sidenav/sidenav.d.ts +1 -1
  120. package/slider/public-api.d.ts +1 -1
  121. package/slider/slider.d.ts +6 -5
  122. package/sonner/sonner.d.ts +2 -1
  123. package/stepper/animation.d.ts +1 -1
  124. package/stepper/step.d.ts +1 -1
  125. package/stepper/stepper.d.ts +2 -2
  126. package/switch/switch.d.ts +1 -1
  127. package/table/body-row.d.ts +3 -3
  128. package/table/head-row.d.ts +3 -3
  129. package/table/table.d.ts +3 -3
  130. package/tabs/tab-group.d.ts +4 -4
  131. package/tabs/tab.d.ts +2 -2
  132. package/test/utils.d.ts +19 -3
  133. package/tooltip/public-api.d.ts +1 -1
  134. package/tooltip/tooltip.d.ts +5 -1
  135. package/tooltip/tooltip.directive.d.ts +1 -1
  136. package/tooltip/tooltip.service.d.ts +4 -2
  137. package/tour/tour.service.d.ts +3 -4
  138. package/tree/public-api.d.ts +2 -2
  139. package/tree/tree-node.d.ts +2 -2
  140. package/tree/tree.d.ts +2 -2
  141. package/utils/utils.d.ts +5 -4
  142. package/schematics/collection.json +0 -15
  143. package/schematics/components/files/accordion/accordion.ts.template +0 -55
  144. package/schematics/components/files/accordion/index.ts.template +0 -5
  145. package/schematics/components/files/alert/alert.ts.template +0 -62
  146. package/schematics/components/files/alert/index.ts.template +0 -1
  147. package/schematics/components/files/autocomplete/autocomplete.ts.template +0 -48
  148. package/schematics/components/files/autocomplete/index.ts.template +0 -5
  149. package/schematics/components/files/avatar/avatar.ts.template +0 -31
  150. package/schematics/components/files/avatar/index.ts.template +0 -1
  151. package/schematics/components/files/badge/badge.ts.template +0 -11
  152. package/schematics/components/files/badge/index.ts.template +0 -1
  153. package/schematics/components/files/breadcrumb/breadcrumb.ts.template +0 -49
  154. package/schematics/components/files/breadcrumb/index.ts.template +0 -1
  155. package/schematics/components/files/button/button.ts.template +0 -29
  156. package/schematics/components/files/button/index.ts.template +0 -5
  157. package/schematics/components/files/card/card.ts.template +0 -11
  158. package/schematics/components/files/card/index.ts.template +0 -5
  159. package/schematics/components/files/carousel/carousel.ts.template +0 -44
  160. package/schematics/components/files/carousel/index.ts.template +0 -1
  161. package/schematics/components/files/checkbox/checkbox.ts.template +0 -46
  162. package/schematics/components/files/checkbox/focus-style.directive.ts.template +0 -12
  163. package/schematics/components/files/checkbox/index.ts.template +0 -6
  164. package/schematics/components/files/chip/chip.ts.template +0 -36
  165. package/schematics/components/files/chip/index.ts.template +0 -1
  166. package/schematics/components/files/color-picker/color-picker.ts.template +0 -104
  167. package/schematics/components/files/color-picker/index.ts.template +0 -5
  168. package/schematics/components/files/command/command.ts.template +0 -82
  169. package/schematics/components/files/command/index.ts.template +0 -1
  170. package/schematics/components/files/datepicker/calendar.ts.template +0 -117
  171. package/schematics/components/files/datepicker/datepicker-trigger.ts.template +0 -27
  172. package/schematics/components/files/datepicker/datepicker.ts.template +0 -28
  173. package/schematics/components/files/datepicker/index.ts.template +0 -3
  174. package/schematics/components/files/datepicker/time.ts.template +0 -46
  175. package/schematics/components/files/dialog/dialog.ts.template +0 -89
  176. package/schematics/components/files/dialog/index.ts.template +0 -5
  177. package/schematics/components/files/drawer/drawer.ts.template +0 -104
  178. package/schematics/components/files/drawer/index.ts.template +0 -5
  179. package/schematics/components/files/form-field/index.ts.template +0 -7
  180. package/schematics/components/files/form-field/input-style.directive.ts.template +0 -11
  181. package/schematics/components/files/form-field/input.ts.template +0 -100
  182. package/schematics/components/files/form-field/otp.ts.template +0 -37
  183. package/schematics/components/files/hover-card/hover-card.ts.template +0 -13
  184. package/schematics/components/files/hover-card/index.ts.template +0 -5
  185. package/schematics/components/files/icon/icon.ts.template +0 -16
  186. package/schematics/components/files/icon/index.ts.template +0 -1
  187. package/schematics/components/files/inline-edit/index.ts.template +0 -1
  188. package/schematics/components/files/inline-edit/inline-edit.ts.template +0 -24
  189. package/schematics/components/files/keys/index.ts.template +0 -5
  190. package/schematics/components/files/keys/key.ts.template +0 -35
  191. package/schematics/components/files/list/index.ts.template +0 -5
  192. package/schematics/components/files/list/list.ts.template +0 -28
  193. package/schematics/components/files/mask/index.ts.template +0 -1
  194. package/schematics/components/files/mask/mask.ts.template +0 -8
  195. package/schematics/components/files/menu/context-menu.ts.template +0 -14
  196. package/schematics/components/files/menu/index.ts.template +0 -8
  197. package/schematics/components/files/menu/mention.ts.template +0 -14
  198. package/schematics/components/files/menu/menu.ts.template +0 -37
  199. package/schematics/components/files/menu/navigation-menu.ts.template +0 -8
  200. package/schematics/components/files/pagination/index.ts.template +0 -1
  201. package/schematics/components/files/pagination/pagination.ts.template +0 -71
  202. package/schematics/components/files/picasa/index.ts.template +0 -1
  203. package/schematics/components/files/picasa/picasa-base.component.ts.template +0 -80
  204. package/schematics/components/files/picasa/picasa.component.ts.template +0 -57
  205. package/schematics/components/files/picasa/picasa.directive.ts.template +0 -41
  206. package/schematics/components/files/picasa/picase.service.ts.template +0 -24
  207. package/schematics/components/files/popover/index.ts.template +0 -1
  208. package/schematics/components/files/popover/popover.ts.template +0 -87
  209. package/schematics/components/files/progress/index.ts.template +0 -5
  210. package/schematics/components/files/progress/progress.ts.template +0 -14
  211. package/schematics/components/files/radio/index.ts.template +0 -5
  212. package/schematics/components/files/radio/radio.ts.template +0 -40
  213. package/schematics/components/files/resizable/index.ts.template +0 -5
  214. package/schematics/components/files/resizable/resizable.ts.template +0 -56
  215. package/schematics/components/files/scroll-area/index.ts.template +0 -1
  216. package/schematics/components/files/scroll-area/scroll-area.ts.template +0 -40
  217. package/schematics/components/files/select/index.ts.template +0 -8
  218. package/schematics/components/files/select/list-selection.ts.template +0 -15
  219. package/schematics/components/files/select/option.ts.template +0 -34
  220. package/schematics/components/files/select/select-input.ts.template +0 -21
  221. package/schematics/components/files/select/select.ts.template +0 -96
  222. package/schematics/components/files/selectable/index.ts.template +0 -1
  223. package/schematics/components/files/selectable/selectable.ts.template +0 -34
  224. package/schematics/components/files/separator/index.ts.template +0 -5
  225. package/schematics/components/files/separator/separator.ts.template +0 -19
  226. package/schematics/components/files/sheet/index.ts.template +0 -5
  227. package/schematics/components/files/sheet/sheet.ts.template +0 -134
  228. package/schematics/components/files/sidenav/index.ts.template +0 -1
  229. package/schematics/components/files/sidenav/sidenav.ts.template +0 -48
  230. package/schematics/components/files/skeleton/index.ts.template +0 -1
  231. package/schematics/components/files/skeleton/skeleton.ts.template +0 -15
  232. package/schematics/components/files/slider/index.ts.template +0 -5
  233. package/schematics/components/files/slider/slider.ts.template +0 -42
  234. package/schematics/components/files/sonner/index.ts.template +0 -5
  235. package/schematics/components/files/sonner/sonner.ts.template +0 -58
  236. package/schematics/components/files/spinner/index.ts.template +0 -1
  237. package/schematics/components/files/spinner/spinner.ts.template +0 -79
  238. package/schematics/components/files/stepper/index.ts.template +0 -1
  239. package/schematics/components/files/stepper/stepper.ts.template +0 -88
  240. package/schematics/components/files/switch/index.ts.template +0 -5
  241. package/schematics/components/files/switch/switch.ts.template +0 -29
  242. package/schematics/components/files/table/body-cell.ts.template +0 -19
  243. package/schematics/components/files/table/body-row.ts.template +0 -21
  244. package/schematics/components/files/table/column.ts.template +0 -8
  245. package/schematics/components/files/table/head-cell.ts.template +0 -19
  246. package/schematics/components/files/table/head-row.ts.template +0 -27
  247. package/schematics/components/files/table/index.ts.template +0 -26
  248. package/schematics/components/files/table/table.ts.template +0 -20
  249. package/schematics/components/files/tabs/index.ts.template +0 -5
  250. package/schematics/components/files/tabs/tab.ts.template +0 -89
  251. package/schematics/components/files/theme/index.ts.template +0 -2
  252. package/schematics/components/files/theme/theme-button.component.ts.template +0 -26
  253. package/schematics/components/files/theme/theme.component.ts.template +0 -165
  254. package/schematics/components/files/theme/theme.service.ts.template +0 -44
  255. package/schematics/components/files/toggle/index.ts.template +0 -5
  256. package/schematics/components/files/toggle/toggle.ts.template +0 -13
  257. package/schematics/components/files/toggle-group/index.ts.template +0 -5
  258. package/schematics/components/files/toggle-group/toggle-group.ts.template +0 -25
  259. package/schematics/components/files/tooltip/index.ts.template +0 -5
  260. package/schematics/components/files/tooltip/tooltip.ts.template +0 -40
  261. package/schematics/components/files/tour/index.ts.template +0 -3
  262. package/schematics/components/files/tour/tour-step.ts.template +0 -8
  263. package/schematics/components/files/tour/tour.service.ts.template +0 -7
  264. package/schematics/components/files/tour/tour.ts.template +0 -8
  265. package/schematics/components/files/tree/index.ts.template +0 -1
  266. package/schematics/components/files/tree/tree.ts.template +0 -66
  267. package/schematics/components/index.d.ts +0 -3
  268. package/schematics/components/index.js +0 -17
  269. package/schematics/components/index.js.map +0 -1
  270. package/schematics/components/index.ts +0 -29
  271. package/schematics/components/schema.d.ts +0 -6
  272. package/schematics/components/schema.js +0 -3
  273. package/schematics/components/schema.js.map +0 -1
  274. package/schematics/components/schema.json +0 -137
  275. package/schematics/components/schema.ts +0 -6
@@ -1,58 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { NgbSonner, ngbSonnerPortal, 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
- imports: [Icon, SonnerBase],
16
- providers: [
17
- provideIcons({ lucideCircleCheck, lucideInfo, lucideTriangleAlert, lucideCircleAlert }),
18
- ],
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
- })
45
- export class Sonner extends NgbSonner {
46
- readonly icons = {
47
- success: 'lucideCircleCheck',
48
- error: 'lucideCircleAlert',
49
- info: 'lucideInfo',
50
- warning: 'lucideTriangleAlert',
51
- default: '',
52
- };
53
- }
54
-
55
- export function sonnerPortal() {
56
- const portal = ngbSonnerPortal(Sonner);
57
- return portal;
58
- }
@@ -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';
@@ -1,88 +0,0 @@
1
- import { NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';
3
- import {
4
- NgbStep,
5
- NgbStepHeader,
6
- NgbStepper,
7
- NgbStepperStep,
8
- provideStep,
9
- provideStepper,
10
- slideAnimation,
11
- } from '@ngbase/adk/stepper';
12
-
13
- @Component({
14
- selector: '<%= name %>-stepper',
15
- exportAs: '<%= name %>Stepper',
16
- changeDetection: ChangeDetectionStrategy.OnPush,
17
- providers: [provideStepper(Stepper)],
18
- imports: [NgTemplateOutlet, NgbStepperStep],
19
- template: `
20
- <div class="flex justify-between" [class.flex-col]="direction() === 'vertical'">
21
- @for (step of steps(); track step) {
22
- <div
23
- [ngbStepperStep]="$index"
24
- class="{{
25
- 'relative flex pb-4 data-[index]:flex-1 data-[index]:after:mx-2 data-[index]:after:block data-[index]:after:flex-1 data-[index]:after:bg-background data-[index]:after:transition-colors' +
26
- (activeIndex() > $index ? ' data-[index]:after:bg-primary' : '') +
27
- (direction() === 'vertical'
28
- ? ' flex-col data-[index]:after:absolute data-[index]:after:bottom-0 data-[index]:after:left-3 data-[index]:after:top-10 data-[index]:after:w-0.5'
29
- : ' items-center data-[index]:after:h-0.5')
30
- }}"
31
- >
32
- <div class="flex items-center">
33
- <div
34
- class="{{
35
- 'mr-2 grid aspect-square w-10 place-content-center rounded-full border-2 transition-colors' +
36
- (activeIndex() > $index ? ' bg-primary' : '') +
37
- (activeIndex() >= $index ? ' border-primary' : '')
38
- }}"
39
- >
40
- {{ $index + 1 }}
41
- </div>
42
- @if (step.header(); as header) {
43
- <ng-container *ngTemplateOutlet="header" />
44
- } @else {
45
- {{ step.title() }}
46
- }
47
- </div>
48
- @if (step.verticalTemplate(); as template) {
49
- <div class="ml-12" [@slide]>
50
- <div class="pt-4">
51
- <ng-container *ngTemplateOutlet="template" />
52
- </div>
53
- </div>
54
- }
55
- </div>
56
- }
57
- </div>
58
- <ng-content />
59
- `,
60
- animations: [slideAnimation],
61
- })
62
- export class Stepper extends NgbStepper {}
63
-
64
- @Component({
65
- selector: '<%= name %>-step',
66
- exportAs: '<%= name %>Step',
67
- changeDetection: ChangeDetectionStrategy.OnPush,
68
- providers: [provideStep(Step)],
69
- imports: [NgTemplateOutlet],
70
- template: `
71
- <ng-template #stepContainer>
72
- <ng-content />
73
- </ng-template>
74
-
75
- @if (horizontalTemplate(); as template) {
76
- <div class="pb-4">
77
- <ng-container *ngTemplateOutlet="template" />
78
- </div>
79
- }
80
- `,
81
- })
82
- export class Step extends NgbStep {}
83
-
84
- @Directive({
85
- selector: '[<%= name %>StepHeader]',
86
- hostDirectives: [NgbStepHeader],
87
- })
88
- export class StepHeader {}
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of switch
3
- */
4
-
5
- export * from './switch';
@@ -1,29 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { NgbSwitch, NgbSwitchLabel, NgbSwitchThumb, NgbSwitchTrack } from '@ngbase/adk/switch';
3
-
4
- @Component({
5
- selector: '<%= name %>-switch',
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- hostDirectives: [
8
- { directive: NgbSwitch, inputs: ['checked', 'disabled'], outputs: ['checkedChange', 'change'] },
9
- ],
10
- imports: [NgbSwitchTrack, NgbSwitchLabel, NgbSwitchThumb],
11
- template: `
12
- <button
13
- ngbSwitchTrack
14
- class="relative w-9 rounded-full border-0.5 border-transparent bg-muted-background transition-colors aria-[checked=true]:bg-primary"
15
- >
16
- <span
17
- #thumb="ngbSwitchThumb"
18
- ngbSwitchThumb
19
- [class]="thumb.checked() ? (thumb.rtl() ? '-translate-x-full' : 'translate-x-full') : ''"
20
- class="block h-4 w-4 rounded-full bg-foreground shadow-sm transition-transform"
21
- ></span>
22
- </button>
23
- <label ngbSwitchLabel><ng-content /></label>
24
- `,
25
- host: {
26
- class: 'inline-flex items-center gap-2 py-1',
27
- },
28
- })
29
- export class Switch {}
@@ -1,19 +0,0 @@
1
- import { Component, Directive, ChangeDetectionStrategy } from '@angular/core';
2
- import { NgbCell, NgbCellDef } from '@ngbase/adk/table';
3
-
4
- @Component({
5
- selector: '[<%= name %>Cell]',
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- hostDirectives: [NgbCell],
8
- host: {
9
- class: 'px-4 py-2 align-middle bg-foreground',
10
- },
11
- template: `<ng-content />`,
12
- })
13
- export class Cell {}
14
-
15
- @Directive({
16
- selector: '[<%= name %>CellDef]',
17
- hostDirectives: [NgbCellDef],
18
- })
19
- export class CellDef {}
@@ -1,21 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';
2
- import { NgbBodyRow, NgbBodyRowDef } from '@ngbase/adk/table';
3
-
4
- @Directive({
5
- selector: '[<%= name %>BodyRowDef]',
6
- hostDirectives: [
7
- { directive: NgbBodyRowDef, inputs: ['ngbBodyRowDefColumns: <%= name %>BodyRowDefColumns'] },
8
- ],
9
- })
10
- export class BodyRowDef {}
11
-
12
- @Component({
13
- selector: '[<%= name %>BodyRow]',
14
- changeDetection: ChangeDetectionStrategy.OnPush,
15
- providers: [{ provide: NgbBodyRow, useExisting: BodyRow }],
16
- template: `<ng-container #container />`,
17
- host: {
18
- class: '[&:not(:last-child)]:border-b hover:bg-muted-background h-12',
19
- },
20
- })
21
- export class BodyRow extends NgbBodyRow {}
@@ -1,8 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { NgbColumn } from '@ngbase/adk/table';
3
-
4
- @Directive({
5
- selector: '[<%= name %>Column]',
6
- hostDirectives: [{ directive: NgbColumn, inputs: ['ngbColumn: <%= name %>Column', 'sticky'] }],
7
- })
8
- export class Column {}
@@ -1,19 +0,0 @@
1
- import { Component, Directive, ChangeDetectionStrategy } from '@angular/core';
2
- import { NgbHead, NgbHeadDef } from '@ngbase/adk/table';
3
-
4
- @Component({
5
- selector: '[<%= name %>Head]',
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- host: {
8
- class: 'px-4 py-2 text-left align-middle font-medium text-muted border-b bg-foreground',
9
- },
10
- hostDirectives: [NgbHead],
11
- template: `<ng-content />`,
12
- })
13
- export class Head {}
14
-
15
- @Directive({
16
- selector: '[<%= name %>HeadDef]',
17
- hostDirectives: [NgbHeadDef],
18
- })
19
- export class HeadDef {}
@@ -1,27 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';
2
- import { NgbHeadRow, NgbHeadRowDef } from '@ngbase/adk/table';
3
-
4
- @Component({
5
- selector: '[<%= name %>HeadRow]',
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- host: {
8
- class: `h-10 [&[data-sticky=true]]:sticky [&[data-sticky=true]]:top-0 [&[data-sticky=true]]:bg-foreground`,
9
- },
10
- providers: [{ provide: NgbHeadRow, useExisting: HeadRow }],
11
- template: `<ng-container #container />`,
12
- })
13
- export class HeadRow extends NgbHeadRow {}
14
-
15
- @Directive({
16
- selector: '[<%= name %>HeadRowDef]',
17
- hostDirectives: [
18
- {
19
- directive: NgbHeadRowDef,
20
- inputs: [
21
- 'ngbHeadRowDef: <%= name %>HeadRowDef',
22
- 'ngbHeadRowDefSticky: <%= name %>HeadRowDefSticky',
23
- ],
24
- },
25
- ],
26
- })
27
- export class HeadRowDef {}
@@ -1,26 +0,0 @@
1
- import { Cell, CellDef } from './body-cell';
2
- import { BodyRow, BodyRowDef } from './body-row';
3
- import { Column } from './column';
4
- import { Head, HeadDef } from './head-cell';
5
- import { HeadRow, HeadRowDef } from './head-row';
6
- import { Table } from './table';
7
-
8
- export * from './table';
9
- export * from './column';
10
- export * from './body-cell';
11
- export * from './head-cell';
12
- export * from './body-row';
13
- export * from './head-row';
14
-
15
- export const TableComponents = [
16
- BodyRow,
17
- BodyRowDef,
18
- Cell,
19
- CellDef,
20
- Head,
21
- HeadDef,
22
- HeadRow,
23
- HeadRowDef,
24
- Column,
25
- Table,
26
- ];
@@ -1,20 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { NgbTable } from '@ngbase/adk/table';
3
-
4
- @Component({
5
- selector: 'table[<%= name %>Table]',
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- host: {
8
- class: 'w-full text-sm',
9
- },
10
- providers: [{ provide: NgbTable, useExisting: Table }],
11
- template: `
12
- <thead>
13
- <ng-container #thead />
14
- </thead>
15
- <tbody>
16
- <ng-container #tbody />
17
- </tbody>
18
- `,
19
- })
20
- export class Table<T> extends NgbTable<T> {}
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of tab
3
- */
4
-
5
- export * from './tab';
@@ -1,89 +0,0 @@
1
- import { NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';
3
- import {
4
- NgbTab,
5
- NgbTabHeader,
6
- NgbTabLazy,
7
- NgbTabs,
8
- provideTab,
9
- provideTabs,
10
- TabButton,
11
- TabButtonsGroup,
12
- TabScroll,
13
- } from '@ngbase/adk/tabs';
14
- import { Icon } from '<%= basepath %>/icon';
15
- import { provideIcons } from '@ng-icons/core';
16
- import { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';
17
-
18
- @Component({
19
- selector: '<%= name %>-tabs',
20
- imports: [Icon, TabButton, TabButtonsGroup, TabScroll],
21
- changeDetection: ChangeDetectionStrategy.OnPush,
22
- providers: [provideTabs(Tabs)],
23
- viewProviders: [provideIcons({ lucideChevronRight, lucideChevronLeft })],
24
- template: `<div class="flex items-center border-b">
25
- <ng-content select=".tab-start-header-content" />
26
- <div class="relative flex overflow-hidden">
27
- <button
28
- ngbTabScroll="left"
29
- class="absolute left-0 z-10 h-full place-items-center bg-foreground px-2"
30
- >
31
- <<%= name %>-icon name="lucideChevronLeft" />
32
- </button>
33
- <nav ngbTabButtonsGroup class="overflow-auto">
34
- <div #tabListContainer class="flex h-full w-max">
35
- @for (tab of tabs(); track tab.id) {
36
- <button
37
- [ngbTabButton]="tab"
38
- class="whitespace-nowrap border-b-2 border-transparent aria-[disabled=true]:cursor-not-allowed aria-[selected=true]:!border-primary aria-[disabled=true]:text-muted aria-[selected=true]:!text-primary aria-[disabled=true]:opacity-50"
39
- ></button>
40
- }
41
- </div>
42
- </nav>
43
- <button
44
- ngbTabScroll="right"
45
- class="absolute right-0 z-10 h-full place-items-center bg-foreground px-2"
46
- >
47
- <<%= name %>-icon name="lucideChevronRight" />
48
- </button>
49
- </div>
50
- <ng-content select=".tab-header-content" />
51
- </div>
52
- <ng-content /> `,
53
- host: {
54
- class: 'bg-foreground flex flex-col',
55
- },
56
- })
57
- export class Tabs extends NgbTabs<Tab> {}
58
-
59
- @Component({
60
- selector: '<%= name %>-tab',
61
- exportAs: '<%= name %>Tab',
62
- changeDetection: ChangeDetectionStrategy.OnPush,
63
- providers: [provideTab(Tab)],
64
- imports: [NgTemplateOutlet],
65
- template: `
66
- @if (lazyTemplate(); as template) {
67
- <ng-container *ngTemplateOutlet="template" />
68
- } @else if (activeMode()) {
69
- <ng-content />
70
- }
71
- `,
72
- host: {
73
- class: 'block overflow-auto',
74
- '[class]': `active() ? 'flex-1 h-full pt-4' : 'hidden'`,
75
- },
76
- })
77
- export class Tab extends NgbTab {}
78
-
79
- @Directive({
80
- selector: '[<%= name %>TabHeader]',
81
- hostDirectives: [NgbTabHeader],
82
- })
83
- export class TabHeader {}
84
-
85
- @Directive({
86
- selector: '[<%= name %>TabLazy]',
87
- hostDirectives: [NgbTabLazy],
88
- })
89
- export class TabLazy {}
@@ -1,2 +0,0 @@
1
- export { injectTheme } from './theme.service';
2
- export { ThemeButton } from './theme-button.component';
@@ -1,26 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { Button } from '<%= basepath %>/button';
3
- import { Icon } from '<%= basepath %>/icon';
4
- import { provideIcons } from '@ng-icons/core';
5
- import { lucideMoon, lucideSun } from '@ng-icons/lucide';
6
- import { injectTheme } from './theme.service';
7
-
8
- @Component({
9
- selector: '<%= name %>-theme-button',
10
- imports: [Icon, Button],
11
- changeDetection: ChangeDetectionStrategy.OnPush,
12
- viewProviders: [provideIcons({ lucideMoon, lucideSun })],
13
- template: `
14
- <button <%= name %>Button="icon" class="tour-mode h-9 w-9" (click)="themeService.toggle()">
15
- <<%= name %>-icon [name]="themeService.mode() === 'dark' ? 'lucideSun' : 'lucideMoon'" />
16
- <span class="sr-only">Toggle theme</span>
17
- </button>
18
- `,
19
- })
20
- export class ThemeButton {
21
- readonly themeService = injectTheme();
22
-
23
- constructor() {
24
- // shortcutListener('ctrl+d', () => this.themeService.toggle());
25
- }
26
- }