@uni-design-system/uni-core 10.0.0 → 10.2.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/CHANGELOG.md +190 -0
- package/dist/cjs/index.cjs +111 -27
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.js +111 -27
- package/dist/esm/index.js.map +1 -1
- package/dist/types/concepts/component/component.types.d.ts +19 -2
- package/dist/types/concepts/component/component.types.d.ts.map +1 -1
- package/dist/types/concepts/index.d.ts +1 -0
- package/dist/types/concepts/index.d.ts.map +1 -1
- package/dist/types/concepts/theme/theme.types.d.ts +3 -1
- package/dist/types/concepts/theme/theme.types.d.ts.map +1 -1
- package/dist/types/concepts/theme/theme.validation.d.ts.map +1 -1
- package/dist/types/concepts/theme/themes/base.theme.d.ts.map +1 -1
- package/dist/types/concepts/variant/index.d.ts +2 -0
- package/dist/types/concepts/variant/index.d.ts.map +1 -0
- package/dist/types/concepts/variant/variant.types.d.ts +50 -0
- package/dist/types/concepts/variant/variant.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
import { Size } from '../size';
|
|
2
2
|
import { Variant } from '../theme';
|
|
3
3
|
import { StyleExpression } from '../style';
|
|
4
|
-
export type ComponentName = 'undefined' | 'alert' | 'appBar' | 'avatar' | 'avatarGroup' | 'badge' | 'breadcrumb' | 'button' | 'buttonGroup' | 'calendar' | 'callout' | 'card' | 'cardContent' | 'cardHeader' | 'checkbox' | 'combobox' | 'dataSearch' | 'dataTable' | 'dateInput' | 'dateTimeInput' | 'dialog' | 'dialogButtons' | 'dialogHeader' | 'drawer' | 'dropdown' | 'expand' | 'footer' | 'iconButton' | 'input' | 'menu' | 'menuItem' | 'multiSelectDropdown' | 'notificationBadge' | 'numberInput' | 'numberRangeInput' | 'paginator' | 'popover' | 'quantityStepper' | 'radio' | 'searchInput' | 'select' | 'skeleton' | 'slider' | 'snackbar' | 'stat' | 'symbol' | 'tag' | 'tagInput' | 'progressBar' | 'progressGauge' | 'tabs' | 'textarea' | 'textButton' | 'timeInput' | 'toggle' | 'tooltip' | 'tour';
|
|
5
|
-
export interface ComponentTheme<T = object> {
|
|
4
|
+
export type ComponentName = 'undefined' | 'alert' | 'appBar' | 'avatar' | 'avatarGroup' | 'badge' | 'breadcrumb' | 'button' | 'buttonGroup' | 'calendar' | 'callout' | 'card' | 'cardContent' | 'cardHeader' | 'checkbox' | 'combobox' | 'dataSearch' | 'dataTable' | 'dateInput' | 'dateTimeInput' | 'dialog' | 'dialogButtons' | 'dialogHeader' | 'drawer' | 'drawerButtons' | 'drawerHeader' | 'dropdown' | 'expand' | 'footer' | 'iconButton' | 'input' | 'menu' | 'menuItem' | 'multiSelectDropdown' | 'notificationBadge' | 'numberInput' | 'numberRangeInput' | 'paginator' | 'popover' | 'quantityStepper' | 'radio' | 'searchInput' | 'select' | 'skeleton' | 'slider' | 'snackbar' | 'stat' | 'symbol' | 'tag' | 'tagInput' | 'progressBar' | 'progressGauge' | 'tabs' | 'textarea' | 'textButton' | 'timeInput' | 'toggle' | 'tooltip' | 'tour';
|
|
5
|
+
export interface ComponentTheme<T = object, V = object> {
|
|
6
6
|
/** Style applied to every instance regardless of variant/size. */
|
|
7
7
|
fixed?: StyleExpression;
|
|
8
8
|
/**
|
|
9
9
|
* Variant styling. A variant is a full style archetype — not just a color —
|
|
10
10
|
* so it may change structure (solid vs. hollow) and carry interaction states
|
|
11
11
|
* via nested selectors (`&:hover`, `&:focus-visible`, `&:disabled`).
|
|
12
|
+
*
|
|
13
|
+
* This is CSS, and it is *applied*: the theme service spreads it onto the
|
|
14
|
+
* component's element. For a control whose accent lands on several interior
|
|
15
|
+
* elements at once, see {@link ComponentTheme.variantOptions}.
|
|
12
16
|
*/
|
|
13
17
|
variants?: Partial<Record<Variant, StyleExpression>>;
|
|
18
|
+
/**
|
|
19
|
+
* Per-variant data the component *reads*, rather than CSS that is applied.
|
|
20
|
+
*
|
|
21
|
+
* The selection controls need one accent colour in four to seven interior
|
|
22
|
+
* places — a checkbox's box outline, checked fill, indeterminate fill, tick
|
|
23
|
+
* stroke and focus ring. Expressing that as a `variants` StyleExpression
|
|
24
|
+
* would mean nested selectors naming `.checkbox-check` and `.radio-inner`,
|
|
25
|
+
* which promotes private DOM to public theme contract. Naming the colour role
|
|
26
|
+
* once and letting the component place it keeps that internal.
|
|
27
|
+
*
|
|
28
|
+
* Never spread as CSS — the keys are role names, not CSS properties.
|
|
29
|
+
*/
|
|
30
|
+
variantOptions?: Partial<Record<Variant, V>>;
|
|
14
31
|
sizes?: Partial<Record<Size, StyleExpression>>;
|
|
15
32
|
options?: T;
|
|
16
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.types.d.ts","sourceRoot":"","sources":["../../../../src/concepts/component/component.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,aAAa,GACb,UAAU,GACV,SAAS,GACT,MAAM,GACN,aAAa,GACb,YAAY,GACZ,UAAU,GACV,UAAU,GACV,YAAY,GACZ,WAAW,GACX,WAAW,GACX,eAAe,GACf,QAAQ,GACR,eAAe,GACf,cAAc,GACd,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,MAAM,GACN,UAAU,GACV,qBAAqB,GACrB,mBAAmB,GACnB,aAAa,GACb,kBAAkB,GAClB,WAAW,GACX,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,MAAM,GACN,QAAQ,GACR,KAAK,GACL,UAAU,GACV,aAAa,GACb,eAAe,GACf,MAAM,GACN,UAAU,GACV,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,SAAS,GACT,MAAM,CAAC;AAEX,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"component.types.d.ts","sourceRoot":"","sources":["../../../../src/concepts/component/component.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,aAAa,GACb,UAAU,GACV,SAAS,GACT,MAAM,GACN,aAAa,GACb,YAAY,GACZ,UAAU,GACV,UAAU,GACV,YAAY,GACZ,WAAW,GACX,WAAW,GACX,eAAe,GACf,QAAQ,GACR,eAAe,GACf,cAAc,GACd,QAAQ,GACR,eAAe,GACf,cAAc,GACd,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,MAAM,GACN,UAAU,GACV,qBAAqB,GACrB,mBAAmB,GACnB,aAAa,GACb,kBAAkB,GAClB,WAAW,GACX,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,MAAM,GACN,QAAQ,GACR,KAAK,GACL,UAAU,GACV,aAAa,GACb,eAAe,GACf,MAAM,GACN,UAAU,GACV,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,SAAS,GACT,MAAM,CAAC;AAEX,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM;IACpD,kEAAkE;IAClE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IACrD;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/concepts/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/concepts/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ContentColorToken } from '../color';
|
|
2
|
+
import { Variant } from '../variant';
|
|
2
3
|
export type themes = 'uni' | 'carbon' | 'material' | 'bootstrap';
|
|
3
|
-
export type Variant
|
|
4
|
+
export type { Variant } from '../variant';
|
|
5
|
+
export type { UniVariantRegistry } from '../variant';
|
|
4
6
|
export type TextColor = ContentColorToken | Variant;
|
|
5
7
|
/**
|
|
6
8
|
* A tag's style archetype, orthogonal to its {@link Variant} colour role: the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.types.d.ts","sourceRoot":"","sources":["../../../../src/concepts/theme/theme.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.types.d.ts","sourceRoot":"","sources":["../../../../src/concepts/theme/theme.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;AAIjE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.validation.d.ts","sourceRoot":"","sources":["../../../../src/concepts/theme/theme.validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;GAUG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,GAC9C;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,0PAiBxB,CAAC;AAEX,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,EAAE,SAAS,QAAQ,EAuBzC,CAAC;AAEX,eAAO,MAAM,sBAAsB,wDAAyD,CAAC;AAC7F,eAAO,MAAM,oBAAoB,yDAA0D,CAAC;AAC5F,eAAO,MAAM,gBAAgB,+CAAgD,CAAC;AAC9E,eAAO,MAAM,oBAAoB,wCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.validation.d.ts","sourceRoot":"","sources":["../../../../src/concepts/theme/theme.validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;GAUG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,GAC9C;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,0PAiBxB,CAAC;AAEX,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,EAAE,SAAS,QAAQ,EAuBzC,CAAC;AAEX,eAAO,MAAM,sBAAsB,wDAAyD,CAAC;AAC7F,eAAO,MAAM,oBAAoB,yDAA0D,CAAC;AAC5F,eAAO,MAAM,gBAAgB,+CAAgD,CAAC;AAC9E,eAAO,MAAM,oBAAoB,wCAAyC,CAAC;AA6H3E;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,gBA0B3C,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,GAAI,QAAQ,UAAU,EAAE,KAAG,MAC8B,CAAC;AAExF,iEAAiE;AACjE,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,QAM5C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QAAqC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.theme.d.ts","sourceRoot":"","sources":["../../../../../src/concepts/theme/themes/base.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAI7E,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EAEX,QAAQ,EACT,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.theme.d.ts","sourceRoot":"","sources":["../../../../../src/concepts/theme/themes/base.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAI7E,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EAEX,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAkiCxB,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wEAAwE;IACxE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3D;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAcD,eAAO,MAAM,WAAW,GAAI,6GAazB,WAAW,KAAG,QAaf,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,QAAQ,KAAG,QAG7C,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,QAAQ,KAAG,QAK/C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,oBAAoB,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,KAC1F,QAUF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAInF,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAmE,CAAC;AAE9F,eAAO,MAAM,SAAS,EAAE,QAItB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/concepts/variant/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -1 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The set of variant names, as an open registry.
|
|
3
|
+
*
|
|
4
|
+
* A variant names an *intent* — what an action means — and it is the theme's job
|
|
5
|
+
* to describe the visual application of that intent. So the set cannot be Uni's
|
|
6
|
+
* to fix: a design system needs its own vocabulary (`destructive`, `subtle`,
|
|
7
|
+
* `info`), not a translation layer onto ours.
|
|
8
|
+
*
|
|
9
|
+
* Declared as an interface rather than a union so consumers can extend it by
|
|
10
|
+
* declaration merging:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* declare module '@uni-design-system/uni-core' {
|
|
14
|
+
* interface UniVariantRegistry {
|
|
15
|
+
* destructive: true;
|
|
16
|
+
* subtle: true;
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* That buys what an open union like {@link NullableSize}'s `(string & {})`
|
|
22
|
+
* cannot: `variant="destructive"` compiles once registered, and a typo like
|
|
23
|
+
* `variant="destructve"` still fails. It also keeps autocomplete on the theme's
|
|
24
|
+
* `variants` map, which a `string` arm would collapse.
|
|
25
|
+
*
|
|
26
|
+
* **The registry extends; it cannot replace.** Declaration merging has no way to
|
|
27
|
+
* remove a member, so Uni's names stay legal in every consuming app. Enforcing a
|
|
28
|
+
* closed house set is a lint concern, not a type one.
|
|
29
|
+
*
|
|
30
|
+
* **Two names are reserved** and must remain present:
|
|
31
|
+
* - `primary` — every component inherits it as its default variant.
|
|
32
|
+
* - `disabled` — the disabled state resolves to it (`uni-tag` swaps to it
|
|
33
|
+
* wholesale; `uni-button` and `uni-icon-button` read its style block).
|
|
34
|
+
*/
|
|
35
|
+
export interface UniVariantRegistry {
|
|
36
|
+
ghost: true;
|
|
37
|
+
primary: true;
|
|
38
|
+
secondary: true;
|
|
39
|
+
tertiary: true;
|
|
40
|
+
quaternary: true;
|
|
41
|
+
warn: true;
|
|
42
|
+
success: true;
|
|
43
|
+
disabled: true;
|
|
44
|
+
light: true;
|
|
45
|
+
onLight: true;
|
|
46
|
+
dark: true;
|
|
47
|
+
onDark: true;
|
|
48
|
+
}
|
|
49
|
+
/** A style archetype's name. Open — see {@link UniVariantRegistry}. */
|
|
50
|
+
export type Variant = keyof UniVariantRegistry;
|
|
1
51
|
//# sourceMappingURL=variant.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variant.types.d.ts","sourceRoot":"","sources":["../../../../src/concepts/variant/variant.types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"variant.types.d.ts","sourceRoot":"","sources":["../../../../src/concepts/variant/variant.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC"}
|