@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@underlayerdev/ui",
3
- "version": "0.14.10",
3
+ "version": "0.16.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^22.0.0",
6
6
  "@angular/common": "^22.0.0",
@@ -345,7 +345,7 @@ a:active {
345
345
  }
346
346
  }
347
347
  @media (min-width: 1600px) {
348
- .ul-container-gallery.content {
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.content {
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: 32px;
381
- padding-right: 32px;
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<UiSize>;
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
- }, never, ["*"], true, never>;
2324
+ }, ["templateItems"], ["*"], true, never>;
2258
2325
  }
2259
2326
  /**
2260
2327
  * The trigger button shared by `ul-dropdown` and `ul-menu`: either an