@ojiepermana/angular-component 22.0.44 → 22.0.46

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 (65) hide show
  1. package/fesm2022/ojiepermana-angular-component-accordion.mjs +9 -11
  2. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +100 -32
  3. package/fesm2022/ojiepermana-angular-component-alert.mjs +5 -9
  4. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +2 -3
  5. package/fesm2022/ojiepermana-angular-component-avatar.mjs +7 -13
  6. package/fesm2022/ojiepermana-angular-component-badge.mjs +2 -3
  7. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +16 -19
  8. package/fesm2022/ojiepermana-angular-component-button-group.mjs +4 -7
  9. package/fesm2022/ojiepermana-angular-component-button.mjs +2 -3
  10. package/fesm2022/ojiepermana-angular-component-calendar.mjs +7 -5
  11. package/fesm2022/ojiepermana-angular-component-card.mjs +8 -15
  12. package/fesm2022/ojiepermana-angular-component-carousel.mjs +15 -18
  13. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +40 -11
  14. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +8 -6
  15. package/fesm2022/ojiepermana-angular-component-combobox.mjs +36 -16
  16. package/fesm2022/ojiepermana-angular-component-command.mjs +25 -21
  17. package/fesm2022/ojiepermana-angular-component-composer.mjs +15 -18
  18. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +36 -11
  19. package/fesm2022/ojiepermana-angular-component-dialog.mjs +85 -30
  20. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +31 -26
  21. package/fesm2022/ojiepermana-angular-component-editor.mjs +37 -28
  22. package/fesm2022/ojiepermana-angular-component-empty.mjs +7 -13
  23. package/fesm2022/ojiepermana-angular-component-form.mjs +32 -24
  24. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +2 -3
  25. package/fesm2022/ojiepermana-angular-component-icon.mjs +51 -6
  26. package/fesm2022/ojiepermana-angular-component-input-group.mjs +17 -15
  27. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +15 -14
  28. package/fesm2022/ojiepermana-angular-component-input.mjs +2 -3
  29. package/fesm2022/ojiepermana-angular-component-item.mjs +11 -21
  30. package/fesm2022/ojiepermana-angular-component-kanban.mjs +27 -26
  31. package/fesm2022/ojiepermana-angular-component-kbd.mjs +3 -5
  32. package/fesm2022/ojiepermana-angular-component-label.mjs +2 -3
  33. package/fesm2022/ojiepermana-angular-component-menubar.mjs +6 -6
  34. package/fesm2022/ojiepermana-angular-component-native-select.mjs +3 -3
  35. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +25 -12
  36. package/fesm2022/ojiepermana-angular-component-pagination.mjs +22 -13
  37. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +70 -36
  38. package/fesm2022/ojiepermana-angular-component-progress.mjs +7 -5
  39. package/fesm2022/ojiepermana-angular-component-radio.mjs +21 -10
  40. package/fesm2022/ojiepermana-angular-component-resizable.mjs +22 -11
  41. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +8 -6
  42. package/fesm2022/ojiepermana-angular-component-select.mjs +29 -17
  43. package/fesm2022/ojiepermana-angular-component-separator.mjs +2 -3
  44. package/fesm2022/ojiepermana-angular-component-sheet.mjs +89 -30
  45. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +2 -3
  46. package/fesm2022/ojiepermana-angular-component-slider.mjs +25 -13
  47. package/fesm2022/ojiepermana-angular-component-spinner.mjs +6 -5
  48. package/fesm2022/ojiepermana-angular-component-switch.mjs +17 -8
  49. package/fesm2022/ojiepermana-angular-component-table.mjs +9 -17
  50. package/fesm2022/ojiepermana-angular-component-tabs.mjs +5 -9
  51. package/fesm2022/ojiepermana-angular-component-textarea.mjs +2 -3
  52. package/fesm2022/ojiepermana-angular-component-timeline.mjs +22 -17
  53. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +12 -6
  54. package/fesm2022/ojiepermana-angular-component-toggle.mjs +2 -3
  55. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +7 -6
  56. package/package.json +10 -1
  57. package/types/ojiepermana-angular-component-alert-dialog.d.ts +42 -3
  58. package/types/ojiepermana-angular-component-combobox.d.ts +4 -1
  59. package/types/ojiepermana-angular-component-command.d.ts +7 -2
  60. package/types/ojiepermana-angular-component-dialog.d.ts +33 -3
  61. package/types/ojiepermana-angular-component-form.d.ts +9 -0
  62. package/types/ojiepermana-angular-component-icon.d.ts +48 -1
  63. package/types/ojiepermana-angular-component-radio.d.ts +4 -1
  64. package/types/ojiepermana-angular-component-sheet.d.ts +33 -3
  65. package/types/ojiepermana-angular-component-timeline.d.ts +2 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, computed, ChangeDetectionStrategy, Component, viewChild, numberAttribute, booleanAttribute, output, signal, effect, untracked } from '@angular/core';
2
+ import { inject, ElementRef, input, computed, Component, viewChild, numberAttribute, booleanAttribute, output, signal, effect, untracked } from '@angular/core';
3
3
  import { cn } from '@ojiepermana/angular-component/utils';
4
4
  import { DOCUMENT } from '@angular/common';
5
5
 
@@ -17,11 +17,11 @@ class SliderComponent {
17
17
  this.el.nativeElement.focus();
18
18
  }
19
19
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: SliderComponent, isStandalone: true, selector: "input[type=range][Slider]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: '', isInline: true, styles: [":host.Slider{height:1.25rem;cursor:pointer}:host.Slider::-webkit-slider-runnable-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-moz-range-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-.25rem;width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider::-moz-range-thumb{width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:disabled::-webkit-slider-thumb{cursor:not-allowed}:host.Slider:disabled::-moz-range-thumb{cursor:not-allowed}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: SliderComponent, isStandalone: true, selector: "input[type=range][Slider]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: '', isInline: true, styles: [":host.Slider{height:1.25rem;cursor:pointer}:host.Slider::-webkit-slider-runnable-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-moz-range-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-.25rem;width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider::-moz-range-thumb{width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:disabled::-webkit-slider-thumb{cursor:not-allowed}:host.Slider:disabled::-moz-range-thumb{cursor:not-allowed}\n"] });
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SliderComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'input[type=range][Slider]', changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class]': 'classes()' }, template: '', styles: [":host.Slider{height:1.25rem;cursor:pointer}:host.Slider::-webkit-slider-runnable-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-moz-range-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-.25rem;width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider::-moz-range-thumb{width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:disabled::-webkit-slider-thumb{cursor:not-allowed}:host.Slider:disabled::-moz-range-thumb{cursor:not-allowed}\n"] }]
24
+ args: [{ selector: 'input[type=range][Slider]', host: { '[class]': 'classes()' }, template: '', styles: [":host.Slider{height:1.25rem;cursor:pointer}:host.Slider::-webkit-slider-runnable-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-moz-range-track{height:.5rem;border-radius:var(--radius-lg);background:hsl(var(--secondary))}:host.Slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-.25rem;width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider::-moz-range-thumb{width:1rem;height:1rem;border-radius:var(--radius-lg);background:hsl(var(--background));border:var(--border-width) solid hsl(var(--primary));transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}:host.Slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host.Slider:disabled::-webkit-slider-thumb{cursor:not-allowed}:host.Slider:disabled::-moz-range-thumb{cursor:not-allowed}\n"] }]
25
25
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
26
26
 
27
27
  class SliderRootComponent {
@@ -161,10 +161,14 @@ class SliderRootComponent {
161
161
  let nextValue = null;
162
162
  switch (event.key) {
163
163
  case 'ArrowRight':
164
- nextValue = current + (direction === 'rtl' && this.orientation() === 'horizontal' ? -config.step : config.step);
164
+ nextValue =
165
+ current +
166
+ (direction === 'rtl' && this.orientation() === 'horizontal' ? -config.step : config.step);
165
167
  break;
166
168
  case 'ArrowLeft':
167
- nextValue = current + (direction === 'rtl' && this.orientation() === 'horizontal' ? config.step : -config.step);
169
+ nextValue =
170
+ current +
171
+ (direction === 'rtl' && this.orientation() === 'horizontal' ? config.step : -config.step);
168
172
  break;
169
173
  case 'ArrowUp':
170
174
  nextValue = current + config.step;
@@ -261,7 +265,9 @@ class SliderRootComponent {
261
265
  return this.orientation() === 'horizontal' && this.resolvedDirection() === 'rtl' ? 100 : 0;
262
266
  }
263
267
  const logicalRatio = (value - config.min) / range;
264
- const physicalRatio = this.orientation() === 'horizontal' && this.resolvedDirection() === 'rtl' ? 1 - logicalRatio : logicalRatio;
268
+ const physicalRatio = this.orientation() === 'horizontal' && this.resolvedDirection() === 'rtl'
269
+ ? 1 - logicalRatio
270
+ : logicalRatio;
265
271
  return clamp(physicalRatio * 100, 0, 100);
266
272
  }
267
273
  thumbLabel(index, count) {
@@ -297,7 +303,8 @@ class SliderRootComponent {
297
303
  [style.left.%]="orientation() === 'horizontal' ? rangeOffset() : null"
298
304
  [style.width.%]="orientation() === 'horizontal' ? rangeSize() : null"
299
305
  [style.bottom.%]="orientation() === 'vertical' ? rangeOffset() : null"
300
- [style.height.%]="orientation() === 'vertical' ? rangeSize() : null"></div>
306
+ [style.height.%]="orientation() === 'vertical' ? rangeSize() : null"
307
+ ></div>
301
308
 
302
309
  @for (thumb of thumbs(); track thumb.index) {
303
310
  <button
@@ -320,14 +327,15 @@ class SliderRootComponent {
320
327
  role="slider"
321
328
  (focus)="onThumbFocus(thumb.index)"
322
329
  (keydown)="onThumbKeydown($event, thumb.index)"
323
- (pointerdown)="onThumbPointerDown($event, thumb.index)"></button>
330
+ (pointerdown)="onThumbPointerDown($event, thumb.index)"
331
+ ></button>
324
332
  }
325
333
  </div>
326
- `, isInline: true, styles: [":host.slider-root{--slider-thumb-size: 1rem;--slider-track-size: .5rem;display:block}.slider__track{position:relative;flex:1 1 auto;border-radius:9999px;background:hsl(var(--secondary))}:host[data-orientation=horizontal] .slider__track{height:var(--slider-track-size);width:100%}:host[data-orientation=vertical] .slider__track{height:100%;width:var(--slider-track-size)}.slider__range{position:absolute;border-radius:inherit;background:hsl(var(--primary))}:host[data-orientation=horizontal] .slider__range{top:0;height:100%}:host[data-orientation=vertical] .slider__range{left:0;width:100%}.slider__thumb{position:absolute;height:var(--slider-thumb-size);width:var(--slider-thumb-size);border:var(--border-width) solid hsl(var(--primary));border-radius:9999px;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .14);transition:box-shadow .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}:host[data-orientation=horizontal] .slider__thumb{transform:translate(-50%,-50%)}:host[data-orientation=vertical] .slider__thumb{transform:translate(-50%,50%)}.slider__thumb:focus-visible{outline:none;box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host[data-disabled] .slider__track,:host[data-disabled] .slider__thumb{cursor:not-allowed}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
334
+ `, isInline: true, styles: [":host.slider-root{--slider-thumb-size: 1rem;--slider-track-size: .5rem;display:block}.slider__track{position:relative;flex:1 1 auto;border-radius:9999px;background:hsl(var(--secondary))}:host[data-orientation=horizontal] .slider__track{height:var(--slider-track-size);width:100%}:host[data-orientation=vertical] .slider__track{height:100%;width:var(--slider-track-size)}.slider__range{position:absolute;border-radius:inherit;background:hsl(var(--primary))}:host[data-orientation=horizontal] .slider__range{top:0;height:100%}:host[data-orientation=vertical] .slider__range{left:0;width:100%}.slider__thumb{position:absolute;height:var(--slider-thumb-size);width:var(--slider-thumb-size);border:var(--border-width) solid hsl(var(--primary));border-radius:9999px;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .14);transition:box-shadow .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}:host[data-orientation=horizontal] .slider__thumb{transform:translate(-50%,-50%)}:host[data-orientation=vertical] .slider__thumb{transform:translate(-50%,50%)}.slider__thumb:focus-visible{outline:none;box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host[data-disabled] .slider__track,:host[data-disabled] .slider__thumb{cursor:not-allowed}\n"] });
327
335
  }
328
336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SliderRootComponent, decorators: [{
329
337
  type: Component,
330
- args: [{ selector: 'Slider', changeDetection: ChangeDetectionStrategy.OnPush, host: {
338
+ args: [{ selector: 'Slider', host: {
331
339
  '[class]': 'hostClasses()',
332
340
  '[attr.data-disabled]': 'isDisabled() ? "" : null',
333
341
  '[attr.data-orientation]': 'orientation()',
@@ -341,7 +349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
341
349
  [style.left.%]="orientation() === 'horizontal' ? rangeOffset() : null"
342
350
  [style.width.%]="orientation() === 'horizontal' ? rangeSize() : null"
343
351
  [style.bottom.%]="orientation() === 'vertical' ? rangeOffset() : null"
344
- [style.height.%]="orientation() === 'vertical' ? rangeSize() : null"></div>
352
+ [style.height.%]="orientation() === 'vertical' ? rangeSize() : null"
353
+ ></div>
345
354
 
346
355
  @for (thumb of thumbs(); track thumb.index) {
347
356
  <button
@@ -364,7 +373,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
364
373
  role="slider"
365
374
  (focus)="onThumbFocus(thumb.index)"
366
375
  (keydown)="onThumbKeydown($event, thumb.index)"
367
- (pointerdown)="onThumbPointerDown($event, thumb.index)"></button>
376
+ (pointerdown)="onThumbPointerDown($event, thumb.index)"
377
+ ></button>
368
378
  }
369
379
  </div>
370
380
  `, styles: [":host.slider-root{--slider-thumb-size: 1rem;--slider-track-size: .5rem;display:block}.slider__track{position:relative;flex:1 1 auto;border-radius:9999px;background:hsl(var(--secondary))}:host[data-orientation=horizontal] .slider__track{height:var(--slider-track-size);width:100%}:host[data-orientation=vertical] .slider__track{height:100%;width:var(--slider-track-size)}.slider__range{position:absolute;border-radius:inherit;background:hsl(var(--primary))}:host[data-orientation=horizontal] .slider__range{top:0;height:100%}:host[data-orientation=vertical] .slider__range{left:0;width:100%}.slider__thumb{position:absolute;height:var(--slider-thumb-size);width:var(--slider-thumb-size);border:var(--border-width) solid hsl(var(--primary));border-radius:9999px;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .14);transition:box-shadow .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}:host[data-orientation=horizontal] .slider__thumb{transform:translate(-50%,-50%)}:host[data-orientation=vertical] .slider__thumb{transform:translate(-50%,50%)}.slider__thumb:focus-visible{outline:none;box-shadow:0 0 0 calc(var(--border-width) + 3px) hsl(var(--ring) / .3)}:host[data-disabled] .slider__track,:host[data-disabled] .slider__thumb{cursor:not-allowed}\n"] }]
@@ -382,7 +392,9 @@ function decimalPlaces(value) {
382
392
  }
383
393
  function normalizeSliderValues(values, config) {
384
394
  const incoming = values.length ? [...values] : [config.min];
385
- const sorted = incoming.map((value) => snapToStep(value, config)).sort((left, right) => left - right);
395
+ const sorted = incoming
396
+ .map((value) => snapToStep(value, config))
397
+ .sort((left, right) => left - right);
386
398
  const gap = config.step * config.minStepsBetweenThumbs;
387
399
  const normalized = [];
388
400
  sorted.forEach((value, index) => {
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, booleanAttribute, computed, Component } from '@angular/core';
3
3
  import { cn } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  class SpinnerComponent {
@@ -18,17 +18,17 @@ class SpinnerComponent {
18
18
  viewBox="0 0 24 24"
19
19
  fill="none"
20
20
  stroke="currentColor"
21
- stroke-width="2">
21
+ stroke-width="2"
22
+ >
22
23
  <circle cx="12" cy="12" r="9" class="opacity-20" />
23
24
  <path d="M21 12a9 9 0 0 0-9-9" stroke-linecap="round" />
24
25
  </svg>
25
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
+ `, isInline: true });
26
27
  }
27
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SpinnerComponent, decorators: [{
28
29
  type: Component,
29
30
  args: [{
30
31
  selector: 'Spinner',
31
- changeDetection: ChangeDetectionStrategy.OnPush,
32
32
  host: {
33
33
  '[class]': 'classes()',
34
34
  '[attr.role]': 'decorative() ? null : "status"',
@@ -44,7 +44,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
44
44
  viewBox="0 0 24 24"
45
45
  fill="none"
46
46
  stroke="currentColor"
47
- stroke-width="2">
47
+ stroke-width="2"
48
+ >
48
49
  <circle cx="12" cy="12" r="9" class="opacity-20" />
49
50
  <path d="M21 12a9 9 0 0 0-9-9" stroke-linecap="round" />
50
51
  </svg>
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, output, viewChild, signal, computed, forwardRef, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, booleanAttribute, output, viewChild, signal, computed, forwardRef, Component } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { uniqueId, cn } from '@ojiepermana/angular-component/utils';
5
5
 
@@ -42,7 +42,11 @@ class SwitchComponent {
42
42
  ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
43
43
  labelClasses = computed(() => cn('inline-flex select-none items-center gap-2 text-sm font-medium leading-none', this.isDisabled() ? 'cursor-not-allowed opacity-50' : 'cursor-pointer'), /* @ts-ignore */
44
44
  ...(ngDevMode ? [{ debugName: "labelClasses" }] : /* istanbul ignore next */ []));
45
- trackClasses = computed(() => cn('inline-flex shrink-0 items-center rounded-full border-2 border-transparent shadow-sm transition-colors', 'peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background', this.size() === 'sm' ? 'h-4 w-7' : 'h-5 w-9', this.ariaInvalidAttr() === 'true' ? 'bg-destructive' : this.checked() ? 'bg-primary' : 'bg-input'), /* @ts-ignore */
45
+ trackClasses = computed(() => cn('inline-flex shrink-0 items-center rounded-full border-2 border-transparent shadow-sm transition-colors', 'peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background', this.size() === 'sm' ? 'h-4 w-7' : 'h-5 w-9', this.ariaInvalidAttr() === 'true'
46
+ ? 'bg-destructive'
47
+ : this.checked()
48
+ ? 'bg-primary'
49
+ : 'bg-input'), /* @ts-ignore */
46
50
  ...(ngDevMode ? [{ debugName: "trackClasses" }] : /* istanbul ignore next */ []));
47
51
  thumbClasses = computed(() => cn('pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform', this.size() === 'sm' ? 'size-3' : 'size-4', this.checked() ? (this.size() === 'sm' ? 'translate-x-3' : 'translate-x-4') : 'translate-x-0'), /* @ts-ignore */
48
52
  ...(ngDevMode ? [{ debugName: "thumbClasses" }] : /* istanbul ignore next */ []));
@@ -73,7 +77,9 @@ class SwitchComponent {
73
77
  this.disabledState.set(d);
74
78
  }
75
79
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", type: SwitchComponent, isStandalone: true, selector: "Switch", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "class": "hostClasses()" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", type: SwitchComponent, isStandalone: true, selector: "Switch", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "class": "hostClasses()" } }, providers: [
81
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true },
82
+ ], viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
77
83
  <label [class]="labelClasses()" [attr.for]="id()">
78
84
  <input
79
85
  #ref
@@ -90,20 +96,22 @@ class SwitchComponent {
90
96
  [attr.aria-labelledby]="ariaLabelledby()"
91
97
  [attr.aria-invalid]="ariaInvalidAttr()"
92
98
  (change)="handleChange($event)"
93
- (blur)="handleBlur()" />
99
+ (blur)="handleBlur()"
100
+ />
94
101
  <span aria-hidden="true" [class]="trackClasses()">
95
102
  <span [class]="thumbClasses()"></span>
96
103
  </span>
97
104
  <ng-content />
98
105
  </label>
99
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
+ `, isInline: true });
100
107
  }
101
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SwitchComponent, decorators: [{
102
109
  type: Component,
103
110
  args: [{
104
111
  selector: 'Switch',
105
- changeDetection: ChangeDetectionStrategy.OnPush,
106
- providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }],
112
+ providers: [
113
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true },
114
+ ],
107
115
  host: { '[class]': 'hostClasses()' },
108
116
  template: `
109
117
  <label [class]="labelClasses()" [attr.for]="id()">
@@ -122,7 +130,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
122
130
  [attr.aria-labelledby]="ariaLabelledby()"
123
131
  [attr.aria-invalid]="ariaInvalidAttr()"
124
132
  (change)="handleChange($event)"
125
- (blur)="handleBlur()" />
133
+ (blur)="handleBlur()"
134
+ />
126
135
  <span aria-hidden="true" [class]="trackClasses()">
127
136
  <span [class]="thumbClasses()"></span>
128
137
  </span>
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, computed, Component } from '@angular/core';
3
3
  import { cn, radiusBaseValue, densityBaseValue } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  class TableComponent {
@@ -20,13 +20,12 @@ class TableComponent {
20
20
  <table [class]="classes()">
21
21
  <ng-content />
22
22
  </table>
23
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
+ `, isInline: true });
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{
28
28
  selector: 'Table',
29
- changeDetection: ChangeDetectionStrategy.OnPush,
30
29
  host: {
31
30
  class: 'relative block w-full overflow-x-auto',
32
31
  '[style.--radius-base]': 'radiusBase()',
@@ -45,13 +44,12 @@ class TableHeaderComponent {
45
44
  classes = computed(() => cn('[&_tr]:border-b [&_tr]:border-border', this.class()), /* @ts-ignore */
46
45
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
47
46
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableHeaderComponent, isStandalone: true, selector: "thead[TableHeader]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableHeaderComponent, isStandalone: true, selector: "thead[TableHeader]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
49
48
  }
50
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableHeaderComponent, decorators: [{
51
50
  type: Component,
52
51
  args: [{
53
52
  selector: 'thead[TableHeader]',
54
- changeDetection: ChangeDetectionStrategy.OnPush,
55
53
  host: { '[class]': 'classes()' },
56
54
  template: `<ng-content />`,
57
55
  }]
@@ -62,13 +60,12 @@ class TableBodyComponent {
62
60
  classes = computed(() => cn('[&_tr:last-child]:border-0', this.class()), /* @ts-ignore */
63
61
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
64
62
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableBodyComponent, isStandalone: true, selector: "tbody[TableBody]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableBodyComponent, isStandalone: true, selector: "tbody[TableBody]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
66
64
  }
67
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableBodyComponent, decorators: [{
68
66
  type: Component,
69
67
  args: [{
70
68
  selector: 'tbody[TableBody]',
71
- changeDetection: ChangeDetectionStrategy.OnPush,
72
69
  host: { '[class]': 'classes()' },
73
70
  template: `<ng-content />`,
74
71
  }]
@@ -79,13 +76,12 @@ class TableFooterComponent {
79
76
  classes = computed(() => cn('border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0', this.class()), /* @ts-ignore */
80
77
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
81
78
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableFooterComponent, isStandalone: true, selector: "tfoot[TableFooter]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableFooterComponent, isStandalone: true, selector: "tfoot[TableFooter]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
83
80
  }
84
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableFooterComponent, decorators: [{
85
82
  type: Component,
86
83
  args: [{
87
84
  selector: 'tfoot[TableFooter]',
88
- changeDetection: ChangeDetectionStrategy.OnPush,
89
85
  host: { '[class]': 'classes()' },
90
86
  template: `<ng-content />`,
91
87
  }]
@@ -96,13 +92,12 @@ class TableRowComponent {
96
92
  classes = computed(() => cn('border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', this.class()), /* @ts-ignore */
97
93
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
98
94
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableRowComponent, isStandalone: true, selector: "tr[TableRow]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableRowComponent, isStandalone: true, selector: "tr[TableRow]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
100
96
  }
101
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableRowComponent, decorators: [{
102
98
  type: Component,
103
99
  args: [{
104
100
  selector: 'tr[TableRow]',
105
- changeDetection: ChangeDetectionStrategy.OnPush,
106
101
  host: { '[class]': 'classes()' },
107
102
  template: `<ng-content />`,
108
103
  }]
@@ -113,13 +108,12 @@ class TableHeadComponent {
113
108
  classes = computed(() => cn('h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-muted-foreground', '[&:has([role=checkbox])]:pr-0', '[&>[role=checkbox]]:translate-y-[2px]', this.class()), /* @ts-ignore */
114
109
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
115
110
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
116
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableHeadComponent, isStandalone: true, selector: "th[TableHead]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableHeadComponent, isStandalone: true, selector: "th[TableHead]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
117
112
  }
118
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableHeadComponent, decorators: [{
119
114
  type: Component,
120
115
  args: [{
121
116
  selector: 'th[TableHead]',
122
- changeDetection: ChangeDetectionStrategy.OnPush,
123
117
  host: { '[class]': 'classes()' },
124
118
  template: `<ng-content />`,
125
119
  }]
@@ -130,13 +124,12 @@ class TableCellComponent {
130
124
  classes = computed(() => cn('whitespace-nowrap p-2 align-middle', '[&:has([role=checkbox])]:pr-0', '[&>[role=checkbox]]:translate-y-[2px]', this.class()), /* @ts-ignore */
131
125
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
132
126
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
133
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableCellComponent, isStandalone: true, selector: "td[TableCell]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
127
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableCellComponent, isStandalone: true, selector: "td[TableCell]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
134
128
  }
135
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableCellComponent, decorators: [{
136
130
  type: Component,
137
131
  args: [{
138
132
  selector: 'td[TableCell]',
139
- changeDetection: ChangeDetectionStrategy.OnPush,
140
133
  host: { '[class]': 'classes()' },
141
134
  template: `<ng-content />`,
142
135
  }]
@@ -147,13 +140,12 @@ class TableCaptionComponent {
147
140
  classes = computed(() => cn('mt-4 text-sm text-muted-foreground', this.class()), /* @ts-ignore */
148
141
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
149
142
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableCaptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
150
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableCaptionComponent, isStandalone: true, selector: "caption[TableCaption]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TableCaptionComponent, isStandalone: true, selector: "caption[TableCaption]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
151
144
  }
152
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TableCaptionComponent, decorators: [{
153
146
  type: Component,
154
147
  args: [{
155
148
  selector: 'caption[TableCaption]',
156
- changeDetection: ChangeDetectionStrategy.OnPush,
157
149
  host: { '[class]': 'classes()' },
158
150
  template: `<ng-content />`,
159
151
  }]
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, model, input, computed, forwardRef, ChangeDetectionStrategy, Component, inject, ElementRef } from '@angular/core';
2
+ import { Directive, model, input, computed, forwardRef, Component, inject, ElementRef } from '@angular/core';
3
3
  import { uniqueId, radiusBaseValue, densityBaseValue, cn } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  /**
@@ -96,13 +96,12 @@ class TabsComponent extends TabsContextBase {
96
96
  return normalized || 'tab';
97
97
  }
98
98
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
99
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TabsComponent, isStandalone: true, selector: "Tabs", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class": "classes()", "attr.data-orientation": "orientation()", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, providers: [{ provide: TabsContextBase, useExisting: forwardRef(() => TabsComponent) }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TabsComponent, isStandalone: true, selector: "Tabs", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class": "classes()", "attr.data-orientation": "orientation()", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, providers: [{ provide: TabsContextBase, useExisting: forwardRef(() => TabsComponent) }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true });
100
100
  }
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsComponent, decorators: [{
102
102
  type: Component,
103
103
  args: [{
104
104
  selector: 'Tabs',
105
- changeDetection: ChangeDetectionStrategy.OnPush,
106
105
  providers: [{ provide: TabsContextBase, useExisting: forwardRef(() => TabsComponent) }],
107
106
  host: {
108
107
  '[class]': 'classes()',
@@ -135,13 +134,12 @@ class TabsListComponent extends TabsListContextBase {
135
134
  : 'inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground';
136
135
  }
137
136
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
138
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TabsListComponent, isStandalone: true, selector: "TabsList", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"tablist\"", "attr.aria-orientation": "ctx.orientation()", "attr.data-variant": "variant()" } }, providers: [{ provide: TabsListContextBase, useExisting: forwardRef(() => TabsListComponent) }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TabsListComponent, isStandalone: true, selector: "TabsList", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"tablist\"", "attr.aria-orientation": "ctx.orientation()", "attr.data-variant": "variant()" } }, providers: [{ provide: TabsListContextBase, useExisting: forwardRef(() => TabsListComponent) }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true });
139
138
  }
140
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsListComponent, decorators: [{
141
140
  type: Component,
142
141
  args: [{
143
142
  selector: 'TabsList',
144
- changeDetection: ChangeDetectionStrategy.OnPush,
145
143
  providers: [{ provide: TabsListContextBase, useExisting: forwardRef(() => TabsListComponent) }],
146
144
  host: {
147
145
  '[class]': 'classes()',
@@ -205,13 +203,12 @@ class TabsTriggerComponent {
205
203
  return cn('rounded-sm px-3 py-1.5 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm', this.ctx.orientation() === 'vertical' && 'w-full justify-start');
206
204
  }
207
205
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
208
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TabsTriggerComponent, isStandalone: true, selector: "button[TabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()", "keydown.arrowRight": "onArrow($any($event), 1, \"horizontal\")", "keydown.arrowLeft": "onArrow($any($event), -1, \"horizontal\")", "keydown.arrowDown": "onArrow($any($event), 1, \"vertical\")", "keydown.arrowUp": "onArrow($any($event), -1, \"vertical\")", "keydown.home": "onHome($any($event))", "keydown.end": "onEnd($any($event))" }, properties: { "class": "classes()", "id": "triggerId()", "attr.role": "\"tab\"", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.tabindex": "selected() ? 0 : -1", "attr.data-state": "selected() ? \"active\" : \"inactive\"", "disabled": "disabled() || null" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TabsTriggerComponent, isStandalone: true, selector: "button[TabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()", "keydown.arrowRight": "onArrow($any($event), 1, \"horizontal\")", "keydown.arrowLeft": "onArrow($any($event), -1, \"horizontal\")", "keydown.arrowDown": "onArrow($any($event), 1, \"vertical\")", "keydown.arrowUp": "onArrow($any($event), -1, \"vertical\")", "keydown.home": "onHome($any($event))", "keydown.end": "onEnd($any($event))" }, properties: { "class": "classes()", "id": "triggerId()", "attr.role": "\"tab\"", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.tabindex": "selected() ? 0 : -1", "attr.data-state": "selected() ? \"active\" : \"inactive\"", "disabled": "disabled() || null" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
209
207
  }
210
208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsTriggerComponent, decorators: [{
211
209
  type: Component,
212
210
  args: [{
213
211
  selector: 'button[TabsTrigger]',
214
- changeDetection: ChangeDetectionStrategy.OnPush,
215
212
  host: {
216
213
  '[class]': 'classes()',
217
214
  '[id]': 'triggerId()',
@@ -251,13 +248,12 @@ class TabsContentComponent {
251
248
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
252
249
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: TabsContentComponent, isStandalone: true, selector: "TabsContent", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0" }, properties: { "class": "classes()", "id": "contentId()", "attr.role": "\"tabpanel\"", "attr.aria-labelledby": "triggerId()", "attr.data-state": "active() ? \"active\" : \"inactive\"", "hidden": "!active()" } }, ngImport: i0, template: `@if (active()) {
253
250
  <ng-content />
254
- }`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
251
+ }`, isInline: true });
255
252
  }
256
253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabsContentComponent, decorators: [{
257
254
  type: Component,
258
255
  args: [{
259
256
  selector: 'TabsContent',
260
- changeDetection: ChangeDetectionStrategy.OnPush,
261
257
  host: {
262
258
  '[class]': 'classes()',
263
259
  '[id]': 'contentId()',
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { inject, ElementRef, input, computed, Component } from '@angular/core';
3
3
  import { radiusBaseValue, densityBaseValue, cn } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  class TextareaComponent {
@@ -27,13 +27,12 @@ class TextareaComponent {
27
27
  this.el.nativeElement.focus();
28
28
  }
29
29
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TextareaComponent, isStandalone: true, selector: "textarea[Textarea]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TextareaComponent, isStandalone: true, selector: "textarea[Textarea]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, ngImport: i0, template: '', isInline: true });
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TextareaComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{
35
35
  selector: 'textarea[Textarea]',
36
- changeDetection: ChangeDetectionStrategy.OnPush,
37
36
  host: {
38
37
  '[class]': 'classes()',
39
38
  '[style.--radius-base]': 'radiusBase()',