@eduboxpro/studio 0.1.40 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/eduboxpro-studio.mjs +184 -1
- package/fesm2022/eduboxpro-studio.mjs.map +1 -1
- package/index.d.ts +74 -2
- package/package.json +1 -1
|
@@ -5702,6 +5702,189 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
5702
5702
|
* Switch component
|
|
5703
5703
|
*/
|
|
5704
5704
|
|
|
5705
|
+
/**
|
|
5706
|
+
* Tags Input component with form control support
|
|
5707
|
+
*
|
|
5708
|
+
* @example
|
|
5709
|
+
* <studio-tags-input [(ngModel)]="tags" label="Tags" />
|
|
5710
|
+
* <studio-tags-input [formControl]="tagsControl" placeholder="Add tags..." />
|
|
5711
|
+
*/
|
|
5712
|
+
class TagsInputComponent {
|
|
5713
|
+
configService = inject(StudioConfigService);
|
|
5714
|
+
tagsInputDefaults = computed(() => this.configService.config().components?.tagsInput, ...(ngDevMode ? [{ debugName: "tagsInputDefaults" }] : []));
|
|
5715
|
+
inputRef = viewChild('inputElement', ...(ngDevMode ? [{ debugName: "inputRef" }] : []));
|
|
5716
|
+
sizeInput = input(undefined, ...(ngDevMode ? [{ debugName: "sizeInput", alias: 'size' }] : [{ alias: 'size' }]));
|
|
5717
|
+
variantInput = input(undefined, ...(ngDevMode ? [{ debugName: "variantInput", alias: 'variant' }] : [{ alias: 'variant' }]));
|
|
5718
|
+
size = withConfigDefault(this.sizeInput, computed(() => this.tagsInputDefaults()?.size), 'md');
|
|
5719
|
+
variant = withConfigDefault(this.variantInput, computed(() => this.tagsInputDefaults()?.variant), 'outline');
|
|
5720
|
+
label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
|
|
5721
|
+
placeholder = input('Добавьте теги...', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
5722
|
+
hint = input(...(ngDevMode ? [undefined, { debugName: "hint" }] : []));
|
|
5723
|
+
tagPrefix = input('#', ...(ngDevMode ? [{ debugName: "tagPrefix" }] : []));
|
|
5724
|
+
tagColor = input('primary', ...(ngDevMode ? [{ debugName: "tagColor" }] : []));
|
|
5725
|
+
maxTags = input(...(ngDevMode ? [undefined, { debugName: "maxTags" }] : []));
|
|
5726
|
+
minLength = input(1, ...(ngDevMode ? [{ debugName: "minLength" }] : []));
|
|
5727
|
+
maxLength = input(50, ...(ngDevMode ? [{ debugName: "maxLength" }] : []));
|
|
5728
|
+
allowDuplicates = input(false, ...(ngDevMode ? [{ debugName: "allowDuplicates" }] : []));
|
|
5729
|
+
separators = input([',', 'Enter'], ...(ngDevMode ? [{ debugName: "separators" }] : []));
|
|
5730
|
+
transform = input('none', ...(ngDevMode ? [{ debugName: "transform" }] : []));
|
|
5731
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
5732
|
+
required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : []));
|
|
5733
|
+
error = input(false, ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
5734
|
+
errorMessage = input(...(ngDevMode ? [undefined, { debugName: "errorMessage" }] : []));
|
|
5735
|
+
fullWidth = input(false, ...(ngDevMode ? [{ debugName: "fullWidth" }] : []));
|
|
5736
|
+
tagsChange = output();
|
|
5737
|
+
tagAdded = output();
|
|
5738
|
+
tagRemoved = output();
|
|
5739
|
+
tags = signal([], ...(ngDevMode ? [{ debugName: "tags" }] : []));
|
|
5740
|
+
inputValue = signal('', ...(ngDevMode ? [{ debugName: "inputValue" }] : []));
|
|
5741
|
+
isFocused = signal(false, ...(ngDevMode ? [{ debugName: "isFocused" }] : []));
|
|
5742
|
+
inputId = `studio-tags-input-${Math.random().toString(36).substr(2, 9)}`;
|
|
5743
|
+
onChange = () => { };
|
|
5744
|
+
onTouched = () => { };
|
|
5745
|
+
badgeSize = computed(() => {
|
|
5746
|
+
const size = this.size();
|
|
5747
|
+
if (size === 'lg')
|
|
5748
|
+
return 'md';
|
|
5749
|
+
return 'sm';
|
|
5750
|
+
}, ...(ngDevMode ? [{ debugName: "badgeSize" }] : []));
|
|
5751
|
+
hostClasses = computed(() => classNames('studio-tags-input', `studio-tags-input--${this.size()}`, `studio-tags-input--${this.variant()}`, this.fullWidth() && 'studio-tags-input--full-width', this.disabled() && 'studio-tags-input--disabled', this.error() && 'studio-tags-input--error'), ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
|
|
5752
|
+
focusInput() {
|
|
5753
|
+
this.inputRef()?.nativeElement.focus();
|
|
5754
|
+
}
|
|
5755
|
+
onInput(event) {
|
|
5756
|
+
const value = event.target.value;
|
|
5757
|
+
const separators = this.separators().filter(s => s !== 'Enter');
|
|
5758
|
+
for (const sep of separators) {
|
|
5759
|
+
if (value.includes(sep)) {
|
|
5760
|
+
const parts = value.split(sep);
|
|
5761
|
+
const tagToAdd = parts[0].trim();
|
|
5762
|
+
if (tagToAdd) {
|
|
5763
|
+
this.addTag(tagToAdd);
|
|
5764
|
+
}
|
|
5765
|
+
this.inputValue.set(parts.slice(1).join(sep));
|
|
5766
|
+
return;
|
|
5767
|
+
}
|
|
5768
|
+
}
|
|
5769
|
+
this.inputValue.set(value);
|
|
5770
|
+
}
|
|
5771
|
+
onKeydown(event) {
|
|
5772
|
+
if (event.key === 'Enter' && this.separators().includes('Enter')) {
|
|
5773
|
+
event.preventDefault();
|
|
5774
|
+
const value = this.inputValue().trim();
|
|
5775
|
+
if (value) {
|
|
5776
|
+
this.addTag(value);
|
|
5777
|
+
this.inputValue.set('');
|
|
5778
|
+
}
|
|
5779
|
+
}
|
|
5780
|
+
else if (event.key === 'Backspace' && !this.inputValue()) {
|
|
5781
|
+
const currentTags = this.tags();
|
|
5782
|
+
if (currentTags.length > 0) {
|
|
5783
|
+
const removed = currentTags[currentTags.length - 1];
|
|
5784
|
+
this.removeTag(removed);
|
|
5785
|
+
}
|
|
5786
|
+
}
|
|
5787
|
+
}
|
|
5788
|
+
onPaste(event) {
|
|
5789
|
+
const pastedText = event.clipboardData?.getData('text');
|
|
5790
|
+
if (!pastedText)
|
|
5791
|
+
return;
|
|
5792
|
+
const separators = this.separators().filter(s => s !== 'Enter');
|
|
5793
|
+
let hasSeparator = false;
|
|
5794
|
+
for (const sep of separators) {
|
|
5795
|
+
if (pastedText.includes(sep)) {
|
|
5796
|
+
hasSeparator = true;
|
|
5797
|
+
event.preventDefault();
|
|
5798
|
+
const parts = pastedText.split(sep);
|
|
5799
|
+
parts.forEach(part => {
|
|
5800
|
+
const tag = part.trim();
|
|
5801
|
+
if (tag) {
|
|
5802
|
+
this.addTag(tag);
|
|
5803
|
+
}
|
|
5804
|
+
});
|
|
5805
|
+
break;
|
|
5806
|
+
}
|
|
5807
|
+
}
|
|
5808
|
+
}
|
|
5809
|
+
onFocus() {
|
|
5810
|
+
this.isFocused.set(true);
|
|
5811
|
+
}
|
|
5812
|
+
onBlur() {
|
|
5813
|
+
this.isFocused.set(false);
|
|
5814
|
+
this.onTouched();
|
|
5815
|
+
const value = this.inputValue().trim();
|
|
5816
|
+
if (value) {
|
|
5817
|
+
this.addTag(value);
|
|
5818
|
+
this.inputValue.set('');
|
|
5819
|
+
}
|
|
5820
|
+
}
|
|
5821
|
+
addTag(tag) {
|
|
5822
|
+
let processedTag = tag.replace(/^#/, '').trim();
|
|
5823
|
+
if (processedTag.length < this.minLength() || processedTag.length > this.maxLength()) {
|
|
5824
|
+
return;
|
|
5825
|
+
}
|
|
5826
|
+
const transform = this.transform();
|
|
5827
|
+
if (transform === 'lowercase') {
|
|
5828
|
+
processedTag = processedTag.toLowerCase();
|
|
5829
|
+
}
|
|
5830
|
+
else if (transform === 'uppercase') {
|
|
5831
|
+
processedTag = processedTag.toUpperCase();
|
|
5832
|
+
}
|
|
5833
|
+
const currentTags = this.tags();
|
|
5834
|
+
if (!this.allowDuplicates() && currentTags.includes(processedTag)) {
|
|
5835
|
+
return;
|
|
5836
|
+
}
|
|
5837
|
+
const max = this.maxTags();
|
|
5838
|
+
if (max && currentTags.length >= max) {
|
|
5839
|
+
return;
|
|
5840
|
+
}
|
|
5841
|
+
const newTags = [...currentTags, processedTag];
|
|
5842
|
+
this.tags.set(newTags);
|
|
5843
|
+
this.onChange(newTags);
|
|
5844
|
+
this.tagsChange.emit(newTags);
|
|
5845
|
+
this.tagAdded.emit(processedTag);
|
|
5846
|
+
}
|
|
5847
|
+
removeTag(tag) {
|
|
5848
|
+
if (this.disabled())
|
|
5849
|
+
return;
|
|
5850
|
+
const newTags = this.tags().filter(t => t !== tag);
|
|
5851
|
+
this.tags.set(newTags);
|
|
5852
|
+
this.onChange(newTags);
|
|
5853
|
+
this.tagsChange.emit(newTags);
|
|
5854
|
+
this.tagRemoved.emit(tag);
|
|
5855
|
+
}
|
|
5856
|
+
writeValue(value) {
|
|
5857
|
+
this.tags.set(value || []);
|
|
5858
|
+
}
|
|
5859
|
+
registerOnChange(fn) {
|
|
5860
|
+
this.onChange = fn;
|
|
5861
|
+
}
|
|
5862
|
+
registerOnTouched(fn) {
|
|
5863
|
+
this.onTouched = fn;
|
|
5864
|
+
}
|
|
5865
|
+
setDisabledState(isDisabled) { }
|
|
5866
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TagsInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5867
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: TagsInputComponent, isStandalone: true, selector: "studio-tags-input", inputs: { sizeInput: { classPropertyName: "sizeInput", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variantInput: { classPropertyName: "variantInput", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, tagPrefix: { classPropertyName: "tagPrefix", publicName: "tagPrefix", isSignal: true, isRequired: false, transformFunction: null }, tagColor: { classPropertyName: "tagColor", publicName: "tagColor", isSignal: true, isRequired: false, transformFunction: null }, maxTags: { classPropertyName: "maxTags", publicName: "maxTags", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, allowDuplicates: { classPropertyName: "allowDuplicates", publicName: "allowDuplicates", isSignal: true, isRequired: false, transformFunction: null }, separators: { classPropertyName: "separators", publicName: "separators", isSignal: true, isRequired: false, transformFunction: null }, transform: { classPropertyName: "transform", publicName: "transform", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagsChange: "tagsChange", tagAdded: "tagAdded", tagRemoved: "tagRemoved" }, host: { properties: { "class": "hostClasses()" } }, providers: [
|
|
5868
|
+
{
|
|
5869
|
+
provide: NG_VALUE_ACCESSOR,
|
|
5870
|
+
useExisting: forwardRef(() => TagsInputComponent),
|
|
5871
|
+
multi: true,
|
|
5872
|
+
},
|
|
5873
|
+
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"studio-tags-input__wrapper\">\n @if (label()) {\n <label class=\"studio-tags-input__label\" [for]=\"inputId\">\n {{ label() }}\n @if (required()) {\n <span class=\"studio-tags-input__required\">*</span>\n }\n </label>\n }\n\n <div\n class=\"studio-tags-input__container\"\n [class.studio-tags-input__container--focused]=\"isFocused()\"\n [class.studio-tags-input__container--disabled]=\"disabled()\"\n [class.studio-tags-input__container--error]=\"error()\"\n (click)=\"focusInput()\"\n >\n @for (tag of tags(); track tag) {\n <studio-badge\n variant=\"soft\"\n [color]=\"tagColor()\"\n [size]=\"badgeSize()\"\n [removable]=\"!disabled()\"\n (removed)=\"removeTag(tag)\"\n >\n @if (tagPrefix()) {\n {{ tagPrefix() }}\n }\n {{ tag }}\n </studio-badge>\n }\n\n <input\n #inputElement\n [id]=\"inputId\"\n type=\"text\"\n class=\"studio-tags-input__input\"\n [placeholder]=\"tags().length === 0 ? placeholder() : ''\"\n [disabled]=\"disabled()\"\n [value]=\"inputValue()\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeydown($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (paste)=\"onPaste($event)\"\n />\n </div>\n\n @if (hint() && !error()) {\n <p class=\"studio-tags-input__hint\">{{ hint() }}</p>\n }\n\n @if (error() && errorMessage()) {\n <p class=\"studio-tags-input__error\">{{ errorMessage() }}</p>\n }\n</div>\n", styles: [":host{display:inline-block}.studio-tags-input--full-width{display:block;width:100%}.studio-tags-input--full-width .studio-tags-input__container{width:100%}.studio-tags-input__wrapper{display:flex;flex-direction:column;gap:.25rem}.studio-tags-input__label{display:block;font-size:.875rem;font-weight:500;color:var(--studio-text-primary, #374151);margin-bottom:.25rem}:host-context(.dark) .studio-tags-input__label{color:var(--studio-text-primary-dark, #d1d5db)}.studio-tags-input__required{color:var(--studio-color-error, #ef4444);margin-left:.125rem}.studio-tags-input__container{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding:.5rem .75rem;min-height:2.5rem;border:1px solid var(--studio-border-color, #d1d5db);border-radius:var(--studio-radius-md, .5rem);background:var(--studio-bg-primary, #ffffff);cursor:text;transition:all .15s ease}:host-context(.dark) .studio-tags-input__container{background:var(--studio-bg-primary-dark, #1f2937);border-color:var(--studio-border-color-dark, #4b5563)}.studio-tags-input__container--focused{border-color:var(--studio-color-primary, #3b82f6);box-shadow:0 0 0 2px var(--studio-color-primary-alpha, rgba(59, 130, 246, .2))}.studio-tags-input__container--disabled{opacity:.6;cursor:not-allowed;background:var(--studio-bg-disabled, #f3f4f6)}:host-context(.dark) .studio-tags-input__container--disabled{background:var(--studio-bg-disabled-dark, #374151)}.studio-tags-input__container--error{border-color:var(--studio-color-error, #ef4444)}.studio-tags-input__container--error.studio-tags-input__container--focused{box-shadow:0 0 0 2px var(--studio-color-error-alpha, rgba(239, 68, 68, .2))}.studio-tags-input__input{flex:1;min-width:120px;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--studio-text-primary, #111827);padding:0}:host-context(.dark) .studio-tags-input__input{color:var(--studio-text-primary-dark, #f9fafb)}.studio-tags-input__input::placeholder{color:var(--studio-text-muted, #9ca3af)}.studio-tags-input__input:disabled{cursor:not-allowed}.studio-tags-input__hint{font-size:.75rem;color:var(--studio-text-muted, #6b7280);margin:0}.studio-tags-input__error{font-size:.75rem;color:var(--studio-color-error, #ef4444);margin:0}:host(.studio-tags-input--sm) .studio-tags-input__container{min-height:2rem;padding:.25rem .5rem;gap:.25rem}:host(.studio-tags-input--sm) .studio-tags-input__input{font-size:.75rem}:host(.studio-tags-input--sm) .studio-tags-input__label{font-size:.75rem}:host(.studio-tags-input--lg) .studio-tags-input__container{min-height:3rem;padding:.625rem 1rem;gap:.5rem}:host(.studio-tags-input--lg) .studio-tags-input__input{font-size:1rem}:host(.studio-tags-input--lg) .studio-tags-input__label{font-size:1rem}:host(.studio-tags-input--filled) .studio-tags-input__container{background:var(--studio-bg-secondary, #f3f4f6);border-color:transparent}:host-context(.dark) :host(.studio-tags-input--filled) .studio-tags-input__container{background:var(--studio-bg-secondary-dark, #374151)}:host(.studio-tags-input--filled) .studio-tags-input__container--focused{background:var(--studio-bg-primary, #ffffff);border-color:var(--studio-color-primary, #3b82f6)}:host-context(.dark) :host(.studio-tags-input--filled) .studio-tags-input__container--focused{background:var(--studio-bg-primary-dark, #1f2937)}:host(.studio-tags-input--ghost) .studio-tags-input__container{background:transparent;border-color:transparent}:host(.studio-tags-input--ghost) .studio-tags-input__container--focused{background:var(--studio-bg-secondary, #f3f4f6)}:host-context(.dark) :host(.studio-tags-input--ghost) .studio-tags-input__container--focused{background:var(--studio-bg-secondary-dark, #374151)}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "studio-badge", inputs: ["variant", "size", "color", "radius", "icon", "iconPosition", "dot", "dotColor", "removable", "href", "target", "disabled", "value", "max", "showZero", "uppercase", "bold", "pulse", "autoColor"], outputs: ["removed", "clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5874
|
+
}
|
|
5875
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TagsInputComponent, decorators: [{
|
|
5876
|
+
type: Component,
|
|
5877
|
+
args: [{ selector: 'studio-tags-input', standalone: true, imports: [BadgeComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
5878
|
+
{
|
|
5879
|
+
provide: NG_VALUE_ACCESSOR,
|
|
5880
|
+
useExisting: forwardRef(() => TagsInputComponent),
|
|
5881
|
+
multi: true,
|
|
5882
|
+
},
|
|
5883
|
+
], host: {
|
|
5884
|
+
'[class]': 'hostClasses()',
|
|
5885
|
+
}, template: "<div class=\"studio-tags-input__wrapper\">\n @if (label()) {\n <label class=\"studio-tags-input__label\" [for]=\"inputId\">\n {{ label() }}\n @if (required()) {\n <span class=\"studio-tags-input__required\">*</span>\n }\n </label>\n }\n\n <div\n class=\"studio-tags-input__container\"\n [class.studio-tags-input__container--focused]=\"isFocused()\"\n [class.studio-tags-input__container--disabled]=\"disabled()\"\n [class.studio-tags-input__container--error]=\"error()\"\n (click)=\"focusInput()\"\n >\n @for (tag of tags(); track tag) {\n <studio-badge\n variant=\"soft\"\n [color]=\"tagColor()\"\n [size]=\"badgeSize()\"\n [removable]=\"!disabled()\"\n (removed)=\"removeTag(tag)\"\n >\n @if (tagPrefix()) {\n {{ tagPrefix() }}\n }\n {{ tag }}\n </studio-badge>\n }\n\n <input\n #inputElement\n [id]=\"inputId\"\n type=\"text\"\n class=\"studio-tags-input__input\"\n [placeholder]=\"tags().length === 0 ? placeholder() : ''\"\n [disabled]=\"disabled()\"\n [value]=\"inputValue()\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeydown($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (paste)=\"onPaste($event)\"\n />\n </div>\n\n @if (hint() && !error()) {\n <p class=\"studio-tags-input__hint\">{{ hint() }}</p>\n }\n\n @if (error() && errorMessage()) {\n <p class=\"studio-tags-input__error\">{{ errorMessage() }}</p>\n }\n</div>\n", styles: [":host{display:inline-block}.studio-tags-input--full-width{display:block;width:100%}.studio-tags-input--full-width .studio-tags-input__container{width:100%}.studio-tags-input__wrapper{display:flex;flex-direction:column;gap:.25rem}.studio-tags-input__label{display:block;font-size:.875rem;font-weight:500;color:var(--studio-text-primary, #374151);margin-bottom:.25rem}:host-context(.dark) .studio-tags-input__label{color:var(--studio-text-primary-dark, #d1d5db)}.studio-tags-input__required{color:var(--studio-color-error, #ef4444);margin-left:.125rem}.studio-tags-input__container{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding:.5rem .75rem;min-height:2.5rem;border:1px solid var(--studio-border-color, #d1d5db);border-radius:var(--studio-radius-md, .5rem);background:var(--studio-bg-primary, #ffffff);cursor:text;transition:all .15s ease}:host-context(.dark) .studio-tags-input__container{background:var(--studio-bg-primary-dark, #1f2937);border-color:var(--studio-border-color-dark, #4b5563)}.studio-tags-input__container--focused{border-color:var(--studio-color-primary, #3b82f6);box-shadow:0 0 0 2px var(--studio-color-primary-alpha, rgba(59, 130, 246, .2))}.studio-tags-input__container--disabled{opacity:.6;cursor:not-allowed;background:var(--studio-bg-disabled, #f3f4f6)}:host-context(.dark) .studio-tags-input__container--disabled{background:var(--studio-bg-disabled-dark, #374151)}.studio-tags-input__container--error{border-color:var(--studio-color-error, #ef4444)}.studio-tags-input__container--error.studio-tags-input__container--focused{box-shadow:0 0 0 2px var(--studio-color-error-alpha, rgba(239, 68, 68, .2))}.studio-tags-input__input{flex:1;min-width:120px;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--studio-text-primary, #111827);padding:0}:host-context(.dark) .studio-tags-input__input{color:var(--studio-text-primary-dark, #f9fafb)}.studio-tags-input__input::placeholder{color:var(--studio-text-muted, #9ca3af)}.studio-tags-input__input:disabled{cursor:not-allowed}.studio-tags-input__hint{font-size:.75rem;color:var(--studio-text-muted, #6b7280);margin:0}.studio-tags-input__error{font-size:.75rem;color:var(--studio-color-error, #ef4444);margin:0}:host(.studio-tags-input--sm) .studio-tags-input__container{min-height:2rem;padding:.25rem .5rem;gap:.25rem}:host(.studio-tags-input--sm) .studio-tags-input__input{font-size:.75rem}:host(.studio-tags-input--sm) .studio-tags-input__label{font-size:.75rem}:host(.studio-tags-input--lg) .studio-tags-input__container{min-height:3rem;padding:.625rem 1rem;gap:.5rem}:host(.studio-tags-input--lg) .studio-tags-input__input{font-size:1rem}:host(.studio-tags-input--lg) .studio-tags-input__label{font-size:1rem}:host(.studio-tags-input--filled) .studio-tags-input__container{background:var(--studio-bg-secondary, #f3f4f6);border-color:transparent}:host-context(.dark) :host(.studio-tags-input--filled) .studio-tags-input__container{background:var(--studio-bg-secondary-dark, #374151)}:host(.studio-tags-input--filled) .studio-tags-input__container--focused{background:var(--studio-bg-primary, #ffffff);border-color:var(--studio-color-primary, #3b82f6)}:host-context(.dark) :host(.studio-tags-input--filled) .studio-tags-input__container--focused{background:var(--studio-bg-primary-dark, #1f2937)}:host(.studio-tags-input--ghost) .studio-tags-input__container{background:transparent;border-color:transparent}:host(.studio-tags-input--ghost) .studio-tags-input__container--focused{background:var(--studio-bg-secondary, #f3f4f6)}:host-context(.dark) :host(.studio-tags-input--ghost) .studio-tags-input__container--focused{background:var(--studio-bg-secondary-dark, #374151)}\n"] }]
|
|
5886
|
+
}], propDecorators: { inputRef: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], sizeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variantInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], tagPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "tagPrefix", required: false }] }], tagColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "tagColor", required: false }] }], maxTags: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxTags", required: false }] }], minLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "minLength", required: false }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], allowDuplicates: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowDuplicates", required: false }] }], separators: [{ type: i0.Input, args: [{ isSignal: true, alias: "separators", required: false }] }], transform: [{ type: i0.Input, args: [{ isSignal: true, alias: "transform", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], errorMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorMessage", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], tagsChange: [{ type: i0.Output, args: ["tagsChange"] }], tagAdded: [{ type: i0.Output, args: ["tagAdded"] }], tagRemoved: [{ type: i0.Output, args: ["tagRemoved"] }] } });
|
|
5887
|
+
|
|
5705
5888
|
/**
|
|
5706
5889
|
* Pagination component for navigating through pages of data
|
|
5707
5890
|
*
|
|
@@ -8530,5 +8713,5 @@ function hasChildren(block) {
|
|
|
8530
8713
|
* Generated bundle index. Do not edit.
|
|
8531
8714
|
*/
|
|
8532
8715
|
|
|
8533
|
-
export { AvatarComponent, BadgeComponent, BadgeWrapperComponent, BottomNavigationComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, COUNTRY_OPTIONS, CardComponent, ChatComponent, ChatInputComponent, ChatMessageComponent, CheckboxComponent, ColorPickerCompactComponent, ColorPickerComponent, ConfirmDialogComponent, ConfirmDialogService, DEFAULT_COLOR_PRESETS, DrawerComponent, DrawerService, DropdownComponent, EmptyStateComponent, FileViewerComponent, IconComponent, InputComponent, InspectorComponent, LogoComponent, MASK_PRESETS, MaskDirective, MaskEngine, MenuComponent, ModalComponent, NavbarComponent, PaginationComponent, PhoneInputComponent, PopoverComponent, RadioButtonComponent, STUDIO_CONFIG, SelectComponent, SidebarComponent, SignalStore, SkeletonComponent, StudioConfigService, SwitchComponent, TableColumnDirective, TableComponent, TabsComponent, TextareaComponent, ThemeSwitchComponent, ToastComponent, ToastService, TooltipComponent, classNames, defaultFileViewerLabels, hasChildren, isContentBlock, isFormBlock, isInteractiveBlock, isLayoutBlock, isSafeUrl, isStudioBlock, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
8716
|
+
export { AvatarComponent, BadgeComponent, BadgeWrapperComponent, BottomNavigationComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, COUNTRY_OPTIONS, CardComponent, ChatComponent, ChatInputComponent, ChatMessageComponent, CheckboxComponent, ColorPickerCompactComponent, ColorPickerComponent, ConfirmDialogComponent, ConfirmDialogService, DEFAULT_COLOR_PRESETS, DrawerComponent, DrawerService, DropdownComponent, EmptyStateComponent, FileViewerComponent, IconComponent, InputComponent, InspectorComponent, LogoComponent, MASK_PRESETS, MaskDirective, MaskEngine, MenuComponent, ModalComponent, NavbarComponent, PaginationComponent, PhoneInputComponent, PopoverComponent, RadioButtonComponent, STUDIO_CONFIG, SelectComponent, SidebarComponent, SignalStore, SkeletonComponent, StudioConfigService, SwitchComponent, TableColumnDirective, TableComponent, TabsComponent, TagsInputComponent, TextareaComponent, ThemeSwitchComponent, ToastComponent, ToastService, TooltipComponent, classNames, defaultFileViewerLabels, hasChildren, isContentBlock, isFormBlock, isInteractiveBlock, isLayoutBlock, isSafeUrl, isStudioBlock, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
8534
8717
|
//# sourceMappingURL=eduboxpro-studio.mjs.map
|