@underlayerdev/ui 0.18.0 → 0.18.1
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.
|
@@ -1499,7 +1499,7 @@ var BannerComponent = class BannerComponent {
|
|
|
1499
1499
|
outputs: { dismissed: "dismissed" },
|
|
1500
1500
|
ngImport: i0,
|
|
1501
1501
|
template: "<section class=\"ul-banner ul-banner--{{ tone() }}\">\n <ul-icon class=\"ul-banner__icon\" [icon]=\"resolvedIcon()\" size=\"6\" />\n\n <div class=\"ul-banner__body\">\n <div class=\"ul-banner__title\"><ng-content select=\"[ul-banner-title]\" /></div>\n <div class=\"ul-banner__message\"><ng-content /></div>\n </div>\n\n <div class=\"ul-banner__actions\"><ng-content select=\"[ul-banner-actions]\" /></div>\n\n @if (dismissible()) {\n <ul-button\n class=\"ul-banner__close\"\n theme=\"ghost-white\"\n size=\"xs\"\n [iconOnly]=\"true\"\n [ariaLabel]=\"dismissLabel()\"\n (buttonClick)=\"dismissed.emit()\"\n >\n <ul-icon icon=\"cross\" size=\"4\" />\n </ul-button>\n }\n</section>\n",
|
|
1502
|
-
styles: [".ul-banner{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background-color:#232323;color:#fff}@media(max-width:767px){.ul-banner{flex-wrap:wrap;align-items:flex-start}}.ul-banner__icon{flex-shrink:0}.ul-banner__body{flex:1 1 0;min-width:0}.ul-banner__title:not(:empty){margin-block-end:4px;font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:800}.ul-banner__message{font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:400;color:#ffffffb3}.ul-banner__actions{display:flex;flex-shrink:0;justify-content:end;gap:8px}.ul-banner__actions:empty{display:none}@media(max-width:767px){.ul-banner__actions{order:3;width:100%}}.ul-banner__close{flex-shrink:0}@media(max-width:767px){.ul-banner__close{order:2}}.ul-banner--info{border-color:#c2a8ff}.ul-banner--alert{border-color:#ffd9af}.ul-banner--confirm{border-color:#7edc96}.ul-banner--error{border-color:#f69d9d}\n"],
|
|
1502
|
+
styles: [":host{display:block}.ul-banner{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background-color:#232323;color:#fff}@media(max-width:767px){.ul-banner{flex-wrap:wrap;align-items:flex-start}}.ul-banner__icon{flex-shrink:0}.ul-banner__body{flex:1 1 0;min-width:0}.ul-banner__title:not(:empty){margin-block-end:4px;font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:800}.ul-banner__message{font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:400;color:#ffffffb3}.ul-banner__actions{display:flex;flex-shrink:0;justify-content:end;gap:8px}.ul-banner__actions:empty{display:none}@media(max-width:767px){.ul-banner__actions{order:3;width:100%}}.ul-banner__close{flex-shrink:0}@media(max-width:767px){.ul-banner__close{order:2}}.ul-banner--info{border-color:#c2a8ff}.ul-banner--alert{border-color:#ffd9af}.ul-banner--confirm{border-color:#7edc96}.ul-banner--error{border-color:#f69d9d}\n"],
|
|
1503
1503
|
dependencies: [{
|
|
1504
1504
|
kind: "component",
|
|
1505
1505
|
type: ButtonComponent,
|
|
@@ -1537,7 +1537,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1537
1537
|
selector: "ul-banner",
|
|
1538
1538
|
imports: [ButtonComponent, IconComponent],
|
|
1539
1539
|
template: "<section class=\"ul-banner ul-banner--{{ tone() }}\">\n <ul-icon class=\"ul-banner__icon\" [icon]=\"resolvedIcon()\" size=\"6\" />\n\n <div class=\"ul-banner__body\">\n <div class=\"ul-banner__title\"><ng-content select=\"[ul-banner-title]\" /></div>\n <div class=\"ul-banner__message\"><ng-content /></div>\n </div>\n\n <div class=\"ul-banner__actions\"><ng-content select=\"[ul-banner-actions]\" /></div>\n\n @if (dismissible()) {\n <ul-button\n class=\"ul-banner__close\"\n theme=\"ghost-white\"\n size=\"xs\"\n [iconOnly]=\"true\"\n [ariaLabel]=\"dismissLabel()\"\n (buttonClick)=\"dismissed.emit()\"\n >\n <ul-icon icon=\"cross\" size=\"4\" />\n </ul-button>\n }\n</section>\n",
|
|
1540
|
-
styles: [".ul-banner{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background-color:#232323;color:#fff}@media(max-width:767px){.ul-banner{flex-wrap:wrap;align-items:flex-start}}.ul-banner__icon{flex-shrink:0}.ul-banner__body{flex:1 1 0;min-width:0}.ul-banner__title:not(:empty){margin-block-end:4px;font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:800}.ul-banner__message{font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:400;color:#ffffffb3}.ul-banner__actions{display:flex;flex-shrink:0;justify-content:end;gap:8px}.ul-banner__actions:empty{display:none}@media(max-width:767px){.ul-banner__actions{order:3;width:100%}}.ul-banner__close{flex-shrink:0}@media(max-width:767px){.ul-banner__close{order:2}}.ul-banner--info{border-color:#c2a8ff}.ul-banner--alert{border-color:#ffd9af}.ul-banner--confirm{border-color:#7edc96}.ul-banner--error{border-color:#f69d9d}\n"]
|
|
1540
|
+
styles: [":host{display:block}.ul-banner{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background-color:#232323;color:#fff}@media(max-width:767px){.ul-banner{flex-wrap:wrap;align-items:flex-start}}.ul-banner__icon{flex-shrink:0}.ul-banner__body{flex:1 1 0;min-width:0}.ul-banner__title:not(:empty){margin-block-end:4px;font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:800}.ul-banner__message{font-family:Underlayer Nunito Sans;line-height:24px;font-size:16px;letter-spacing:0px;font-weight:400;color:#ffffffb3}.ul-banner__actions{display:flex;flex-shrink:0;justify-content:end;gap:8px}.ul-banner__actions:empty{display:none}@media(max-width:767px){.ul-banner__actions{order:3;width:100%}}.ul-banner__close{flex-shrink:0}@media(max-width:767px){.ul-banner__close{order:2}}.ul-banner--info{border-color:#c2a8ff}.ul-banner--alert{border-color:#ffd9af}.ul-banner--confirm{border-color:#7edc96}.ul-banner--error{border-color:#f69d9d}\n"]
|
|
1541
1541
|
}]
|
|
1542
1542
|
}],
|
|
1543
1543
|
propDecorators: {
|
|
@@ -6119,17 +6119,24 @@ var DropdownComponent = class DropdownComponent {
|
|
|
6119
6119
|
menuTriggerIcons = input(DEFAULT_MENU_TRIGGER_ICONS, ...ngDevMode ? [{ debugName: "menuTriggerIcons" }] : /* istanbul ignore next */ []);
|
|
6120
6120
|
triggerIconOnly = input(...ngDevMode ? [void 0, { debugName: "triggerIconOnly" }] : /* istanbul ignore next */ []);
|
|
6121
6121
|
iconOnlyLabel = input("Open menu", ...ngDevMode ? [{ debugName: "iconOnlyLabel" }] : /* istanbul ignore next */ []);
|
|
6122
|
+
placeholder = input(...ngDevMode ? [void 0, { debugName: "placeholder" }] : /* istanbul ignore next */ []);
|
|
6122
6123
|
selectedIndex = model(0, ...ngDevMode ? [{ debugName: "selectedIndex" }] : /* istanbul ignore next */ []);
|
|
6123
6124
|
selectedItem = computed(() => {
|
|
6124
6125
|
const items = this.items();
|
|
6126
|
+
const index = this.selectedIndex();
|
|
6127
|
+
const fallback = {
|
|
6128
|
+
label: "",
|
|
6129
|
+
value: void 0,
|
|
6130
|
+
leftIcons: [],
|
|
6131
|
+
rightIcons: [],
|
|
6132
|
+
disabled: false
|
|
6133
|
+
};
|
|
6134
|
+
const placeholder = this.placeholder();
|
|
6125
6135
|
return {
|
|
6126
|
-
...
|
|
6127
|
-
|
|
6128
|
-
|
|
6129
|
-
|
|
6130
|
-
rightIcons: [],
|
|
6131
|
-
disabled: false
|
|
6132
|
-
},
|
|
6136
|
+
...placeholder !== void 0 && !items[index] ? {
|
|
6137
|
+
...fallback,
|
|
6138
|
+
label: placeholder
|
|
6139
|
+
} : items[index] ?? items[0] ?? fallback,
|
|
6133
6140
|
...this.menuTriggerIcons() ?? DEFAULT_MENU_TRIGGER_ICONS
|
|
6134
6141
|
};
|
|
6135
6142
|
}, ...ngDevMode ? [{ debugName: "selectedItem" }] : /* istanbul ignore next */ []);
|
|
@@ -6215,6 +6222,13 @@ var DropdownComponent = class DropdownComponent {
|
|
|
6215
6222
|
isRequired: false,
|
|
6216
6223
|
transformFunction: null
|
|
6217
6224
|
},
|
|
6225
|
+
placeholder: {
|
|
6226
|
+
classPropertyName: "placeholder",
|
|
6227
|
+
publicName: "placeholder",
|
|
6228
|
+
isSignal: true,
|
|
6229
|
+
isRequired: false,
|
|
6230
|
+
transformFunction: null
|
|
6231
|
+
},
|
|
6218
6232
|
selectedIndex: {
|
|
6219
6233
|
classPropertyName: "selectedIndex",
|
|
6220
6234
|
publicName: "selectedIndex",
|
|
@@ -6348,6 +6362,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
6348
6362
|
required: false
|
|
6349
6363
|
}]
|
|
6350
6364
|
}],
|
|
6365
|
+
placeholder: [{
|
|
6366
|
+
type: i0.Input,
|
|
6367
|
+
args: [{
|
|
6368
|
+
isSignal: true,
|
|
6369
|
+
alias: "placeholder",
|
|
6370
|
+
required: false
|
|
6371
|
+
}]
|
|
6372
|
+
}],
|
|
6351
6373
|
selectedIndex: [{
|
|
6352
6374
|
type: i0.Input,
|
|
6353
6375
|
args: [{
|
|
@@ -14476,6 +14498,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
14476
14498
|
}]
|
|
14477
14499
|
}
|
|
14478
14500
|
});
|
|
14501
|
+
const NO_SELECTION = -1;
|
|
14479
14502
|
var SelectComponent = class SelectComponent {
|
|
14480
14503
|
size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
14481
14504
|
theme = input("transparent-white", ...ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []);
|
|
@@ -14511,17 +14534,11 @@ var SelectComponent = class SelectComponent {
|
|
|
14511
14534
|
effect(() => {
|
|
14512
14535
|
const currentValue = this.value();
|
|
14513
14536
|
const options = this.options();
|
|
14514
|
-
|
|
14515
|
-
this.selectedIndex.set(0);
|
|
14516
|
-
return;
|
|
14517
|
-
}
|
|
14518
|
-
const index = options.findIndex((opt) => opt.value === currentValue);
|
|
14519
|
-
this.selectedIndex.set(index >= 0 ? index : 0);
|
|
14537
|
+
this.selectedIndex.set(currentValue == null ? NO_SELECTION : options.findIndex((opt) => opt.value === currentValue));
|
|
14520
14538
|
});
|
|
14521
14539
|
}
|
|
14522
|
-
|
|
14523
|
-
const option = this.options()
|
|
14524
|
-
this.selectedIndex.set(index);
|
|
14540
|
+
onItemSelected(item) {
|
|
14541
|
+
const option = this.options().find((candidate) => candidate.value === item.value);
|
|
14525
14542
|
this.value.set(option?.value ?? null);
|
|
14526
14543
|
}
|
|
14527
14544
|
onDropdownClosed() {
|
|
@@ -14654,7 +14671,7 @@ var SelectComponent = class SelectComponent {
|
|
|
14654
14671
|
selectedIndex: "selectedIndexChange"
|
|
14655
14672
|
},
|
|
14656
14673
|
ngImport: i0,
|
|
14657
|
-
template: "<div\n class=\"ul-select ul-select--{{ size() }}\"\n [class.ul-select--disabled]=\"disabled()\"\n [class.ul-select--error]=\"hasError()\"\n [class.ul-select--required]=\"required()\"\n [attr.aria-invalid]=\"hasError()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-describedby]=\"describedBy()\"\n>\n <ul-form-field-label\n [label]=\"label()\"\n [required]=\"required()\"\n [for]=\"ids.controlId\"\n [size]=\"size()\"\n [showRequiredIndicator]=\"showRequiredIndicator()\"\n />\n\n <div\n class=\"ul-select__control\"\n [id]=\"ids.controlId\"\n [class.ul-select__control--disabled]=\"disabled()\"\n >\n <ul-dropdown\n class=\"ul-select__dropdown\"\n [theme]=\"theme()\"\n [items]=\"items()\"\n [disabled]=\"disabled()\"\n [
|
|
14674
|
+
template: "<div\n class=\"ul-select ul-select--{{ size() }}\"\n [class.ul-select--disabled]=\"disabled()\"\n [class.ul-select--error]=\"hasError()\"\n [class.ul-select--required]=\"required()\"\n [attr.aria-invalid]=\"hasError()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-describedby]=\"describedBy()\"\n>\n <ul-form-field-label\n [label]=\"label()\"\n [required]=\"required()\"\n [for]=\"ids.controlId\"\n [size]=\"size()\"\n [showRequiredIndicator]=\"showRequiredIndicator()\"\n />\n\n <div\n class=\"ul-select__control\"\n [id]=\"ids.controlId\"\n [class.ul-select__control--disabled]=\"disabled()\"\n >\n <ul-dropdown\n class=\"ul-select__dropdown\"\n [theme]=\"theme()\"\n [items]=\"items()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [selectedIndex]=\"selectedIndex()\"\n (selectedItemChange)=\"onItemSelected($event)\"\n (closed)=\"onDropdownClosed()\"\n />\n </div>\n\n <ul-form-field-helper\n [id]=\"ids.helperId\"\n [helperText]=\"helperText()\"\n [errorText]=\"errorText() || (hasError() && errors().length ? errors()[0].message : '') || null\"\n [error]=\"hasError()\"\n />\n</div>\n",
|
|
14658
14675
|
styles: [".ul-select{white-space:nowrap;box-sizing:border-box;display:flex;flex-direction:column;width:100%;gap:4px}.ul-select__control{display:flex;align-items:center;min-height:40px;border:2px solid rgba(255,255,255,.1);border-radius:8px;background-color:transparent;transition:border-color .25s cubic-bezier(.4,0,.2,1)}.ul-select__control:hover{border-color:#ffffff4d}.ul-select__control:focus-within{border-color:#ffffff80}.ul-select__control .ul-list-item:focus-visible,.ul-select__control .ul-list-item:focus{outline:none}.ul-select__control--disabled{opacity:.6;cursor:not-allowed}.ul-select--disabled .ul-select__control{border-color:#ffffff1a}.ul-select--disabled .ul-select__control:hover,.ul-select--disabled .ul-select__control:focus-within{border-color:#ffffff1a}.ul-select--disabled .ul-select__control{opacity:.6;cursor:not-allowed}.ul-select__dropdown{width:100%}\n"],
|
|
14659
14676
|
dependencies: [
|
|
14660
14677
|
{
|
|
@@ -14668,6 +14685,7 @@ var SelectComponent = class SelectComponent {
|
|
|
14668
14685
|
"menuTriggerIcons",
|
|
14669
14686
|
"triggerIconOnly",
|
|
14670
14687
|
"iconOnlyLabel",
|
|
14688
|
+
"placeholder",
|
|
14671
14689
|
"selectedIndex"
|
|
14672
14690
|
],
|
|
14673
14691
|
outputs: [
|
|
@@ -14718,7 +14736,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
14718
14736
|
FormFieldHelperComponent
|
|
14719
14737
|
],
|
|
14720
14738
|
encapsulation: ViewEncapsulation.None,
|
|
14721
|
-
template: "<div\n class=\"ul-select ul-select--{{ size() }}\"\n [class.ul-select--disabled]=\"disabled()\"\n [class.ul-select--error]=\"hasError()\"\n [class.ul-select--required]=\"required()\"\n [attr.aria-invalid]=\"hasError()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-describedby]=\"describedBy()\"\n>\n <ul-form-field-label\n [label]=\"label()\"\n [required]=\"required()\"\n [for]=\"ids.controlId\"\n [size]=\"size()\"\n [showRequiredIndicator]=\"showRequiredIndicator()\"\n />\n\n <div\n class=\"ul-select__control\"\n [id]=\"ids.controlId\"\n [class.ul-select__control--disabled]=\"disabled()\"\n >\n <ul-dropdown\n class=\"ul-select__dropdown\"\n [theme]=\"theme()\"\n [items]=\"items()\"\n [disabled]=\"disabled()\"\n [
|
|
14739
|
+
template: "<div\n class=\"ul-select ul-select--{{ size() }}\"\n [class.ul-select--disabled]=\"disabled()\"\n [class.ul-select--error]=\"hasError()\"\n [class.ul-select--required]=\"required()\"\n [attr.aria-invalid]=\"hasError()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-describedby]=\"describedBy()\"\n>\n <ul-form-field-label\n [label]=\"label()\"\n [required]=\"required()\"\n [for]=\"ids.controlId\"\n [size]=\"size()\"\n [showRequiredIndicator]=\"showRequiredIndicator()\"\n />\n\n <div\n class=\"ul-select__control\"\n [id]=\"ids.controlId\"\n [class.ul-select__control--disabled]=\"disabled()\"\n >\n <ul-dropdown\n class=\"ul-select__dropdown\"\n [theme]=\"theme()\"\n [items]=\"items()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [selectedIndex]=\"selectedIndex()\"\n (selectedItemChange)=\"onItemSelected($event)\"\n (closed)=\"onDropdownClosed()\"\n />\n </div>\n\n <ul-form-field-helper\n [id]=\"ids.helperId\"\n [helperText]=\"helperText()\"\n [errorText]=\"errorText() || (hasError() && errors().length ? errors()[0].message : '') || null\"\n [error]=\"hasError()\"\n />\n</div>\n",
|
|
14722
14740
|
styles: [".ul-select{white-space:nowrap;box-sizing:border-box;display:flex;flex-direction:column;width:100%;gap:4px}.ul-select__control{display:flex;align-items:center;min-height:40px;border:2px solid rgba(255,255,255,.1);border-radius:8px;background-color:transparent;transition:border-color .25s cubic-bezier(.4,0,.2,1)}.ul-select__control:hover{border-color:#ffffff4d}.ul-select__control:focus-within{border-color:#ffffff80}.ul-select__control .ul-list-item:focus-visible,.ul-select__control .ul-list-item:focus{outline:none}.ul-select__control--disabled{opacity:.6;cursor:not-allowed}.ul-select--disabled .ul-select__control{border-color:#ffffff1a}.ul-select--disabled .ul-select__control:hover,.ul-select--disabled .ul-select__control:focus-within{border-color:#ffffff1a}.ul-select--disabled .ul-select__control{opacity:.6;cursor:not-allowed}.ul-select__dropdown{width:100%}\n"]
|
|
14723
14741
|
}]
|
|
14724
14742
|
}],
|