@underlayerdev/ui 0.14.10 → 0.16.0
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/containers/_containers.scss +21 -9
- package/containers/_values.scss +4 -0
- package/design-tokens/_variables.scss +20 -0
- package/fesm2022/underlayerdev-ui.mjs +175 -7
- package/fesm2022/underlayerdev-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/foundations.css +13 -7
- package/types/underlayerdev-ui.d.ts +70 -3
package/package.json
CHANGED
package/styles/foundations.css
CHANGED
|
@@ -345,7 +345,7 @@ a:active {
|
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
@media (min-width: 1600px) {
|
|
348
|
-
.ul-container-gallery
|
|
348
|
+
.ul-container-gallery > * {
|
|
349
349
|
max-width: 2176px;
|
|
350
350
|
}
|
|
351
351
|
}
|
|
@@ -368,7 +368,7 @@ a:active {
|
|
|
368
368
|
padding-left: 192px;
|
|
369
369
|
padding-right: 192px;
|
|
370
370
|
}
|
|
371
|
-
.ul-container-product
|
|
371
|
+
.ul-container-product > * {
|
|
372
372
|
max-width: 1920px;
|
|
373
373
|
}
|
|
374
374
|
}
|
|
@@ -377,17 +377,23 @@ a:active {
|
|
|
377
377
|
display: flex;
|
|
378
378
|
justify-content: center;
|
|
379
379
|
align-items: flex-start;
|
|
380
|
-
padding-left:
|
|
381
|
-
padding-right:
|
|
380
|
+
padding-left: 16px;
|
|
381
|
+
padding-right: 16px;
|
|
382
|
+
}
|
|
383
|
+
.ul-container-form > * {
|
|
384
|
+
max-width: 720px;
|
|
385
|
+
}
|
|
386
|
+
@media (min-width: 768px) {
|
|
387
|
+
.ul-container-form {
|
|
388
|
+
padding-left: 32px;
|
|
389
|
+
padding-right: 32px;
|
|
390
|
+
}
|
|
382
391
|
}
|
|
383
392
|
@media (min-width: 1024px) {
|
|
384
393
|
.ul-container-form {
|
|
385
394
|
padding-left: 64px;
|
|
386
395
|
padding-right: 64px;
|
|
387
396
|
}
|
|
388
|
-
.ul-container-form.content {
|
|
389
|
-
max-width: 960px;
|
|
390
|
-
}
|
|
391
397
|
}
|
|
392
398
|
@media (min-width: 1600px) {
|
|
393
399
|
.ul-container-form {
|
|
@@ -113,6 +113,12 @@ export declare class AreaCodeComponent {
|
|
|
113
113
|
}, {}, never, never, true, never>;
|
|
114
114
|
}
|
|
115
115
|
type UiSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
116
|
+
/**
|
|
117
|
+
* Button sizes: the shared scale plus 'xs', for a control that has to fit in a tight
|
|
118
|
+
* spot (a corner of a thumbnail). Like AvatarSize, it is kept out of UiSize so the
|
|
119
|
+
* other controls that share that scale don't gain a size they have no design for.
|
|
120
|
+
*/
|
|
121
|
+
type ButtonSize = UiSize | 'xs';
|
|
116
122
|
type UiCheckboxSize = 'default' | 'sm' | 'lg';
|
|
117
123
|
type UiTheme = 'fill-purple' | 'fill-white' | 'fill-yellow' | 'fill-red' | 'fill-green' | 'transparent-purple' | 'transparent-white' | 'transparent-red' | 'transparent-black' | 'ghost-purple' | 'ghost-white' | 'ghost-red' | 'ghost-green' | 'outline-white' | 'outline-purple' | 'outline-red' | 'outline-green';
|
|
118
124
|
type IconSize$1 = '5' | '6' | '7' | '8' | '16';
|
|
@@ -348,7 +354,7 @@ export declare class BreadcrumbComponent {
|
|
|
348
354
|
*/
|
|
349
355
|
export declare class ButtonComponent {
|
|
350
356
|
/** The size of the button */
|
|
351
|
-
size: import("@angular/core").InputSignal<
|
|
357
|
+
size: import("@angular/core").InputSignal<ButtonSize>;
|
|
352
358
|
/** The visual theme of the button */
|
|
353
359
|
theme: import("@angular/core").InputSignal<UiTheme>;
|
|
354
360
|
/** Whether the button only contains an icon */
|
|
@@ -1126,7 +1132,7 @@ export declare class DockItemComponent {
|
|
|
1126
1132
|
};
|
|
1127
1133
|
}, {}, ["contentSlot"], ["[ul-dock-item-content]"], true, never>;
|
|
1128
1134
|
}
|
|
1129
|
-
export type ListItemTheme = 'ghost-white' | 'transparent-white' | 'outline-white' | 'outline-purple';
|
|
1135
|
+
export type ListItemTheme = 'ghost-white' | 'ghost-red' | 'transparent-white' | 'outline-white' | 'outline-purple';
|
|
1130
1136
|
export declare class ListItemComponent {
|
|
1131
1137
|
checkbox: import("@angular/core").Signal<CheckboxComponent | undefined>;
|
|
1132
1138
|
theme: import("@angular/core").InputSignal<ListItemTheme>;
|
|
@@ -1164,6 +1170,58 @@ export declare class ListItemComponent {
|
|
|
1164
1170
|
};
|
|
1165
1171
|
}, {}, ["checkbox"], ["[ul-list-item-before-label]", "[ul-list-item-label]", "[ul-list-item-after-label]"], true, never>;
|
|
1166
1172
|
}
|
|
1173
|
+
/**
|
|
1174
|
+
* One action in a `ul-menu`, written in the template of the component that
|
|
1175
|
+
* owns the menu, so each item can choose its own icon, text and theme:
|
|
1176
|
+
*
|
|
1177
|
+
* @example
|
|
1178
|
+
* ```html
|
|
1179
|
+
* <ul-menu triggerIconOnly="more_options">
|
|
1180
|
+
* <ul-menu-item (triggered)="reconnect()">
|
|
1181
|
+
* <ul-icon ul-menu-item-icon icon="refresh_cw" size="5" />
|
|
1182
|
+
* Reconnect
|
|
1183
|
+
* </ul-menu-item>
|
|
1184
|
+
* <ul-menu-item theme="ghost-red" (triggered)="disconnect()">
|
|
1185
|
+
* <ul-icon ul-menu-item-icon icon="link_unlink" size="5" />
|
|
1186
|
+
* Disconnect
|
|
1187
|
+
* </ul-menu-item>
|
|
1188
|
+
* </ul-menu>
|
|
1189
|
+
* ```
|
|
1190
|
+
*
|
|
1191
|
+
* The menu closes when an item is triggered. For a list of plain label+icon
|
|
1192
|
+
* actions, `ul-menu`'s `items` input is shorter; this is for items that need
|
|
1193
|
+
* more than that, such as a different theme.
|
|
1194
|
+
*
|
|
1195
|
+
* The item only declares its content. The menu draws the row itself, inside
|
|
1196
|
+
* its own panel, so keyboard navigation and closing work as they do for
|
|
1197
|
+
* `items`; this element renders nothing where it is written.
|
|
1198
|
+
*/
|
|
1199
|
+
export declare class MenuItemComponent {
|
|
1200
|
+
/** `ghost-red` marks an action that removes or ends something. */
|
|
1201
|
+
theme: import("@angular/core").InputSignal<ListItemTheme>;
|
|
1202
|
+
disabled: import("@angular/core").InputSignal<boolean>;
|
|
1203
|
+
/** Emitted when the item is chosen, by click or keyboard. */
|
|
1204
|
+
triggered: import("@angular/core").OutputEmitterRef<void>;
|
|
1205
|
+
/** The icon the consumer put in the `ul-menu-item-icon` slot, for the menu to draw. */
|
|
1206
|
+
readonly iconTemplate: import("@angular/core").Signal<TemplateRef<unknown>>;
|
|
1207
|
+
/** The rest of the consumer's content, for the menu to draw as the label. */
|
|
1208
|
+
readonly labelTemplate: import("@angular/core").Signal<TemplateRef<unknown>>;
|
|
1209
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemComponent, never>;
|
|
1210
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "ul-menu-item", never, {
|
|
1211
|
+
"theme": {
|
|
1212
|
+
"alias": "theme";
|
|
1213
|
+
"required": false;
|
|
1214
|
+
"isSignal": true;
|
|
1215
|
+
};
|
|
1216
|
+
"disabled": {
|
|
1217
|
+
"alias": "disabled";
|
|
1218
|
+
"required": false;
|
|
1219
|
+
"isSignal": true;
|
|
1220
|
+
};
|
|
1221
|
+
}, {
|
|
1222
|
+
"triggered": "triggered";
|
|
1223
|
+
}, never, ["[ul-menu-item-icon]", "*"], true, never>;
|
|
1224
|
+
}
|
|
1167
1225
|
/** A single row in a `ul-menu` or `ul-dropdown` menu panel. */
|
|
1168
1226
|
export type MenuItem = {
|
|
1169
1227
|
/** Display text for the item. */
|
|
@@ -1186,6 +1244,8 @@ export type MenuItem = {
|
|
|
1186
1244
|
*/
|
|
1187
1245
|
export declare class MenuItemsComponent {
|
|
1188
1246
|
items: import("@angular/core").InputSignal<MenuItem[]>;
|
|
1247
|
+
/** Items written in the consumer's template (`ul-menu-item`), drawn before `items`. */
|
|
1248
|
+
templateItems: import("@angular/core").InputSignal<readonly MenuItemComponent[]>;
|
|
1189
1249
|
theme: import("@angular/core").InputSignal<ListItemTheme>;
|
|
1190
1250
|
/**
|
|
1191
1251
|
* Index of the item to render as checked/selected.
|
|
@@ -1200,6 +1260,11 @@ export declare class MenuItemsComponent {
|
|
|
1200
1260
|
"required": false;
|
|
1201
1261
|
"isSignal": true;
|
|
1202
1262
|
};
|
|
1263
|
+
"templateItems": {
|
|
1264
|
+
"alias": "templateItems";
|
|
1265
|
+
"required": false;
|
|
1266
|
+
"isSignal": true;
|
|
1267
|
+
};
|
|
1203
1268
|
"theme": {
|
|
1204
1269
|
"alias": "theme";
|
|
1205
1270
|
"required": false;
|
|
@@ -2180,6 +2245,8 @@ export declare class LongPressDirective {
|
|
|
2180
2245
|
export declare class MenuComponent {
|
|
2181
2246
|
/** Visual theme, passed through to the trigger and to any items rendered via `items`. */
|
|
2182
2247
|
theme: import("@angular/core").InputSignal<ListItemTheme>;
|
|
2248
|
+
/** The `ul-menu-item`s written inside this menu in the consumer's template. */
|
|
2249
|
+
readonly templateItems: import("@angular/core").Signal<readonly MenuItemComponent[]>;
|
|
2183
2250
|
/** Simple label+icon action items. Optional — content projection covers everything else. */
|
|
2184
2251
|
items: import("@angular/core").InputSignal<MenuItem[]>;
|
|
2185
2252
|
disabled: import("@angular/core").InputSignal<boolean>;
|
|
@@ -2254,7 +2321,7 @@ export declare class MenuComponent {
|
|
|
2254
2321
|
}, {
|
|
2255
2322
|
"itemSelected": "itemSelected";
|
|
2256
2323
|
"closed": "closed";
|
|
2257
|
-
},
|
|
2324
|
+
}, ["templateItems"], ["*"], true, never>;
|
|
2258
2325
|
}
|
|
2259
2326
|
/**
|
|
2260
2327
|
* The trigger button shared by `ul-dropdown` and `ul-menu`: either an
|