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