@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.
- package/fesm2022/ojiepermana-angular-component-accordion.mjs +9 -11
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +100 -32
- package/fesm2022/ojiepermana-angular-component-alert.mjs +5 -9
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-avatar.mjs +7 -13
- package/fesm2022/ojiepermana-angular-component-badge.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +16 -19
- package/fesm2022/ojiepermana-angular-component-button-group.mjs +4 -7
- package/fesm2022/ojiepermana-angular-component-button.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-calendar.mjs +7 -5
- package/fesm2022/ojiepermana-angular-component-card.mjs +8 -15
- package/fesm2022/ojiepermana-angular-component-carousel.mjs +15 -18
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs +40 -11
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs +8 -6
- package/fesm2022/ojiepermana-angular-component-combobox.mjs +36 -16
- package/fesm2022/ojiepermana-angular-component-command.mjs +25 -21
- package/fesm2022/ojiepermana-angular-component-composer.mjs +15 -18
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs +36 -11
- package/fesm2022/ojiepermana-angular-component-dialog.mjs +85 -30
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +31 -26
- package/fesm2022/ojiepermana-angular-component-editor.mjs +37 -28
- package/fesm2022/ojiepermana-angular-component-empty.mjs +7 -13
- package/fesm2022/ojiepermana-angular-component-form.mjs +32 -24
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-icon.mjs +51 -6
- package/fesm2022/ojiepermana-angular-component-input-group.mjs +17 -15
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs +15 -14
- package/fesm2022/ojiepermana-angular-component-input.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-item.mjs +11 -21
- package/fesm2022/ojiepermana-angular-component-kanban.mjs +27 -26
- package/fesm2022/ojiepermana-angular-component-kbd.mjs +3 -5
- package/fesm2022/ojiepermana-angular-component-label.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-menubar.mjs +6 -6
- package/fesm2022/ojiepermana-angular-component-native-select.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +25 -12
- package/fesm2022/ojiepermana-angular-component-pagination.mjs +22 -13
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs +70 -36
- package/fesm2022/ojiepermana-angular-component-progress.mjs +7 -5
- package/fesm2022/ojiepermana-angular-component-radio.mjs +21 -10
- package/fesm2022/ojiepermana-angular-component-resizable.mjs +22 -11
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +8 -6
- package/fesm2022/ojiepermana-angular-component-select.mjs +29 -17
- package/fesm2022/ojiepermana-angular-component-separator.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-sheet.mjs +89 -30
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-slider.mjs +25 -13
- package/fesm2022/ojiepermana-angular-component-spinner.mjs +6 -5
- package/fesm2022/ojiepermana-angular-component-switch.mjs +17 -8
- package/fesm2022/ojiepermana-angular-component-table.mjs +9 -17
- package/fesm2022/ojiepermana-angular-component-tabs.mjs +5 -9
- package/fesm2022/ojiepermana-angular-component-textarea.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-timeline.mjs +22 -17
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +12 -6
- package/fesm2022/ojiepermana-angular-component-toggle.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs +7 -6
- package/package.json +10 -1
- package/types/ojiepermana-angular-component-alert-dialog.d.ts +42 -3
- package/types/ojiepermana-angular-component-combobox.d.ts +4 -1
- package/types/ojiepermana-angular-component-command.d.ts +7 -2
- package/types/ojiepermana-angular-component-dialog.d.ts +33 -3
- package/types/ojiepermana-angular-component-form.d.ts +9 -0
- package/types/ojiepermana-angular-component-icon.d.ts +48 -1
- package/types/ojiepermana-angular-component-radio.d.ts +4 -1
- package/types/ojiepermana-angular-component-sheet.d.ts +33 -3
- 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,
|
|
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"]
|
|
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]',
|
|
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 =
|
|
164
|
+
nextValue =
|
|
165
|
+
current +
|
|
166
|
+
(direction === 'rtl' && this.orientation() === 'horizontal' ? -config.step : config.step);
|
|
165
167
|
break;
|
|
166
168
|
case 'ArrowLeft':
|
|
167
|
-
nextValue =
|
|
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'
|
|
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"
|
|
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)"
|
|
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"]
|
|
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',
|
|
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"
|
|
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)"
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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'
|
|
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: [
|
|
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
|
|
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
|
-
|
|
106
|
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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()',
|