@ngbase/adk 0.1.2 → 0.1.4

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 (128) 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 +8 -8
  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/schematics/components/files/accordion/accordion.ts.template +2 -2
  67. package/schematics/components/files/alert/alert.ts.template +1 -1
  68. package/schematics/components/files/autocomplete/autocomplete.ts.template +1 -1
  69. package/schematics/components/files/avatar/avatar.ts.template +1 -1
  70. package/schematics/components/files/badge/badge.ts.template +1 -1
  71. package/schematics/components/files/breadcrumb/breadcrumb.ts.template +6 -2
  72. package/schematics/components/files/button/button.ts.template +5 -5
  73. package/schematics/components/files/card/card.ts.template +1 -1
  74. package/schematics/components/files/checkbox/checkbox.ts.template +9 -19
  75. package/schematics/components/files/checkbox/focus-style.directive.ts.template +1 -1
  76. package/schematics/components/files/chip/chip.ts.template +4 -2
  77. package/schematics/components/files/color-picker/color-picker.ts.template +1 -1
  78. package/schematics/components/files/command/command.ts.template +1 -1
  79. package/schematics/components/files/datepicker/calendar.ts.template +10 -10
  80. package/schematics/components/files/datepicker/datepicker.ts.template +19 -18
  81. package/schematics/components/files/datepicker/time.ts.template +3 -3
  82. package/schematics/components/files/dialog/dialog.ts.template +1 -1
  83. package/schematics/components/files/drawer/drawer.ts.template +2 -2
  84. package/schematics/components/files/form-field/form-field.ts.template +8 -8
  85. package/schematics/components/files/form-field/input-style.directive.ts.template +1 -1
  86. package/schematics/components/files/keys/key.ts.template +1 -1
  87. package/schematics/components/files/list/list.ts.template +1 -1
  88. package/schematics/components/files/otp/otp.ts.template +1 -1
  89. package/schematics/components/files/pagination/pagination.ts.template +6 -2
  90. package/schematics/components/files/popover/popover.ts.template +2 -2
  91. package/schematics/components/files/progress/progress.ts.template +1 -1
  92. package/schematics/components/files/radio/radio.ts.template +7 -5
  93. package/schematics/components/files/resizable/resizable.ts.template +6 -3
  94. package/schematics/components/files/select/option.ts.template +2 -2
  95. package/schematics/components/files/select/select.ts.template +3 -3
  96. package/schematics/components/files/selectable/selectable.ts.template +5 -5
  97. package/schematics/components/files/sheet/sheet.ts.template +1 -1
  98. package/schematics/components/files/sidenav/sidenav.ts.template +1 -1
  99. package/schematics/components/files/skeleton/skeleton.ts.template +1 -1
  100. package/schematics/components/files/slider/slider.ts.template +3 -3
  101. package/schematics/components/files/sonner/sonner.ts.template +3 -3
  102. package/schematics/components/files/spinner/spinner.ts.template +1 -1
  103. package/schematics/components/files/stepper/stepper.ts.template +1 -1
  104. package/schematics/components/files/switch/switch.ts.template +2 -2
  105. package/schematics/components/files/table/index.ts.template +12 -11
  106. package/schematics/components/files/table/table.ts.template +107 -5
  107. package/schematics/components/files/tabs/tab.ts.template +4 -4
  108. package/schematics/components/files/toggle/toggle.ts.template +1 -1
  109. package/schematics/components/files/toggle-group/toggle-group.ts.template +1 -1
  110. package/schematics/components/files/tooltip/tooltip.ts.template +1 -1
  111. package/schematics/components/index.js +32 -8
  112. package/schematics/components/index.js.map +1 -1
  113. package/schematics/components/index.ts +41 -11
  114. package/schematics/components/schema.d.ts +1 -1
  115. package/schematics/components/schema.json +2 -2
  116. package/schematics/components/schema.ts +1 -1
  117. package/select/option.d.ts +1 -1
  118. package/select/select-base.d.ts +8 -6
  119. package/select/select.d.ts +5 -2
  120. package/slider/slider.d.ts +1 -0
  121. package/table/table.d.ts +2 -2
  122. package/test/utils.d.ts +19 -3
  123. package/utils/utils.d.ts +5 -4
  124. package/schematics/components/files/table/body-cell.ts.template +0 -19
  125. package/schematics/components/files/table/body-row.ts.template +0 -21
  126. package/schematics/components/files/table/column.ts.template +0 -8
  127. package/schematics/components/files/table/head-cell.ts.template +0 -19
  128. package/schematics/components/files/table/head-row.ts.template +0 -27
@@ -1 +1 @@
1
- {"version":3,"file":"ngbase-adk-utils.mjs","sources":["../../../projects/adk/utils/range.pipe.ts","../../../projects/adk/utils/disposals.ts","../../../projects/adk/utils/utils.ts","../../../projects/adk/utils/ssr.ts","../../../projects/adk/utils/animation.ts","../../../projects/adk/utils/number-only.ts","../../../projects/adk/utils/ngbase-adk-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'range',\n})\nexport class RangePipe implements PipeTransform {\n transform(value: number) {\n return Array.from({ length: value }, (v, k) => k + 1);\n }\n}\n","import { afterNextRender, DestroyRef, inject, Injector } from '@angular/core';\n\ntype Cleanup = () => void;\ntype CleanupRegisterFn = (fn: Cleanup) => void;\n\nexport function disposals() {\n const injector = inject(Injector);\n const destroyRef = inject(DestroyRef);\n return {\n afterNextRender: (fn: (cleanup: CleanupRegisterFn) => void) => {\n const cleanup: Cleanup[] = [];\n const register = (fn: Cleanup) => cleanup.push(fn);\n const runCleanup = () => cleanup.forEach(c => c());\n afterNextRender(\n () => {\n runCleanup();\n fn(register);\n },\n { injector },\n );\n return destroyRef.onDestroy(() => runCleanup());\n },\n };\n}\n\nexport function cleanup(fn: () => void) {\n inject(DestroyRef).onDestroy(fn);\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n computed,\n forwardRef,\n inject,\n Injector,\n isSignal,\n linkedSignal,\n runInInjectionContext,\n Signal,\n signal,\n Type,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cleanup } from './disposals';\n\nexport function uniqueId(length: number = 7) {\n return Array.from({ length }, () =>\n String.fromCharCode(97 + Math.floor(Math.random() * 26)),\n ).join('');\n}\n\nexport function provideValueAccessor<T>(valueAccessor: Type<T>) {\n return {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => valueAccessor),\n multi: true,\n };\n}\n\nexport interface ListenerOut {\n on: () => void;\n off: () => void;\n}\n\nexport function documentListener<T extends Event>(\n ev: string,\n fn: (e: T) => void,\n data: Partial<\n AddEventListenerOptions & {\n injector?: Injector;\n lazy?: boolean;\n skip?: number;\n element?: HTMLElement | Document | Window;\n }\n > = {},\n): ListenerOut {\n const { injector = inject(Injector), lazy = false, element, skip = 0, ...listenerOptions } = data;\n let active = false;\n const controller: ListenerOut = { on: () => {}, off: () => {} };\n\n controller.on = () => {\n if (active) return;\n active = true;\n runInInjectionContext(injector, () => {\n const el = element || inject(DOCUMENT);\n let eventCount = 0;\n el.addEventListener(\n ev,\n e => {\n eventCount++;\n if (eventCount <= skip) return;\n fn(e as T);\n },\n listenerOptions,\n );\n\n controller.off = () => {\n active = false;\n eventCount = 0;\n el.removeEventListener(ev, fn as any);\n };\n cleanup(controller.off);\n });\n };\n\n if (!lazy) controller.on();\n return controller;\n}\n\nexport function filterFunction<T, V = T>(\n data: Signal<T[]> | T[],\n options: {\n filter?: (v: V) => string;\n key?: keyof T;\n childrenFilter?: (v: T) => V[];\n query?: (v: V, search: string) => boolean;\n },\n) {\n const search = signal('');\n const list = linkedSignal(isSignal(data) ? data : signal(data || []));\n\n const filteredList = computed(() => {\n const text = search().toLowerCase();\n const lists = list();\n\n const query =\n options.query ?? ((v: V, t: string) => options.filter!(v).toLowerCase().includes(t));\n const vvv = lists.reduce((acc, item) => {\n if (options.childrenFilter) {\n const children = options.childrenFilter(item);\n const filteredChildren = children.filter(child => query(child as unknown as V, text));\n if (filteredChildren.length) {\n acc.push({\n ...item,\n [(options.key as unknown as string) || 'children']: filteredChildren,\n });\n }\n } else if (query(item as unknown as V, text)) {\n acc.push(item);\n }\n return acc;\n }, [] as T[]);\n return vvv;\n });\n return { search, list, filteredList };\n}\n","import { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { inject, PLATFORM_ID } from '@angular/core';\n\nexport function isServer() {\n return isPlatformServer(inject(PLATFORM_ID));\n}\n\nexport function isClient() {\n return isPlatformBrowser(inject(PLATFORM_ID));\n}\n","import {\n animate,\n animateChild,\n AnimationTriggerMetadata,\n group,\n query,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const createHostAnimation = function dialogHostAnimation(animationNames: string[]) {\n return trigger('parentAnimation', [\n transition(':enter', [query(animationNames.join(', '), [animateChild()], { optional: true })]),\n transition(':leave', [\n group(animationNames.map(x => query(x, [animateChild()], { optional: true }))),\n ]),\n ]);\n};\n\n// fade in and out animation\nexport function fadeAnimation(time: string): AnimationTriggerMetadata {\n return trigger('fadeAnimation', [\n state('1', style({ opacity: 1 })),\n state('void', style({ opacity: 0 })),\n state('0', style({ opacity: 0 })),\n transition('* => *', animate(`${time} ease`)),\n ]);\n}\n","import { Directive, effect, ElementRef, inject, input, linkedSignal, model } from '@angular/core';\n\n@Directive({\n selector: '[ngbNumberOnly]',\n host: {\n '(input)': 'value.set($event.target.value)',\n '[value]': 'value()',\n },\n})\nexport class NumberOnly {\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n readonly min = input<number | undefined>();\n readonly max = input<number | undefined>();\n readonly len = input<number | undefined>();\n\n readonly value = model<string>('');\n\n // Hacky way to set the min value\n readonly _min = linkedSignal(this.min);\n readonly _max = linkedSignal(this.max);\n readonly _len = linkedSignal(this.len);\n\n constructor() {\n effect(cleanup => {\n const el = this.el.nativeElement;\n el.addEventListener('keydown', this.onKeyDown);\n cleanup(() => el.removeEventListener('keydown', this.onKeyDown));\n });\n }\n\n private readonly allowedKeys = new Set([\n 'Backspace',\n 'Delete',\n 'Tab',\n 'Escape',\n 'Enter',\n 'Home',\n 'End',\n 'ArrowLeft',\n 'ArrowRight',\n ]);\n\n onKeyDown = (e: KeyboardEvent) => {\n if (this.allowedKeys.has(e.key) || this.isCtrlKey(e)) return;\n if (e.key === 'v' && (e.ctrlKey || e.metaKey)) return e.preventDefault();\n\n if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n return this.handleArrowUpDown(e);\n }\n\n if (!/^\\d$/.test(e.key) || !this.validateValue(this.getNewValue(e))) {\n e.preventDefault();\n }\n };\n\n private isCtrlKey(e: KeyboardEvent): boolean {\n return ['a', 'c', 'x'].includes(e.key) && (e.ctrlKey || e.metaKey);\n }\n\n private handleArrowUpDown(e: KeyboardEvent) {\n e.preventDefault();\n const currentValue = this.el.nativeElement.value;\n const newValue = +currentValue + (e.key === 'ArrowUp' ? 1 : -1);\n if (this.validateValue(newValue.toString())) {\n this.value.set(newValue.toString().padStart(2, '0'));\n }\n }\n\n private getNewValue(e: KeyboardEvent): string {\n const { value, selectionStart, selectionEnd } = this.el.nativeElement;\n const start = selectionStart ?? value.length;\n const end = selectionEnd ?? value.length;\n return value.slice(0, start) + e.key + value.slice(end);\n }\n\n private validateValue(rawValue: string): boolean {\n const len = this._len();\n const value = +rawValue;\n const min = this._min();\n const max = this._max();\n\n if (len !== undefined && rawValue.length > len) return false;\n if (max !== undefined && value > max) return false;\n\n if (min !== undefined && value < min) {\n const potentialMax = Number(rawValue + '9'.repeat(len ? len - rawValue.length : 1));\n if (potentialMax < min) return false;\n }\n\n return true;\n }\n}\n\nexport function padString(num: number | string): string {\n return num.toString().padStart(2, '0');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngbase-adk-utils.mjs","sources":["../../../projects/adk/utils/range.pipe.ts","../../../projects/adk/utils/disposals.ts","../../../projects/adk/utils/utils.ts","../../../projects/adk/utils/ssr.ts","../../../projects/adk/utils/animation.ts","../../../projects/adk/utils/number-only.ts","../../../projects/adk/utils/ngbase-adk-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'range',\n})\nexport class RangePipe implements PipeTransform {\n transform(value: number) {\n return Array.from({ length: value }, (v, k) => k + 1);\n }\n}\n","import { afterNextRender, DestroyRef, inject, Injector } from '@angular/core';\n\ntype Cleanup = () => void;\ntype CleanupRegisterFn = (fn: Cleanup) => void;\n\nexport function disposals() {\n const injector = inject(Injector);\n const destroyRef = inject(DestroyRef);\n return {\n afterNextRender: (fn: (cleanup: CleanupRegisterFn) => void) => {\n const cleanup: Cleanup[] = [];\n const register = (fn: Cleanup) => cleanup.push(fn);\n const runCleanup = () => cleanup.forEach(c => c());\n afterNextRender(\n () => {\n runCleanup();\n fn(register);\n },\n { injector },\n );\n return destroyRef.onDestroy(() => runCleanup());\n },\n };\n}\n\nexport function cleanup(fn: () => void) {\n inject(DestroyRef).onDestroy(fn);\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n computed,\n forwardRef,\n inject,\n Injector,\n isSignal,\n linkedSignal,\n runInInjectionContext,\n Signal,\n signal,\n Type,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cleanup } from './disposals';\n\nexport function uniqueId(length: number = 7) {\n return Array.from({ length }, () =>\n String.fromCharCode(97 + Math.floor(Math.random() * 26)),\n ).join('');\n}\n\nexport function provideValueAccessor<T>(valueAccessor: Type<T>) {\n return {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => valueAccessor),\n multi: true,\n };\n}\n\nexport interface ListenerOut {\n on: () => void;\n off: () => void;\n}\n\nexport function documentListener<T extends Event>(\n ev: string,\n fn: (e: T) => void,\n data: Partial<\n AddEventListenerOptions & {\n injector?: Injector;\n lazy?: boolean;\n skip?: number;\n element?: HTMLElement | Document | Window;\n }\n > = {},\n): ListenerOut {\n const { injector = inject(Injector), lazy = false, element, skip = 0, ...listenerOptions } = data;\n let active = false;\n const controller: ListenerOut = { on: () => {}, off: () => {} };\n\n controller.on = () => {\n if (active) return;\n active = true;\n runInInjectionContext(injector, () => {\n const el = element || inject(DOCUMENT);\n let eventCount = 0;\n el.addEventListener(\n ev,\n e => {\n eventCount++;\n if (eventCount <= skip) return;\n fn(e as T);\n },\n listenerOptions,\n );\n\n controller.off = () => {\n active = false;\n eventCount = 0;\n el.removeEventListener(ev, fn as any);\n };\n cleanup(controller.off);\n });\n };\n\n if (!lazy) controller.on();\n return controller;\n}\n\nexport type FilterOptions<T, V = any> = {\n filter: (v: V) => string;\n query?: (query: string, option: V) => boolean;\n key?: keyof T;\n childrenFilter?: (v: T) => V[];\n};\n\nexport function filterFunction<T, V = T>(data: Signal<T[]> | T[], ops: () => FilterOptions<T, V>) {\n const search = signal('');\n const list = linkedSignal(isSignal(data) ? data : signal(data || []));\n\n const filteredList = computed(() => {\n const options = ops();\n const text = search()?.trim().toLowerCase() || '';\n const lists = list() || [];\n const filter = options.filter ?? ((v: V) => v as string);\n\n const query = options.query ?? ((t: string, v: V) => filter(v).toLowerCase().includes(t));\n const vvv = lists.reduce((acc, item) => {\n // Get children from key or childrenFilter\n const children = options.key ? (item[options.key] as V[]) : options.childrenFilter?.(item);\n if (children) {\n const filteredChildren = children?.filter(child => query(text, child as V));\n if (filteredChildren?.length) {\n acc.push({\n ...item,\n [(options.key as unknown as string) || 'children']: filteredChildren,\n });\n }\n } else if (query(text, item as unknown as V)) {\n acc.push(item);\n }\n return acc;\n }, [] as T[]);\n return vvv;\n });\n return { search, list, filteredList };\n}\n","import { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { inject, PLATFORM_ID } from '@angular/core';\n\nexport function isServer() {\n return isPlatformServer(inject(PLATFORM_ID));\n}\n\nexport function isClient() {\n return isPlatformBrowser(inject(PLATFORM_ID));\n}\n","import {\n animate,\n animateChild,\n AnimationTriggerMetadata,\n group,\n query,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const createHostAnimation = function dialogHostAnimation(animationNames: string[]) {\n return trigger('parentAnimation', [\n transition(':enter', [query(animationNames.join(', '), [animateChild()], { optional: true })]),\n transition(':leave', [\n group(animationNames.map(x => query(x, [animateChild()], { optional: true }))),\n ]),\n ]);\n};\n\n// fade in and out animation\nexport function fadeAnimation(time: string): AnimationTriggerMetadata {\n return trigger('fadeAnimation', [\n state('1', style({ opacity: 1 })),\n state('void', style({ opacity: 0 })),\n state('0', style({ opacity: 0 })),\n transition('* => *', animate(`${time} ease`)),\n ]);\n}\n","import { Directive, effect, ElementRef, inject, input, linkedSignal, model } from '@angular/core';\n\n@Directive({\n selector: '[ngbNumberOnly]',\n host: {\n '(input)': 'value.set($event.target.value)',\n '[value]': 'value()',\n },\n})\nexport class NumberOnly {\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n readonly min = input<number | undefined>();\n readonly max = input<number | undefined>();\n readonly len = input<number | undefined>();\n\n readonly value = model<string>('');\n\n // Hacky way to set the min value\n readonly _min = linkedSignal(this.min);\n readonly _max = linkedSignal(this.max);\n readonly _len = linkedSignal(this.len);\n\n constructor() {\n effect(cleanup => {\n const el = this.el.nativeElement;\n el.addEventListener('keydown', this.onKeyDown);\n cleanup(() => el.removeEventListener('keydown', this.onKeyDown));\n });\n }\n\n private readonly allowedKeys = new Set([\n 'Backspace',\n 'Delete',\n 'Tab',\n 'Escape',\n 'Enter',\n 'Home',\n 'End',\n 'ArrowLeft',\n 'ArrowRight',\n ]);\n\n onKeyDown = (e: KeyboardEvent) => {\n if (this.allowedKeys.has(e.key) || this.isCtrlKey(e)) return;\n if (e.key === 'v' && (e.ctrlKey || e.metaKey)) return e.preventDefault();\n\n if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n return this.handleArrowUpDown(e);\n }\n\n if (!/^\\d$/.test(e.key) || !this.validateValue(this.getNewValue(e))) {\n e.preventDefault();\n }\n };\n\n private isCtrlKey(e: KeyboardEvent): boolean {\n return ['a', 'c', 'x'].includes(e.key) && (e.ctrlKey || e.metaKey);\n }\n\n private handleArrowUpDown(e: KeyboardEvent) {\n e.preventDefault();\n const currentValue = this.el.nativeElement.value;\n const newValue = +currentValue + (e.key === 'ArrowUp' ? 1 : -1);\n if (this.validateValue(newValue.toString())) {\n this.value.set(newValue.toString().padStart(2, '0'));\n }\n }\n\n private getNewValue(e: KeyboardEvent): string {\n const { value, selectionStart, selectionEnd } = this.el.nativeElement;\n const start = selectionStart ?? value.length;\n const end = selectionEnd ?? value.length;\n return value.slice(0, start) + e.key + value.slice(end);\n }\n\n private validateValue(rawValue: string): boolean {\n const len = this._len();\n const value = +rawValue;\n const min = this._min();\n const max = this._max();\n\n if (len !== undefined && rawValue.length > len) return false;\n if (max !== undefined && value > max) return false;\n\n if (min !== undefined && value < min) {\n const potentialMax = Number(rawValue + '9'.repeat(len ? len - rawValue.length : 1));\n if (potentialMax < min) return false;\n }\n\n return true;\n }\n}\n\nexport function padString(num: number | string): string {\n return num.toString().padStart(2, '0');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAKa,SAAS,CAAA;AACpB,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;8GAF5C,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAHrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;;;SCCe,SAAS,GAAA;AACvB,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACjC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,OAAO;AACL,QAAA,eAAe,EAAE,CAAC,EAAwC,KAAI;YAC5D,MAAM,OAAO,GAAc,EAAE;AAC7B,YAAA,MAAM,QAAQ,GAAG,CAAC,EAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,YAAA,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,eAAe,CACb,MAAK;AACH,gBAAA,UAAU,EAAE;gBACZ,EAAE,CAAC,QAAQ,CAAC;AACd,aAAC,EACD,EAAE,QAAQ,EAAE,CACb;YACD,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,UAAU,EAAE,CAAC;SAChD;KACF;AACH;AAEM,SAAU,OAAO,CAAC,EAAc,EAAA;IACpC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AAClC;;ACXgB,SAAA,QAAQ,CAAC,MAAA,GAAiB,CAAC,EAAA;AACzC,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAC5B,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CACzD,CAAC,IAAI,CAAC,EAAE,CAAC;AACZ;AAEM,SAAU,oBAAoB,CAAI,aAAsB,EAAA;IAC5D,OAAO;AACL,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,QAAA,KAAK,EAAE,IAAI;KACZ;AACH;AAOM,SAAU,gBAAgB,CAC9B,EAAU,EACV,EAAkB,EAClB,OAOI,EAAE,EAAA;IAEN,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI;IACjG,IAAI,MAAM,GAAG,KAAK;AAClB,IAAA,MAAM,UAAU,GAAgB,EAAE,EAAE,EAAE,MAAK,GAAG,EAAE,GAAG,EAAE,MAAO,GAAC,EAAE;AAE/D,IAAA,UAAU,CAAC,EAAE,GAAG,MAAK;AACnB,QAAA,IAAI,MAAM;YAAE;QACZ,MAAM,GAAG,IAAI;AACb,QAAA,qBAAqB,CAAC,QAAQ,EAAE,MAAK;YACnC,MAAM,EAAE,GAAG,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC;YACtC,IAAI,UAAU,GAAG,CAAC;AAClB,YAAA,EAAE,CAAC,gBAAgB,CACjB,EAAE,EACF,CAAC,IAAG;AACF,gBAAA,UAAU,EAAE;gBACZ,IAAI,UAAU,IAAI,IAAI;oBAAE;gBACxB,EAAE,CAAC,CAAM,CAAC;aACX,EACD,eAAe,CAChB;AAED,YAAA,UAAU,CAAC,GAAG,GAAG,MAAK;gBACpB,MAAM,GAAG,KAAK;gBACd,UAAU,GAAG,CAAC;AACd,gBAAA,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAS,CAAC;AACvC,aAAC;AACD,YAAA,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;AACzB,SAAC,CAAC;AACJ,KAAC;AAED,IAAA,IAAI,CAAC,IAAI;QAAE,UAAU,CAAC,EAAE,EAAE;AAC1B,IAAA,OAAO,UAAU;AACnB;AASgB,SAAA,cAAc,CAAW,IAAuB,EAAE,GAA8B,EAAA;AAC9F,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAErE,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAK;AACjC,QAAA,MAAM,OAAO,GAAG,GAAG,EAAE;AACrB,QAAA,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE;AACjD,QAAA,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE;AAC1B,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAI,KAAK,CAAW,CAAC;QAExD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,CAAC,CAAS,EAAE,CAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAI;;YAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAC1F,IAAI,QAAQ,EAAE;AACZ,gBAAA,MAAM,gBAAgB,GAAG,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAU,CAAC,CAAC;AAC3E,gBAAA,IAAI,gBAAgB,EAAE,MAAM,EAAE;oBAC5B,GAAG,CAAC,IAAI,CAAC;AACP,wBAAA,GAAG,IAAI;AACP,wBAAA,CAAE,OAAO,CAAC,GAAyB,IAAI,UAAU,GAAG,gBAAgB;AACrE,qBAAA,CAAC;;;AAEC,iBAAA,IAAI,KAAK,CAAC,IAAI,EAAE,IAAoB,CAAC,EAAE;AAC5C,gBAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEhB,YAAA,OAAO,GAAG;SACX,EAAE,EAAS,CAAC;AACb,QAAA,OAAO,GAAG;AACZ,KAAC,CAAC;AACF,IAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;AACvC;;SClHgB,QAAQ,GAAA;AACtB,IAAA,OAAO,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC9C;SAEgB,QAAQ,GAAA;AACtB,IAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC/C;;ACGa,MAAA,mBAAmB,GAAG,SAAS,mBAAmB,CAAC,cAAwB,EAAA;IACtF,OAAO,OAAO,CAAC,iBAAiB,EAAE;QAChC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9F,UAAU,CAAC,QAAQ,EAAE;YACnB,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SAC/E,CAAC;AACH,KAAA,CAAC;AACJ;AAEA;AACM,SAAU,aAAa,CAAC,IAAY,EAAA;IACxC,OAAO,OAAO,CAAC,eAAe,EAAE;QAC9B,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAG,EAAA,IAAI,CAAO,KAAA,CAAA,CAAC,CAAC;AAC9C,KAAA,CAAC;AACJ;;MCpBa,UAAU,CAAA;AAcrB,IAAA,WAAA,GAAA;AAbS,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAA+B,UAAU,CAAC;QAErD,IAAG,CAAA,GAAA,GAAG,KAAK,EAAsB;QACjC,IAAG,CAAA,GAAA,GAAG,KAAK,EAAsB;QACjC,IAAG,CAAA,GAAA,GAAG,KAAK,EAAsB;AAEjC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,EAAE,CAAC;;AAGzB,QAAA,IAAA,CAAA,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,QAAA,IAAA,CAAA,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,QAAA,IAAA,CAAA,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAUrB,IAAW,CAAA,WAAA,GAAG,IAAI,GAAG,CAAC;YACrC,WAAW;YACX,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,OAAO;YACP,MAAM;YACN,KAAK;YACL,WAAW;YACX,YAAY;AACb,SAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,CAAgB,KAAI;AAC/B,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE;AACtD,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;AAAE,gBAAA,OAAO,CAAC,CAAC,cAAc,EAAE;AAExE,YAAA,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAC5C,gBAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;;YAGlC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnE,CAAC,CAAC,cAAc,EAAE;;AAEtB,SAAC;QA9BC,MAAM,CAAC,OAAO,IAAG;AACf,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;YAChC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;AAC9C,YAAA,OAAO,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAClE,SAAC,CAAC;;AA4BI,IAAA,SAAS,CAAC,CAAgB,EAAA;QAChC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;;AAG5D,IAAA,iBAAiB,CAAC,CAAgB,EAAA;QACxC,CAAC,CAAC,cAAc,EAAE;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK;QAChD,MAAM,QAAQ,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;;;AAIhD,IAAA,WAAW,CAAC,CAAgB,EAAA;AAClC,QAAA,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;AACrE,QAAA,MAAM,KAAK,GAAG,cAAc,IAAI,KAAK,CAAC,MAAM;AAC5C,QAAA,MAAM,GAAG,GAAG,YAAY,IAAI,KAAK,CAAC,MAAM;AACxC,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;AAGjD,IAAA,aAAa,CAAC,QAAgB,EAAA;AACpC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;AACvB,QAAA,MAAM,KAAK,GAAG,CAAC,QAAQ;AACvB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;AACvB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;QAEvB,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;AAAE,YAAA,OAAO,KAAK;AAC5D,QAAA,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG;AAAE,YAAA,OAAO,KAAK;QAElD,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,EAAE;YACpC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnF,IAAI,YAAY,GAAG,GAAG;AAAE,gBAAA,OAAO,KAAK;;AAGtC,QAAA,OAAO,IAAI;;8GAjFF,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,gCAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,gCAAgC;AAC3C,wBAAA,SAAS,EAAE,SAAS;AACrB,qBAAA;AACF,iBAAA;;AAsFK,SAAU,SAAS,CAAC,GAAoB,EAAA;IAC5C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxC;;AChGA;;AAEG;;;;"}
package/mask/mask.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { NgControl } from '@angular/forms';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@ngbase/adk/form-field";
4
3
  export declare class Mask {
5
4
  private readonly el;
6
5
  readonly control: NgControl | null;
@@ -20,6 +19,6 @@ export declare class Mask {
20
19
  private updateView;
21
20
  private unmask;
22
21
  static ɵfac: i0.ɵɵFactoryDeclaration<Mask, never>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<Mask, "[ngbMask]", never, { "ngbMask": { "alias": "ngbMask"; "required": false; "isSignal": true; }; "showMaskType": { "alias": "showMaskType"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.InputBase; inputs: {}; outputs: {}; }]>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Mask, "[ngbMask]", never, { "ngbMask": { "alias": "ngbMask"; "required": false; "isSignal": true; }; "showMaskType": { "alias": "showMaskType"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
23
  }
25
24
  export declare function maskTransform(value: string, mask: string, showMaskType?: boolean): string;
@@ -27,7 +27,7 @@ export declare class NgbMenuTrigger {
27
27
  get rootParent(): NgbMenu | null;
28
28
  clickOpen(ev: MouseEvent): void;
29
29
  private open;
30
- private closeMenu;
30
+ closeMenu(): void;
31
31
  openMenu(): void;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbMenuTrigger, never>;
33
33
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgbMenuTrigger, "[ngbMenuTrigger]", ["ngbMenuTrigger"], { "ngbMenuTrigger": { "alias": "ngbMenuTrigger"; "required": true; "isSignal": true; }; "ngbMenuTriggerData": { "alias": "ngbMenuTriggerData"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
package/menu/menu.d.ts CHANGED
@@ -16,6 +16,10 @@ export declare class NgpMenuGroup {
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpMenuGroup, never>;
17
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgpMenuGroup, "[ngbMenuGroup]", never, {}, {}, never, never, true, [{ directive: typeof i1.AccessibleGroup; inputs: {}; outputs: {}; }]>;
18
18
  }
19
+ export declare class NgpMenuContent {
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgpMenuContent, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpMenuContent, "ng-template[ngbMenuContent]", never, {}, {}, never, never, true, never>;
22
+ }
19
23
  export declare class NgbMenu implements OnDestroy {
20
24
  readonly dir: import("@ngbase/adk/bidi").Directionality;
21
25
  readonly popover: {
@@ -24,11 +28,13 @@ export declare class NgbMenu implements OnDestroy {
24
28
  };
25
29
  private readonly menuEl;
26
30
  readonly container: import("@angular/core").Signal<TemplateRef<any>>;
31
+ readonly content: import("@angular/core").Signal<readonly TemplateRef<any>[]>;
27
32
  readonly options: import("@angular/core").Signal<readonly NgbOption<any>[]>;
28
33
  readonly lists: import("@angular/core").Signal<readonly NgbList[]>;
29
34
  readonly manager: Keys;
30
35
  readonly selected: import("@angular/core").OutputEmitterRef<string>;
31
36
  readonly ayId: string;
37
+ readonly noAutoClose: import("@angular/core").InputSignal<boolean>;
32
38
  parentMenuTrigger?: NgbMenuTrigger;
33
39
  diaRef: DialogRef;
34
40
  readonly events: Subject<{
@@ -41,10 +47,10 @@ export declare class NgbMenu implements OnDestroy {
41
47
  open(options: PopoverOptions, subMenu?: boolean): void;
42
48
  opened(): void;
43
49
  get rootParent(): NgbMenu | undefined;
44
- close: () => void;
50
+ close: (data?: any) => void;
45
51
  ngOnDestroy(): void;
46
52
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbMenu, never>;
47
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgbMenu, "[ngbMenu]", ["ngbMenu"], {}, { "selected": "selected"; }, ["options", "lists"], never, true, never>;
53
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgbMenu, "[ngbMenu]", ["ngbMenu"], { "noAutoClose": { "alias": "noAutoClose"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, ["content", "options", "lists"], never, true, never>;
48
54
  }
49
55
  export declare const aliasMenu: (menu: typeof NgbMenu) => {
50
56
  provide: typeof NgbMenu;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngbase/adk",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ng-base/ngbase.git"
@@ -44,13 +44,17 @@
44
44
  "types": "./autocomplete/index.d.ts",
45
45
  "default": "./fesm2022/ngbase-adk-autocomplete.mjs"
46
46
  },
47
+ "./avatar": {
48
+ "types": "./avatar/index.d.ts",
49
+ "default": "./fesm2022/ngbase-adk-avatar.mjs"
50
+ },
47
51
  "./bidi": {
48
52
  "types": "./bidi/index.d.ts",
49
53
  "default": "./fesm2022/ngbase-adk-bidi.mjs"
50
54
  },
51
- "./avatar": {
52
- "types": "./avatar/index.d.ts",
53
- "default": "./fesm2022/ngbase-adk-avatar.mjs"
55
+ "./cache": {
56
+ "types": "./cache/index.d.ts",
57
+ "default": "./fesm2022/ngbase-adk-cache.mjs"
54
58
  },
55
59
  "./breadcrumb": {
56
60
  "types": "./breadcrumb/index.d.ts",
@@ -60,10 +64,6 @@
60
64
  "types": "./carousel/index.d.ts",
61
65
  "default": "./fesm2022/ngbase-adk-carousel.mjs"
62
66
  },
63
- "./cache": {
64
- "types": "./cache/index.d.ts",
65
- "default": "./fesm2022/ngbase-adk-cache.mjs"
66
- },
67
67
  "./checkbox": {
68
68
  "types": "./checkbox/index.d.ts",
69
69
  "default": "./fesm2022/ngbase-adk-checkbox.mjs"
@@ -11,10 +11,10 @@ export declare class NgbPaginationBtn {
11
11
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgbPaginationBtn, "[ngbPaginationBtn]", never, { "ngbPaginationBtn": { "alias": "ngbPaginationBtn"; "required": true; "isSignal": true; }; "jump": { "alias": "jump"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12
12
  }
13
13
  export declare class NgbPagination {
14
- readonly total: import("@angular/core").InputSignal<number>;
15
14
  readonly size: import("@angular/core").ModelSignal<number>;
16
- readonly sizeOptions: import("@angular/core").InputSignal<number[]>;
17
15
  readonly active: import("@angular/core").ModelSignal<number>;
16
+ readonly total: import("@angular/core").InputSignal<number>;
17
+ readonly sizeOptions: import("@angular/core").InputSignal<number[]>;
18
18
  readonly valueChanged: import("@angular/core").OutputEmitterRef<number>;
19
19
  readonly totalSnaps: import("@angular/core").Signal<number>;
20
20
  readonly snaps: import("@angular/core").Signal<number[]>;
@@ -24,7 +24,7 @@ export declare class NgbPagination {
24
24
  jump(by: number): void;
25
25
  sizeChanged(size: number): void;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbPagination, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgbPagination, "[ngbPagination]", never, { "total": { "alias": "total"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": true; "isSignal": true; }; "sizeOptions": { "alias": "sizeOptions"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": true; "isSignal": true; }; }, { "size": "sizeChange"; "active": "activeChange"; "valueChanged": "valueChanged"; }, never, never, true, never>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgbPagination, "[ngbPagination]", never, { "size": { "alias": "size"; "required": true; "isSignal": true; }; "active": { "alias": "active"; "required": true; "isSignal": true; }; "total": { "alias": "total"; "required": true; "isSignal": true; }; "sizeOptions": { "alias": "sizeOptions"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; "active": "activeChange"; "valueChanged": "valueChanged"; }, never, never, true, never>;
28
28
  }
29
29
  export declare function aliasPagination(pagination: typeof NgbPagination): {
30
30
  provide: typeof NgbPagination;
@@ -10,7 +10,7 @@ export declare function basePopoverPortal<T>(component: Type<T>): {
10
10
  }>;
11
11
  parent: T;
12
12
  replace: ((component: DialogInput<T_1>) => void) | undefined;
13
- childSignal: import("@angular/core").WritableSignal<any>;
13
+ childSignal: import("@angular/core").WritableSignal<import("@angular/core").ComponentRef<any> | import("@angular/core").EmbeddedViewRef<any> | undefined>;
14
14
  };
15
15
  closeAll: () => void;
16
16
  };
@@ -1,11 +1,10 @@
1
1
  import { ElementRef, ViewContainerRef } from '@angular/core';
2
2
  import { FocusTrap } from '@ngbase/adk/a11y';
3
- import { BaseDialog } from '@ngbase/adk/portal';
3
+ import { BaseDialog, NgbPortalClose } from '@ngbase/adk/portal';
4
4
  import { Observable } from 'rxjs';
5
5
  import { PopoverOptions } from './popover.service';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngbase/adk/a11y";
8
- import * as i2 from "@ngbase/adk/portal";
9
8
  export declare class NgbPopoverBackdrop {
10
9
  readonly popover: NgbPopover;
11
10
  readonly focusTrap: FocusTrap;
@@ -42,9 +41,11 @@ export declare class NgbPopover extends BaseDialog {
42
41
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbPopover, never>;
43
42
  static ɵcmp: i0.ɵɵComponentDeclaration<NgbPopover, "ngb-popover", never, {}, {}, never, never, true, never>;
44
43
  }
45
- export declare class NgbPopoverClose {
44
+ export declare class NgbPopoverClose extends NgbPortalClose {
45
+ readonly ngbPopoverClose: import("@angular/core").InputSignal<unknown>;
46
+ close(): void;
46
47
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbPopoverClose, never>;
47
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgbPopoverClose, "[ngbPopoverClose]", never, {}, {}, never, never, true, [{ directive: typeof i2.NgbPortalClose; inputs: { "ngbPortalClose": "ngbPopoverClose"; }; outputs: {}; }]>;
48
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgbPopoverClose, "[ngbPopoverClose]", never, { "ngbPopoverClose": { "alias": "ngbPopoverClose"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
48
49
  }
49
50
  export declare function aliasPopover(popover: typeof NgbPopover): ({
50
51
  provide: import("@angular/core").InjectionToken<{
@@ -1,17 +1,17 @@
1
- import { ComponentRef, Type } from '@angular/core';
1
+ import { ComponentRef, EmbeddedViewRef, Type } from '@angular/core';
2
2
  import { DialogInput, DialogOptions, DialogRef } from './dialog-ref';
3
3
  export declare function basePortal<U>(name: string, baseComponent: Type<U>): {
4
4
  open: <T>(component?: DialogInput<T>, callback?: (comp: ComponentRef<U>, opt: DialogOptions) => void, opt?: DialogOptions, animation?: boolean, parentComponent?: Type<U>) => {
5
5
  diaRef: DialogRef<any>;
6
6
  parent: ComponentRef<U>;
7
7
  instance: null;
8
- childSignal: import("@angular/core").WritableSignal<any>;
8
+ childSignal: import("@angular/core").WritableSignal<ComponentRef<any> | EmbeddedViewRef<any> | undefined>;
9
9
  replace?: undefined;
10
10
  } | {
11
11
  diaRef: DialogRef<any>;
12
12
  parent: ComponentRef<U>;
13
13
  replace: (component: DialogInput<T>) => void;
14
- childSignal: import("@angular/core").WritableSignal<any>;
14
+ childSignal: import("@angular/core").WritableSignal<ComponentRef<any> | EmbeddedViewRef<any> | undefined>;
15
15
  instance?: undefined;
16
16
  };
17
17
  closeAll: () => void;
@@ -1,8 +1,9 @@
1
+ import { DialogRef } from './dialog-ref';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class NgbPortalClose {
3
- private readonly dialogRef;
4
+ readonly dialogRef: DialogRef<any>;
4
5
  readonly ngbPortalClose: import("@angular/core").InputSignal<unknown>;
5
- close(): void;
6
+ close(data?: unknown): void;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbPortalClose, never>;
7
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgbPortalClose, "[ngbPortalClose]", never, { "ngbPortalClose": { "alias": "ngbPortalClose"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
9
  }
package/radio/radio.d.ts CHANGED
@@ -5,7 +5,7 @@ import * as i1 from "@ngbase/adk/a11y";
5
5
  export declare class NgbRadioIndicator {
6
6
  readonly radio: NgbRadio;
7
7
  readonly allyItem: AccessibleItem<any>;
8
- readonly disabled: import("@angular/core").WritableSignal<boolean>;
8
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9
9
  constructor();
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbRadioIndicator, never>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<NgbRadioIndicator, "[ngbRadioIndicator]", ["ngbRadioIndicator"], {}, {}, never, ["*"], true, [{ directive: typeof i1.AccessibleItem; inputs: {}; outputs: {}; }]>;
@@ -20,3 +20,7 @@ export declare class NgbRadio {
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<NgbRadio, never>;
21
21
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgbRadio, "[ngbRadio]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
22
22
  }
23
+ export declare function aliasRadio(radio: typeof NgbRadio): {
24
+ provide: typeof NgbRadio;
25
+ useExisting: typeof NgbRadio;
26
+ };
@@ -14,7 +14,7 @@ import {
14
14
  hostDirectives: [{ directive: NgbAccordionGroup, inputs: ['multiple'] }],
15
15
  template: `<ng-content />`,
16
16
  host: {
17
- class: 'block rounded-lg border bg-foreground',
17
+ class: 'block rounded-lg border bg-background',
18
18
  },
19
19
  })
20
20
  export class AccordionGroup {}
@@ -29,7 +29,7 @@ export class AccordionGroup {}
29
29
  <ng-content select="[<%= name %>AccordionHeader]" />
30
30
  @if (expanded()) {
31
31
  <div ngbAccordionContent [@slide] class="overflow-hidden">
32
- <div class="px-3 pb-4 text-muted">
32
+ <div class="text-muted-foreground px-3 pb-4">
33
33
  <ng-content />
34
34
  </div>
35
35
  </div>
@@ -45,7 +45,7 @@ export function alertPortal() {
45
45
  imports: [Button],
46
46
  template: `
47
47
  <h4 class="mb-2 text-base font-bold">{{ data?.title }}</h4>
48
- <p class="text-muted-foreground pb-3">{{ data?.description }}</p>
48
+ <p class="pb-3 text-muted-foreground">{{ data?.description }}</p>
49
49
  <div class="flex justify-end gap-4 pt-1">
50
50
  @for (action of data?.actions; track action) {
51
51
  <button [<%= name %>Button]="action.type || 'primary'" (click)="action.handler(diaRef.close)">
@@ -33,7 +33,7 @@ export class Autocomplete<T> extends NgbAutocomplete<T> {}
33
33
  hostDirectives: [
34
34
  {
35
35
  directive: NgbAutocompleteInput,
36
- inputs: ['options', 'filterFn'],
36
+ inputs: ['isChip'],
37
37
  outputs: ['ngbAutocompleteInput: <%= name %>AutocompleteInput'],
38
38
  },
39
39
  ],
@@ -25,7 +25,7 @@ export class AvatarGroup {}
25
25
  `,
26
26
  host: {
27
27
  class:
28
- 'inline-flex aspect-square rounded-full overflow-hidden border-2 border-foreground relative bg-background text-muted items-center justify-center',
28
+ 'inline-flex aspect-square rounded-full overflow-hidden border-2 border-muted relative bg-background text-muted-foreground items-center justify-center',
29
29
  },
30
30
  })
31
31
  export class Avatar extends NgbAvatar {}
@@ -5,7 +5,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
5
  changeDetection: ChangeDetectionStrategy.OnPush,
6
6
  template: `<ng-content />`,
7
7
  host: {
8
- class: 'inline-block bg-muted-background rounded-full px-2 py-1 text-xs font-semibold',
8
+ class: 'inline-block bg-muted rounded-full px-2 py-1 text-xs font-semibold',
9
9
  },
10
10
  })
11
11
  export class Badge {}
@@ -33,11 +33,15 @@ export class Breadcrumbs {}
33
33
  <ng-content />
34
34
  </a>
35
35
  @if (!active()) {
36
- <<%= name %>-icon ngbBreadcrumbSeparatorAria name="lucideChevronRight" class="text-muted" />
36
+ <<%= name %>-icon
37
+ ngbBreadcrumbSeparatorAria
38
+ name="lucideChevronRight"
39
+ class="text-muted-foreground"
40
+ />
37
41
  }
38
42
  `,
39
43
  host: {
40
- class: 'flex items-center gap-2 text-muted',
44
+ class: 'flex items-center gap-2 text-muted-foreground',
41
45
  },
42
46
  })
43
47
  export class Breadcrumb extends NgbBreadcrumb {}
@@ -11,14 +11,14 @@ export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'outline' | 'ico
11
11
  host: {
12
12
  type: 'button',
13
13
  class:
14
- 'inline-flex items-center justify-center rounded-lg px-4 py-2 border disabled:text-muted disabled:cursor-not-allowed',
14
+ 'inline-flex items-center justify-center rounded-lg px-4 py-2 border disabled:opacity-50 disabled:pointer-events-none',
15
15
  '[class]': `variant() === 'primary'
16
- ? 'bg-primary text-foreground disabled:bg-background disabled:border-background border-primary'
16
+ ? 'bg-primary text-primary-foreground border-primary'
17
17
  : variant() === 'secondary'
18
- ? 'bg-muted-background disabled:bg-muted-background border-muted-background'
18
+ ? 'bg-secondary text-secondary-foreground border-secondary hover:bg-secondary/80'
19
19
  : variant() === 'ghost' || variant() === 'icon'
20
- ? '[&:not(:disabled)]:hover:bg-muted-background [&:not(:disabled)]:active:bg-muted-background/50 border-transparent'
21
- : ' text-primary [&:not(:disabled)]:hover:bg-background [&:not(:disabled)]:active:bg-background/50'`,
20
+ ? 'hover:bg-accent hover:text-accent-foreground border-transparent'
21
+ : 'bg-background hover:bg-accent hover:text-accent-foreground'`,
22
22
  },
23
23
  })
24
24
  export class Button {
@@ -5,7 +5,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
5
  changeDetection: ChangeDetectionStrategy.OnPush,
6
6
  template: `<ng-content />`,
7
7
  host: {
8
- class: 'block rounded-lg border bg-foreground p-4',
8
+ class: 'block rounded-lg border bg-card text-card-foreground p-4',
9
9
  },
10
10
  })
11
11
  export class Card {}
@@ -1,28 +1,24 @@
1
- import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed } from '@angular/core';
2
2
  import { FormsModule } from '@angular/forms';
3
3
  import { FocusStyle } from './focus-style.directive';
4
- import { CheckboxButton, NgbCheckbox } from '@ngbase/adk/checkbox';
4
+ import { CheckboxButton, NgbCheckbox, aliasCheckbox } from '@ngbase/adk/checkbox';
5
5
 
6
6
  @Component({
7
7
  selector: '<%= name %>-checkbox',
8
8
  changeDetection: ChangeDetectionStrategy.OnPush,
9
- hostDirectives: [
10
- {
11
- directive: NgbCheckbox,
12
- inputs: ['disabled', 'checked', 'indeterminate'],
13
- outputs: ['checkedChange', 'change'],
14
- },
15
- ],
9
+ providers: [aliasCheckbox(Checkbox)],
16
10
  imports: [FormsModule, FocusStyle, CheckboxButton],
17
11
  template: `
18
12
  <button
19
13
  <%= name %>FocusStyle
20
14
  ngbCheckboxButton
21
15
  class="custom-checkbox relative flex h-4 w-4 flex-none items-center justify-center rounded border border-primary transition-colors"
22
- [class]="checkbox.disabled() ? '!border-muted bg-muted' : path() ? 'bg-primary' : ''"
16
+ [class]="
17
+ disabled() ? '!border-muted-foreground bg-muted-foreground' : path() ? 'bg-primary' : ''
18
+ "
23
19
  >
24
20
  @if (path(); as d) {
25
- <svg class="h-full w-full text-foreground" viewBox="0 0 24 24" aria-hidden="true">
21
+ <svg class="h-full w-full text-background" viewBox="0 0 24 24" aria-hidden="true">
26
22
  <path [attr.d]="d" stroke="currentColor" stroke-width="2" fill="none" />
27
23
  </svg>
28
24
  }
@@ -33,14 +29,8 @@ import { CheckboxButton, NgbCheckbox } from '@ngbase/adk/checkbox';
33
29
  class: 'inline-flex items-center gap-2 py-1 disabled:opacity-60 disabled:cursor-not-allowed',
34
30
  },
35
31
  })
36
- export class Checkbox {
37
- readonly checkbox = inject(NgbCheckbox);
38
-
32
+ export class Checkbox extends NgbCheckbox {
39
33
  readonly path = computed(() =>
40
- this.checkbox.indeterminate()
41
- ? 'M6 12L18 12'
42
- : this.checkbox.checked()
43
- ? 'M20 6L9 17L4 12'
44
- : '',
34
+ this.indeterminate() ? 'M6 12L18 12' : this.checked() ? 'M20 6L9 17L4 12' : '',
45
35
  );
46
36
  }
@@ -4,7 +4,7 @@ import { booleanAttribute, Directive, input } from '@angular/core';
4
4
  selector: '[<%= name %>FocusStyle]',
5
5
  host: {
6
6
  class: 'outline-none',
7
- '[class]': `!unfocus() ? 'focus-visible:ring-2 focus:ring-2 focus:ring-offset-2 ring-primary focus-visible:ring-offset-2 ring-offset-background data-[focus]:ring-2 data-[focus]:ring-offset-2 data-[focus]:ring-offset-background data-[focus]:ring-primary' : ''`,
7
+ '[class]': `!unfocus() ? 'focus-visible:ring-2 focus-within:ring-2 focus-within:ring-offset-2 ring-primary focus-visible:ring-offset-2 ring-offset-background data-[focus]:ring-2 data-[focus]:ring-offset-2 data-[focus]:ring-offset-background data-[focus]:ring-primary' : ''`,
8
8
  },
9
9
  })
10
10
  export class FocusStyle {
@@ -9,6 +9,9 @@ import { lucideX } from '@ng-icons/lucide';
9
9
  selector: '<%= name %>-chip-group',
10
10
  hostDirectives: [NgbChipGroup],
11
11
  template: `<ng-content />`,
12
+ host: {
13
+ class: 'flex flex-wrap gap-2',
14
+ },
12
15
  })
13
16
  export class ChipGroup<T> {}
14
17
 
@@ -29,8 +32,7 @@ export class ChipGroup<T> {}
29
32
  </button>
30
33
  }`,
31
34
  host: {
32
- class:
33
- 'inline-flex items-center bg-muted-background rounded-lg px-2 py-1 text-xs font-medium',
35
+ class: 'inline-flex items-center bg-muted rounded-lg px-2 py-1 text-xs font-medium',
34
36
  },
35
37
  })
36
38
  export class Chip<T = any> extends NgbChip<T> {}
@@ -28,7 +28,7 @@ import { InputBase } from '@ngbase/adk/form-field';
28
28
  ],
29
29
  template: `
30
30
  <div class="flex w-full flex-col">
31
- <div ngbColorSpectrum class="relative h-[160px] w-full overflow-hidden rounded-md">
31
+ <div ngbColorSpectrum class="relative h-[160px] w-full overflow-hidden rounded-md border-b">
32
32
  <button
33
33
  ngbColorSpectrumSelector
34
34
  class="pointer-events-none absolute -left-2 -top-2 h-4 w-4 cursor-pointer rounded-full border"
@@ -27,7 +27,7 @@ export interface CommandItem {
27
27
  [(ngModel)]="filter.search"
28
28
  type="text"
29
29
  placeholder="Search for apps and commands"
30
- class="sticky -top-4 w-full border-b bg-foreground p-4 outline-none"
30
+ class="sticky -top-4 w-full border-b bg-background p-4 outline-none"
31
31
  />
32
32
  @for (group of filter.filteredList(); track group.name) {
33
33
  <h4 class="mx-4 my-2 text-sm text-gray-500">{{ group.name }}</h4>
@@ -51,11 +51,11 @@ import { TimePicker } from './time';
51
51
  [ngbCalYearBtn]="year"
52
52
  #yearBtn="ngbCalYearBtn"
53
53
  class="items-center justify-center rounded-md py-2 h-9 w-[84px] {{
54
- year.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
54
+ year.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted'
55
55
  }}"
56
56
  [ngClass]="{
57
- 'border bg-muted-background': yearBtn.selected(),
58
- '!bg-primary text-foreground': yearBtn.active(),
57
+ 'border bg-muted': yearBtn.selected(),
58
+ '!bg-primary text-background': yearBtn.active(),
59
59
  }"
60
60
  >
61
61
  {{ year.year }}
@@ -69,11 +69,11 @@ import { TimePicker } from './time';
69
69
  [ngbCalMonthBtn]="month"
70
70
  #monthBtn="ngbCalMonthBtn"
71
71
  class="items-center justify-center rounded-md py-2 h-9 w-[84px] {{
72
- month.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
72
+ month.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted'
73
73
  }}"
74
74
  [ngClass]="{
75
- 'border bg-muted-background': monthBtn.selected(),
76
- '!bg-primary text-foreground': monthBtn.active(),
75
+ 'border bg-muted': monthBtn.selected(),
76
+ '!bg-primary text-background': monthBtn.active(),
77
77
  }"
78
78
  >
79
79
  {{ month.name }}
@@ -83,7 +83,7 @@ import { TimePicker } from './time';
83
83
  } @else {
84
84
  <div class="day-names grid grid-cols-7">
85
85
  @for (dayName of dayNames; track dayName) {
86
- <div class="p-1 text-center text-muted">{{ dayName }}</div>
86
+ <div class="text-muted-foreground p-1 text-center">{{ dayName }}</div>
87
87
  }
88
88
  </div>
89
89
  <div class="grid grid-cols-7 gap-y-2">
@@ -92,12 +92,12 @@ import { TimePicker } from './time';
92
92
  #days="ngbCalDayBtn"
93
93
  [ngbCalDayBtn]="day"
94
94
  class="mx-auto flex h-9 w-9 items-center justify-center text-center {{
95
- day.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
95
+ day.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted'
96
96
  }}"
97
97
  [ngClass]="{
98
- 'bg-muted-background': days.selected(),
98
+ 'bg-muted': days.selected(),
99
99
  'opacity-40': days.dummy(),
100
- '!bg-primary text-foreground': days.active(),
100
+ '!bg-primary text-background': days.active(),
101
101
  }"
102
102
  >
103
103
  {{ day.day }}