@ng-solid/design-system 22.2.0 → 22.2.2
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.
|
@@ -2608,6 +2608,306 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImpo
|
|
|
2608
2608
|
args: ['trigger']
|
|
2609
2609
|
}] } });
|
|
2610
2610
|
|
|
2611
|
+
class NsDropdownItemDirective {
|
|
2612
|
+
key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
|
|
2613
|
+
label = input.required(...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
2614
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
2615
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsDropdownItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2616
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.21", type: NsDropdownItemDirective, isStandalone: true, selector: "ns-dropdown-item", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
2617
|
+
}
|
|
2618
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsDropdownItemDirective, decorators: [{
|
|
2619
|
+
type: Directive,
|
|
2620
|
+
args: [{
|
|
2621
|
+
selector: 'ns-dropdown-item',
|
|
2622
|
+
standalone: true
|
|
2623
|
+
}]
|
|
2624
|
+
}], propDecorators: { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
2625
|
+
|
|
2626
|
+
class NsSkeletonComponent {
|
|
2627
|
+
width = input('100%', ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
|
|
2628
|
+
height = input('1rem', ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
|
|
2629
|
+
animated = input(true, { ...(ngDevMode ? { debugName: "animated" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
2630
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2631
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.21", type: NsSkeletonComponent, isStandalone: true, selector: "ns-skeleton", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, animated: { classPropertyName: "animated", publicName: "animated", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-hidden": "true" }, properties: { "class.ns-skeleton": "true", "class.ns-skeleton--animated": "animated()", "style.inline-size": "width()", "style.block-size": "height()" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;overflow:hidden;border-radius:var(--ns-component-skeleton-radius);background:var(--ns-component-skeleton-background)}:host(.ns-skeleton--animated){background:linear-gradient(90deg,var(--ns-component-skeleton-background) 25%,var(--ns-component-skeleton-highlight) 50%,var(--ns-component-skeleton-background) 75%);background-size:200% 100%;animation:ns-skeleton-shimmer var(--ns-component-skeleton-duration) linear infinite}@keyframes ns-skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){:host(.ns-skeleton--animated){animation:none}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2632
|
+
}
|
|
2633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSkeletonComponent, decorators: [{
|
|
2634
|
+
type: Component,
|
|
2635
|
+
args: [{ selector: 'ns-skeleton', standalone: true, template: '', host: {
|
|
2636
|
+
'aria-hidden': 'true',
|
|
2637
|
+
'[class.ns-skeleton]': 'true',
|
|
2638
|
+
'[class.ns-skeleton--animated]': 'animated()',
|
|
2639
|
+
'[style.inline-size]': 'width()',
|
|
2640
|
+
'[style.block-size]': 'height()'
|
|
2641
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;overflow:hidden;border-radius:var(--ns-component-skeleton-radius);background:var(--ns-component-skeleton-background)}:host(.ns-skeleton--animated){background:linear-gradient(90deg,var(--ns-component-skeleton-background) 25%,var(--ns-component-skeleton-highlight) 50%,var(--ns-component-skeleton-background) 75%);background-size:200% 100%;animation:ns-skeleton-shimmer var(--ns-component-skeleton-duration) linear infinite}@keyframes ns-skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){:host(.ns-skeleton--animated){animation:none}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
2642
|
+
}], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], animated: [{ type: i0.Input, args: [{ isSignal: true, alias: "animated", required: false }] }] } });
|
|
2643
|
+
|
|
2644
|
+
function normalizeNsDropdownLabel(value) {
|
|
2645
|
+
return value
|
|
2646
|
+
.toLocaleLowerCase()
|
|
2647
|
+
.normalize('NFD')
|
|
2648
|
+
.replace(/\p{Diacritic}/gu, '');
|
|
2649
|
+
}
|
|
2650
|
+
class NsDropdownComponent extends NsValueAccessor {
|
|
2651
|
+
collection = input([], ...(ngDevMode ? [{ debugName: "collection" }] : /* istanbul ignore next */ []));
|
|
2652
|
+
contentItems = contentChildren(NsDropdownItemDirective, ...(ngDevMode ? [{ debugName: "contentItems" }] : /* istanbul ignore next */ []));
|
|
2653
|
+
selectionMode = input('single', ...(ngDevMode ? [{ debugName: "selectionMode" }] : /* istanbul ignore next */ []));
|
|
2654
|
+
loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
2655
|
+
searchable = input(true, { ...(ngDevMode ? { debugName: "searchable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
2656
|
+
searchPlaceholder = input('Search', ...(ngDevMode ? [{ debugName: "searchPlaceholder" }] : /* istanbul ignore next */ []));
|
|
2657
|
+
emptyText = input('No results', ...(ngDevMode ? [{ debugName: "emptyText" }] : /* istanbul ignore next */ []));
|
|
2658
|
+
placement = input('bottom-start', ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
|
|
2659
|
+
open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
2660
|
+
opened = output();
|
|
2661
|
+
closed = output();
|
|
2662
|
+
trigger;
|
|
2663
|
+
menu;
|
|
2664
|
+
searchInput;
|
|
2665
|
+
listbox;
|
|
2666
|
+
overlay = inject(NsOverlayService);
|
|
2667
|
+
destroyRef = inject(DestroyRef);
|
|
2668
|
+
typeahead = new NsTypeaheadController();
|
|
2669
|
+
overlayRef;
|
|
2670
|
+
destroyed = false;
|
|
2671
|
+
query = signal('', ...(ngDevMode ? [{ debugName: "query" }] : /* istanbul ignore next */ []));
|
|
2672
|
+
activeIndex = signal(-1, ...(ngDevMode ? [{ debugName: "activeIndex" }] : /* istanbul ignore next */ []));
|
|
2673
|
+
listboxId = `${this.id}-listbox`;
|
|
2674
|
+
searchId = `${this.id}-search`;
|
|
2675
|
+
skeletonRows = [0, 1, 2, 3];
|
|
2676
|
+
items = computed(() => {
|
|
2677
|
+
const projected = this.contentItems();
|
|
2678
|
+
if (projected.length) {
|
|
2679
|
+
return projected.map((item) => ({
|
|
2680
|
+
key: item.key(),
|
|
2681
|
+
label: item.label(),
|
|
2682
|
+
disabled: item.disabled()
|
|
2683
|
+
}));
|
|
2684
|
+
}
|
|
2685
|
+
return this.collection().map((item) => ({
|
|
2686
|
+
key: item.key,
|
|
2687
|
+
label: item.label,
|
|
2688
|
+
disabled: item.disabled ?? false
|
|
2689
|
+
}));
|
|
2690
|
+
}, ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
2691
|
+
visibleItems = computed(() => {
|
|
2692
|
+
const normalized = normalizeNsDropdownLabel(this.query());
|
|
2693
|
+
const items = this.items();
|
|
2694
|
+
if (!normalized) {
|
|
2695
|
+
return items;
|
|
2696
|
+
}
|
|
2697
|
+
return items.filter((item) => normalizeNsDropdownLabel(item.label).includes(normalized));
|
|
2698
|
+
}, ...(ngDevMode ? [{ debugName: "visibleItems" }] : /* istanbul ignore next */ []));
|
|
2699
|
+
selectedKeys = computed(() => {
|
|
2700
|
+
const value = this.value();
|
|
2701
|
+
if (value === null || value === undefined) {
|
|
2702
|
+
return new Set();
|
|
2703
|
+
}
|
|
2704
|
+
return new Set(Array.isArray(value) ? value : [value]);
|
|
2705
|
+
}, ...(ngDevMode ? [{ debugName: "selectedKeys" }] : /* istanbul ignore next */ []));
|
|
2706
|
+
selectedLabel = computed(() => {
|
|
2707
|
+
const keys = this.selectedKeys();
|
|
2708
|
+
if (!keys.size) {
|
|
2709
|
+
return '';
|
|
2710
|
+
}
|
|
2711
|
+
return this.items()
|
|
2712
|
+
.filter((item) => keys.has(item.key))
|
|
2713
|
+
.map((item) => item.label)
|
|
2714
|
+
.join(', ');
|
|
2715
|
+
}, ...(ngDevMode ? [{ debugName: "selectedLabel" }] : /* istanbul ignore next */ []));
|
|
2716
|
+
activeId = computed(() => {
|
|
2717
|
+
const item = this.visibleItems()[this.activeIndex()];
|
|
2718
|
+
return item ? `${this.listboxId}-${String(item.key)}` : undefined;
|
|
2719
|
+
}, ...(ngDevMode ? [{ debugName: "activeId" }] : /* istanbul ignore next */ []));
|
|
2720
|
+
constructor() {
|
|
2721
|
+
super();
|
|
2722
|
+
this.destroyRef.onDestroy(() => {
|
|
2723
|
+
this.destroyed = true;
|
|
2724
|
+
this.overlayRef?.close('programmatic');
|
|
2725
|
+
});
|
|
2726
|
+
}
|
|
2727
|
+
toggle() {
|
|
2728
|
+
this.open() ? this.close() : this.show();
|
|
2729
|
+
}
|
|
2730
|
+
select(key) {
|
|
2731
|
+
const item = this.items().find((candidate) => candidate.key === key);
|
|
2732
|
+
if (!item || item.disabled || this.selectionMode() === 'none') {
|
|
2733
|
+
return;
|
|
2734
|
+
}
|
|
2735
|
+
if (this.selectionMode() === 'multiple') {
|
|
2736
|
+
const current = new Set(this.selectedKeys());
|
|
2737
|
+
current.has(key) ? current.delete(key) : current.add(key);
|
|
2738
|
+
this.setValue([...current]);
|
|
2739
|
+
this.onTouched();
|
|
2740
|
+
}
|
|
2741
|
+
else {
|
|
2742
|
+
this.setValue(key);
|
|
2743
|
+
this.onTouched();
|
|
2744
|
+
this.close();
|
|
2745
|
+
}
|
|
2746
|
+
}
|
|
2747
|
+
onNativeChange(event) {
|
|
2748
|
+
const select = event.target;
|
|
2749
|
+
const items = this.items();
|
|
2750
|
+
if (this.selectionMode() === 'multiple') {
|
|
2751
|
+
const keys = Array.from(select.selectedOptions)
|
|
2752
|
+
.map((option) => items.find((item) => String(item.key) === option.value)?.key)
|
|
2753
|
+
.filter((key) => key !== undefined);
|
|
2754
|
+
this.setValue(keys);
|
|
2755
|
+
this.onTouched();
|
|
2756
|
+
return;
|
|
2757
|
+
}
|
|
2758
|
+
const item = items.find((candidate) => String(candidate.key) === select.value);
|
|
2759
|
+
if (item) {
|
|
2760
|
+
this.select(item.key);
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2763
|
+
onSearchInput(event) {
|
|
2764
|
+
const value = event.target.value;
|
|
2765
|
+
this.query.set(value);
|
|
2766
|
+
this.activeIndex.set(this.visibleItems().length ? 0 : -1);
|
|
2767
|
+
}
|
|
2768
|
+
onTriggerKeydown(event) {
|
|
2769
|
+
if (this.disabled()) {
|
|
2770
|
+
return;
|
|
2771
|
+
}
|
|
2772
|
+
if (event.key === 'Escape' && this.open()) {
|
|
2773
|
+
event.preventDefault();
|
|
2774
|
+
this.close();
|
|
2775
|
+
return;
|
|
2776
|
+
}
|
|
2777
|
+
if (['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(event.key)) {
|
|
2778
|
+
event.preventDefault();
|
|
2779
|
+
if (!this.open()) {
|
|
2780
|
+
this.show();
|
|
2781
|
+
}
|
|
2782
|
+
}
|
|
2783
|
+
}
|
|
2784
|
+
onSearchKeydown(event) {
|
|
2785
|
+
const items = this.visibleItems();
|
|
2786
|
+
if (event.key === 'Escape') {
|
|
2787
|
+
event.preventDefault();
|
|
2788
|
+
this.close();
|
|
2789
|
+
return;
|
|
2790
|
+
}
|
|
2791
|
+
if (event.key === 'Enter') {
|
|
2792
|
+
event.preventDefault();
|
|
2793
|
+
const active = items[this.activeIndex()];
|
|
2794
|
+
if (active) {
|
|
2795
|
+
this.select(active.key);
|
|
2796
|
+
}
|
|
2797
|
+
return;
|
|
2798
|
+
}
|
|
2799
|
+
if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
|
|
2800
|
+
const next = getNsNextNavigableIndex(items.map((item) => ({ key: item.key, disabled: item.disabled })), this.activeIndex(), event.key);
|
|
2801
|
+
if (next >= 0) {
|
|
2802
|
+
event.preventDefault();
|
|
2803
|
+
this.activeIndex.set(next);
|
|
2804
|
+
}
|
|
2805
|
+
}
|
|
2806
|
+
}
|
|
2807
|
+
onListboxKeydown(event) {
|
|
2808
|
+
if (this.searchable()) {
|
|
2809
|
+
return;
|
|
2810
|
+
}
|
|
2811
|
+
const items = this.visibleItems();
|
|
2812
|
+
if (event.key === 'Escape') {
|
|
2813
|
+
event.preventDefault();
|
|
2814
|
+
this.close();
|
|
2815
|
+
return;
|
|
2816
|
+
}
|
|
2817
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
2818
|
+
event.preventDefault();
|
|
2819
|
+
const active = items[this.activeIndex()];
|
|
2820
|
+
if (active) {
|
|
2821
|
+
this.select(active.key);
|
|
2822
|
+
}
|
|
2823
|
+
return;
|
|
2824
|
+
}
|
|
2825
|
+
let next = -1;
|
|
2826
|
+
if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
|
|
2827
|
+
next = getNsNextNavigableIndex(items.map((item) => ({ key: item.key, disabled: item.disabled })), this.activeIndex(), event.key);
|
|
2828
|
+
}
|
|
2829
|
+
else {
|
|
2830
|
+
next = this.typeahead.find(items.map((item) => ({ label: item.label, disabled: item.disabled })), event.key, this.activeIndex());
|
|
2831
|
+
}
|
|
2832
|
+
if (next >= 0) {
|
|
2833
|
+
event.preventDefault();
|
|
2834
|
+
this.activeIndex.set(next);
|
|
2835
|
+
}
|
|
2836
|
+
}
|
|
2837
|
+
show() {
|
|
2838
|
+
if (this.disabled() || this.open() || !this.menu || !this.trigger) {
|
|
2839
|
+
return;
|
|
2840
|
+
}
|
|
2841
|
+
this.open.set(true);
|
|
2842
|
+
this.query.set('');
|
|
2843
|
+
this.activeIndex.set(-1);
|
|
2844
|
+
this.overlayRef = this.overlay.open({
|
|
2845
|
+
origin: this.trigger.nativeElement,
|
|
2846
|
+
placement: this.placement(),
|
|
2847
|
+
matchOriginWidth: true,
|
|
2848
|
+
restoreFocus: true
|
|
2849
|
+
});
|
|
2850
|
+
this.overlayRef.attach(this.menu.nativeElement);
|
|
2851
|
+
this.overlayRef.onClose(() => {
|
|
2852
|
+
const wasDestroyed = this.destroyed;
|
|
2853
|
+
this.overlayRef = undefined;
|
|
2854
|
+
if (!wasDestroyed) {
|
|
2855
|
+
this.open.set(false);
|
|
2856
|
+
this.query.set('');
|
|
2857
|
+
this.closed.emit();
|
|
2858
|
+
}
|
|
2859
|
+
});
|
|
2860
|
+
this.opened.emit();
|
|
2861
|
+
queueMicrotask(() => {
|
|
2862
|
+
if (this.searchable()) {
|
|
2863
|
+
this.searchInput?.nativeElement.focus();
|
|
2864
|
+
}
|
|
2865
|
+
else {
|
|
2866
|
+
this.listbox?.nativeElement.focus();
|
|
2867
|
+
}
|
|
2868
|
+
});
|
|
2869
|
+
}
|
|
2870
|
+
close() {
|
|
2871
|
+
this.overlayRef?.close();
|
|
2872
|
+
}
|
|
2873
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2874
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: NsDropdownComponent, isStandalone: true, selector: "ns-dropdown", inputs: { collection: { classPropertyName: "collection", publicName: "collection", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", opened: "opened", closed: "closed" }, host: { properties: { "class.ns-dropdown": "true", "class.ns-dropdown--open": "open()", "class.ns-dropdown--disabled": "disabled()", "class.ns-dropdown--invalid": "invalid()", "attr.data-state": "open() ? 'open' : 'closed'" } }, providers: [
|
|
2875
|
+
{
|
|
2876
|
+
provide: NG_VALUE_ACCESSOR,
|
|
2877
|
+
useExisting: NsDropdownComponent,
|
|
2878
|
+
multi: true
|
|
2879
|
+
}
|
|
2880
|
+
], queries: [{ propertyName: "contentItems", predicate: NsDropdownItemDirective, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "listbox", first: true, predicate: ["listbox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (label()) {\n <label class=\"ns-dropdown__label\" [attr.for]=\"controlId()\"\n >{{ label() }}\n @if (required()) {\n <span aria-hidden=\"true\"> *</span>\n }\n </label>\n}\n<button\n #trigger\n type=\"button\"\n class=\"ns-dropdown__trigger\"\n role=\"combobox\"\n [id]=\"controlId()\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"listboxId\"\n aria-haspopup=\"listbox\"\n [attr.aria-invalid]=\"invalid() || null\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-describedby]=\"describedBy()\"\n [disabled]=\"disabled()\"\n (click)=\"toggle()\"\n (keydown)=\"onTriggerKeydown($event)\"\n (blur)=\"onTouched()\"\n>\n <span\n class=\"ns-dropdown__trigger-value\"\n [class.ns-dropdown__trigger-value--placeholder]=\"!selectedLabel()\"\n >{{ selectedLabel() || placeholder() }}</span\n >\n <ns-icon\n class=\"ns-dropdown__trigger-icon\"\n name=\"chevron-down\"\n size=\"18\"\n aria-hidden=\"true\"\n />\n</button>\n<select\n class=\"ns-dropdown__native-control\"\n [attr.name]=\"name()\"\n [multiple]=\"selectionMode() === 'multiple'\"\n [disabled]=\"disabled()\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onTouched()\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n>\n @for (item of items(); track item.key) {\n <option\n [value]=\"item.key\"\n [selected]=\"selectedKeys().has(item.key)\"\n [disabled]=\"item.disabled\"\n >\n {{ item.label }}\n </option>\n }\n</select>\n<div #menu class=\"ns-dropdown__menu\" role=\"presentation\">\n @if (searchable()) {\n <div class=\"ns-dropdown__search\">\n <input\n #searchInput\n class=\"ns-dropdown__search-input\"\n type=\"text\"\n [id]=\"searchId\"\n [attr.placeholder]=\"searchPlaceholder()\"\n [attr.aria-controls]=\"listboxId\"\n [attr.aria-activedescendant]=\"activeId()\"\n [value]=\"query()\"\n autocomplete=\"off\"\n (input)=\"onSearchInput($event)\"\n (keydown)=\"onSearchKeydown($event)\"\n />\n <ns-icon\n class=\"ns-dropdown__search-icon\"\n name=\"search\"\n size=\"16\"\n aria-hidden=\"true\"\n />\n </div>\n }\n <div\n #listbox\n class=\"ns-dropdown__listbox\"\n role=\"listbox\"\n [id]=\"listboxId\"\n [attr.aria-multiselectable]=\"selectionMode() === 'multiple'\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.tabindex]=\"searchable() ? null : 0\"\n (keydown)=\"onListboxKeydown($event)\"\n >\n @if (loading()) {\n @for (row of skeletonRows; track row) {\n <div class=\"ns-dropdown__skeleton-row\">\n <ns-skeleton />\n </div>\n }\n } @else if (visibleItems().length === 0) {\n <div class=\"ns-dropdown__empty\" role=\"status\">{{ emptyText() }}</div>\n } @else {\n @for (item of visibleItems(); track item.key; let index = $index) {\n <div\n class=\"ns-dropdown__option\"\n role=\"option\"\n [id]=\"listboxId + '-' + item.key\"\n [class.ns-dropdown__option--selected]=\"selectedKeys().has(item.key)\"\n [class.ns-dropdown__option--active]=\"index === activeIndex()\"\n [class.ns-dropdown__option--disabled]=\"item.disabled\"\n [attr.aria-selected]=\"selectedKeys().has(item.key)\"\n [attr.aria-disabled]=\"item.disabled\"\n (click)=\"select(item.key)\"\n >\n {{ item.label }}\n </div>\n }\n }\n </div>\n</div>\n@if (description()) {\n <p class=\"ns-dropdown__description\" [id]=\"descriptionId\">\n {{ description() }}\n </p>\n}\n@if (invalid() && errorMessage()) {\n <p class=\"ns-dropdown__error\" [id]=\"errorId\" role=\"alert\">\n {{ errorMessage() }}\n </p>\n}\n", styles: ["@layer properties;:host{display:block;width:100%}.ns-dropdown__label{margin-bottom:calc(var(--ns-primitive-space-1) * 2);display:block;--tw-leading: calc(var(--ns-primitive-space-1) * 5);line-height:calc(var(--ns-primitive-space-1) * 5);color:var(--ns-component-dropdown-label-color);font-size:var(--ns-component-dropdown-label-size);font-weight:var(--ns-component-dropdown-label-weight)}.ns-dropdown__trigger{display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;border-style:var(--tw-border-style);border-width:1px;text-align:start;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);box-sizing:border-box;min-height:var(--ns-component-dropdown-trigger-min-height);padding:var(--ns-component-dropdown-trigger-padding-block) var(--ns-component-dropdown-trigger-padding-inline);gap:var(--ns-component-dropdown-trigger-gap);border:var(--ns-component-dropdown-trigger-border-width) solid var(--ns-component-dropdown-trigger-border-color);border-radius:var(--ns-component-dropdown-trigger-radius);background:var(--ns-component-dropdown-trigger-background);color:var(--ns-component-dropdown-trigger-color);transition-duration:var(--ns-component-dropdown-trigger-duration);transition-timing-function:var(--ns-component-dropdown-trigger-easing)}.ns-dropdown__trigger:hover:not(:disabled){border-color:var(--ns-component-dropdown-trigger-border-hover-color)}.ns-dropdown__trigger:focus-visible{outline:none;border-color:var(--ns-component-dropdown-trigger-border-focus-color);box-shadow:var(--ns-component-dropdown-trigger-focus-shadow)}.ns-dropdown__trigger:disabled{cursor:not-allowed;background:var(--ns-component-dropdown-trigger-disabled-background);color:var(--ns-component-dropdown-trigger-disabled-color)}:host(.ns-dropdown--invalid) .ns-dropdown__trigger{border-color:var(--ns-component-dropdown-trigger-invalid-border-color)}.ns-dropdown__trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ns-dropdown__trigger-value--placeholder{color:var(--ns-component-dropdown-trigger-placeholder-color)}.ns-dropdown__trigger-icon{flex-shrink:0;transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);color:var(--ns-component-dropdown-trigger-icon-color);transition-duration:var(--ns-component-dropdown-trigger-duration);transition-timing-function:var(--ns-component-dropdown-trigger-easing)}:host(.ns-dropdown--open) .ns-dropdown__trigger-icon{rotate:180deg}.ns-dropdown__native-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.ns-dropdown__menu{display:flex;flex-direction:column;overflow:hidden;max-height:var(--ns-component-dropdown-menu-max-height);padding:var(--ns-component-dropdown-menu-padding);gap:var(--ns-component-dropdown-menu-gap);border:var(--ns-component-dropdown-menu-border-width) solid var(--ns-component-dropdown-menu-border-color);border-radius:var(--ns-component-dropdown-menu-radius);background:var(--ns-component-dropdown-menu-background);color:var(--ns-component-dropdown-menu-color);box-shadow:var(--ns-component-dropdown-menu-shadow);animation:ns-dropdown-enter var(--ns-component-dropdown-menu-enter-duration) var(--ns-component-dropdown-menu-enter-easing)}:host.ns-dropdown:not(.ns-dropdown--open) .ns-dropdown__menu{display:none}.ns-dropdown__search{position:relative;display:flex;align-items:center}.ns-dropdown__search-input{width:100%;border-style:var(--tw-border-style);border-width:1px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);--tw-outline-style: none;outline-style:none;box-sizing:border-box;min-height:var(--ns-component-dropdown-search-min-height);padding:var(--ns-component-dropdown-search-padding-block) var(--ns-component-dropdown-search-padding-inline);border:var(--ns-component-dropdown-search-border-width) solid var(--ns-component-dropdown-search-border-color);border-radius:var(--ns-component-dropdown-search-radius);background:var(--ns-component-dropdown-search-background);color:var(--ns-component-dropdown-search-color);font:inherit}.ns-dropdown__search-input::placeholder{color:var(--ns-component-dropdown-search-placeholder-color)}.ns-dropdown__search-input:focus-visible{border-color:var(--ns-component-dropdown-search-border-focus-color);box-shadow:var(--ns-component-dropdown-search-focus-shadow)}.ns-dropdown__search-icon{pointer-events:none;position:absolute;inset-inline-end:var(--ns-component-dropdown-search-padding-inline);color:var(--ns-component-dropdown-search-icon-color)}.ns-dropdown__listbox{display:flex;flex-direction:column;overflow-y:auto;--tw-outline-style: none;outline-style:none}.ns-dropdown__option{display:block;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);padding:var(--ns-component-dropdown-option-padding-block) var(--ns-component-dropdown-option-padding-inline);border-radius:var(--ns-component-dropdown-option-radius)}.ns-dropdown__option:hover:not(.ns-dropdown__option--disabled){background:var(--ns-component-dropdown-option-background-hover)}.ns-dropdown__option--active{background:var(--ns-component-dropdown-option-active-background)}.ns-dropdown__option--selected{background:var(--ns-component-dropdown-option-selected-background);color:var(--ns-component-dropdown-option-selected-color);font-weight:var(--ns-component-dropdown-option-selected-weight)}.ns-dropdown__option--disabled{cursor:not-allowed;opacity:50%}.ns-dropdown__skeleton-row{padding:var(--ns-component-dropdown-option-padding-block) var(--ns-component-dropdown-option-padding-inline)}.ns-dropdown__empty{text-align:center;padding:var(--ns-component-dropdown-empty-padding);color:var(--ns-component-dropdown-empty-color);font-size:var(--ns-component-dropdown-empty-size)}.ns-dropdown__description,.ns-dropdown__error{margin-top:calc(var(--ns-primitive-space-1) * 2);font-size:var(--ns-semantic-common-text-xs);--tw-leading: calc(var(--ns-primitive-space-1) * 4);line-height:calc(var(--ns-primitive-space-1) * 4)}.ns-dropdown__description{color:var(--ns-component-dropdown-description-color)}.ns-dropdown__error{color:var(--ns-component-dropdown-error-color)}@media(prefers-reduced-motion:reduce){.ns-dropdown__trigger-icon{transition:none}.ns-dropdown__menu{animation:none}}@keyframes ns-dropdown-enter{0%{opacity:0;transform:scale(.98) translateY(calc(var(--ns-component-dropdown-menu-padding) * -1))}to{opacity:1;transform:scale(1) translateY(0)}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: NsIconsComponent, selector: "ns-icon", inputs: ["name", "color", "size", "strokeWidth", "viewBox"] }, { kind: "component", type: NsSkeletonComponent, selector: "ns-skeleton", inputs: ["width", "height", "animated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2881
|
+
}
|
|
2882
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsDropdownComponent, decorators: [{
|
|
2883
|
+
type: Component,
|
|
2884
|
+
args: [{ selector: 'ns-dropdown', standalone: true, imports: [NsIconsComponent, NsSkeletonComponent], host: {
|
|
2885
|
+
'[class.ns-dropdown]': 'true',
|
|
2886
|
+
'[class.ns-dropdown--open]': 'open()',
|
|
2887
|
+
'[class.ns-dropdown--disabled]': 'disabled()',
|
|
2888
|
+
'[class.ns-dropdown--invalid]': 'invalid()',
|
|
2889
|
+
'[attr.data-state]': "open() ? 'open' : 'closed'"
|
|
2890
|
+
}, providers: [
|
|
2891
|
+
{
|
|
2892
|
+
provide: NG_VALUE_ACCESSOR,
|
|
2893
|
+
useExisting: NsDropdownComponent,
|
|
2894
|
+
multi: true
|
|
2895
|
+
}
|
|
2896
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (label()) {\n <label class=\"ns-dropdown__label\" [attr.for]=\"controlId()\"\n >{{ label() }}\n @if (required()) {\n <span aria-hidden=\"true\"> *</span>\n }\n </label>\n}\n<button\n #trigger\n type=\"button\"\n class=\"ns-dropdown__trigger\"\n role=\"combobox\"\n [id]=\"controlId()\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"listboxId\"\n aria-haspopup=\"listbox\"\n [attr.aria-invalid]=\"invalid() || null\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-describedby]=\"describedBy()\"\n [disabled]=\"disabled()\"\n (click)=\"toggle()\"\n (keydown)=\"onTriggerKeydown($event)\"\n (blur)=\"onTouched()\"\n>\n <span\n class=\"ns-dropdown__trigger-value\"\n [class.ns-dropdown__trigger-value--placeholder]=\"!selectedLabel()\"\n >{{ selectedLabel() || placeholder() }}</span\n >\n <ns-icon\n class=\"ns-dropdown__trigger-icon\"\n name=\"chevron-down\"\n size=\"18\"\n aria-hidden=\"true\"\n />\n</button>\n<select\n class=\"ns-dropdown__native-control\"\n [attr.name]=\"name()\"\n [multiple]=\"selectionMode() === 'multiple'\"\n [disabled]=\"disabled()\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onTouched()\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n>\n @for (item of items(); track item.key) {\n <option\n [value]=\"item.key\"\n [selected]=\"selectedKeys().has(item.key)\"\n [disabled]=\"item.disabled\"\n >\n {{ item.label }}\n </option>\n }\n</select>\n<div #menu class=\"ns-dropdown__menu\" role=\"presentation\">\n @if (searchable()) {\n <div class=\"ns-dropdown__search\">\n <input\n #searchInput\n class=\"ns-dropdown__search-input\"\n type=\"text\"\n [id]=\"searchId\"\n [attr.placeholder]=\"searchPlaceholder()\"\n [attr.aria-controls]=\"listboxId\"\n [attr.aria-activedescendant]=\"activeId()\"\n [value]=\"query()\"\n autocomplete=\"off\"\n (input)=\"onSearchInput($event)\"\n (keydown)=\"onSearchKeydown($event)\"\n />\n <ns-icon\n class=\"ns-dropdown__search-icon\"\n name=\"search\"\n size=\"16\"\n aria-hidden=\"true\"\n />\n </div>\n }\n <div\n #listbox\n class=\"ns-dropdown__listbox\"\n role=\"listbox\"\n [id]=\"listboxId\"\n [attr.aria-multiselectable]=\"selectionMode() === 'multiple'\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.tabindex]=\"searchable() ? null : 0\"\n (keydown)=\"onListboxKeydown($event)\"\n >\n @if (loading()) {\n @for (row of skeletonRows; track row) {\n <div class=\"ns-dropdown__skeleton-row\">\n <ns-skeleton />\n </div>\n }\n } @else if (visibleItems().length === 0) {\n <div class=\"ns-dropdown__empty\" role=\"status\">{{ emptyText() }}</div>\n } @else {\n @for (item of visibleItems(); track item.key; let index = $index) {\n <div\n class=\"ns-dropdown__option\"\n role=\"option\"\n [id]=\"listboxId + '-' + item.key\"\n [class.ns-dropdown__option--selected]=\"selectedKeys().has(item.key)\"\n [class.ns-dropdown__option--active]=\"index === activeIndex()\"\n [class.ns-dropdown__option--disabled]=\"item.disabled\"\n [attr.aria-selected]=\"selectedKeys().has(item.key)\"\n [attr.aria-disabled]=\"item.disabled\"\n (click)=\"select(item.key)\"\n >\n {{ item.label }}\n </div>\n }\n }\n </div>\n</div>\n@if (description()) {\n <p class=\"ns-dropdown__description\" [id]=\"descriptionId\">\n {{ description() }}\n </p>\n}\n@if (invalid() && errorMessage()) {\n <p class=\"ns-dropdown__error\" [id]=\"errorId\" role=\"alert\">\n {{ errorMessage() }}\n </p>\n}\n", styles: ["@layer properties;:host{display:block;width:100%}.ns-dropdown__label{margin-bottom:calc(var(--ns-primitive-space-1) * 2);display:block;--tw-leading: calc(var(--ns-primitive-space-1) * 5);line-height:calc(var(--ns-primitive-space-1) * 5);color:var(--ns-component-dropdown-label-color);font-size:var(--ns-component-dropdown-label-size);font-weight:var(--ns-component-dropdown-label-weight)}.ns-dropdown__trigger{display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;border-style:var(--tw-border-style);border-width:1px;text-align:start;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);box-sizing:border-box;min-height:var(--ns-component-dropdown-trigger-min-height);padding:var(--ns-component-dropdown-trigger-padding-block) var(--ns-component-dropdown-trigger-padding-inline);gap:var(--ns-component-dropdown-trigger-gap);border:var(--ns-component-dropdown-trigger-border-width) solid var(--ns-component-dropdown-trigger-border-color);border-radius:var(--ns-component-dropdown-trigger-radius);background:var(--ns-component-dropdown-trigger-background);color:var(--ns-component-dropdown-trigger-color);transition-duration:var(--ns-component-dropdown-trigger-duration);transition-timing-function:var(--ns-component-dropdown-trigger-easing)}.ns-dropdown__trigger:hover:not(:disabled){border-color:var(--ns-component-dropdown-trigger-border-hover-color)}.ns-dropdown__trigger:focus-visible{outline:none;border-color:var(--ns-component-dropdown-trigger-border-focus-color);box-shadow:var(--ns-component-dropdown-trigger-focus-shadow)}.ns-dropdown__trigger:disabled{cursor:not-allowed;background:var(--ns-component-dropdown-trigger-disabled-background);color:var(--ns-component-dropdown-trigger-disabled-color)}:host(.ns-dropdown--invalid) .ns-dropdown__trigger{border-color:var(--ns-component-dropdown-trigger-invalid-border-color)}.ns-dropdown__trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ns-dropdown__trigger-value--placeholder{color:var(--ns-component-dropdown-trigger-placeholder-color)}.ns-dropdown__trigger-icon{flex-shrink:0;transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);color:var(--ns-component-dropdown-trigger-icon-color);transition-duration:var(--ns-component-dropdown-trigger-duration);transition-timing-function:var(--ns-component-dropdown-trigger-easing)}:host(.ns-dropdown--open) .ns-dropdown__trigger-icon{rotate:180deg}.ns-dropdown__native-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.ns-dropdown__menu{display:flex;flex-direction:column;overflow:hidden;max-height:var(--ns-component-dropdown-menu-max-height);padding:var(--ns-component-dropdown-menu-padding);gap:var(--ns-component-dropdown-menu-gap);border:var(--ns-component-dropdown-menu-border-width) solid var(--ns-component-dropdown-menu-border-color);border-radius:var(--ns-component-dropdown-menu-radius);background:var(--ns-component-dropdown-menu-background);color:var(--ns-component-dropdown-menu-color);box-shadow:var(--ns-component-dropdown-menu-shadow);animation:ns-dropdown-enter var(--ns-component-dropdown-menu-enter-duration) var(--ns-component-dropdown-menu-enter-easing)}:host.ns-dropdown:not(.ns-dropdown--open) .ns-dropdown__menu{display:none}.ns-dropdown__search{position:relative;display:flex;align-items:center}.ns-dropdown__search-input{width:100%;border-style:var(--tw-border-style);border-width:1px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);--tw-outline-style: none;outline-style:none;box-sizing:border-box;min-height:var(--ns-component-dropdown-search-min-height);padding:var(--ns-component-dropdown-search-padding-block) var(--ns-component-dropdown-search-padding-inline);border:var(--ns-component-dropdown-search-border-width) solid var(--ns-component-dropdown-search-border-color);border-radius:var(--ns-component-dropdown-search-radius);background:var(--ns-component-dropdown-search-background);color:var(--ns-component-dropdown-search-color);font:inherit}.ns-dropdown__search-input::placeholder{color:var(--ns-component-dropdown-search-placeholder-color)}.ns-dropdown__search-input:focus-visible{border-color:var(--ns-component-dropdown-search-border-focus-color);box-shadow:var(--ns-component-dropdown-search-focus-shadow)}.ns-dropdown__search-icon{pointer-events:none;position:absolute;inset-inline-end:var(--ns-component-dropdown-search-padding-inline);color:var(--ns-component-dropdown-search-icon-color)}.ns-dropdown__listbox{display:flex;flex-direction:column;overflow-y:auto;--tw-outline-style: none;outline-style:none}.ns-dropdown__option{display:block;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);padding:var(--ns-component-dropdown-option-padding-block) var(--ns-component-dropdown-option-padding-inline);border-radius:var(--ns-component-dropdown-option-radius)}.ns-dropdown__option:hover:not(.ns-dropdown__option--disabled){background:var(--ns-component-dropdown-option-background-hover)}.ns-dropdown__option--active{background:var(--ns-component-dropdown-option-active-background)}.ns-dropdown__option--selected{background:var(--ns-component-dropdown-option-selected-background);color:var(--ns-component-dropdown-option-selected-color);font-weight:var(--ns-component-dropdown-option-selected-weight)}.ns-dropdown__option--disabled{cursor:not-allowed;opacity:50%}.ns-dropdown__skeleton-row{padding:var(--ns-component-dropdown-option-padding-block) var(--ns-component-dropdown-option-padding-inline)}.ns-dropdown__empty{text-align:center;padding:var(--ns-component-dropdown-empty-padding);color:var(--ns-component-dropdown-empty-color);font-size:var(--ns-component-dropdown-empty-size)}.ns-dropdown__description,.ns-dropdown__error{margin-top:calc(var(--ns-primitive-space-1) * 2);font-size:var(--ns-semantic-common-text-xs);--tw-leading: calc(var(--ns-primitive-space-1) * 4);line-height:calc(var(--ns-primitive-space-1) * 4)}.ns-dropdown__description{color:var(--ns-component-dropdown-description-color)}.ns-dropdown__error{color:var(--ns-component-dropdown-error-color)}@media(prefers-reduced-motion:reduce){.ns-dropdown__trigger-icon{transition:none}.ns-dropdown__menu{animation:none}}@keyframes ns-dropdown-enter{0%{opacity:0;transform:scale(.98) translateY(calc(var(--ns-component-dropdown-menu-padding) * -1))}to{opacity:1;transform:scale(1) translateY(0)}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
2897
|
+
}], ctorParameters: () => [], propDecorators: { collection: [{ type: i0.Input, args: [{ isSignal: true, alias: "collection", required: false }] }], contentItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NsDropdownItemDirective), { isSignal: true }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], searchPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholder", required: false }] }], emptyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyText", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], trigger: [{
|
|
2898
|
+
type: ViewChild,
|
|
2899
|
+
args: ['trigger']
|
|
2900
|
+
}], menu: [{
|
|
2901
|
+
type: ViewChild,
|
|
2902
|
+
args: ['menu']
|
|
2903
|
+
}], searchInput: [{
|
|
2904
|
+
type: ViewChild,
|
|
2905
|
+
args: ['searchInput']
|
|
2906
|
+
}], listbox: [{
|
|
2907
|
+
type: ViewChild,
|
|
2908
|
+
args: ['listbox']
|
|
2909
|
+
}] } });
|
|
2910
|
+
|
|
2611
2911
|
class NsInputComponent extends NsValueAccessor {
|
|
2612
2912
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2613
2913
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: NsInputComponent, isStandalone: true, selector: "ns-input", host: { properties: { "class.ns-input": "true", "class.ns-input--invalid": "invalid()", "class.ns-input--disabled": "disabled()" } }, providers: [
|
|
@@ -3471,7 +3771,7 @@ class NsSwitchComponent extends NsValueAccessor {
|
|
|
3471
3771
|
<p class="ns-switch__error" [id]="errorId" role="alert">
|
|
3472
3772
|
{{ errorMessage() }}
|
|
3473
3773
|
</p>
|
|
3474
|
-
}`, isInline: true, styles: ["@layer properties;:host{display:inline-flex;min-height:calc(var(--ns-primitive-space-1) * 10);flex-wrap:wrap;align-items:center}.ns-switch__input{position:relative;margin:0;cursor:pointer;appearance:none;border-style:var(--tw-border-style);border-width:1px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);--tw-outline-style: none;outline-style:none;width:var(--ns-component-switch-track-width);height:var(--ns-component-switch-track-height);border-color:transparent;border-radius:var(--ns-component-switch-radius);background:var(--ns-component-switch-background)}.ns-switch__input:after{position:absolute;border-radius:calc(infinity * 1px);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);content:\"\";inset-inline-start:calc(var(--ns-component-switch-thumb-inset) -
|
|
3774
|
+
}`, isInline: true, styles: ["@layer properties;:host{display:inline-flex;min-height:calc(var(--ns-primitive-space-1) * 10);flex-wrap:wrap;align-items:center}.ns-switch__input{position:relative;margin:0;cursor:pointer;appearance:none;border-style:var(--tw-border-style);border-width:1px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);--tw-outline-style: none;outline-style:none;width:var(--ns-component-switch-track-width);height:var(--ns-component-switch-track-height);border-color:transparent;border-radius:var(--ns-component-switch-radius);background:var(--ns-component-switch-background)}.ns-switch__input:after{position:absolute;border-radius:calc(infinity * 1px);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);content:\"\";inset-inline-start:calc(var(--ns-component-switch-thumb-inset) - var(--ns-component-switch-thumb-border-offset));top:calc(var(--ns-component-switch-thumb-inset) - var(--ns-component-switch-thumb-border-offset));width:var(--ns-component-switch-thumb-size);height:var(--ns-component-switch-thumb-size);background:var(--ns-component-switch-thumb-color)}.ns-switch__input:checked{background:var(--ns-component-switch-active-background)}.ns-switch__input:checked:after{transform:translate(var(--ns-component-switch-thumb-translate))}.ns-switch__input:focus-visible{box-shadow:var(--ns-component-switch-focus-shadow)}.ns-switch__input[aria-invalid=true]{border-color:var(--ns-component-switch-invalid-border-color)}.ns-switch__input:disabled{cursor:not-allowed;opacity:50%}.ns-switch__label{margin-inline-start:calc(var(--ns-primitive-space-1) * 3);--tw-leading: calc(var(--ns-primitive-space-1) * 5);line-height:calc(var(--ns-primitive-space-1) * 5);color:var(--ns-component-switch-color)}.ns-switch__description,.ns-switch__error{margin-inline-start:calc(var(--ns-primitive-space-1) * 14);margin-top:calc(var(--ns-primitive-space-1) * 2);flex-basis:100%;font-size:var(--ns-semantic-common-text-xs);--tw-leading: calc(var(--ns-primitive-space-1) * 4);line-height:calc(var(--ns-primitive-space-1) * 4)}.ns-switch__description{color:var(--ns-component-switch-description-color)}.ns-switch__error{color:var(--ns-component-switch-error-color)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-leading: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3475
3775
|
}
|
|
3476
3776
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSwitchComponent, decorators: [{
|
|
3477
3777
|
type: Component,
|
|
@@ -3510,7 +3810,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImpo
|
|
|
3510
3810
|
useExisting: forwardRef(() => NsSwitchComponent),
|
|
3511
3811
|
multi: true
|
|
3512
3812
|
}
|
|
3513
|
-
], host: { '[class.ns-switch]': 'true' }, styles: ["@layer properties;:host{display:inline-flex;min-height:calc(var(--ns-primitive-space-1) * 10);flex-wrap:wrap;align-items:center}.ns-switch__input{position:relative;margin:0;cursor:pointer;appearance:none;border-style:var(--tw-border-style);border-width:1px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);--tw-outline-style: none;outline-style:none;width:var(--ns-component-switch-track-width);height:var(--ns-component-switch-track-height);border-color:transparent;border-radius:var(--ns-component-switch-radius);background:var(--ns-component-switch-background)}.ns-switch__input:after{position:absolute;border-radius:calc(infinity * 1px);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);content:\"\";inset-inline-start:calc(var(--ns-component-switch-thumb-inset) -
|
|
3813
|
+
], host: { '[class.ns-switch]': 'true' }, styles: ["@layer properties;:host{display:inline-flex;min-height:calc(var(--ns-primitive-space-1) * 10);flex-wrap:wrap;align-items:center}.ns-switch__input{position:relative;margin:0;cursor:pointer;appearance:none;border-style:var(--tw-border-style);border-width:1px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);--tw-outline-style: none;outline-style:none;width:var(--ns-component-switch-track-width);height:var(--ns-component-switch-track-height);border-color:transparent;border-radius:var(--ns-component-switch-radius);background:var(--ns-component-switch-background)}.ns-switch__input:after{position:absolute;border-radius:calc(infinity * 1px);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);content:\"\";inset-inline-start:calc(var(--ns-component-switch-thumb-inset) - var(--ns-component-switch-thumb-border-offset));top:calc(var(--ns-component-switch-thumb-inset) - var(--ns-component-switch-thumb-border-offset));width:var(--ns-component-switch-thumb-size);height:var(--ns-component-switch-thumb-size);background:var(--ns-component-switch-thumb-color)}.ns-switch__input:checked{background:var(--ns-component-switch-active-background)}.ns-switch__input:checked:after{transform:translate(var(--ns-component-switch-thumb-translate))}.ns-switch__input:focus-visible{box-shadow:var(--ns-component-switch-focus-shadow)}.ns-switch__input[aria-invalid=true]{border-color:var(--ns-component-switch-invalid-border-color)}.ns-switch__input:disabled{cursor:not-allowed;opacity:50%}.ns-switch__label{margin-inline-start:calc(var(--ns-primitive-space-1) * 3);--tw-leading: calc(var(--ns-primitive-space-1) * 5);line-height:calc(var(--ns-primitive-space-1) * 5);color:var(--ns-component-switch-color)}.ns-switch__description,.ns-switch__error{margin-inline-start:calc(var(--ns-primitive-space-1) * 14);margin-top:calc(var(--ns-primitive-space-1) * 2);flex-basis:100%;font-size:var(--ns-semantic-common-text-xs);--tw-leading: calc(var(--ns-primitive-space-1) * 4);line-height:calc(var(--ns-primitive-space-1) * 4)}.ns-switch__description{color:var(--ns-component-switch-description-color)}.ns-switch__error{color:var(--ns-component-switch-error-color)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-leading: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
3514
3814
|
}] });
|
|
3515
3815
|
|
|
3516
3816
|
class NsTextAreaComponent extends NsValueAccessor {
|
|
@@ -4199,275 +4499,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImpo
|
|
|
4199
4499
|
args: [{ selector: 'ns-editor-list', imports: [NsEditorLabelPipe], template: "<button\n type=\"button\"\n class=\"ns-editor__button\"\n [attr.aria-label]=\"'bullet_list' | nsEditorLabel\"\n (click)=\"command(commands.INSERT_UNORDERED_LIST)\"\n>\n <svg viewBox=\"0 0 24 24\" role=\"presentation\">\n <path\n d=\"M6 8c0-.552.444-1 1-1 .552 0 1 .444 1 1 0 .552-.444 1-1 1-.552 0-1-.444-1-1zm5-1h6a1 1 0 010 2h-6a1 1 0 010-2zm-5 5c0-.552.444-1 1-1 .552 0 1 .444 1 1 0 .552-.444 1-1 1-.552 0-1-.444-1-1zm5-1h6a1 1 0 010 2h-6a1 1 0 010-2zm-5 5c0-.552.444-1 1-1 .552 0 1 .444 1 1 0 .552-.444 1-1 1-.552 0-1-.444-1-1zm5-1h6a1 1 0 010 2h-6a1 1 0 010-2z\"\n fill-rule=\"evenodd\"\n ></path>\n </svg>\n</button>\n\n<button\n type=\"button\"\n class=\"ns-editor__button\"\n [attr.aria-label]=\"'ordered_list' | nsEditorLabel\"\n (click)=\"command(commands.INSERT_ORDERED_LIST)\"\n>\n <svg viewBox=\"0 0 24 24\" role=\"presentation\">\n <path\n d=\"M11 7h6a1 1 0 010 2h-6a1 1 0 010-2zm0 4h6a1 1 0 010 2h-6a1 1 0 010-2zm0 4h6a1 1 0 010 2h-6a1 1 0 010-2zm-5 0h3v1H6v-1zm0 2h3v1H6v-1zm1-9H6V7h2v3H7V8zm-1 3h3v1.333h-.6V13H7.2v-.667H6V11zm0 2h3v1H6v-1zm2 3h2v1H8v-1z\"\n fill-rule=\"evenodd\"\n ></path>\n </svg>\n</button>\n", styles: ["@layer properties;:host{display:inline-flex;align-items:center;gap:var(--ns-component-editor-gap)}.ns-editor__button{position:relative;display:inline-flex;width:calc(var(--ns-primitive-space-1) * 10);height:calc(var(--ns-primitive-space-1) * 10);cursor:pointer;align-items:center;justify-content:center;border-style:var(--tw-border-style);border-width:0px;background-color:transparent;padding:0;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);--tw-outline-style: none;outline-style:none;border-radius:var(--ns-component-editor-radius);color:var(--ns-component-editor-color)}.ns-editor__button:hover,.ns-editor__button:focus-visible{background:var(--ns-component-editor-action-background)}.ns-editor__button:focus-visible{box-shadow:var(--ns-component-editor-action-focus-shadow)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
4200
4500
|
}] });
|
|
4201
4501
|
|
|
4202
|
-
class NsSelectorListItemComponent {
|
|
4203
|
-
key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
|
|
4204
|
-
label = input.required(...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
4205
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
4206
|
-
element = inject((ElementRef));
|
|
4207
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSelectorListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4208
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.21", type: NsSelectorListItemComponent, isStandalone: true, selector: "ns-selector-list-item", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, properties: { "attr.data-ns-selector-key": "key()", "attr.aria-disabled": "disabled()", "class.ns-selector-list-item": "true", "class.ns-selector-list-item--disabled": "disabled()", "attr.data-disabled": "disabled()" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer properties;:host.ns-selector-list{display:block}.ns-selector-list__label{display:block;margin-bottom:var(--ns-component-selector-list-label-gap);color:var(--ns-component-selector-list-label-color);font-size:var(--ns-component-selector-list-label-size);font-weight:var(--ns-component-selector-list-label-weight)}.ns-selector-list__trigger{display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;border-style:var(--tw-border-style);border-width:1px;text-align:start;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-height:var(--ns-component-selector-list-trigger-min-height);padding:var(--ns-component-selector-list-trigger-padding-block) var(--ns-component-selector-list-trigger-padding-inline);border-color:var(--ns-component-selector-list-trigger-border-color);border-radius:var(--ns-component-selector-list-trigger-radius);background:var(--ns-component-selector-list-trigger-background);color:var(--ns-component-selector-list-trigger-color)}.ns-selector-list__trigger:after{content:\"\";inline-size:var(--ns-component-selector-list-item-padding-block);block-size:var(--ns-component-selector-list-item-padding-block);margin-inline-start:auto;border-right:var(--ns-component-selector-list-trigger-border-width) solid currentColor;border-bottom:var(--ns-component-selector-list-trigger-border-width) solid currentColor;transform:rotate(45deg) translateY(-25%);transition:transform var(--ns-component-selector-list-trigger-duration) var(--ns-component-selector-list-trigger-easing)}.ns-selector-list__trigger:hover:not(:disabled){border-color:var(--ns-component-selector-list-trigger-border-hover-color)}.ns-selector-list__trigger:focus-visible{outline:none;border-color:var(--ns-component-selector-list-trigger-border-focus-color);box-shadow:var(--ns-component-selector-list-trigger-focus-shadow)}:host.ns-selector-list--open .ns-selector-list__trigger:after{transform:rotate(225deg) translateY(-25%)}.ns-selector-list__native-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.ns-selector-list__menu{min-width:calc(var(--ns-primitive-space-1) * 48);overflow:auto;padding:var(--ns-primitive-space-1);max-height:var(--ns-component-selector-list-menu-max-height);border:var(--ns-component-selector-list-menu-border-width) solid var(--ns-component-selector-list-menu-border-color);border-radius:var(--ns-component-selector-list-menu-radius);background:var(--ns-component-selector-list-menu-background);color:var(--ns-component-selector-list-menu-color);box-shadow:var(--ns-component-selector-list-menu-shadow)}:host.ns-selector-list:not(.ns-selector-list--open) .ns-selector-list__menu{display:none}:host.ns-selector-list-item{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-selector-list-item-padding-block) var(--ns-component-selector-list-item-padding-inline);border-radius:var(--ns-component-selector-list-item-radius)}:host.ns-selector-list-item:hover,:host.ns-selector-list-item[aria-selected=true]{background:var(--ns-component-selector-list-item-active-background)}:host.ns-selector-list-item[aria-selected=true]{color:var(--ns-component-selector-list-item-selected-color);font-weight:var(--ns-component-selector-list-item-selected-weight)}:host.ns-selector-list-item.ns-selector-list-item--disabled{cursor:not-allowed;opacity:50%}@media(prefers-reduced-motion:reduce){.ns-selector-list__trigger:after{transition:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4209
|
-
}
|
|
4210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSelectorListItemComponent, decorators: [{
|
|
4211
|
-
type: Component,
|
|
4212
|
-
args: [{ selector: 'ns-selector-list-item', standalone: true, template: '<ng-content />', host: {
|
|
4213
|
-
role: 'option',
|
|
4214
|
-
'[attr.data-ns-selector-key]': 'key()',
|
|
4215
|
-
'[attr.aria-disabled]': 'disabled()',
|
|
4216
|
-
'[class.ns-selector-list-item]': 'true',
|
|
4217
|
-
'[class.ns-selector-list-item--disabled]': 'disabled()',
|
|
4218
|
-
'[attr.data-disabled]': 'disabled()'
|
|
4219
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer properties;:host.ns-selector-list{display:block}.ns-selector-list__label{display:block;margin-bottom:var(--ns-component-selector-list-label-gap);color:var(--ns-component-selector-list-label-color);font-size:var(--ns-component-selector-list-label-size);font-weight:var(--ns-component-selector-list-label-weight)}.ns-selector-list__trigger{display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;border-style:var(--tw-border-style);border-width:1px;text-align:start;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-height:var(--ns-component-selector-list-trigger-min-height);padding:var(--ns-component-selector-list-trigger-padding-block) var(--ns-component-selector-list-trigger-padding-inline);border-color:var(--ns-component-selector-list-trigger-border-color);border-radius:var(--ns-component-selector-list-trigger-radius);background:var(--ns-component-selector-list-trigger-background);color:var(--ns-component-selector-list-trigger-color)}.ns-selector-list__trigger:after{content:\"\";inline-size:var(--ns-component-selector-list-item-padding-block);block-size:var(--ns-component-selector-list-item-padding-block);margin-inline-start:auto;border-right:var(--ns-component-selector-list-trigger-border-width) solid currentColor;border-bottom:var(--ns-component-selector-list-trigger-border-width) solid currentColor;transform:rotate(45deg) translateY(-25%);transition:transform var(--ns-component-selector-list-trigger-duration) var(--ns-component-selector-list-trigger-easing)}.ns-selector-list__trigger:hover:not(:disabled){border-color:var(--ns-component-selector-list-trigger-border-hover-color)}.ns-selector-list__trigger:focus-visible{outline:none;border-color:var(--ns-component-selector-list-trigger-border-focus-color);box-shadow:var(--ns-component-selector-list-trigger-focus-shadow)}:host.ns-selector-list--open .ns-selector-list__trigger:after{transform:rotate(225deg) translateY(-25%)}.ns-selector-list__native-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.ns-selector-list__menu{min-width:calc(var(--ns-primitive-space-1) * 48);overflow:auto;padding:var(--ns-primitive-space-1);max-height:var(--ns-component-selector-list-menu-max-height);border:var(--ns-component-selector-list-menu-border-width) solid var(--ns-component-selector-list-menu-border-color);border-radius:var(--ns-component-selector-list-menu-radius);background:var(--ns-component-selector-list-menu-background);color:var(--ns-component-selector-list-menu-color);box-shadow:var(--ns-component-selector-list-menu-shadow)}:host.ns-selector-list:not(.ns-selector-list--open) .ns-selector-list__menu{display:none}:host.ns-selector-list-item{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-selector-list-item-padding-block) var(--ns-component-selector-list-item-padding-inline);border-radius:var(--ns-component-selector-list-item-radius)}:host.ns-selector-list-item:hover,:host.ns-selector-list-item[aria-selected=true]{background:var(--ns-component-selector-list-item-active-background)}:host.ns-selector-list-item[aria-selected=true]{color:var(--ns-component-selector-list-item-selected-color);font-weight:var(--ns-component-selector-list-item-selected-weight)}:host.ns-selector-list-item.ns-selector-list-item--disabled{cursor:not-allowed;opacity:50%}@media(prefers-reduced-motion:reduce){.ns-selector-list__trigger:after{transition:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
4220
|
-
}], propDecorators: { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
4221
|
-
class NsSelectorListComponent extends NsValueAccessor {
|
|
4222
|
-
name = input(undefined, ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
4223
|
-
placement = input('bottom-start', ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
|
|
4224
|
-
items = contentChildren(NsSelectorListItemComponent, ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
4225
|
-
trigger;
|
|
4226
|
-
menu;
|
|
4227
|
-
overlay = inject(NsOverlayService);
|
|
4228
|
-
destroyRef = inject(DestroyRef);
|
|
4229
|
-
typeahead = new NsTypeaheadController();
|
|
4230
|
-
overlayRef;
|
|
4231
|
-
activeIndex = -1;
|
|
4232
|
-
destroyed = false;
|
|
4233
|
-
open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
4234
|
-
listboxId = `${this.id}-listbox`;
|
|
4235
|
-
constructor() {
|
|
4236
|
-
super();
|
|
4237
|
-
effect(() => this.syncSelection());
|
|
4238
|
-
this.destroyRef.onDestroy(() => {
|
|
4239
|
-
this.destroyed = true;
|
|
4240
|
-
this.menu?.nativeElement.removeEventListener('click', this.onMenuClickBound);
|
|
4241
|
-
this.overlayRef?.close('programmatic');
|
|
4242
|
-
});
|
|
4243
|
-
}
|
|
4244
|
-
get activeId() {
|
|
4245
|
-
const item = this.items()[this.activeIndex];
|
|
4246
|
-
return item ? `${this.listboxId}-${String(item.key())}` : undefined;
|
|
4247
|
-
}
|
|
4248
|
-
selectedLabel() {
|
|
4249
|
-
return this.items()
|
|
4250
|
-
.find((item) => item.key() === this.value())
|
|
4251
|
-
?.label();
|
|
4252
|
-
}
|
|
4253
|
-
toggle() {
|
|
4254
|
-
this.open() ? this.close() : this.show();
|
|
4255
|
-
}
|
|
4256
|
-
select(key) {
|
|
4257
|
-
const item = this.items().find((candidate) => candidate.key() === key);
|
|
4258
|
-
if (!item || item.disabled()) {
|
|
4259
|
-
return;
|
|
4260
|
-
}
|
|
4261
|
-
this.setValue(key);
|
|
4262
|
-
this.onTouched();
|
|
4263
|
-
this.close();
|
|
4264
|
-
}
|
|
4265
|
-
selectNative(event) {
|
|
4266
|
-
const value = event.target.value;
|
|
4267
|
-
const item = this.items().find((candidate) => String(candidate.key()) === value);
|
|
4268
|
-
if (item) {
|
|
4269
|
-
this.select(item.key());
|
|
4270
|
-
}
|
|
4271
|
-
}
|
|
4272
|
-
onKeydown(event) {
|
|
4273
|
-
const items = this.items();
|
|
4274
|
-
if (event.key === 'Escape' && this.open()) {
|
|
4275
|
-
event.preventDefault();
|
|
4276
|
-
this.close();
|
|
4277
|
-
return;
|
|
4278
|
-
}
|
|
4279
|
-
if (event.key === 'Enter' || event.key === ' ') {
|
|
4280
|
-
event.preventDefault();
|
|
4281
|
-
if (this.open() && this.activeIndex >= 0) {
|
|
4282
|
-
this.select(items[this.activeIndex].key());
|
|
4283
|
-
}
|
|
4284
|
-
else {
|
|
4285
|
-
this.show();
|
|
4286
|
-
}
|
|
4287
|
-
return;
|
|
4288
|
-
}
|
|
4289
|
-
let next = -1;
|
|
4290
|
-
if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
|
|
4291
|
-
next = getNsNextNavigableIndex(items.map((item) => ({ key: item.key(), disabled: item.disabled() })), this.activeIndex, event.key);
|
|
4292
|
-
}
|
|
4293
|
-
else {
|
|
4294
|
-
next = this.typeahead.find(items.map((item) => ({
|
|
4295
|
-
label: item.label(),
|
|
4296
|
-
disabled: item.disabled()
|
|
4297
|
-
})), event.key, this.activeIndex);
|
|
4298
|
-
}
|
|
4299
|
-
if (next >= 0) {
|
|
4300
|
-
event.preventDefault();
|
|
4301
|
-
this.activeIndex = next;
|
|
4302
|
-
if (!this.open()) {
|
|
4303
|
-
this.show();
|
|
4304
|
-
}
|
|
4305
|
-
}
|
|
4306
|
-
}
|
|
4307
|
-
onMenuClick(event) {
|
|
4308
|
-
const target = event.target;
|
|
4309
|
-
const item = this.items().find((candidate) => candidate.element.nativeElement.contains(target));
|
|
4310
|
-
if (item) {
|
|
4311
|
-
this.select(item.key());
|
|
4312
|
-
}
|
|
4313
|
-
}
|
|
4314
|
-
show() {
|
|
4315
|
-
if (this.disabled() || this.open() || !this.menu || !this.trigger) {
|
|
4316
|
-
return;
|
|
4317
|
-
}
|
|
4318
|
-
this.open.set(true);
|
|
4319
|
-
this.activeIndex = this.selectedIndex();
|
|
4320
|
-
this.overlayRef = this.overlay.open({
|
|
4321
|
-
origin: this.trigger.nativeElement,
|
|
4322
|
-
placement: this.placement(),
|
|
4323
|
-
restoreFocus: false
|
|
4324
|
-
});
|
|
4325
|
-
this.overlayRef.attach(this.menu.nativeElement);
|
|
4326
|
-
this.menu.nativeElement.addEventListener('click', this.onMenuClickBound);
|
|
4327
|
-
this.overlayRef.onClose(() => {
|
|
4328
|
-
if (!this.destroyed) {
|
|
4329
|
-
this.open.set(false);
|
|
4330
|
-
}
|
|
4331
|
-
this.menu?.nativeElement.removeEventListener('click', this.onMenuClickBound);
|
|
4332
|
-
this.overlayRef = undefined;
|
|
4333
|
-
});
|
|
4334
|
-
}
|
|
4335
|
-
close() {
|
|
4336
|
-
this.overlayRef?.close();
|
|
4337
|
-
}
|
|
4338
|
-
selectedIndex() {
|
|
4339
|
-
return this.items().findIndex((item) => item.key() === this.value());
|
|
4340
|
-
}
|
|
4341
|
-
syncSelection() {
|
|
4342
|
-
const selected = this.value();
|
|
4343
|
-
for (const item of this.items()) {
|
|
4344
|
-
item.element.nativeElement.id = `${this.listboxId}-${String(item.key())}`;
|
|
4345
|
-
item.element.nativeElement.setAttribute('aria-selected', String(item.key() === selected));
|
|
4346
|
-
}
|
|
4347
|
-
}
|
|
4348
|
-
onMenuClickBound = (event) => this.onMenuClick(event);
|
|
4349
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSelectorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4350
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: NsSelectorListComponent, isStandalone: true, selector: "ns-selector-list", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange" }, host: { properties: { "class.ns-selector-list": "true", "class.ns-selector-list--open": "open()", "attr.data-state": "open() ? 'open' : 'closed'" } }, providers: [
|
|
4351
|
-
{
|
|
4352
|
-
provide: NG_VALUE_ACCESSOR,
|
|
4353
|
-
useExisting: forwardRef(() => NsSelectorListComponent),
|
|
4354
|
-
multi: true
|
|
4355
|
-
}
|
|
4356
|
-
], queries: [{ propertyName: "items", predicate: NsSelectorListItemComponent, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, read: ElementRef }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
4357
|
-
@if (label()) {
|
|
4358
|
-
<label class="ns-selector-list__label" [attr.for]="id">{{
|
|
4359
|
-
label()
|
|
4360
|
-
}}</label>
|
|
4361
|
-
}
|
|
4362
|
-
<button
|
|
4363
|
-
#trigger
|
|
4364
|
-
class="ns-selector-list__trigger"
|
|
4365
|
-
type="button"
|
|
4366
|
-
role="combobox"
|
|
4367
|
-
[id]="id"
|
|
4368
|
-
[attr.aria-expanded]="open()"
|
|
4369
|
-
[attr.aria-controls]="listboxId"
|
|
4370
|
-
[attr.aria-activedescendant]="activeId"
|
|
4371
|
-
[disabled]="disabled()"
|
|
4372
|
-
(click)="toggle()"
|
|
4373
|
-
(keydown)="onKeydown($event)"
|
|
4374
|
-
>
|
|
4375
|
-
{{ selectedLabel() || placeholder() }}
|
|
4376
|
-
</button>
|
|
4377
|
-
<select
|
|
4378
|
-
class="ns-selector-list__native-control"
|
|
4379
|
-
[attr.name]="name()"
|
|
4380
|
-
[value]="value()"
|
|
4381
|
-
[disabled]="disabled()"
|
|
4382
|
-
(change)="selectNative($event)"
|
|
4383
|
-
(blur)="onTouched()"
|
|
4384
|
-
tabindex="-1"
|
|
4385
|
-
aria-hidden="true"
|
|
4386
|
-
>
|
|
4387
|
-
@for (item of items(); track item.key()) {
|
|
4388
|
-
<option [value]="item.key()" [disabled]="item.disabled()">
|
|
4389
|
-
{{ item.label() }}
|
|
4390
|
-
</option>
|
|
4391
|
-
}
|
|
4392
|
-
</select>
|
|
4393
|
-
<div
|
|
4394
|
-
#menu
|
|
4395
|
-
class="ns-selector-list__menu"
|
|
4396
|
-
[id]="listboxId"
|
|
4397
|
-
role="listbox"
|
|
4398
|
-
[attr.aria-labelledby]="id"
|
|
4399
|
-
>
|
|
4400
|
-
<ng-content />
|
|
4401
|
-
</div>
|
|
4402
|
-
`, isInline: true, styles: ["@layer properties;:host.ns-selector-list{display:block}.ns-selector-list__label{display:block;margin-bottom:var(--ns-component-selector-list-label-gap);color:var(--ns-component-selector-list-label-color);font-size:var(--ns-component-selector-list-label-size);font-weight:var(--ns-component-selector-list-label-weight)}.ns-selector-list__trigger{display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;border-style:var(--tw-border-style);border-width:1px;text-align:start;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-height:var(--ns-component-selector-list-trigger-min-height);padding:var(--ns-component-selector-list-trigger-padding-block) var(--ns-component-selector-list-trigger-padding-inline);border-color:var(--ns-component-selector-list-trigger-border-color);border-radius:var(--ns-component-selector-list-trigger-radius);background:var(--ns-component-selector-list-trigger-background);color:var(--ns-component-selector-list-trigger-color)}.ns-selector-list__trigger:after{content:\"\";inline-size:var(--ns-component-selector-list-item-padding-block);block-size:var(--ns-component-selector-list-item-padding-block);margin-inline-start:auto;border-right:var(--ns-component-selector-list-trigger-border-width) solid currentColor;border-bottom:var(--ns-component-selector-list-trigger-border-width) solid currentColor;transform:rotate(45deg) translateY(-25%);transition:transform var(--ns-component-selector-list-trigger-duration) var(--ns-component-selector-list-trigger-easing)}.ns-selector-list__trigger:hover:not(:disabled){border-color:var(--ns-component-selector-list-trigger-border-hover-color)}.ns-selector-list__trigger:focus-visible{outline:none;border-color:var(--ns-component-selector-list-trigger-border-focus-color);box-shadow:var(--ns-component-selector-list-trigger-focus-shadow)}:host.ns-selector-list--open .ns-selector-list__trigger:after{transform:rotate(225deg) translateY(-25%)}.ns-selector-list__native-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.ns-selector-list__menu{min-width:calc(var(--ns-primitive-space-1) * 48);overflow:auto;padding:var(--ns-primitive-space-1);max-height:var(--ns-component-selector-list-menu-max-height);border:var(--ns-component-selector-list-menu-border-width) solid var(--ns-component-selector-list-menu-border-color);border-radius:var(--ns-component-selector-list-menu-radius);background:var(--ns-component-selector-list-menu-background);color:var(--ns-component-selector-list-menu-color);box-shadow:var(--ns-component-selector-list-menu-shadow)}:host.ns-selector-list:not(.ns-selector-list--open) .ns-selector-list__menu{display:none}:host.ns-selector-list-item{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-selector-list-item-padding-block) var(--ns-component-selector-list-item-padding-inline);border-radius:var(--ns-component-selector-list-item-radius)}:host.ns-selector-list-item:hover,:host.ns-selector-list-item[aria-selected=true]{background:var(--ns-component-selector-list-item-active-background)}:host.ns-selector-list-item[aria-selected=true]{color:var(--ns-component-selector-list-item-selected-color);font-weight:var(--ns-component-selector-list-item-selected-weight)}:host.ns-selector-list-item.ns-selector-list-item--disabled{cursor:not-allowed;opacity:50%}@media(prefers-reduced-motion:reduce){.ns-selector-list__trigger:after{transition:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4403
|
-
}
|
|
4404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSelectorListComponent, decorators: [{
|
|
4405
|
-
type: Component,
|
|
4406
|
-
args: [{ selector: 'ns-selector-list', standalone: true, template: `
|
|
4407
|
-
@if (label()) {
|
|
4408
|
-
<label class="ns-selector-list__label" [attr.for]="id">{{
|
|
4409
|
-
label()
|
|
4410
|
-
}}</label>
|
|
4411
|
-
}
|
|
4412
|
-
<button
|
|
4413
|
-
#trigger
|
|
4414
|
-
class="ns-selector-list__trigger"
|
|
4415
|
-
type="button"
|
|
4416
|
-
role="combobox"
|
|
4417
|
-
[id]="id"
|
|
4418
|
-
[attr.aria-expanded]="open()"
|
|
4419
|
-
[attr.aria-controls]="listboxId"
|
|
4420
|
-
[attr.aria-activedescendant]="activeId"
|
|
4421
|
-
[disabled]="disabled()"
|
|
4422
|
-
(click)="toggle()"
|
|
4423
|
-
(keydown)="onKeydown($event)"
|
|
4424
|
-
>
|
|
4425
|
-
{{ selectedLabel() || placeholder() }}
|
|
4426
|
-
</button>
|
|
4427
|
-
<select
|
|
4428
|
-
class="ns-selector-list__native-control"
|
|
4429
|
-
[attr.name]="name()"
|
|
4430
|
-
[value]="value()"
|
|
4431
|
-
[disabled]="disabled()"
|
|
4432
|
-
(change)="selectNative($event)"
|
|
4433
|
-
(blur)="onTouched()"
|
|
4434
|
-
tabindex="-1"
|
|
4435
|
-
aria-hidden="true"
|
|
4436
|
-
>
|
|
4437
|
-
@for (item of items(); track item.key()) {
|
|
4438
|
-
<option [value]="item.key()" [disabled]="item.disabled()">
|
|
4439
|
-
{{ item.label() }}
|
|
4440
|
-
</option>
|
|
4441
|
-
}
|
|
4442
|
-
</select>
|
|
4443
|
-
<div
|
|
4444
|
-
#menu
|
|
4445
|
-
class="ns-selector-list__menu"
|
|
4446
|
-
[id]="listboxId"
|
|
4447
|
-
role="listbox"
|
|
4448
|
-
[attr.aria-labelledby]="id"
|
|
4449
|
-
>
|
|
4450
|
-
<ng-content />
|
|
4451
|
-
</div>
|
|
4452
|
-
`, host: {
|
|
4453
|
-
'[class.ns-selector-list]': 'true',
|
|
4454
|
-
'[class.ns-selector-list--open]': 'open()',
|
|
4455
|
-
'[attr.data-state]': "open() ? 'open' : 'closed'"
|
|
4456
|
-
}, providers: [
|
|
4457
|
-
{
|
|
4458
|
-
provide: NG_VALUE_ACCESSOR,
|
|
4459
|
-
useExisting: forwardRef(() => NsSelectorListComponent),
|
|
4460
|
-
multi: true
|
|
4461
|
-
}
|
|
4462
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer properties;:host.ns-selector-list{display:block}.ns-selector-list__label{display:block;margin-bottom:var(--ns-component-selector-list-label-gap);color:var(--ns-component-selector-list-label-color);font-size:var(--ns-component-selector-list-label-size);font-weight:var(--ns-component-selector-list-label-weight)}.ns-selector-list__trigger{display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;border-style:var(--tw-border-style);border-width:1px;text-align:start;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-height:var(--ns-component-selector-list-trigger-min-height);padding:var(--ns-component-selector-list-trigger-padding-block) var(--ns-component-selector-list-trigger-padding-inline);border-color:var(--ns-component-selector-list-trigger-border-color);border-radius:var(--ns-component-selector-list-trigger-radius);background:var(--ns-component-selector-list-trigger-background);color:var(--ns-component-selector-list-trigger-color)}.ns-selector-list__trigger:after{content:\"\";inline-size:var(--ns-component-selector-list-item-padding-block);block-size:var(--ns-component-selector-list-item-padding-block);margin-inline-start:auto;border-right:var(--ns-component-selector-list-trigger-border-width) solid currentColor;border-bottom:var(--ns-component-selector-list-trigger-border-width) solid currentColor;transform:rotate(45deg) translateY(-25%);transition:transform var(--ns-component-selector-list-trigger-duration) var(--ns-component-selector-list-trigger-easing)}.ns-selector-list__trigger:hover:not(:disabled){border-color:var(--ns-component-selector-list-trigger-border-hover-color)}.ns-selector-list__trigger:focus-visible{outline:none;border-color:var(--ns-component-selector-list-trigger-border-focus-color);box-shadow:var(--ns-component-selector-list-trigger-focus-shadow)}:host.ns-selector-list--open .ns-selector-list__trigger:after{transform:rotate(225deg) translateY(-25%)}.ns-selector-list__native-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.ns-selector-list__menu{min-width:calc(var(--ns-primitive-space-1) * 48);overflow:auto;padding:var(--ns-primitive-space-1);max-height:var(--ns-component-selector-list-menu-max-height);border:var(--ns-component-selector-list-menu-border-width) solid var(--ns-component-selector-list-menu-border-color);border-radius:var(--ns-component-selector-list-menu-radius);background:var(--ns-component-selector-list-menu-background);color:var(--ns-component-selector-list-menu-color);box-shadow:var(--ns-component-selector-list-menu-shadow)}:host.ns-selector-list:not(.ns-selector-list--open) .ns-selector-list__menu{display:none}:host.ns-selector-list-item{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-selector-list-item-padding-block) var(--ns-component-selector-list-item-padding-inline);border-radius:var(--ns-component-selector-list-item-radius)}:host.ns-selector-list-item:hover,:host.ns-selector-list-item[aria-selected=true]{background:var(--ns-component-selector-list-item-active-background)}:host.ns-selector-list-item[aria-selected=true]{color:var(--ns-component-selector-list-item-selected-color);font-weight:var(--ns-component-selector-list-item-selected-weight)}:host.ns-selector-list-item.ns-selector-list-item--disabled{cursor:not-allowed;opacity:50%}@media(prefers-reduced-motion:reduce){.ns-selector-list__trigger:after{transition:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
4463
|
-
}], ctorParameters: () => [], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NsSelectorListItemComponent), { isSignal: true }] }], trigger: [{
|
|
4464
|
-
type: ViewChild,
|
|
4465
|
-
args: ['trigger', { read: ElementRef }]
|
|
4466
|
-
}], menu: [{
|
|
4467
|
-
type: ViewChild,
|
|
4468
|
-
args: ['menu', { read: ElementRef }]
|
|
4469
|
-
}], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }] } });
|
|
4470
|
-
|
|
4471
4502
|
class NsEditorParagraphComponent {
|
|
4472
4503
|
editor = inject(NsEditorService);
|
|
4473
4504
|
id = Guid.create();
|
|
@@ -4479,16 +4510,16 @@ class NsEditorParagraphComponent {
|
|
|
4479
4510
|
this.editor.formatBlock(heading);
|
|
4480
4511
|
}
|
|
4481
4512
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsEditorParagraphComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4482
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.21", type: NsEditorParagraphComponent, isStandalone: true, selector: "ns-editor-paragraph", ngImport: i0, template: "<ns-
|
|
4513
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.21", type: NsEditorParagraphComponent, isStandalone: true, selector: "ns-editor-paragraph", ngImport: i0, template: "<ns-dropdown [searchable]=\"false\" [(ngModel)]=\"value\">\n <ns-dropdown-item [label]=\"'paragraph' | nsEditorLabel\" key=\"p\" />\n <ns-dropdown-item [label]=\"'h1' | nsEditorLabel\" key=\"h1\" />\n <ns-dropdown-item [label]=\"'h2' | nsEditorLabel\" key=\"h2\" />\n <ns-dropdown-item [label]=\"'h3' | nsEditorLabel\" key=\"h3\" />\n <ns-dropdown-item [label]=\"'h4' | nsEditorLabel\" key=\"h4\" />\n <ns-dropdown-item [label]=\"'h5' | nsEditorLabel\" key=\"h5\" />\n <ns-dropdown-item [label]=\"'h6' | nsEditorLabel\" key=\"h6\" />\n</ns-dropdown>\n", styles: [":host{display:inline-block}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: NsDropdownComponent, selector: "ns-dropdown", inputs: ["collection", "selectionMode", "loading", "searchable", "searchPlaceholder", "emptyText", "placement", "open"], outputs: ["openChange", "opened", "closed"] }, { kind: "directive", type: NsDropdownItemDirective, selector: "ns-dropdown-item", inputs: ["key", "label", "disabled"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: NsEditorLabelPipe, name: "nsEditorLabel" }] });
|
|
4483
4514
|
}
|
|
4484
4515
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsEditorParagraphComponent, decorators: [{
|
|
4485
4516
|
type: Component,
|
|
4486
4517
|
args: [{ selector: 'ns-editor-paragraph', imports: [
|
|
4487
|
-
|
|
4488
|
-
|
|
4518
|
+
NsDropdownComponent,
|
|
4519
|
+
NsDropdownItemDirective,
|
|
4489
4520
|
FormsModule,
|
|
4490
4521
|
NsEditorLabelPipe
|
|
4491
|
-
], template: "<ns-
|
|
4522
|
+
], template: "<ns-dropdown [searchable]=\"false\" [(ngModel)]=\"value\">\n <ns-dropdown-item [label]=\"'paragraph' | nsEditorLabel\" key=\"p\" />\n <ns-dropdown-item [label]=\"'h1' | nsEditorLabel\" key=\"h1\" />\n <ns-dropdown-item [label]=\"'h2' | nsEditorLabel\" key=\"h2\" />\n <ns-dropdown-item [label]=\"'h3' | nsEditorLabel\" key=\"h3\" />\n <ns-dropdown-item [label]=\"'h4' | nsEditorLabel\" key=\"h4\" />\n <ns-dropdown-item [label]=\"'h5' | nsEditorLabel\" key=\"h5\" />\n <ns-dropdown-item [label]=\"'h6' | nsEditorLabel\" key=\"h6\" />\n</ns-dropdown>\n", styles: [":host{display:inline-block}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
4492
4523
|
}] });
|
|
4493
4524
|
|
|
4494
4525
|
class NsEditorToggleCommandComponent {
|
|
@@ -4807,130 +4838,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImpo
|
|
|
4807
4838
|
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline}.ns-link__anchor{--tw-outline-style: none;outline-style:none;border-radius:var(--ns-component-link-radius);color:var(--ns-component-link-color);font-weight:var(--ns-component-link-font-weight);text-decoration:var(--ns-component-link-decoration);text-underline-offset:var(--ns-component-link-underline-offset);transition:color var(--ns-component-link-transition-duration),opacity var(--ns-component-link-transition-duration)}.ns-link__anchor:hover:not([aria-disabled=true]){opacity:var(--ns-component-link-hover-opacity)}.ns-link__anchor:active:not([aria-disabled=true]){opacity:var(--ns-component-link-hover-opacity)}.ns-link__anchor:focus-visible{outline:var(--ns-component-link-focus-outline);outline-offset:var(--ns-component-link-focus-offset)}:host(.ns-link--disabled) .ns-link__anchor{cursor:not-allowed;color:var(--ns-component-link-disabled-color)}:host(.ns-link--success) .ns-link__anchor{color:var(--ns-component-link-success-color)}:host(.ns-link--warning) .ns-link__anchor{color:var(--ns-component-link-warning-color)}:host(.ns-link--danger) .ns-link__anchor{color:var(--ns-component-link-danger-color)}@media(prefers-reduced-motion:reduce){.ns-link__anchor{transition:none}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
4808
4839
|
}], propDecorators: { href: [{ type: i0.Input, args: [{ isSignal: true, alias: "href", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], rel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rel", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
4809
4840
|
|
|
4810
|
-
class NsListBoxOptionComponent {
|
|
4811
|
-
key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
|
|
4812
|
-
label = input.required(...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
4813
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
4814
|
-
selected = signal(false, ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
|
|
4815
|
-
active = signal(false, ...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
4816
|
-
element = inject((ElementRef));
|
|
4817
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsListBoxOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4818
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.21", type: NsListBoxOptionComponent, isStandalone: true, selector: "ns-list-box-option", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, properties: { "attr.data-ns-list-box-key": "key()", "attr.aria-disabled": "disabled()", "attr.aria-selected": "selected()", "attr.tabindex": "active() ? 0 : -1", "class.ns-list-box-option": "true", "class.ns-list-box-option--selected": "selected()", "class.ns-list-box-option--disabled": "disabled()", "attr.data-selected": "selected()", "attr.data-disabled": "disabled()" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host.ns-list-box{display:block;overflow:auto;padding:var(--ns-primitive-space-1);border:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color);border-radius:var(--ns-component-list-box-radius);background:var(--ns-component-list-box-background);color:var(--ns-component-list-box-color)}:host.ns-list-box-option{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-list-box-option-padding-block) var(--ns-component-list-box-option-padding-inline);border-radius:var(--ns-component-list-box-radius)}:host.ns-list-box-option:not(:last-child){border-bottom:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color)}:host.ns-list-box-option:focus-visible{outline:none;box-shadow:var(--ns-component-list-box-option-focus-shadow)}:host.ns-list-box-option:hover:not(.ns-list-box-option--disabled):not(.ns-list-box-option--selected){background:var(--ns-component-list-box-option-background-hover)}:host.ns-list-box-option.ns-list-box-option--selected{background:var(--ns-component-list-box-option-selected-background);color:var(--ns-component-list-box-option-selected-color);font-weight:var(--ns-component-list-box-option-selected-weight)}:host.ns-list-box-option.ns-list-box-option--disabled{cursor:not-allowed;opacity:50%}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4819
|
-
}
|
|
4820
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsListBoxOptionComponent, decorators: [{
|
|
4821
|
-
type: Component,
|
|
4822
|
-
args: [{ selector: 'ns-list-box-option', standalone: true, template: '<ng-content />', host: {
|
|
4823
|
-
role: 'option',
|
|
4824
|
-
'[attr.data-ns-list-box-key]': 'key()',
|
|
4825
|
-
'[attr.aria-disabled]': 'disabled()',
|
|
4826
|
-
'[attr.aria-selected]': 'selected()',
|
|
4827
|
-
'[attr.tabindex]': 'active() ? 0 : -1',
|
|
4828
|
-
'[class.ns-list-box-option]': 'true',
|
|
4829
|
-
'[class.ns-list-box-option--selected]': 'selected()',
|
|
4830
|
-
'[class.ns-list-box-option--disabled]': 'disabled()',
|
|
4831
|
-
'[attr.data-selected]': 'selected()',
|
|
4832
|
-
'[attr.data-disabled]': 'disabled()'
|
|
4833
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host.ns-list-box{display:block;overflow:auto;padding:var(--ns-primitive-space-1);border:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color);border-radius:var(--ns-component-list-box-radius);background:var(--ns-component-list-box-background);color:var(--ns-component-list-box-color)}:host.ns-list-box-option{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-list-box-option-padding-block) var(--ns-component-list-box-option-padding-inline);border-radius:var(--ns-component-list-box-radius)}:host.ns-list-box-option:not(:last-child){border-bottom:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color)}:host.ns-list-box-option:focus-visible{outline:none;box-shadow:var(--ns-component-list-box-option-focus-shadow)}:host.ns-list-box-option:hover:not(.ns-list-box-option--disabled):not(.ns-list-box-option--selected){background:var(--ns-component-list-box-option-background-hover)}:host.ns-list-box-option.ns-list-box-option--selected{background:var(--ns-component-list-box-option-selected-background);color:var(--ns-component-list-box-option-selected-color);font-weight:var(--ns-component-list-box-option-selected-weight)}:host.ns-list-box-option.ns-list-box-option--disabled{cursor:not-allowed;opacity:50%}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
4834
|
-
}], propDecorators: { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
4835
|
-
class NsListBoxComponent {
|
|
4836
|
-
label = input('Options', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
4837
|
-
selectionMode = input('single', ...(ngDevMode ? [{ debugName: "selectionMode" }] : /* istanbul ignore next */ []));
|
|
4838
|
-
selectedKeys = model([], ...(ngDevMode ? [{ debugName: "selectedKeys" }] : /* istanbul ignore next */ []));
|
|
4839
|
-
options = contentChildren(NsListBoxOptionComponent, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
4840
|
-
typeahead = new NsTypeaheadController();
|
|
4841
|
-
activeIndex = -1;
|
|
4842
|
-
ngAfterContentInit() {
|
|
4843
|
-
this.syncState();
|
|
4844
|
-
}
|
|
4845
|
-
onClick(event) {
|
|
4846
|
-
const option = this.optionFor(event.target);
|
|
4847
|
-
if (option) {
|
|
4848
|
-
this.select(option.key());
|
|
4849
|
-
}
|
|
4850
|
-
}
|
|
4851
|
-
onKeydown(event) {
|
|
4852
|
-
const options = this.options();
|
|
4853
|
-
if (!options.length) {
|
|
4854
|
-
return;
|
|
4855
|
-
}
|
|
4856
|
-
if (event.key === ' ' || event.key === 'Enter') {
|
|
4857
|
-
const option = options[this.activeIndex] ?? options.find((item) => !item.disabled());
|
|
4858
|
-
if (option) {
|
|
4859
|
-
event.preventDefault();
|
|
4860
|
-
this.select(option.key());
|
|
4861
|
-
}
|
|
4862
|
-
return;
|
|
4863
|
-
}
|
|
4864
|
-
let next = -1;
|
|
4865
|
-
if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
|
|
4866
|
-
next = getNsNextNavigableIndex(options.map((option) => ({
|
|
4867
|
-
key: option.key(),
|
|
4868
|
-
disabled: option.disabled()
|
|
4869
|
-
})), this.activeIndex, event.key);
|
|
4870
|
-
}
|
|
4871
|
-
else {
|
|
4872
|
-
next = this.typeahead.find(options.map((option) => ({
|
|
4873
|
-
label: option.label(),
|
|
4874
|
-
disabled: option.disabled()
|
|
4875
|
-
})), event.key, this.activeIndex);
|
|
4876
|
-
}
|
|
4877
|
-
if (next >= 0) {
|
|
4878
|
-
event.preventDefault();
|
|
4879
|
-
this.focus(next);
|
|
4880
|
-
}
|
|
4881
|
-
}
|
|
4882
|
-
select(key) {
|
|
4883
|
-
const option = this.options().find((candidate) => candidate.key() === key);
|
|
4884
|
-
if (!option || option.disabled() || this.selectionMode() === 'none') {
|
|
4885
|
-
return;
|
|
4886
|
-
}
|
|
4887
|
-
const selected = new Set(this.selectedKeys());
|
|
4888
|
-
if (this.selectionMode() === 'multiple') {
|
|
4889
|
-
selected.has(key) ? selected.delete(key) : selected.add(key);
|
|
4890
|
-
}
|
|
4891
|
-
else {
|
|
4892
|
-
selected.clear();
|
|
4893
|
-
selected.add(key);
|
|
4894
|
-
}
|
|
4895
|
-
this.selectedKeys.set([...selected]);
|
|
4896
|
-
this.syncState();
|
|
4897
|
-
}
|
|
4898
|
-
optionFor(target) {
|
|
4899
|
-
return this.options().find((option) => option.element.nativeElement.contains(target));
|
|
4900
|
-
}
|
|
4901
|
-
focus(index) {
|
|
4902
|
-
this.activeIndex = index;
|
|
4903
|
-
for (const [optionIndex, option] of this.options().entries()) {
|
|
4904
|
-
option.active.set(optionIndex === index);
|
|
4905
|
-
}
|
|
4906
|
-
this.options()[index].element.nativeElement.focus();
|
|
4907
|
-
}
|
|
4908
|
-
syncState() {
|
|
4909
|
-
const selected = new Set(this.selectedKeys());
|
|
4910
|
-
for (const option of this.options()) {
|
|
4911
|
-
option.selected.set(selected.has(option.key()));
|
|
4912
|
-
}
|
|
4913
|
-
}
|
|
4914
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsListBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4915
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.21", type: NsListBoxComponent, isStandalone: true, selector: "ns-list-box", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectedKeys: { classPropertyName: "selectedKeys", publicName: "selectedKeys", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedKeys: "selectedKeysChange" }, host: { attributes: { "role": "listbox" }, listeners: { "click": "onClick($event)", "keydown": "onKeydown($event)" }, properties: { "attr.aria-label": "label()", "attr.aria-multiselectable": "selectionMode() === 'multiple'", "attr.tabindex": "0", "class.ns-list-box": "true" } }, queries: [{ propertyName: "options", predicate: NsListBoxOptionComponent, isSignal: true }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host.ns-list-box{display:block;overflow:auto;padding:var(--ns-primitive-space-1);border:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color);border-radius:var(--ns-component-list-box-radius);background:var(--ns-component-list-box-background);color:var(--ns-component-list-box-color)}:host.ns-list-box-option{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-list-box-option-padding-block) var(--ns-component-list-box-option-padding-inline);border-radius:var(--ns-component-list-box-radius)}:host.ns-list-box-option:not(:last-child){border-bottom:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color)}:host.ns-list-box-option:focus-visible{outline:none;box-shadow:var(--ns-component-list-box-option-focus-shadow)}:host.ns-list-box-option:hover:not(.ns-list-box-option--disabled):not(.ns-list-box-option--selected){background:var(--ns-component-list-box-option-background-hover)}:host.ns-list-box-option.ns-list-box-option--selected{background:var(--ns-component-list-box-option-selected-background);color:var(--ns-component-list-box-option-selected-color);font-weight:var(--ns-component-list-box-option-selected-weight)}:host.ns-list-box-option.ns-list-box-option--disabled{cursor:not-allowed;opacity:50%}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4916
|
-
}
|
|
4917
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsListBoxComponent, decorators: [{
|
|
4918
|
-
type: Component,
|
|
4919
|
-
args: [{ selector: 'ns-list-box', standalone: true, template: '<ng-content />', host: {
|
|
4920
|
-
role: 'listbox',
|
|
4921
|
-
'[attr.aria-label]': 'label()',
|
|
4922
|
-
'[attr.aria-multiselectable]': "selectionMode() === 'multiple'",
|
|
4923
|
-
'[attr.tabindex]': '0',
|
|
4924
|
-
'[class.ns-list-box]': 'true'
|
|
4925
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host.ns-list-box{display:block;overflow:auto;padding:var(--ns-primitive-space-1);border:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color);border-radius:var(--ns-component-list-box-radius);background:var(--ns-component-list-box-background);color:var(--ns-component-list-box-color)}:host.ns-list-box-option{display:block;cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s);min-block-size:var(--ns-semantic-common-size-control-md);padding:var(--ns-component-list-box-option-padding-block) var(--ns-component-list-box-option-padding-inline);border-radius:var(--ns-component-list-box-radius)}:host.ns-list-box-option:not(:last-child){border-bottom:var(--ns-component-list-box-border-width) solid var(--ns-component-list-box-border-color)}:host.ns-list-box-option:focus-visible{outline:none;box-shadow:var(--ns-component-list-box-option-focus-shadow)}:host.ns-list-box-option:hover:not(.ns-list-box-option--disabled):not(.ns-list-box-option--selected){background:var(--ns-component-list-box-option-background-hover)}:host.ns-list-box-option.ns-list-box-option--selected{background:var(--ns-component-list-box-option-selected-background);color:var(--ns-component-list-box-option-selected-color);font-weight:var(--ns-component-list-box-option-selected-weight)}:host.ns-list-box-option.ns-list-box-option--disabled{cursor:not-allowed;opacity:50%}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
4926
|
-
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], selectedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedKeys", required: false }] }, { type: i0.Output, args: ["selectedKeysChange"] }], options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NsListBoxOptionComponent), { isSignal: true }] }], onClick: [{
|
|
4927
|
-
type: HostListener,
|
|
4928
|
-
args: ['click', ['$event']]
|
|
4929
|
-
}], onKeydown: [{
|
|
4930
|
-
type: HostListener,
|
|
4931
|
-
args: ['keydown', ['$event']]
|
|
4932
|
-
}] } });
|
|
4933
|
-
|
|
4934
4841
|
class NsMeterComponent {
|
|
4935
4842
|
value = input(0, { ...(ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
4936
4843
|
min = input(0, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
@@ -5704,7 +5611,7 @@ class NsScheduleComponent {
|
|
|
5704
5611
|
this.selected.set(new Date(date.year, date.month - 1, date.day));
|
|
5705
5612
|
}
|
|
5706
5613
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsScheduleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5707
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: NsScheduleComponent, isStandalone: true, selector: "ns-schedule", inputs: { view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selectedDay: { classPropertyName: "selectedDay", publicName: "selectedDay", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { view: "viewChange", selected: "selectedChange", selectedDay: "selectedDayChange", onClick: "onClick" }, host: { properties: { "class.ns-schedule": "true" } }, ngImport: i0, template: "<div class=\"ns-schedule__tools\">\n <ns-button class=\"ns-schedule__today\" (click)=\"goToday()\">Hoy</ns-button>\n\n <ns-date-picker\n [ngModel]=\"selectedDay()\"\n (ngModelChange)=\"selectDate($event)\"\n />\n\n <ns-
|
|
5614
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: NsScheduleComponent, isStandalone: true, selector: "ns-schedule", inputs: { view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selectedDay: { classPropertyName: "selectedDay", publicName: "selectedDay", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { view: "viewChange", selected: "selectedChange", selectedDay: "selectedDayChange", onClick: "onClick" }, host: { properties: { "class.ns-schedule": "true" } }, ngImport: i0, template: "<div class=\"ns-schedule__tools\">\n <ns-button class=\"ns-schedule__today\" (click)=\"goToday()\">Hoy</ns-button>\n\n <ns-date-picker\n [ngModel]=\"selectedDay()\"\n (ngModelChange)=\"selectDate($event)\"\n />\n\n <ns-dropdown\n class=\"ns-schedule__view\"\n [searchable]=\"false\"\n [ngModel]=\"view()\"\n (ngModelChange)=\"view.set($event)\"\n >\n <ns-dropdown-item label=\"Day\" key=\"day\" />\n <ns-dropdown-item label=\"Work week\" key=\"workweek\" />\n <ns-dropdown-item label=\"Week\" key=\"week\" />\n </ns-dropdown>\n</div>\n\n@switch (view()) {\n @case ('day') {\n <ns-schedule-day\n [currentDate]=\"selected()\"\n [schedules]=\"data()\"\n [style.height.px]=\"height()\"\n />\n }\n @case ('week') {\n <ns-schedule-week\n [currentDate]=\"selected()\"\n [schedules]=\"data()\"\n [style.height.px]=\"height()\"\n />\n }\n @default {\n <ns-schedule-workweek\n [currentDate]=\"selected()\"\n [schedules]=\"data()\"\n [style.height.px]=\"height()\"\n />\n }\n}\n", styles: ["@layer properties;:host{display:block;width:100%;overflow:hidden;border-style:var(--tw-border-style);border-width:1px;border-color:var(--ns-component-schedule-border-color);border-radius:var(--ns-component-schedule-border-radius);background:var(--ns-component-schedule-surface);color:var(--ns-component-schedule-color);box-shadow:var(--ns-component-schedule-shadow)}.ns-schedule__tools{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;gap:var(--ns-component-schedule-gap);padding:var(--ns-component-schedule-padding);border-color:var(--ns-component-schedule-divider-color);background:var(--ns-component-schedule-surface-muted)}.ns-schedule__view{grid-column:span 4 / span 4;margin-inline-start:auto}.ns-schedule__header-wrap{position:sticky;top:0;z-index:10;display:grid;background:var(--ns-component-schedule-surface)}.ns-schedule__header{display:flex;flex-direction:column;border-style:var(--tw-border-style);border-width:1px;padding:var(--ns-component-schedule-padding);border-color:var(--ns-component-schedule-border-color);background:var(--ns-component-schedule-surface-muted)}.ns-schedule__header-date{font-size:var(--ns-semantic-common-text-sm);--tw-font-weight: var(--ns-semantic-common-font-weight-semibold);font-weight:var(--ns-semantic-common-font-weight-semibold);color:var(--ns-component-schedule-color)}.ns-schedule__timeline{display:grid}.ns-schedule__timeline-day{position:relative;display:flex;min-height:calc(var(--ns-primitive-space-1) * 24);flex-direction:column;border-style:var(--tw-border-style);border-width:1px;border-top-style:var(--tw-border-style);border-top-width:0px;border-color:var(--ns-component-schedule-border-color);background:var(--ns-component-schedule-surface)}.ns-schedule__timeline-cell{flex:1;border-style:var(--tw-border-style);border-width:0px;background-color:transparent;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s)}.ns-schedule__timeline-cell:hover:not(:disabled){background:var(--ns-component-schedule-surface-muted)}.ns-schedule__selected{background:var(--ns-component-schedule-selected-background);color:var(--ns-component-schedule-primary)}@media(prefers-reduced-motion:reduce){.ns-schedule__timeline-cell{transition:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: NsButtonComponent, selector: "ns-button", inputs: ["type", "variant", "size", "icon", "iconOnly", "ariaLabel", "block", "disabled", "loading", "selected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DayComponent, selector: "ns-schedule-day", inputs: ["schedules", "currentDate"] }, { kind: "component", type: WeekComponent, selector: "ns-schedule-week", inputs: ["schedules", "currentDate"] }, { kind: "component", type: NsWorkweekComponent, selector: "ns-schedule-workweek", inputs: ["schedules", "currentDate"] }, { kind: "component", type: NsDatePickerComponent, selector: "ns-date-picker", inputs: ["minDate", "maxDate", "unavailableDates", "firstDayOfWeek"] }, { kind: "component", type: NsDropdownComponent, selector: "ns-dropdown", inputs: ["collection", "selectionMode", "loading", "searchable", "searchPlaceholder", "emptyText", "placement", "open"], outputs: ["openChange", "opened", "closed"] }, { kind: "directive", type: NsDropdownItemDirective, selector: "ns-dropdown-item", inputs: ["key", "label", "disabled"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
5708
5615
|
}
|
|
5709
5616
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsScheduleComponent, decorators: [{
|
|
5710
5617
|
type: Component,
|
|
@@ -5715,11 +5622,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImpo
|
|
|
5715
5622
|
WeekComponent,
|
|
5716
5623
|
NsWorkweekComponent,
|
|
5717
5624
|
NsDatePickerComponent,
|
|
5718
|
-
|
|
5719
|
-
|
|
5625
|
+
NsDropdownComponent,
|
|
5626
|
+
NsDropdownItemDirective
|
|
5720
5627
|
], encapsulation: ViewEncapsulation.None, host: {
|
|
5721
5628
|
'[class.ns-schedule]': 'true'
|
|
5722
|
-
}, template: "<div class=\"ns-schedule__tools\">\n <ns-button class=\"ns-schedule__today\" (click)=\"goToday()\">Hoy</ns-button>\n\n <ns-date-picker\n [ngModel]=\"selectedDay()\"\n (ngModelChange)=\"selectDate($event)\"\n />\n\n <ns-
|
|
5629
|
+
}, template: "<div class=\"ns-schedule__tools\">\n <ns-button class=\"ns-schedule__today\" (click)=\"goToday()\">Hoy</ns-button>\n\n <ns-date-picker\n [ngModel]=\"selectedDay()\"\n (ngModelChange)=\"selectDate($event)\"\n />\n\n <ns-dropdown\n class=\"ns-schedule__view\"\n [searchable]=\"false\"\n [ngModel]=\"view()\"\n (ngModelChange)=\"view.set($event)\"\n >\n <ns-dropdown-item label=\"Day\" key=\"day\" />\n <ns-dropdown-item label=\"Work week\" key=\"workweek\" />\n <ns-dropdown-item label=\"Week\" key=\"week\" />\n </ns-dropdown>\n</div>\n\n@switch (view()) {\n @case ('day') {\n <ns-schedule-day\n [currentDate]=\"selected()\"\n [schedules]=\"data()\"\n [style.height.px]=\"height()\"\n />\n }\n @case ('week') {\n <ns-schedule-week\n [currentDate]=\"selected()\"\n [schedules]=\"data()\"\n [style.height.px]=\"height()\"\n />\n }\n @default {\n <ns-schedule-workweek\n [currentDate]=\"selected()\"\n [schedules]=\"data()\"\n [style.height.px]=\"height()\"\n />\n }\n}\n", styles: ["@layer properties;:host{display:block;width:100%;overflow:hidden;border-style:var(--tw-border-style);border-width:1px;border-color:var(--ns-component-schedule-border-color);border-radius:var(--ns-component-schedule-border-radius);background:var(--ns-component-schedule-surface);color:var(--ns-component-schedule-color);box-shadow:var(--ns-component-schedule-shadow)}.ns-schedule__tools{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;gap:var(--ns-component-schedule-gap);padding:var(--ns-component-schedule-padding);border-color:var(--ns-component-schedule-divider-color);background:var(--ns-component-schedule-surface-muted)}.ns-schedule__view{grid-column:span 4 / span 4;margin-inline-start:auto}.ns-schedule__header-wrap{position:sticky;top:0;z-index:10;display:grid;background:var(--ns-component-schedule-surface)}.ns-schedule__header{display:flex;flex-direction:column;border-style:var(--tw-border-style);border-width:1px;padding:var(--ns-component-schedule-padding);border-color:var(--ns-component-schedule-border-color);background:var(--ns-component-schedule-surface-muted)}.ns-schedule__header-date{font-size:var(--ns-semantic-common-text-sm);--tw-font-weight: var(--ns-semantic-common-font-weight-semibold);font-weight:var(--ns-semantic-common-font-weight-semibold);color:var(--ns-component-schedule-color)}.ns-schedule__timeline{display:grid}.ns-schedule__timeline-day{position:relative;display:flex;min-height:calc(var(--ns-primitive-space-1) * 24);flex-direction:column;border-style:var(--tw-border-style);border-width:1px;border-top-style:var(--tw-border-style);border-top-width:0px;border-color:var(--ns-component-schedule-border-color);background:var(--ns-component-schedule-surface)}.ns-schedule__timeline-cell{flex:1;border-style:var(--tw-border-style);border-width:0px;background-color:transparent;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s)}.ns-schedule__timeline-cell:hover:not(:disabled){background:var(--ns-component-schedule-surface-muted)}.ns-schedule__selected{background:var(--ns-component-schedule-selected-background);color:var(--ns-component-schedule-primary)}@media(prefers-reduced-motion:reduce){.ns-schedule__timeline-cell{transition:none}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
5723
5630
|
}], propDecorators: { view: [{ type: i0.Input, args: [{ isSignal: true, alias: "view", required: false }] }, { type: i0.Output, args: ["viewChange"] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], selectedDay: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedDay", required: false }] }, { type: i0.Output, args: ["selectedDayChange"] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }] } });
|
|
5724
5631
|
|
|
5725
5632
|
class NsSchemaMarkupComponent {
|
|
@@ -5746,24 +5653,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImpo
|
|
|
5746
5653
|
args: ['innerHTML']
|
|
5747
5654
|
}] } });
|
|
5748
5655
|
|
|
5749
|
-
class NsSkeletonComponent {
|
|
5750
|
-
width = input('100%', ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
|
|
5751
|
-
height = input('1rem', ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
|
|
5752
|
-
animated = input(true, { ...(ngDevMode ? { debugName: "animated" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
5753
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5754
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.21", type: NsSkeletonComponent, isStandalone: true, selector: "ns-skeleton", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, animated: { classPropertyName: "animated", publicName: "animated", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-hidden": "true" }, properties: { "class.ns-skeleton": "true", "class.ns-skeleton--animated": "animated()", "style.inline-size": "width()", "style.block-size": "height()" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;overflow:hidden;border-radius:var(--ns-component-skeleton-radius);background:var(--ns-component-skeleton-background)}:host(.ns-skeleton--animated){background:linear-gradient(90deg,var(--ns-component-skeleton-background) 25%,var(--ns-component-skeleton-highlight) 50%,var(--ns-component-skeleton-background) 75%);background-size:200% 100%;animation:ns-skeleton-shimmer var(--ns-component-skeleton-duration) linear infinite}@keyframes ns-skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){:host(.ns-skeleton--animated){animation:none}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5755
|
-
}
|
|
5756
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NsSkeletonComponent, decorators: [{
|
|
5757
|
-
type: Component,
|
|
5758
|
-
args: [{ selector: 'ns-skeleton', standalone: true, template: '', host: {
|
|
5759
|
-
'aria-hidden': 'true',
|
|
5760
|
-
'[class.ns-skeleton]': 'true',
|
|
5761
|
-
'[class.ns-skeleton--animated]': 'animated()',
|
|
5762
|
-
'[style.inline-size]': 'width()',
|
|
5763
|
-
'[style.block-size]': 'height()'
|
|
5764
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;overflow:hidden;border-radius:var(--ns-component-skeleton-radius);background:var(--ns-component-skeleton-background)}:host(.ns-skeleton--animated){background:linear-gradient(90deg,var(--ns-component-skeleton-background) 25%,var(--ns-component-skeleton-highlight) 50%,var(--ns-component-skeleton-background) 75%);background-size:200% 100%;animation:ns-skeleton-shimmer var(--ns-component-skeleton-duration) linear infinite}@keyframes ns-skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){:host(.ns-skeleton--animated){animation:none}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
5765
|
-
}], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], animated: [{ type: i0.Input, args: [{ isSignal: true, alias: "animated", required: false }] }] } });
|
|
5766
|
-
|
|
5767
5656
|
class TemplateDirective {
|
|
5768
5657
|
name = input(undefined, { ...(ngDevMode ? { debugName: "name" } : /* istanbul ignore next */ {}), alias: 'nsTemplate' });
|
|
5769
5658
|
styleClass = input(undefined, ...(ngDevMode ? [{ debugName: "styleClass" }] : /* istanbul ignore next */ []));
|
|
@@ -5966,7 +5855,7 @@ const Arvisfy = {
|
|
|
5966
5855
|
modalXl: '71.25rem',
|
|
5967
5856
|
modalViewportInset: '2rem',
|
|
5968
5857
|
popover: '12rem',
|
|
5969
|
-
|
|
5858
|
+
dropdownMenu: '15rem',
|
|
5970
5859
|
tooltip: '20rem',
|
|
5971
5860
|
toastMaxWidth: '25rem',
|
|
5972
5861
|
toastMinHeight: '3.5rem'
|
|
@@ -6073,7 +5962,7 @@ const Arvisfy = {
|
|
|
6073
5962
|
modalXl: '{primitive.size.modalXl}',
|
|
6074
5963
|
modalViewportInset: '{primitive.size.modalViewportInset}',
|
|
6075
5964
|
popover: '{primitive.size.popover}',
|
|
6076
|
-
|
|
5965
|
+
dropdownMenu: '{primitive.size.dropdownMenu}',
|
|
6077
5966
|
tooltip: '{primitive.size.tooltip}',
|
|
6078
5967
|
toastMaxWidth: '{primitive.size.toastMaxWidth}',
|
|
6079
5968
|
toastMinHeight: '{primitive.size.toastMinHeight}'
|
|
@@ -6633,7 +6522,8 @@ const Arvisfy = {
|
|
|
6633
6522
|
trackHeight: '{semantic.size.switchTrackHeight}',
|
|
6634
6523
|
thumbSize: '{semantic.size.switchThumbSize}',
|
|
6635
6524
|
thumbInset: '{semantic.size.switchThumbInset}',
|
|
6636
|
-
thumbTranslate: '{semantic.size.switchThumbTranslate}'
|
|
6525
|
+
thumbTranslate: '{semantic.size.switchThumbTranslate}',
|
|
6526
|
+
thumbBorderOffset: '{semantic.border.thin}'
|
|
6637
6527
|
},
|
|
6638
6528
|
textarea: {
|
|
6639
6529
|
labelColor: '{semantic.color.text}',
|
|
@@ -6907,13 +6797,7 @@ const Arvisfy = {
|
|
|
6907
6797
|
valueTransitionDuration: '{semantic.motion.normal}',
|
|
6908
6798
|
backgroundTransitionDuration: '{semantic.motion.fast}'
|
|
6909
6799
|
},
|
|
6910
|
-
|
|
6911
|
-
menuMaxHeight: '{semantic.size.selectorListMenu}',
|
|
6912
|
-
menuBackground: '{semantic.color.surface}',
|
|
6913
|
-
menuColor: '{semantic.color.text}',
|
|
6914
|
-
itemPaddingBlock: '{semantic.space.sm}',
|
|
6915
|
-
itemPaddingInline: '{semantic.space.md}',
|
|
6916
|
-
itemActiveBackground: '{semantic.color.surfaceMuted}',
|
|
6800
|
+
dropdown: {
|
|
6917
6801
|
labelGap: '{semantic.space.sm}',
|
|
6918
6802
|
labelColor: '{semantic.color.text}',
|
|
6919
6803
|
labelSize: '{semantic.text.sm}',
|
|
@@ -6921,23 +6805,58 @@ const Arvisfy = {
|
|
|
6921
6805
|
triggerMinHeight: '{semantic.size.controlMd}',
|
|
6922
6806
|
triggerPaddingBlock: '{semantic.space.sm}',
|
|
6923
6807
|
triggerPaddingInline: '{semantic.space.md}',
|
|
6808
|
+
triggerGap: '{semantic.space.sm}',
|
|
6809
|
+
triggerBorderWidth: '{semantic.border.thin}',
|
|
6924
6810
|
triggerBorderColor: '{semantic.color.border}',
|
|
6925
6811
|
triggerBorderHoverColor: '{semantic.color.borderStrong}',
|
|
6926
6812
|
triggerBorderFocusColor: '{semantic.color.focus}',
|
|
6927
6813
|
triggerRadius: '{semantic.radius.control}',
|
|
6928
6814
|
triggerBackground: '{semantic.color.surface}',
|
|
6929
6815
|
triggerColor: '{semantic.color.text}',
|
|
6816
|
+
triggerPlaceholderColor: '{semantic.color.textMuted}',
|
|
6930
6817
|
triggerFocusShadow: '{semantic.shadow.focus}',
|
|
6931
|
-
|
|
6818
|
+
triggerDisabledBackground: '{semantic.color.surfaceMuted}',
|
|
6819
|
+
triggerDisabledColor: '{semantic.color.textMuted}',
|
|
6820
|
+
triggerInvalidBorderColor: '{semantic.status.danger}',
|
|
6821
|
+
triggerIconColor: '{semantic.color.textMuted}',
|
|
6932
6822
|
triggerDuration: '{semantic.motion.normal}',
|
|
6933
6823
|
triggerEasing: '{semantic.motion.easing}',
|
|
6824
|
+
menuMaxHeight: '{semantic.size.dropdownMenu}',
|
|
6825
|
+
menuPadding: '{semantic.space.md}',
|
|
6826
|
+
menuGap: '{semantic.space.sm}',
|
|
6934
6827
|
menuBorderWidth: '{semantic.border.thin}',
|
|
6935
6828
|
menuBorderColor: '{semantic.color.border}',
|
|
6936
6829
|
menuRadius: '{semantic.radius.overlay}',
|
|
6830
|
+
menuBackground: '{semantic.color.surface}',
|
|
6831
|
+
menuColor: '{semantic.color.text}',
|
|
6937
6832
|
menuShadow: '{semantic.shadow.overlay}',
|
|
6938
|
-
|
|
6939
|
-
|
|
6940
|
-
|
|
6833
|
+
menuEnterDuration: '{semantic.motion.enter}',
|
|
6834
|
+
menuEnterEasing: '{semantic.motion.easing}',
|
|
6835
|
+
searchMinHeight: '{semantic.size.controlMd}',
|
|
6836
|
+
searchPaddingBlock: '{semantic.space.sm}',
|
|
6837
|
+
searchPaddingInline: '{semantic.space.md}',
|
|
6838
|
+
searchBorderWidth: '{semantic.border.thin}',
|
|
6839
|
+
searchBorderColor: '{semantic.color.border}',
|
|
6840
|
+
searchBorderFocusColor: '{semantic.color.focus}',
|
|
6841
|
+
searchRadius: '{semantic.radius.control}',
|
|
6842
|
+
searchBackground: '{semantic.color.surface}',
|
|
6843
|
+
searchColor: '{semantic.color.text}',
|
|
6844
|
+
searchPlaceholderColor: '{semantic.color.textMuted}',
|
|
6845
|
+
searchIconColor: '{semantic.color.textMuted}',
|
|
6846
|
+
searchFocusShadow: '{semantic.shadow.focus}',
|
|
6847
|
+
optionPaddingBlock: '{semantic.space.sm}',
|
|
6848
|
+
optionPaddingInline: '{semantic.space.md}',
|
|
6849
|
+
optionRadius: '{semantic.radius.control}',
|
|
6850
|
+
optionBackgroundHover: '{semantic.color.surfaceMuted}',
|
|
6851
|
+
optionActiveBackground: '{semantic.color.surfaceMuted}',
|
|
6852
|
+
optionSelectedBackground: '{semantic.color.surfaceMuted}',
|
|
6853
|
+
optionSelectedColor: '{semantic.color.primary}',
|
|
6854
|
+
optionSelectedWeight: '{semantic.fontWeight.semibold}',
|
|
6855
|
+
emptyPadding: '{semantic.space.md}',
|
|
6856
|
+
emptyColor: '{semantic.color.textMuted}',
|
|
6857
|
+
emptySize: '{semantic.text.sm}',
|
|
6858
|
+
descriptionColor: '{semantic.color.textMuted}',
|
|
6859
|
+
errorColor: '{semantic.status.danger}'
|
|
6941
6860
|
},
|
|
6942
6861
|
skeleton: {
|
|
6943
6862
|
background: '{semantic.color.surfaceMuted}',
|
|
@@ -6983,20 +6902,6 @@ const Arvisfy = {
|
|
|
6983
6902
|
closeBackgroundHover: '{semantic.color.surfaceMuted}',
|
|
6984
6903
|
closeFocusShadow: '{semantic.shadow.focus}'
|
|
6985
6904
|
},
|
|
6986
|
-
listBox: {
|
|
6987
|
-
borderWidth: '{semantic.border.thin}',
|
|
6988
|
-
borderColor: '{semantic.color.border}',
|
|
6989
|
-
radius: '{semantic.radius.surface}',
|
|
6990
|
-
background: '{semantic.color.surface}',
|
|
6991
|
-
color: '{semantic.color.text}',
|
|
6992
|
-
optionPaddingBlock: '{semantic.space.sm}',
|
|
6993
|
-
optionPaddingInline: '{semantic.space.md}',
|
|
6994
|
-
optionFocusShadow: '{semantic.shadow.focus}',
|
|
6995
|
-
optionBackgroundHover: '{semantic.color.surfaceMuted}',
|
|
6996
|
-
optionSelectedBackground: '{semantic.color.surfaceMuted}',
|
|
6997
|
-
optionSelectedColor: '{semantic.color.primary}',
|
|
6998
|
-
optionSelectedWeight: '{semantic.fontWeight.semibold}'
|
|
6999
|
-
},
|
|
7000
6905
|
pagination: {
|
|
7001
6906
|
gap: '{semantic.space.sm}',
|
|
7002
6907
|
minWidth: '{semantic.size.buttonMin}',
|
|
@@ -8045,5 +7950,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImpo
|
|
|
8045
7950
|
* Generated bundle index. Do not edit.
|
|
8046
7951
|
*/
|
|
8047
7952
|
|
|
8048
|
-
export { Arvisfy, NS_THEME_OPTIONS, NS_TOAST_OPTIONS, NsAccordionComponent, NsAccordionItemComponent, NsAlertComponent, NsAvatarComponent, NsBadgeComponent, NsBreadcrumbItemComponent, NsBreadcrumbsComponent, NsButtonComponent, NsButtonGroupComponent, NsCardBodyComponent, NsCardComponent, NsCardFooterComponent, NsCardHeaderComponent, NsCheckboxComponent, NsChipComponent, NsCollectionController, NsCommentComponent, NsContentEditableComponent, NsDatePickerComponent, NsDateRangePickerComponent, NsDescriptionComponent, NsDividerComponent, NsDrawerComponent, NsDrawerRef, NsDrawerService, NsEditorColorPickerComponent, NsEditorComponent, NsEditorLinkComponent, NsEditorListComponent, NsEditorParagraphComponent, NsEditorToggleCommandComponent, NsFieldContext, NsFieldDirective, NsImageUploadComponent, NsInputCodeComponent, NsInputComponent, NsInputGroupAddonComponent, NsInputGroupComponent, NsInputNumberComponent, NsInputSearchComponent, NsLinkComponent,
|
|
7953
|
+
export { Arvisfy, NS_THEME_OPTIONS, NS_TOAST_OPTIONS, NsAccordionComponent, NsAccordionItemComponent, NsAlertComponent, NsAvatarComponent, NsBadgeComponent, NsBreadcrumbItemComponent, NsBreadcrumbsComponent, NsButtonComponent, NsButtonGroupComponent, NsCardBodyComponent, NsCardComponent, NsCardFooterComponent, NsCardHeaderComponent, NsCheckboxComponent, NsChipComponent, NsCollectionController, NsCommentComponent, NsContentEditableComponent, NsDatePickerComponent, NsDateRangePickerComponent, NsDescriptionComponent, NsDividerComponent, NsDrawerComponent, NsDrawerRef, NsDrawerService, NsDropdownComponent, NsDropdownItemDirective, NsEditorColorPickerComponent, NsEditorComponent, NsEditorLinkComponent, NsEditorListComponent, NsEditorParagraphComponent, NsEditorToggleCommandComponent, NsFieldContext, NsFieldDirective, NsImageUploadComponent, NsInputCodeComponent, NsInputComponent, NsInputGroupAddonComponent, NsInputGroupComponent, NsInputNumberComponent, NsInputSearchComponent, NsLinkComponent, NsMeterComponent, NsModalComponent, NsModalRef, NsModalService, NsOverlayRef, NsOverlayService, NsPaginationComponent, NsPasswordComponent, NsPopoverComponent, NsProgressBarComponent, NsRadioComponent, NsRadioGroupComponent, NsSchedule, NsScheduleComponent, NsScheduleService, NsSchemaMarkupComponent, NsSkeletonComponent, NsSliderComponent, NsSurfaceComponent, NsSwitchComponent, NsTabComponent, NsTabsComponent, NsTagComponent, NsTagGroupComponent, NsTextAreaComponent, NsThemeService, NsToastComponent, NsToastHandle, NsToastService, NsTooltipComponent, NsTooltipDirective, NsValueAccessor, TemplateDirective, defineNsPreset, flattenTokens, getNsOverlayPosition, provideNsTheme, referenceToCssVariable, tokenPathToCssVariable, validateNsPreset };
|
|
8049
7954
|
//# sourceMappingURL=ng-solid-design-system.mjs.map
|