@vaneui/ui 1.4.0 → 1.4.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.
- package/CHANGELOG.md +43 -1
- package/dist/cjs/components/defaultTheme.cjs +2 -0
- package/dist/cjs/components/defaultTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/field/Field.cjs +103 -8
- package/dist/cjs/components/ui/field/Field.cjs.map +1 -1
- package/dist/cjs/components/ui/field/FieldCategories.cjs +2 -1
- package/dist/cjs/components/ui/field/FieldCategories.cjs.map +1 -1
- package/dist/cjs/components/ui/field/defaultFieldControlRowTheme.cjs +23 -0
- package/dist/cjs/components/ui/field/defaultFieldControlRowTheme.cjs.map +1 -0
- package/dist/cjs/components/ui/field/fieldControlRowDefaults.cjs +17 -0
- package/dist/cjs/components/ui/field/fieldControlRowDefaults.cjs.map +1 -0
- package/dist/cjs/components/ui/field/fieldControls.cjs +41 -0
- package/dist/cjs/components/ui/field/fieldControls.cjs.map +1 -0
- package/dist/cjs/components/ui/field/fieldDefaults.cjs.map +1 -1
- package/dist/cjs/components/ui/field/index.cjs +4 -0
- package/dist/cjs/components/ui/field/index.cjs.map +1 -1
- package/dist/cjs/components/ui/props/categoryBuilders.cjs +2 -0
- package/dist/cjs/components/ui/props/categoryBuilders.cjs.map +1 -1
- package/dist/cjs/components/ui/props/index.cjs +1 -0
- package/dist/cjs/components/ui/props/index.cjs.map +1 -1
- package/dist/cjs/components/ui/props/keys.cjs +5 -1
- package/dist/cjs/components/ui/props/keys.cjs.map +1 -1
- package/dist/cjs/components/ui/props/propDescriptions.cjs +24 -0
- package/dist/cjs/components/ui/props/propDescriptions.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs +10 -0
- package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/defaults.cjs +23 -5
- package/dist/cjs/components/ui/theme/defaults.cjs.map +1 -1
- package/dist/cjs/components/ui/typography/index.cjs +1 -0
- package/dist/cjs/components/ui/typography/index.cjs.map +1 -1
- package/dist/cjs/components/utils/componentUtils.cjs +5 -0
- package/dist/cjs/components/utils/componentUtils.cjs.map +1 -1
- package/dist/cjs/index.cjs +27 -20
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/components/defaultTheme.mjs +2 -0
- package/dist/esm/components/defaultTheme.mjs.map +1 -1
- package/dist/esm/components/ui/field/Field.mjs +106 -11
- package/dist/esm/components/ui/field/Field.mjs.map +1 -1
- package/dist/esm/components/ui/field/FieldCategories.mjs +3 -2
- package/dist/esm/components/ui/field/FieldCategories.mjs.map +1 -1
- package/dist/esm/components/ui/field/defaultFieldControlRowTheme.mjs +21 -0
- package/dist/esm/components/ui/field/defaultFieldControlRowTheme.mjs.map +1 -0
- package/dist/esm/components/ui/field/fieldControlRowDefaults.mjs +15 -0
- package/dist/esm/components/ui/field/fieldControlRowDefaults.mjs.map +1 -0
- package/dist/esm/components/ui/field/fieldControls.mjs +38 -0
- package/dist/esm/components/ui/field/fieldControls.mjs.map +1 -0
- package/dist/esm/components/ui/field/fieldDefaults.mjs.map +1 -1
- package/dist/esm/components/ui/field/index.mjs +2 -0
- package/dist/esm/components/ui/field/index.mjs.map +1 -1
- package/dist/esm/components/ui/props/categoryBuilders.mjs +2 -1
- package/dist/esm/components/ui/props/categoryBuilders.mjs.map +1 -1
- package/dist/esm/components/ui/props/index.mjs +1 -1
- package/dist/esm/components/ui/props/keys.mjs +6 -3
- package/dist/esm/components/ui/props/keys.mjs.map +1 -1
- package/dist/esm/components/ui/props/propDescriptions.mjs +24 -0
- package/dist/esm/components/ui/props/propDescriptions.mjs.map +1 -1
- package/dist/esm/components/ui/theme/common/ComponentTheme.mjs +11 -1
- package/dist/esm/components/ui/theme/common/ComponentTheme.mjs.map +1 -1
- package/dist/esm/components/ui/theme/defaults.mjs +23 -5
- package/dist/esm/components/ui/theme/defaults.mjs.map +1 -1
- package/dist/esm/components/ui/typography/index.mjs +1 -0
- package/dist/esm/components/ui/typography/index.mjs.map +1 -1
- package/dist/esm/components/utils/componentUtils.mjs +5 -1
- package/dist/esm/components/utils/componentUtils.mjs.map +1 -1
- package/dist/esm/index.mjs +17 -10
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/components/themeTypes.d.cts +1 -0
- package/dist/types/components/themeTypes.d.mts +1 -0
- package/dist/types/components/themeTypes.d.ts +1 -0
- package/dist/types/components/ui/field/Field.d.cts +418 -5
- package/dist/types/components/ui/field/Field.d.mts +418 -5
- package/dist/types/components/ui/field/Field.d.ts +418 -5
- package/dist/types/components/ui/field/FieldCategories.d.cts +1 -1
- package/dist/types/components/ui/field/FieldCategories.d.mts +1 -1
- package/dist/types/components/ui/field/FieldCategories.d.ts +1 -1
- package/dist/types/components/ui/field/FieldProps.d.cts +17 -1
- package/dist/types/components/ui/field/FieldProps.d.mts +17 -1
- package/dist/types/components/ui/field/FieldProps.d.ts +17 -1
- package/dist/types/components/ui/field/defaultFieldControlRowTheme.d.cts +4 -0
- package/dist/types/components/ui/field/defaultFieldControlRowTheme.d.mts +4 -0
- package/dist/types/components/ui/field/defaultFieldControlRowTheme.d.ts +4 -0
- package/dist/types/components/ui/field/fieldControlRowDefaults.d.cts +3 -0
- package/dist/types/components/ui/field/fieldControlRowDefaults.d.mts +3 -0
- package/dist/types/components/ui/field/fieldControlRowDefaults.d.ts +3 -0
- package/dist/types/components/ui/field/fieldControls.d.cts +14 -0
- package/dist/types/components/ui/field/fieldControls.d.mts +14 -0
- package/dist/types/components/ui/field/fieldControls.d.ts +14 -0
- package/dist/types/components/ui/field/fieldDefaults.d.cts +1 -1
- package/dist/types/components/ui/field/fieldDefaults.d.mts +1 -1
- package/dist/types/components/ui/field/fieldDefaults.d.ts +1 -1
- package/dist/types/components/ui/field/index.d.cts +3 -1
- package/dist/types/components/ui/field/index.d.mts +3 -1
- package/dist/types/components/ui/field/index.d.ts +3 -1
- package/dist/types/components/ui/props/categoryBuilders.d.cts +1 -0
- package/dist/types/components/ui/props/categoryBuilders.d.mts +1 -0
- package/dist/types/components/ui/props/categoryBuilders.d.ts +1 -0
- package/dist/types/components/ui/props/controlProps.d.cts +15 -0
- package/dist/types/components/ui/props/controlProps.d.mts +15 -0
- package/dist/types/components/ui/props/controlProps.d.ts +15 -0
- package/dist/types/components/ui/props/keys.d.cts +5 -3
- package/dist/types/components/ui/props/keys.d.mts +5 -3
- package/dist/types/components/ui/props/keys.d.ts +5 -3
- package/dist/types/components/ui/props/props.d.cts +1 -0
- package/dist/types/components/ui/props/props.d.mts +1 -0
- package/dist/types/components/ui/props/props.d.ts +1 -0
- package/dist/types/components/utils/componentUtils.d.cts +2 -0
- package/dist/types/components/utils/componentUtils.d.mts +2 -0
- package/dist/types/components/utils/componentUtils.d.ts +2 -0
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.mts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/ui.css +1 -1
- package/dist/vars.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -27,8 +27,13 @@ function collectTruthyKeysByCategory(props, defaults, category) {
|
|
|
27
27
|
const reset = selected.find((k) => k.startsWith("no"));
|
|
28
28
|
return reset ? [reset] : selected;
|
|
29
29
|
}
|
|
30
|
+
function resetConflictKey(truthyKeys) {
|
|
31
|
+
const reset = truthyKeys.find((k) => k.startsWith("no"));
|
|
32
|
+
return reset && truthyKeys.length > 1 ? reset : void 0;
|
|
33
|
+
}
|
|
30
34
|
|
|
31
35
|
exports.MULTI_VALUE_CATEGORIES = MULTI_VALUE_CATEGORIES;
|
|
32
36
|
exports.collectTruthyKeysByCategory = collectTruthyKeysByCategory;
|
|
33
37
|
exports.pickFirstTruthyKeyByCategory = pickFirstTruthyKeyByCategory;
|
|
38
|
+
exports.resetConflictKey = resetConflictKey;
|
|
34
39
|
//# sourceMappingURL=componentUtils.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentUtils.cjs","sources":["../../../../src/components/utils/componentUtils.ts"],"sourcesContent":["import {\n ComponentKeys,\n ComponentCategoryKey,\n} from '../ui/props';\n\nexport function pickFirstTruthyKeyByCategory<T extends ComponentCategoryKey>(\n props: Record<string, unknown>,\n defaults: Record<string, unknown>,\n category: T\n): typeof ComponentKeys[T][number] | undefined {\n const keys = ComponentKeys[category];\n\n const falsyKeys: string[] = [];\n\n for (const k of keys) {\n const p = props[k];\n if (p === true)\n return k as typeof ComponentKeys[T][number];\n if (p === false)\n falsyKeys.push(k);\n }\n\n for (const k of keys) {\n const d = defaults[k];\n if (d === true && !falsyKeys.includes(k))\n return k as typeof ComponentKeys[T][number];\n }\n\n return undefined;\n}\n\n/** Categories whose side toggles compose (union) instead of being one-of. */\nexport const MULTI_VALUE_CATEGORIES = new Set<string>(['border', 'margin']);\n\n/**\n * Collect every active key for a composable category (border/margin). Explicit\n * truthy props win over defaults as a set; a `no*` reset (noBorder/noMargin) in\n * the selection overrides all side toggles.\n */\nexport function collectTruthyKeysByCategory<T extends ComponentCategoryKey>(\n props: Record<string, unknown>,\n defaults: Record<string, unknown>,\n category: T\n): string[] {\n const keys = ComponentKeys[category] as readonly string[];\n\n const explicitOn = keys.filter(k => props[k] === true);\n const selected = explicitOn.length > 0\n ? explicitOn\n : keys.filter(k => defaults[k] === true && props[k] !== false);\n\n const reset = selected.find(k => k.startsWith('no'));\n return reset ? [reset] : selected;\n}\n"],"names":["keys","ComponentKeys"],"mappings":";;;;AAKO,SAAS,4BAAA,CACd,KAAA,EACA,QAAA,EACA,QAAA,EAC6C;AAC7C,EAAA,MAAMA,MAAA,GAAOC,mBAAc,QAAQ,CAAA;AAEnC,EAAA,MAAM,YAAsB,EAAC;AAE7B,EAAA,KAAA,MAAW,KAAKD,MAAA,EAAM;AACpB,IAAA,MAAM,CAAA,GAAI,MAAM,CAAC,CAAA;AACjB,IAAA,IAAI,CAAA,KAAM,IAAA;AACR,MAAA,OAAO,CAAA;AACT,IAAA,IAAI,CAAA,KAAM,KAAA;AACR,MAAA,SAAA,CAAU,KAAK,CAAC,CAAA;AAAA,EACpB;AAEA,EAAA,KAAA,MAAW,KAAKA,MAAA,EAAM;AACpB,IAAA,MAAM,CAAA,GAAI,SAAS,CAAC,CAAA;AACpB,IAAA,IAAI,CAAA,KAAM,IAAA,IAAQ,CAAC,SAAA,CAAU,SAAS,CAAC,CAAA;AACrC,MAAA,OAAO,CAAA;AAAA,EACX;AAEA,EAAA,OAAO,MAAA;AACT;AAGO,MAAM,yCAAyB,IAAI,GAAA,CAAY,CAAC,QAAA,EAAU,QAAQ,CAAC;AAOnE,SAAS,2BAAA,CACd,KAAA,EACA,QAAA,EACA,QAAA,EACU;AACV,EAAA,MAAMA,MAAA,GAAOC,mBAAc,QAAQ,CAAA;AAEnC,EAAA,MAAM,aAAaD,MAAA,CAAK,MAAA,CAAO,OAAK,KAAA,CAAM,CAAC,MAAM,IAAI,CAAA;AACrD,EAAA,MAAM,QAAA,GAAW,UAAA,CAAW,MAAA,GAAS,CAAA,GACjC,aACAA,MAAA,CAAK,MAAA,CAAO,CAAA,CAAA,KAAK,QAAA,CAAS,CAAC,CAAA,KAAM,IAAA,IAAQ,KAAA,CAAM,CAAC,MAAM,KAAK,CAAA;AAE/D,EAAA,MAAM,QAAQ,QAAA,CAAS,IAAA,CAAK,OAAK,CAAA,CAAE,UAAA,CAAW,IAAI,CAAC,CAAA;AACnD,EAAA,OAAO,KAAA,GAAQ,CAAC,KAAK,CAAA,GAAI,QAAA;AAC3B
|
|
1
|
+
{"version":3,"file":"componentUtils.cjs","sources":["../../../../src/components/utils/componentUtils.ts"],"sourcesContent":["import {\n ComponentKeys,\n ComponentCategoryKey,\n} from '../ui/props';\n\nexport function pickFirstTruthyKeyByCategory<T extends ComponentCategoryKey>(\n props: Record<string, unknown>,\n defaults: Record<string, unknown>,\n category: T\n): typeof ComponentKeys[T][number] | undefined {\n const keys = ComponentKeys[category];\n\n const falsyKeys: string[] = [];\n\n for (const k of keys) {\n const p = props[k];\n if (p === true)\n return k as typeof ComponentKeys[T][number];\n if (p === false)\n falsyKeys.push(k);\n }\n\n for (const k of keys) {\n const d = defaults[k];\n if (d === true && !falsyKeys.includes(k))\n return k as typeof ComponentKeys[T][number];\n }\n\n return undefined;\n}\n\n/** Categories whose side toggles compose (union) instead of being one-of. */\nexport const MULTI_VALUE_CATEGORIES = new Set<string>(['border', 'margin']);\n\n/**\n * Collect every active key for a composable category (border/margin). Explicit\n * truthy props win over defaults as a set; a `no*` reset (noBorder/noMargin) in\n * the selection overrides all side toggles.\n */\nexport function collectTruthyKeysByCategory<T extends ComponentCategoryKey>(\n props: Record<string, unknown>,\n defaults: Record<string, unknown>,\n category: T\n): string[] {\n const keys = ComponentKeys[category] as readonly string[];\n\n const explicitOn = keys.filter(k => props[k] === true);\n const selected = explicitOn.length > 0\n ? explicitOn\n : keys.filter(k => defaults[k] === true && props[k] !== false);\n\n const reset = selected.find(k => k.startsWith('no'));\n return reset ? [reset] : selected;\n}\n\n/** Reset key that wins when a multi-value category's truthy keys mix a `no*` reset with side toggles. */\nexport function resetConflictKey(truthyKeys: readonly string[]): string | undefined {\n const reset = truthyKeys.find(k => k.startsWith('no'));\n return reset && truthyKeys.length > 1 ? reset : undefined;\n}\n"],"names":["keys","ComponentKeys"],"mappings":";;;;AAKO,SAAS,4BAAA,CACd,KAAA,EACA,QAAA,EACA,QAAA,EAC6C;AAC7C,EAAA,MAAMA,MAAA,GAAOC,mBAAc,QAAQ,CAAA;AAEnC,EAAA,MAAM,YAAsB,EAAC;AAE7B,EAAA,KAAA,MAAW,KAAKD,MAAA,EAAM;AACpB,IAAA,MAAM,CAAA,GAAI,MAAM,CAAC,CAAA;AACjB,IAAA,IAAI,CAAA,KAAM,IAAA;AACR,MAAA,OAAO,CAAA;AACT,IAAA,IAAI,CAAA,KAAM,KAAA;AACR,MAAA,SAAA,CAAU,KAAK,CAAC,CAAA;AAAA,EACpB;AAEA,EAAA,KAAA,MAAW,KAAKA,MAAA,EAAM;AACpB,IAAA,MAAM,CAAA,GAAI,SAAS,CAAC,CAAA;AACpB,IAAA,IAAI,CAAA,KAAM,IAAA,IAAQ,CAAC,SAAA,CAAU,SAAS,CAAC,CAAA;AACrC,MAAA,OAAO,CAAA;AAAA,EACX;AAEA,EAAA,OAAO,MAAA;AACT;AAGO,MAAM,yCAAyB,IAAI,GAAA,CAAY,CAAC,QAAA,EAAU,QAAQ,CAAC;AAOnE,SAAS,2BAAA,CACd,KAAA,EACA,QAAA,EACA,QAAA,EACU;AACV,EAAA,MAAMA,MAAA,GAAOC,mBAAc,QAAQ,CAAA;AAEnC,EAAA,MAAM,aAAaD,MAAA,CAAK,MAAA,CAAO,OAAK,KAAA,CAAM,CAAC,MAAM,IAAI,CAAA;AACrD,EAAA,MAAM,QAAA,GAAW,UAAA,CAAW,MAAA,GAAS,CAAA,GACjC,aACAA,MAAA,CAAK,MAAA,CAAO,CAAA,CAAA,KAAK,QAAA,CAAS,CAAC,CAAA,KAAM,IAAA,IAAQ,KAAA,CAAM,CAAC,MAAM,KAAK,CAAA;AAE/D,EAAA,MAAM,QAAQ,QAAA,CAAS,IAAA,CAAK,OAAK,CAAA,CAAE,UAAA,CAAW,IAAI,CAAC,CAAA;AACnD,EAAA,OAAO,KAAA,GAAQ,CAAC,KAAK,CAAA,GAAI,QAAA;AAC3B;AAGO,SAAS,iBAAiB,UAAA,EAAmD;AAClF,EAAA,MAAM,QAAQ,UAAA,CAAW,IAAA,CAAK,OAAK,CAAA,CAAE,UAAA,CAAW,IAAI,CAAC,CAAA;AACrD,EAAA,OAAO,KAAA,IAAS,UAAA,CAAW,MAAA,GAAS,CAAA,GAAI,KAAA,GAAQ,MAAA;AAClD;;;;;;;"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -35,6 +35,7 @@ var Field = require('./components/ui/field/Field.cjs');
|
|
|
35
35
|
require('./components/ui/field/FieldCategories.cjs');
|
|
36
36
|
require('./components/ui/field/defaultFieldTheme.cjs');
|
|
37
37
|
require('./components/ui/field/defaultFieldLabelTheme.cjs');
|
|
38
|
+
require('./components/ui/field/defaultFieldControlRowTheme.cjs');
|
|
38
39
|
require('./components/ui/field/defaultFieldDescriptionTheme.cjs');
|
|
39
40
|
require('./components/ui/field/defaultFieldErrorTheme.cjs');
|
|
40
41
|
require('./components/ui/field/FieldContext.cjs');
|
|
@@ -102,6 +103,8 @@ var NavLink = require('./components/ui/navLink/NavLink.cjs');
|
|
|
102
103
|
require('./components/ui/navLink/defaultNavLinkTheme.cjs');
|
|
103
104
|
require('./components/ui/navLink/NavLinkLabelCategories.cjs');
|
|
104
105
|
require('./components/ui/navLink/defaultNavLinkLabelTheme.cjs');
|
|
106
|
+
var Col = require('./components/ui/col/Col.cjs');
|
|
107
|
+
var Row = require('./components/ui/row/Row.cjs');
|
|
105
108
|
var Table = require('./components/ui/table/Table.cjs');
|
|
106
109
|
require('./components/ui/table/TableCategories.cjs');
|
|
107
110
|
require('./components/ui/table/defaultTableTheme.cjs');
|
|
@@ -123,6 +126,20 @@ var Caption = require('./components/ui/table/Caption.cjs');
|
|
|
123
126
|
require('./components/ui/table/CaptionCategories.cjs');
|
|
124
127
|
require('./components/ui/table/defaultCaptionTheme.cjs');
|
|
125
128
|
require('./components/ui/typography/common/TypographyCategories.cjs');
|
|
129
|
+
var Text = require('./components/ui/typography/text/Text.cjs');
|
|
130
|
+
var Blockquote = require('./components/ui/typography/blockquote/Blockquote.cjs');
|
|
131
|
+
require('./components/ui/typography/blockquote/defaultBlockquoteTheme.cjs');
|
|
132
|
+
var Title = require('./components/ui/typography/title/Title.cjs');
|
|
133
|
+
var SectionTitle = require('./components/ui/typography/sectionTitle/SectionTitle.cjs');
|
|
134
|
+
var PageTitle = require('./components/ui/typography/pageTitle/PageTitle.cjs');
|
|
135
|
+
var Link = require('./components/ui/typography/link/Link.cjs');
|
|
136
|
+
require('./components/ui/typography/link/LinkCategories.cjs');
|
|
137
|
+
require('./components/ui/typography/link/defaultLinkTheme.cjs');
|
|
138
|
+
var List = require('./components/ui/typography/list/List.cjs');
|
|
139
|
+
require('./components/ui/typography/list/defaultListTheme.cjs');
|
|
140
|
+
var ListItem = require('./components/ui/typography/listItem/ListItem.cjs');
|
|
141
|
+
require('./components/ui/typography/listItem/ListItemCategories.cjs');
|
|
142
|
+
require('./components/ui/typography/listItem/defaultListItemTheme.cjs');
|
|
126
143
|
var keys = require('./components/ui/props/keys.cjs');
|
|
127
144
|
var ThemeProvider = require('./components/ThemeProvider.cjs');
|
|
128
145
|
var defaultTheme = require('./components/defaultTheme.cjs');
|
|
@@ -130,8 +147,6 @@ var themeContext = require('./components/themeContext.cjs');
|
|
|
130
147
|
var defaults = require('./components/ui/theme/defaults.cjs');
|
|
131
148
|
var Section = require('./components/ui/section/Section.cjs');
|
|
132
149
|
var Container = require('./components/ui/container/Container.cjs');
|
|
133
|
-
var Col = require('./components/ui/col/Col.cjs');
|
|
134
|
-
var Row = require('./components/ui/row/Row.cjs');
|
|
135
150
|
var Stack = require('./components/ui/stack/Stack.cjs');
|
|
136
151
|
var Grid2 = require('./components/ui/grid/Grid2.cjs');
|
|
137
152
|
var Grid3 = require('./components/ui/grid/Grid3.cjs');
|
|
@@ -142,14 +157,6 @@ var Card = require('./components/ui/card/Card.cjs');
|
|
|
142
157
|
var CardHeader = require('./components/ui/card/CardHeader.cjs');
|
|
143
158
|
var CardBody = require('./components/ui/card/CardBody.cjs');
|
|
144
159
|
var CardFooter = require('./components/ui/card/CardFooter.cjs');
|
|
145
|
-
var Text = require('./components/ui/typography/text/Text.cjs');
|
|
146
|
-
var Title = require('./components/ui/typography/title/Title.cjs');
|
|
147
|
-
var Link = require('./components/ui/typography/link/Link.cjs');
|
|
148
|
-
var List = require('./components/ui/typography/list/List.cjs');
|
|
149
|
-
var ListItem = require('./components/ui/typography/listItem/ListItem.cjs');
|
|
150
|
-
var SectionTitle = require('./components/ui/typography/sectionTitle/SectionTitle.cjs');
|
|
151
|
-
var PageTitle = require('./components/ui/typography/pageTitle/PageTitle.cjs');
|
|
152
|
-
var Blockquote = require('./components/ui/typography/blockquote/Blockquote.cjs');
|
|
153
160
|
|
|
154
161
|
|
|
155
162
|
|
|
@@ -187,6 +194,8 @@ exports.Menu = Menu.Menu;
|
|
|
187
194
|
exports.MenuItem = MenuItem.MenuItem;
|
|
188
195
|
exports.MenuLabel = MenuLabel.MenuLabel;
|
|
189
196
|
exports.NavLink = NavLink.NavLink;
|
|
197
|
+
exports.Col = Col.Col;
|
|
198
|
+
exports.Row = Row.Row;
|
|
190
199
|
exports.Table = Table.Table;
|
|
191
200
|
exports.Thead = Thead.Thead;
|
|
192
201
|
exports.Tbody = Tbody.Tbody;
|
|
@@ -195,6 +204,14 @@ exports.Tr = Tr.Tr;
|
|
|
195
204
|
exports.Th = Th.Th;
|
|
196
205
|
exports.Td = Td.Td;
|
|
197
206
|
exports.Caption = Caption.Caption;
|
|
207
|
+
exports.Text = Text.Text;
|
|
208
|
+
exports.Blockquote = Blockquote.Blockquote;
|
|
209
|
+
exports.Title = Title.Title;
|
|
210
|
+
exports.SectionTitle = SectionTitle.SectionTitle;
|
|
211
|
+
exports.PageTitle = PageTitle.PageTitle;
|
|
212
|
+
exports.Link = Link.Link;
|
|
213
|
+
exports.List = List.List;
|
|
214
|
+
exports.ListItem = ListItem.ListItem;
|
|
198
215
|
exports.COMPONENT = keys.COMPONENT;
|
|
199
216
|
exports.ComponentCategories = keys.ComponentCategories;
|
|
200
217
|
exports.ComponentKeys = keys.ComponentKeys;
|
|
@@ -204,8 +221,6 @@ exports.useTheme = themeContext.useTheme;
|
|
|
204
221
|
exports.themeDefaults = defaults.themeDefaults;
|
|
205
222
|
exports.Section = Section.Section;
|
|
206
223
|
exports.Container = Container.Container;
|
|
207
|
-
exports.Col = Col.Col;
|
|
208
|
-
exports.Row = Row.Row;
|
|
209
224
|
exports.Stack = Stack.Stack;
|
|
210
225
|
exports.Grid2 = Grid2.Grid2;
|
|
211
226
|
exports.Grid3 = Grid3.Grid3;
|
|
@@ -216,12 +231,4 @@ exports.Card = Card.Card;
|
|
|
216
231
|
exports.CardHeader = CardHeader.CardHeader;
|
|
217
232
|
exports.CardBody = CardBody.CardBody;
|
|
218
233
|
exports.CardFooter = CardFooter.CardFooter;
|
|
219
|
-
exports.Text = Text.Text;
|
|
220
|
-
exports.Title = Title.Title;
|
|
221
|
-
exports.Link = Link.Link;
|
|
222
|
-
exports.List = List.List;
|
|
223
|
-
exports.ListItem = ListItem.ListItem;
|
|
224
|
-
exports.SectionTitle = SectionTitle.SectionTitle;
|
|
225
|
-
exports.PageTitle = PageTitle.PageTitle;
|
|
226
|
-
exports.Blockquote = Blockquote.Blockquote;
|
|
227
234
|
//# sourceMappingURL=index.cjs.map
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -36,6 +36,7 @@ import { defaultAlertTheme } from './ui/alert/defaultAlertTheme.mjs';
|
|
|
36
36
|
import { defaultSpinnerTheme } from './ui/spinner/defaultSpinnerTheme.mjs';
|
|
37
37
|
import { defaultTooltipTheme } from './ui/tooltip/defaultTooltipTheme.mjs';
|
|
38
38
|
import { defaultFieldLabelTheme } from './ui/field/defaultFieldLabelTheme.mjs';
|
|
39
|
+
import { defaultFieldControlRowTheme } from './ui/field/defaultFieldControlRowTheme.mjs';
|
|
39
40
|
import { defaultFieldDescriptionTheme } from './ui/field/defaultFieldDescriptionTheme.mjs';
|
|
40
41
|
import { defaultFieldErrorTheme } from './ui/field/defaultFieldErrorTheme.mjs';
|
|
41
42
|
import { defaultImgTheme } from './ui/img/defaultImgTheme.mjs';
|
|
@@ -129,6 +130,7 @@ const defaultTheme = {
|
|
|
129
130
|
field: {
|
|
130
131
|
main: defaultFieldTheme,
|
|
131
132
|
label: defaultFieldLabelTheme,
|
|
133
|
+
controlRow: defaultFieldControlRowTheme,
|
|
132
134
|
description: defaultFieldDescriptionTheme,
|
|
133
135
|
error: defaultFieldErrorTheme
|
|
134
136
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTheme.mjs","sources":["../../../src/components/defaultTheme.ts"],"sourcesContent":["import type { ThemeProps } from './themeTypes';\nimport { defaultButtonTheme } from './ui/button/defaultButtonTheme';\nimport { defaultButtonSpinnerTheme } from './ui/button/defaultButtonSpinnerTheme';\nimport { defaultBadgeTheme } from './ui/badge/defaultBadgeTheme';\nimport { defaultChipTheme } from './ui/chip/defaultChipTheme';\nimport { defaultCodeTheme } from './ui/code/defaultCodeTheme';\nimport { defaultTextTheme } from './ui/typography/text/defaultTextTheme';\nimport { defaultTitleTheme } from './ui/typography/title/defaultTitleTheme';\nimport { defaultSectionTitleTheme } from './ui/typography/sectionTitle/defaultSectionTitleTheme';\nimport { defaultPageTitleTheme } from './ui/typography/pageTitle/defaultPageTitleTheme';\nimport { defaultLinkTheme } from './ui/typography/link/defaultLinkTheme';\nimport { defaultListTheme } from './ui/typography/list/defaultListTheme';\nimport { defaultListItemTheme } from './ui/typography/listItem/defaultListItemTheme';\nimport { defaultCardTheme } from \"./ui/card/defaultCardTheme\";\nimport { defaultCardHeaderTheme } from './ui/card/defaultCardHeaderTheme';\nimport { defaultCardBodyTheme } from './ui/card/defaultCardBodyTheme';\nimport { defaultCardFooterTheme } from './ui/card/defaultCardFooterTheme';\nimport { defaultRowTheme } from \"./ui/row/defaultRowTheme\";\nimport { defaultDividerTheme } from './ui/divider/defaultDividerTheme';\nimport { defaultMenuDividerTheme } from './ui/divider/defaultMenuDividerTheme';\nimport { defaultContainerTheme } from './ui/container/defaultContainerTheme';\nimport { defaultColTheme } from './ui/col/defaultColTheme';\nimport { defaultStackTheme } from './ui/stack/defaultStackTheme';\nimport { defaultSectionTheme } from \"./ui/section/defaultSectionTheme\";\nimport { defaultGrid2Theme } from \"./ui/grid/defaultGrid2Theme\";\nimport { defaultGrid3Theme } from \"./ui/grid/defaultGrid3Theme\";\nimport { defaultGrid4Theme } from \"./ui/grid/defaultGrid4Theme\";\nimport { defaultGrid5Theme } from \"./ui/grid/defaultGrid5Theme\";\nimport { defaultGrid6Theme } from \"./ui/grid/defaultGrid6Theme\";\nimport { defaultCheckboxTheme } from './ui/checkbox/defaultCheckboxTheme';\nimport { defaultCheckboxCheckTheme } from './ui/checkbox/defaultCheckboxCheckTheme';\nimport { defaultCheckboxIndeterminateTheme } from './ui/checkbox/defaultCheckboxIndeterminateTheme';\nimport { defaultCheckboxWrapperTheme } from './ui/checkbox/defaultCheckboxWrapperTheme';\nimport { defaultLabelTheme } from './ui/label/defaultLabelTheme';\nimport { defaultFieldTheme } from './ui/field/defaultFieldTheme';\nimport { defaultAlertTheme } from './ui/alert/defaultAlertTheme';\nimport { defaultSpinnerTheme } from './ui/spinner/defaultSpinnerTheme';\nimport { defaultTooltipTheme } from './ui/tooltip/defaultTooltipTheme';\nimport { defaultFieldLabelTheme } from './ui/field/defaultFieldLabelTheme';\nimport { defaultFieldDescriptionTheme } from './ui/field/defaultFieldDescriptionTheme';\nimport { defaultFieldErrorTheme } from './ui/field/defaultFieldErrorTheme';\nimport { defaultImgTheme } from './ui/img/defaultImgTheme';\nimport { defaultInputTheme } from './ui/input/defaultInputTheme';\nimport { defaultInputErrorIconTheme } from './ui/input/defaultInputErrorIconTheme';\nimport { defaultInputWrapperTheme } from './ui/input/defaultInputWrapperTheme';\nimport { defaultTextareaTheme } from './ui/textarea/defaultTextareaTheme';\nimport { defaultSelectTheme } from './ui/select/defaultSelectTheme';\nimport { defaultSelectChevronTheme } from './ui/select/defaultSelectChevronTheme';\nimport { defaultSelectWrapperTheme } from './ui/select/defaultSelectWrapperTheme';\nimport { defaultSwitchTheme } from './ui/switch/defaultSwitchTheme';\nimport { defaultSwitchThumbTheme } from './ui/switch/defaultSwitchThumbTheme';\nimport { defaultSwitchWrapperTheme } from './ui/switch/defaultSwitchWrapperTheme';\nimport { defaultRadioTheme } from './ui/radio/defaultRadioTheme';\nimport { defaultRadioDotTheme } from './ui/radio/defaultRadioDotTheme';\nimport { defaultRadioWrapperTheme } from './ui/radio/defaultRadioWrapperTheme';\nimport { defaultRadioGroupTheme } from './ui/radio/defaultRadioGroupTheme';\nimport { defaultOverlayTheme } from './ui/overlay/defaultOverlayTheme';\nimport { defaultModalContentTheme } from './ui/modal/defaultModalContentTheme';\nimport { defaultModalOverlayTheme } from './ui/modal/defaultModalOverlayTheme';\nimport { defaultModalHeaderTheme } from './ui/modal/defaultModalHeaderTheme';\nimport { defaultModalBodyTheme } from './ui/modal/defaultModalBodyTheme';\nimport { defaultModalFooterTheme } from './ui/modal/defaultModalFooterTheme';\nimport { defaultModalCloseButtonTheme } from './ui/modal/defaultModalCloseButtonTheme';\nimport { defaultPopupTheme } from './ui/popup/defaultPopupTheme';\nimport { defaultIconButtonTheme } from './ui/iconButton/defaultIconButtonTheme';\nimport { defaultIconTheme } from './ui/icon/defaultIconTheme';\nimport { defaultBlockquoteTheme } from './ui/typography/blockquote/defaultBlockquoteTheme';\nimport { defaultBlockquoteCiteTheme } from './ui/typography/blockquote/defaultBlockquoteCiteTheme';\nimport { defaultKbdTheme } from './ui/kbd/defaultKbdTheme';\nimport { defaultMarkTheme } from './ui/mark/defaultMarkTheme';\nimport { defaultMenuItemTheme } from './ui/menu/defaultMenuItemTheme';\nimport { defaultMenuLabelTheme } from './ui/menu/defaultMenuLabelTheme';\nimport { defaultMenuPopupTheme } from './ui/menu/defaultMenuPopupTheme';\nimport { defaultNavLinkTheme } from './ui/navLink/defaultNavLinkTheme';\nimport { defaultNavLinkLabelTheme } from './ui/navLink/defaultNavLinkLabelTheme';\nimport { defaultTableTheme } from './ui/table/defaultTableTheme';\nimport { defaultTheadTheme } from './ui/table/defaultTheadTheme';\nimport { defaultTbodyTheme } from './ui/table/defaultTbodyTheme';\nimport { defaultTfootTheme } from './ui/table/defaultTfootTheme';\nimport { defaultTrTheme } from './ui/table/defaultTrTheme';\nimport { defaultThTheme } from './ui/table/defaultThTheme';\nimport { defaultTdTheme } from './ui/table/defaultTdTheme';\nimport { defaultCaptionTheme } from './ui/table/defaultCaptionTheme';\n\nexport const defaultTheme: ThemeProps = {\n button: {\n main: defaultButtonTheme,\n spinner: defaultButtonSpinnerTheme,\n },\n iconButton: defaultIconButtonTheme,\n badge: defaultBadgeTheme,\n icon: defaultIconTheme,\n chip: defaultChipTheme,\n code: defaultCodeTheme,\n kbd: defaultKbdTheme,\n mark: defaultMarkTheme,\n card: {\n main: defaultCardTheme,\n header: defaultCardHeaderTheme,\n body: defaultCardBodyTheme,\n footer: defaultCardFooterTheme,\n },\n divider: defaultDividerTheme,\n container: defaultContainerTheme,\n row: defaultRowTheme,\n col: defaultColTheme,\n stack: defaultStackTheme,\n section: defaultSectionTheme,\n grid2: defaultGrid2Theme,\n grid3: defaultGrid3Theme,\n grid4: defaultGrid4Theme,\n grid5: defaultGrid5Theme,\n grid6: defaultGrid6Theme,\n pageTitle: defaultPageTitleTheme,\n sectionTitle: defaultSectionTitleTheme,\n title: defaultTitleTheme,\n text: defaultTextTheme,\n blockquote: defaultBlockquoteTheme,\n blockquoteCite: defaultBlockquoteCiteTheme,\n link: defaultLinkTheme,\n listItem: defaultListItemTheme,\n list: defaultListTheme,\n checkbox: {\n input: defaultCheckboxTheme,\n check: defaultCheckboxCheckTheme,\n indeterminate: defaultCheckboxIndeterminateTheme,\n wrapper: defaultCheckboxWrapperTheme,\n },\n label: defaultLabelTheme,\n field: {\n main: defaultFieldTheme,\n label: defaultFieldLabelTheme,\n description: defaultFieldDescriptionTheme,\n error: defaultFieldErrorTheme,\n },\n img: defaultImgTheme,\n input: defaultInputTheme,\n inputErrorIcon: defaultInputErrorIconTheme,\n inputWrapper: defaultInputWrapperTheme,\n textarea: defaultTextareaTheme,\n select: defaultSelectTheme,\n selectChevron: defaultSelectChevronTheme,\n selectWrapper: defaultSelectWrapperTheme,\n switch: {\n input: defaultSwitchTheme,\n thumb: defaultSwitchThumbTheme,\n wrapper: defaultSwitchWrapperTheme,\n },\n radio: {\n input: defaultRadioTheme,\n dot: defaultRadioDotTheme,\n wrapper: defaultRadioWrapperTheme,\n },\n radioGroup: defaultRadioGroupTheme,\n overlay: defaultOverlayTheme,\n modal: {\n content: defaultModalContentTheme,\n overlay: defaultModalOverlayTheme,\n header: defaultModalHeaderTheme,\n body: defaultModalBodyTheme,\n footer: defaultModalFooterTheme,\n closeButton: defaultModalCloseButtonTheme,\n },\n popup: defaultPopupTheme,\n tooltip: defaultTooltipTheme,\n alert: defaultAlertTheme,\n spinner: defaultSpinnerTheme,\n menu: {\n item: defaultMenuItemTheme,\n popup: defaultMenuPopupTheme,\n divider: defaultMenuDividerTheme,\n label: defaultMenuLabelTheme,\n },\n navLink: {\n root: defaultNavLinkTheme,\n label: defaultNavLinkLabelTheme,\n },\n table: {\n main: defaultTableTheme,\n thead: defaultTheadTheme,\n tbody: defaultTbodyTheme,\n tfoot: defaultTfootTheme,\n tr: defaultTrTheme,\n th: defaultThTheme,\n td: defaultTdTheme,\n caption: defaultCaptionTheme,\n },\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defaultTheme.mjs","sources":["../../../src/components/defaultTheme.ts"],"sourcesContent":["import type { ThemeProps } from './themeTypes';\nimport { defaultButtonTheme } from './ui/button/defaultButtonTheme';\nimport { defaultButtonSpinnerTheme } from './ui/button/defaultButtonSpinnerTheme';\nimport { defaultBadgeTheme } from './ui/badge/defaultBadgeTheme';\nimport { defaultChipTheme } from './ui/chip/defaultChipTheme';\nimport { defaultCodeTheme } from './ui/code/defaultCodeTheme';\nimport { defaultTextTheme } from './ui/typography/text/defaultTextTheme';\nimport { defaultTitleTheme } from './ui/typography/title/defaultTitleTheme';\nimport { defaultSectionTitleTheme } from './ui/typography/sectionTitle/defaultSectionTitleTheme';\nimport { defaultPageTitleTheme } from './ui/typography/pageTitle/defaultPageTitleTheme';\nimport { defaultLinkTheme } from './ui/typography/link/defaultLinkTheme';\nimport { defaultListTheme } from './ui/typography/list/defaultListTheme';\nimport { defaultListItemTheme } from './ui/typography/listItem/defaultListItemTheme';\nimport { defaultCardTheme } from \"./ui/card/defaultCardTheme\";\nimport { defaultCardHeaderTheme } from './ui/card/defaultCardHeaderTheme';\nimport { defaultCardBodyTheme } from './ui/card/defaultCardBodyTheme';\nimport { defaultCardFooterTheme } from './ui/card/defaultCardFooterTheme';\nimport { defaultRowTheme } from \"./ui/row/defaultRowTheme\";\nimport { defaultDividerTheme } from './ui/divider/defaultDividerTheme';\nimport { defaultMenuDividerTheme } from './ui/divider/defaultMenuDividerTheme';\nimport { defaultContainerTheme } from './ui/container/defaultContainerTheme';\nimport { defaultColTheme } from './ui/col/defaultColTheme';\nimport { defaultStackTheme } from './ui/stack/defaultStackTheme';\nimport { defaultSectionTheme } from \"./ui/section/defaultSectionTheme\";\nimport { defaultGrid2Theme } from \"./ui/grid/defaultGrid2Theme\";\nimport { defaultGrid3Theme } from \"./ui/grid/defaultGrid3Theme\";\nimport { defaultGrid4Theme } from \"./ui/grid/defaultGrid4Theme\";\nimport { defaultGrid5Theme } from \"./ui/grid/defaultGrid5Theme\";\nimport { defaultGrid6Theme } from \"./ui/grid/defaultGrid6Theme\";\nimport { defaultCheckboxTheme } from './ui/checkbox/defaultCheckboxTheme';\nimport { defaultCheckboxCheckTheme } from './ui/checkbox/defaultCheckboxCheckTheme';\nimport { defaultCheckboxIndeterminateTheme } from './ui/checkbox/defaultCheckboxIndeterminateTheme';\nimport { defaultCheckboxWrapperTheme } from './ui/checkbox/defaultCheckboxWrapperTheme';\nimport { defaultLabelTheme } from './ui/label/defaultLabelTheme';\nimport { defaultFieldTheme } from './ui/field/defaultFieldTheme';\nimport { defaultAlertTheme } from './ui/alert/defaultAlertTheme';\nimport { defaultSpinnerTheme } from './ui/spinner/defaultSpinnerTheme';\nimport { defaultTooltipTheme } from './ui/tooltip/defaultTooltipTheme';\nimport { defaultFieldLabelTheme } from './ui/field/defaultFieldLabelTheme';\nimport { defaultFieldControlRowTheme } from './ui/field/defaultFieldControlRowTheme';\nimport { defaultFieldDescriptionTheme } from './ui/field/defaultFieldDescriptionTheme';\nimport { defaultFieldErrorTheme } from './ui/field/defaultFieldErrorTheme';\nimport { defaultImgTheme } from './ui/img/defaultImgTheme';\nimport { defaultInputTheme } from './ui/input/defaultInputTheme';\nimport { defaultInputErrorIconTheme } from './ui/input/defaultInputErrorIconTheme';\nimport { defaultInputWrapperTheme } from './ui/input/defaultInputWrapperTheme';\nimport { defaultTextareaTheme } from './ui/textarea/defaultTextareaTheme';\nimport { defaultSelectTheme } from './ui/select/defaultSelectTheme';\nimport { defaultSelectChevronTheme } from './ui/select/defaultSelectChevronTheme';\nimport { defaultSelectWrapperTheme } from './ui/select/defaultSelectWrapperTheme';\nimport { defaultSwitchTheme } from './ui/switch/defaultSwitchTheme';\nimport { defaultSwitchThumbTheme } from './ui/switch/defaultSwitchThumbTheme';\nimport { defaultSwitchWrapperTheme } from './ui/switch/defaultSwitchWrapperTheme';\nimport { defaultRadioTheme } from './ui/radio/defaultRadioTheme';\nimport { defaultRadioDotTheme } from './ui/radio/defaultRadioDotTheme';\nimport { defaultRadioWrapperTheme } from './ui/radio/defaultRadioWrapperTheme';\nimport { defaultRadioGroupTheme } from './ui/radio/defaultRadioGroupTheme';\nimport { defaultOverlayTheme } from './ui/overlay/defaultOverlayTheme';\nimport { defaultModalContentTheme } from './ui/modal/defaultModalContentTheme';\nimport { defaultModalOverlayTheme } from './ui/modal/defaultModalOverlayTheme';\nimport { defaultModalHeaderTheme } from './ui/modal/defaultModalHeaderTheme';\nimport { defaultModalBodyTheme } from './ui/modal/defaultModalBodyTheme';\nimport { defaultModalFooterTheme } from './ui/modal/defaultModalFooterTheme';\nimport { defaultModalCloseButtonTheme } from './ui/modal/defaultModalCloseButtonTheme';\nimport { defaultPopupTheme } from './ui/popup/defaultPopupTheme';\nimport { defaultIconButtonTheme } from './ui/iconButton/defaultIconButtonTheme';\nimport { defaultIconTheme } from './ui/icon/defaultIconTheme';\nimport { defaultBlockquoteTheme } from './ui/typography/blockquote/defaultBlockquoteTheme';\nimport { defaultBlockquoteCiteTheme } from './ui/typography/blockquote/defaultBlockquoteCiteTheme';\nimport { defaultKbdTheme } from './ui/kbd/defaultKbdTheme';\nimport { defaultMarkTheme } from './ui/mark/defaultMarkTheme';\nimport { defaultMenuItemTheme } from './ui/menu/defaultMenuItemTheme';\nimport { defaultMenuLabelTheme } from './ui/menu/defaultMenuLabelTheme';\nimport { defaultMenuPopupTheme } from './ui/menu/defaultMenuPopupTheme';\nimport { defaultNavLinkTheme } from './ui/navLink/defaultNavLinkTheme';\nimport { defaultNavLinkLabelTheme } from './ui/navLink/defaultNavLinkLabelTheme';\nimport { defaultTableTheme } from './ui/table/defaultTableTheme';\nimport { defaultTheadTheme } from './ui/table/defaultTheadTheme';\nimport { defaultTbodyTheme } from './ui/table/defaultTbodyTheme';\nimport { defaultTfootTheme } from './ui/table/defaultTfootTheme';\nimport { defaultTrTheme } from './ui/table/defaultTrTheme';\nimport { defaultThTheme } from './ui/table/defaultThTheme';\nimport { defaultTdTheme } from './ui/table/defaultTdTheme';\nimport { defaultCaptionTheme } from './ui/table/defaultCaptionTheme';\n\nexport const defaultTheme: ThemeProps = {\n button: {\n main: defaultButtonTheme,\n spinner: defaultButtonSpinnerTheme,\n },\n iconButton: defaultIconButtonTheme,\n badge: defaultBadgeTheme,\n icon: defaultIconTheme,\n chip: defaultChipTheme,\n code: defaultCodeTheme,\n kbd: defaultKbdTheme,\n mark: defaultMarkTheme,\n card: {\n main: defaultCardTheme,\n header: defaultCardHeaderTheme,\n body: defaultCardBodyTheme,\n footer: defaultCardFooterTheme,\n },\n divider: defaultDividerTheme,\n container: defaultContainerTheme,\n row: defaultRowTheme,\n col: defaultColTheme,\n stack: defaultStackTheme,\n section: defaultSectionTheme,\n grid2: defaultGrid2Theme,\n grid3: defaultGrid3Theme,\n grid4: defaultGrid4Theme,\n grid5: defaultGrid5Theme,\n grid6: defaultGrid6Theme,\n pageTitle: defaultPageTitleTheme,\n sectionTitle: defaultSectionTitleTheme,\n title: defaultTitleTheme,\n text: defaultTextTheme,\n blockquote: defaultBlockquoteTheme,\n blockquoteCite: defaultBlockquoteCiteTheme,\n link: defaultLinkTheme,\n listItem: defaultListItemTheme,\n list: defaultListTheme,\n checkbox: {\n input: defaultCheckboxTheme,\n check: defaultCheckboxCheckTheme,\n indeterminate: defaultCheckboxIndeterminateTheme,\n wrapper: defaultCheckboxWrapperTheme,\n },\n label: defaultLabelTheme,\n field: {\n main: defaultFieldTheme,\n label: defaultFieldLabelTheme,\n controlRow: defaultFieldControlRowTheme,\n description: defaultFieldDescriptionTheme,\n error: defaultFieldErrorTheme,\n },\n img: defaultImgTheme,\n input: defaultInputTheme,\n inputErrorIcon: defaultInputErrorIconTheme,\n inputWrapper: defaultInputWrapperTheme,\n textarea: defaultTextareaTheme,\n select: defaultSelectTheme,\n selectChevron: defaultSelectChevronTheme,\n selectWrapper: defaultSelectWrapperTheme,\n switch: {\n input: defaultSwitchTheme,\n thumb: defaultSwitchThumbTheme,\n wrapper: defaultSwitchWrapperTheme,\n },\n radio: {\n input: defaultRadioTheme,\n dot: defaultRadioDotTheme,\n wrapper: defaultRadioWrapperTheme,\n },\n radioGroup: defaultRadioGroupTheme,\n overlay: defaultOverlayTheme,\n modal: {\n content: defaultModalContentTheme,\n overlay: defaultModalOverlayTheme,\n header: defaultModalHeaderTheme,\n body: defaultModalBodyTheme,\n footer: defaultModalFooterTheme,\n closeButton: defaultModalCloseButtonTheme,\n },\n popup: defaultPopupTheme,\n tooltip: defaultTooltipTheme,\n alert: defaultAlertTheme,\n spinner: defaultSpinnerTheme,\n menu: {\n item: defaultMenuItemTheme,\n popup: defaultMenuPopupTheme,\n divider: defaultMenuDividerTheme,\n label: defaultMenuLabelTheme,\n },\n navLink: {\n root: defaultNavLinkTheme,\n label: defaultNavLinkLabelTheme,\n },\n table: {\n main: defaultTableTheme,\n thead: defaultTheadTheme,\n tbody: defaultTbodyTheme,\n tfoot: defaultTfootTheme,\n tr: defaultTrTheme,\n th: defaultThTheme,\n td: defaultTdTheme,\n caption: defaultCaptionTheme,\n },\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,109 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxs,
|
|
3
|
-
import { forwardRef,
|
|
2
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, Children, isValidElement, useId, useMemo } from 'react';
|
|
4
4
|
import { ThemedComponent } from '../../themedComponent.mjs';
|
|
5
5
|
import { useTheme } from '../../themeContext.mjs';
|
|
6
|
-
import { pickFirstTruthyKeyByCategory } from '../../utils/componentUtils.mjs';
|
|
6
|
+
import { pickFirstTruthyKeyByCategory, MULTI_VALUE_CATEGORIES, resetConflictKey, collectTruthyKeysByCategory } from '../../utils/componentUtils.mjs';
|
|
7
7
|
import { LabelSizeContext } from '../label/LabelSizeContext.mjs';
|
|
8
8
|
import { FieldControlContext } from './FieldContext.mjs';
|
|
9
|
+
import { FIELD_CATEGORIES } from './FieldCategories.mjs';
|
|
10
|
+
import { FIELD_CONTROLS, resolveControl } from './fieldControls.mjs';
|
|
9
11
|
import { defaultFieldTheme } from './defaultFieldTheme.mjs';
|
|
10
12
|
import { defaultFieldLabelTheme } from './defaultFieldLabelTheme.mjs';
|
|
13
|
+
import { defaultFieldControlRowTheme } from './defaultFieldControlRowTheme.mjs';
|
|
11
14
|
import { defaultFieldDescriptionTheme } from './defaultFieldDescriptionTheme.mjs';
|
|
12
15
|
import { defaultFieldErrorTheme } from './defaultFieldErrorTheme.mjs';
|
|
16
|
+
import { ComponentKeys } from '../props/keys.mjs';
|
|
13
17
|
|
|
18
|
+
const SURFACE_CATEGORIES = ["appearance", "variant", "shape", "border", "ring", "shadow", "transparent"];
|
|
19
|
+
const SURFACE_KEYS = new Set(SURFACE_CATEGORIES.flatMap((c) => ComponentKeys[c]));
|
|
20
|
+
const CONTROL_KEYS = new Set(ComponentKeys.control);
|
|
21
|
+
const LAYOUT_KEYS = new Set(
|
|
22
|
+
FIELD_CATEGORIES.flatMap((c) => ComponentKeys[c]).filter((k) => !SURFACE_KEYS.has(k) && !CONTROL_KEYS.has(k))
|
|
23
|
+
);
|
|
24
|
+
const CONTROL_COMPONENTS = new Set(Object.values(FIELD_CONTROLS).map((d) => d.Component));
|
|
25
|
+
function splitFieldProps(rest, control) {
|
|
26
|
+
if (!control) return { controlProps: {}, wrapperProps: rest };
|
|
27
|
+
const controlProps = {};
|
|
28
|
+
const wrapperProps = {};
|
|
29
|
+
for (const [key, value] of Object.entries(rest)) {
|
|
30
|
+
if (SURFACE_KEYS.has(key) || CONTROL_KEYS.has(key)) continue;
|
|
31
|
+
if (LAYOUT_KEYS.has(key) || key === "className" || key === "tag") {
|
|
32
|
+
wrapperProps[key] = value;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
controlProps[key] = value;
|
|
36
|
+
}
|
|
37
|
+
if (control.inputType) {
|
|
38
|
+
controlProps.type = control.inputType;
|
|
39
|
+
}
|
|
40
|
+
for (const category of SURFACE_CATEGORIES) {
|
|
41
|
+
if (category === "border") {
|
|
42
|
+
for (const key2 of collectTruthyKeysByCategory(rest, {}, "border")) {
|
|
43
|
+
controlProps[key2] = true;
|
|
44
|
+
}
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const key = pickFirstTruthyKeyByCategory(rest, {}, category);
|
|
48
|
+
if (key) {
|
|
49
|
+
controlProps[key] = true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return { controlProps, wrapperProps };
|
|
53
|
+
}
|
|
14
54
|
const Field = forwardRef(
|
|
15
|
-
function Field2({ label, description, error, children, ...rest }, ref) {
|
|
55
|
+
function Field2({ label, description, error, children, type, ...rest }, ref) {
|
|
16
56
|
const theme = useTheme();
|
|
17
57
|
const fieldTheme = theme?.field.main ?? defaultFieldTheme;
|
|
18
58
|
const labelTheme = theme?.field.label ?? defaultFieldLabelTheme;
|
|
59
|
+
const controlRowTheme = theme?.field.controlRow ?? defaultFieldControlRowTheme;
|
|
19
60
|
const descriptionTheme = theme?.field.description ?? defaultFieldDescriptionTheme;
|
|
20
61
|
const errorTheme = theme?.field.error ?? defaultFieldErrorTheme;
|
|
62
|
+
const control = resolveControl(
|
|
63
|
+
{ ...rest, type },
|
|
64
|
+
fieldTheme.defaults
|
|
65
|
+
);
|
|
66
|
+
if (process.env.NODE_ENV !== "production" && control) {
|
|
67
|
+
const booleanKey = pickFirstTruthyKeyByCategory(rest, {}, "control");
|
|
68
|
+
if (type && booleanKey && booleanKey !== control.key) {
|
|
69
|
+
console.warn(`VaneUI: Field has both type="${type}" and ${booleanKey} \u2014 type="${type}" wins.`);
|
|
70
|
+
}
|
|
71
|
+
for (const category of ["control", ...SURFACE_CATEGORIES]) {
|
|
72
|
+
const truthyKeys = ComponentKeys[category].filter((k) => rest[k] === true);
|
|
73
|
+
if (MULTI_VALUE_CATEGORIES.has(category)) {
|
|
74
|
+
const reset = resetConflictKey(truthyKeys);
|
|
75
|
+
if (reset) {
|
|
76
|
+
console.warn(
|
|
77
|
+
`VaneUI: conflicting ${category} props on <Field>: ${truthyKeys.join(", ")} \u2014 "${reset}" resets and wins over the side toggles. Pass either side toggles or a reset, not both.`
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (truthyKeys.length > 1) {
|
|
83
|
+
console.warn(
|
|
84
|
+
`VaneUI: conflicting ${category} props on <Field>: ${truthyKeys.join(", ")} \u2014 "${truthyKeys[0]}" wins (canonical key order, not JSX order). Pass only one prop per category.`
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const childrenArray = Children.toArray(children);
|
|
89
|
+
const conflictChild = childrenArray.find((c) => isValidElement(c) && CONTROL_COMPONENTS.has(c.type));
|
|
90
|
+
if (conflictChild && isValidElement(conflictChild)) {
|
|
91
|
+
const childType = conflictChild.type;
|
|
92
|
+
const childName = childType.displayName || childType.name || "control";
|
|
93
|
+
console.warn(`VaneUI: Field renders its own ${control.key}, so the <${childName}/> child is ignored.`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
21
96
|
const uid = useId().replace(/:/g, "-");
|
|
22
|
-
const childId = isValidElement(children) ? children.props.id : void 0;
|
|
23
|
-
const
|
|
97
|
+
const childId = !control && isValidElement(children) ? children.props.id : void 0;
|
|
98
|
+
const explicitId = control ? rest.id : void 0;
|
|
99
|
+
const controlId = childId ?? explicitId ?? `field-${uid}`;
|
|
24
100
|
const labelId = `${controlId}-label`;
|
|
25
101
|
const descriptionId = `${controlId}-description`;
|
|
26
102
|
const errorId = `${controlId}-error`;
|
|
27
103
|
const hasLabel = label !== void 0 && label !== null && label !== false;
|
|
28
104
|
const hasDescription = description !== void 0 && description !== null && description !== false;
|
|
29
105
|
const hasError = error !== void 0 && error !== null && error !== false;
|
|
30
|
-
const
|
|
106
|
+
const fieldControlValue = useMemo(() => ({
|
|
31
107
|
id: controlId,
|
|
32
108
|
labelId,
|
|
33
109
|
describedBy: [hasDescription ? descriptionId : null, hasError ? errorId : null].filter(Boolean).join(" ") || void 0,
|
|
@@ -38,15 +114,34 @@ const Field = forwardRef(
|
|
|
38
114
|
fieldTheme.defaults,
|
|
39
115
|
"size"
|
|
40
116
|
) ?? "md";
|
|
41
|
-
const onFill = pickFirstTruthyKeyByCategory(
|
|
117
|
+
const onFill = !control && pickFirstTruthyKeyByCategory(
|
|
42
118
|
rest,
|
|
43
119
|
fieldTheme.defaults,
|
|
44
120
|
"variant"
|
|
45
121
|
) === "filled";
|
|
46
122
|
const surfaceText = onFill ? { inheritAppearance: true } : {};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
123
|
+
const { controlProps, wrapperProps } = splitFieldProps(rest, control);
|
|
124
|
+
const Control = control?.descriptor.Component;
|
|
125
|
+
const authorDirection = pickFirstTruthyKeyByCategory(rest, {}, "flexDirection");
|
|
126
|
+
const inline = control?.descriptor.layout === "inline" && !authorDirection;
|
|
127
|
+
const isRadioGroup = control ? control.key === "radiogroup" : Children.toArray(children).some((c) => isValidElement(c) && c.type === FIELD_CONTROLS.radiogroup.Component);
|
|
128
|
+
const labelElement = hasLabel && /* @__PURE__ */ jsx(
|
|
129
|
+
ThemedComponent,
|
|
130
|
+
{
|
|
131
|
+
theme: labelTheme,
|
|
132
|
+
...{ id: labelId, ...isRadioGroup ? {} : { htmlFor: controlId } },
|
|
133
|
+
children: label
|
|
134
|
+
}
|
|
135
|
+
);
|
|
136
|
+
const controlElement = /* @__PURE__ */ jsx(LabelSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsx(FieldControlContext.Provider, { value: fieldControlValue, children: Control ? /* @__PURE__ */ jsx(Control, { ref, ...controlProps, children }) : children }) });
|
|
137
|
+
return /* @__PURE__ */ jsxs(ThemedComponent, { ref: control ? void 0 : ref, theme: fieldTheme, ...wrapperProps, children: [
|
|
138
|
+
inline ? /* @__PURE__ */ jsxs(ThemedComponent, { theme: controlRowTheme, ...{ [resolvedSize]: true }, children: [
|
|
139
|
+
controlElement,
|
|
140
|
+
labelElement
|
|
141
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
142
|
+
labelElement,
|
|
143
|
+
controlElement
|
|
144
|
+
] }),
|
|
50
145
|
hasDescription && /* @__PURE__ */ jsx(ThemedComponent, { theme: descriptionTheme, ...surfaceText, ...{ id: descriptionId }, children: description }),
|
|
51
146
|
hasError && /* @__PURE__ */ jsx(ThemedComponent, { theme: errorTheme, ...surfaceText, ...{ id: errorId }, children: error })
|
|
52
147
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.mjs","sources":["../../../../../src/components/ui/field/Field.tsx"],"sourcesContent":["import { forwardRef, isValidElement, useId, useMemo } from 'react';\nimport type { FieldProps } from \"./FieldProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\nimport { LabelSizeContext } from \"../label/LabelSizeContext\";\nimport { FieldControlContext } from \"./FieldContext\";\nimport { defaultFieldTheme } from \"./defaultFieldTheme\";\nimport { defaultFieldLabelTheme } from \"./defaultFieldLabelTheme\";\nimport { defaultFieldDescriptionTheme } from \"./defaultFieldDescriptionTheme\";\nimport { defaultFieldErrorTheme } from \"./defaultFieldErrorTheme\";\n\nexport const Field = forwardRef<HTMLDivElement, FieldProps>(\n function Field({ label, description, error, children, ...rest }, ref) {\n const theme = useTheme();\n const fieldTheme = theme?.field.main ?? defaultFieldTheme;\n const labelTheme = theme?.field.label ?? defaultFieldLabelTheme;\n const descriptionTheme = theme?.field.description ?? defaultFieldDescriptionTheme;\n const errorTheme = theme?.field.error ?? defaultFieldErrorTheme;\n\n // useId embeds colons, which are not valid in a CSS selector fragment\n const uid = useId().replace(/:/g, '-');\n // a control's own id wins in useFieldControlProps, so adopt it here too or htmlFor points nowhere\n const childId = isValidElement(children)\n ? (children.props as { id?: string }).id\n : undefined;\n const controlId = childId ?? `field-${uid}`;\n const labelId = `${controlId}-label`;\n const descriptionId = `${controlId}-description`;\n const errorId = `${controlId}-error`;\n\n const hasLabel = label !== undefined && label !== null && label !== false;\n const hasDescription = description !== undefined && description !== null && description !== false;\n const hasError = error !== undefined && error !== null && error !== false;\n\n const control = useMemo(() => ({\n id: controlId,\n labelId,\n describedBy: [hasDescription ? descriptionId : null, hasError ? errorId : null]\n .filter(Boolean).join(' ') || undefined,\n invalid: hasError,\n }), [controlId, labelId, descriptionId, errorId, hasDescription, hasError]);\n\n // Field's own size becomes the control's default, reusing Label's channel so\n // controls already wired for <Label> need no second lookup.\n const resolvedSize = pickFirstTruthyKeyByCategory(\n rest as Record<string, unknown>,\n fieldTheme.defaults as Record<string, unknown>,\n 'size'\n ) ?? 'md';\n\n // a fill swallows the pinned help/error colors (--color-text-secondary IS --color-bg-filled-secondary)\n const onFill = pickFirstTruthyKeyByCategory(\n rest as Record<string, unknown>,\n fieldTheme.defaults as Record<string, unknown>,\n 'variant'\n ) === 'filled';\n const surfaceText = onFill ? { inheritAppearance: true } : {};\n\n return (\n <ThemedComponent ref={ref} theme={fieldTheme} {...rest}>\n {hasLabel && (\n <ThemedComponent theme={labelTheme} {...{ id: labelId, htmlFor: controlId }}>{label}</ThemedComponent>\n )}\n <LabelSizeContext.Provider value={resolvedSize}>\n <FieldControlContext.Provider value={control}>\n {children}\n </FieldControlContext.Provider>\n </LabelSizeContext.Provider>\n {hasDescription && (\n <ThemedComponent theme={descriptionTheme} {...surfaceText} {...{ id: descriptionId }}>{description}</ThemedComponent>\n )}\n {hasError && (\n <ThemedComponent theme={errorTheme} {...surfaceText} {...{ id: errorId }}>{error}</ThemedComponent>\n )}\n </ThemedComponent>\n );\n }\n);\n\nField.displayName = 'Field';\n"],"names":["Field"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Field.mjs","sources":["../../../../../src/components/ui/field/Field.tsx"],"sourcesContent":["import { forwardRef, isValidElement, useId, useMemo, Children } from 'react';\nimport type { FieldProps } from \"./FieldProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { pickFirstTruthyKeyByCategory, collectTruthyKeysByCategory, MULTI_VALUE_CATEGORIES, resetConflictKey } from \"../../utils/componentUtils\";\nimport { ComponentKeys } from \"../props\";\nimport { LabelSizeContext } from \"../label/LabelSizeContext\";\nimport { FieldControlContext } from \"./FieldContext\";\nimport { FIELD_CATEGORIES } from \"./FieldCategories\";\nimport { resolveControl, FIELD_CONTROLS } from \"./fieldControls\";\nimport { defaultFieldTheme } from \"./defaultFieldTheme\";\nimport { defaultFieldLabelTheme } from \"./defaultFieldLabelTheme\";\nimport { defaultFieldControlRowTheme } from \"./defaultFieldControlRowTheme\";\nimport { defaultFieldDescriptionTheme } from \"./defaultFieldDescriptionTheme\";\nimport { defaultFieldErrorTheme } from \"./defaultFieldErrorTheme\";\n\n// Surface props forward to a self-rendered control instead of painting the wrapper.\nconst SURFACE_CATEGORIES = ['appearance', 'variant', 'shape', 'border', 'ring', 'shadow', 'transparent'] as const;\nconst SURFACE_KEYS = new Set<string>(SURFACE_CATEGORIES.flatMap(c => ComponentKeys[c]));\nconst CONTROL_KEYS = new Set<string>(ComponentKeys.control);\nconst LAYOUT_KEYS = new Set<string>(\n FIELD_CATEGORIES.flatMap(c => ComponentKeys[c] as readonly string[])\n .filter(k => !SURFACE_KEYS.has(k) && !CONTROL_KEYS.has(k))\n);\nconst CONTROL_COMPONENTS = new Set<unknown>(Object.values(FIELD_CONTROLS).map(d => d.Component));\n\ntype FieldElement = HTMLDivElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n// Partitions incoming props into the self-rendered control's props and the wrapper's props.\nfunction splitFieldProps(\n rest: Record<string, unknown>,\n control: ReturnType<typeof resolveControl>\n): { controlProps: Record<string, unknown>; wrapperProps: Record<string, unknown> } {\n if (!control) return { controlProps: {}, wrapperProps: rest };\n\n const controlProps: Record<string, unknown> = {};\n const wrapperProps: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(rest)) {\n if (SURFACE_KEYS.has(key) || CONTROL_KEYS.has(key)) continue;\n if (LAYOUT_KEYS.has(key) || key === 'className' || key === 'tag') { wrapperProps[key] = value; continue; }\n controlProps[key] = value;\n }\n if (control.inputType) { controlProps.type = control.inputType; }\n\n // empty defaults: the wrapper's own sharp/noBorder/noInsetRing must not reach the control\n for (const category of SURFACE_CATEGORIES) {\n if (category === 'border') {\n for (const key of collectTruthyKeysByCategory(rest, {}, 'border')) {\n controlProps[key] = true;\n }\n continue;\n }\n const key = pickFirstTruthyKeyByCategory(rest, {}, category);\n if (key) { controlProps[key] = true; }\n }\n\n return { controlProps, wrapperProps };\n}\n\nexport const Field = forwardRef<FieldElement, FieldProps>(\n function Field({ label, description, error, children, type, ...rest }, ref) {\n const theme = useTheme();\n const fieldTheme = theme?.field.main ?? defaultFieldTheme;\n const labelTheme = theme?.field.label ?? defaultFieldLabelTheme;\n const controlRowTheme = theme?.field.controlRow ?? defaultFieldControlRowTheme;\n const descriptionTheme = theme?.field.description ?? defaultFieldDescriptionTheme;\n const errorTheme = theme?.field.error ?? defaultFieldErrorTheme;\n\n const control = resolveControl(\n { ...rest, type } as Record<string, unknown>,\n fieldTheme.defaults as Record<string, unknown>\n );\n\n if (process.env.NODE_ENV !== 'production' && control) {\n const booleanKey = pickFirstTruthyKeyByCategory(rest as Record<string, unknown>, {}, 'control');\n if (type && booleanKey && booleanKey !== control.key) {\n console.warn(`VaneUI: Field has both type=\"${type}\" and ${booleanKey} — type=\"${type}\" wins.`);\n }\n // the split loop hides these categories from the engine's own conflict check, so Field re-runs it\n for (const category of ['control', ...SURFACE_CATEGORIES] as const) {\n const truthyKeys = ComponentKeys[category].filter(k => (rest as Record<string, unknown>)[k] === true);\n if (MULTI_VALUE_CATEGORIES.has(category)) {\n const reset = resetConflictKey(truthyKeys);\n if (reset) {\n console.warn(\n `VaneUI: conflicting ${category} props on <Field>: ${truthyKeys.join(', ')} — \"${reset}\" resets and wins over the side toggles. Pass either side toggles or a reset, not both.`\n );\n }\n continue;\n }\n if (truthyKeys.length > 1) {\n console.warn(\n `VaneUI: conflicting ${category} props on <Field>: ${truthyKeys.join(', ')} — \"${truthyKeys[0]}\" wins (canonical key order, not JSX order). Pass only one prop per category.`\n );\n }\n }\n const childrenArray = Children.toArray(children);\n const conflictChild = childrenArray.find(c => isValidElement(c) && CONTROL_COMPONENTS.has(c.type));\n if (conflictChild && isValidElement(conflictChild)) {\n const childType = conflictChild.type as { displayName?: string; name?: string };\n const childName = childType.displayName || childType.name || 'control';\n console.warn(`VaneUI: Field renders its own ${control.key}, so the <${childName}/> child is ignored.`);\n }\n }\n\n // useId embeds colons, which are not valid in a CSS selector fragment\n const uid = useId().replace(/:/g, '-');\n // in self-rendering mode children are the control's own content, not the control\n const childId = !control && isValidElement(children)\n ? (children.props as { id?: string }).id\n : undefined;\n // an explicit id in self-rendering mode must reach the control, or `for` dangles\n const explicitId = control ? (rest as { id?: string }).id : undefined;\n const controlId = childId ?? explicitId ?? `field-${uid}`;\n const labelId = `${controlId}-label`;\n const descriptionId = `${controlId}-description`;\n const errorId = `${controlId}-error`;\n\n const hasLabel = label !== undefined && label !== null && label !== false;\n const hasDescription = description !== undefined && description !== null && description !== false;\n const hasError = error !== undefined && error !== null && error !== false;\n\n const fieldControlValue = useMemo(() => ({\n id: controlId,\n labelId,\n describedBy: [hasDescription ? descriptionId : null, hasError ? errorId : null]\n .filter(Boolean).join(' ') || undefined,\n invalid: hasError,\n }), [controlId, labelId, descriptionId, errorId, hasDescription, hasError]);\n\n // Field's own size becomes the control's default, reusing Label's channel so\n // controls already wired for <Label> need no second lookup.\n const resolvedSize = pickFirstTruthyKeyByCategory(\n rest as Record<string, unknown>,\n fieldTheme.defaults as Record<string, unknown>,\n 'size'\n ) ?? 'md';\n\n // a fill swallows the pinned help/error colors (--color-text-secondary IS --color-bg-filled-secondary)\n // self-rendering mode forwards `filled` to the control, so the wrapper never paints it\n const onFill = !control && pickFirstTruthyKeyByCategory(\n rest as Record<string, unknown>,\n fieldTheme.defaults as Record<string, unknown>,\n 'variant'\n ) === 'filled';\n const surfaceText = onFill ? { inheritAppearance: true } : {};\n\n const { controlProps, wrapperProps } = splitFieldProps(rest as Record<string, unknown>, control);\n\n const Control = control?.descriptor.Component;\n\n // an explicit direction means the author wants the plain layout, so the row is dropped\n const authorDirection = pickFirstTruthyKeyByCategory(rest as Record<string, unknown>, {}, 'flexDirection');\n const inline = control?.descriptor.layout === 'inline' && !authorDirection;\n\n // a radiogroup (self-rendered or child) never claims controlId; aria-labelledby covers it\n const isRadioGroup = control\n ? control.key === 'radiogroup'\n : Children.toArray(children).some(c => isValidElement(c) && c.type === FIELD_CONTROLS.radiogroup.Component);\n const labelElement = hasLabel && (\n <ThemedComponent\n theme={labelTheme}\n {...{ id: labelId, ...(isRadioGroup ? {} : { htmlFor: controlId }) }}\n >{label}</ThemedComponent>\n );\n const controlElement = (\n <LabelSizeContext.Provider value={resolvedSize}>\n <FieldControlContext.Provider value={fieldControlValue}>\n {Control\n ? <Control ref={ref} {...controlProps}>{children}</Control>\n : children}\n </FieldControlContext.Provider>\n </LabelSizeContext.Provider>\n );\n\n return (\n <ThemedComponent ref={control ? undefined : ref} theme={fieldTheme} {...wrapperProps}>\n {inline ? (\n <ThemedComponent theme={controlRowTheme} {...{ [resolvedSize]: true }}>\n {controlElement}\n {labelElement}\n </ThemedComponent>\n ) : (\n <>\n {labelElement}\n {controlElement}\n </>\n )}\n {hasDescription && (\n <ThemedComponent theme={descriptionTheme} {...surfaceText} {...{ id: descriptionId }}>{description}</ThemedComponent>\n )}\n {hasError && (\n <ThemedComponent theme={errorTheme} {...surfaceText} {...{ id: errorId }}>{error}</ThemedComponent>\n )}\n </ThemedComponent>\n );\n }\n);\n\nField.displayName = 'Field';\n"],"names":["key","Field"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,kBAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,SAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,aAAa,CAAA;AACvG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAY,kBAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAC,CAAC,CAAA;AACtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAe,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,OAAO,CAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAc,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA;AAAA,CAAA,CACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAC,CAAsB,EAChE,MAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AAC7D,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAqB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA;AAK/F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACP,CAAA,CAAA,CAAA,GACA,OAAA,CAAA,CACkF;AAClF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAc,CAAA,CAAC,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAc,IAAA,CAAA,CAAK;AAE5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAwC,CAAA,CAAC;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAwC,CAAA,CAAC;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,MAAQ,KAAA,CAAA,CAAO;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAU;AACzG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACtB;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AAAE,CAAA,CAAA,CAAA,CAAA,YAAA,CAAa,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAW;AAGhE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAY,kBAAA,CAAA,CAAoB;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWA,CAAAA,CAAAA,CAAAA,KAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAC,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAaA,CAAAA,CAAAA,CAAAA,CAAG,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACtB;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACF;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,IAAA,CAAA,CAAM,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,GAAA,CAAA,CAAK;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAM;AAAA,CAAA,CACvC;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAc,YAAA,CAAA,CAAa;AACtC;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACnB,SAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,WAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,IAAA,CAAA,CAAM,CAAA,CAAA,CAAG,IAAA,CAAA,CAAK,CAAA,CAAG,GAAA,CAAA,CAAK;AAC1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,eAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,gBAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACd,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAA,CAAA,CAAK;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChB,UAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACb;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,QAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,IAAA,CAAA,CAAiC,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA;AAC9F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,UAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAQ,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgC,CAAA,CAAA,CAAA,CAAI,SAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/F;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,SAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAY;AAClE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,cAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,KAAM,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA;AACpG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,GAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAiB,UAAU,CAAA;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,KAAA,CAAA,CAAO;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,EAAK,IAAI,CAAC,YAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACxF;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAG;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,oBAAA,CAAA,CAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,UAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,UAAA,CAAW,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChG;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,QAAQ,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA;AACjG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,cAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAQ,CAAA,CAAA,CAAA,EAAK,CAAA,8BAAA,CAAA,CAAiC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,SAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvG;AAAA,CAAA,CAAA,CAAA,CACF;AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAG,CAAA;AAErC,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,GAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,MAA0B,CAAA,CAAA,GACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA;AACvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAA,CAAA,CAAU,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,MAAA,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAA,CAAA,CAAA,CAAgB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,YAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAA,CAAA,CAAU,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,MAAA,CAAA;AAE5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,KAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAgB,CAAA,CAAA,CAAA,CAAA,CAAA;AAC5F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,KAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AAEpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvC,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,IAAI,CAAA,CAC3E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChC,OAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACX,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAe,OAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA;AAI1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnB,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACX,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACF,IAAK,CAAA,CAAA,CAAA,CAAA;AAIL,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACzB,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACF,KAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAC;AAE5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,GAAiC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAE/F,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,SAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,IAAA,CAAA,CAAiC,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA;AACzG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAG3D,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACjB,OAAA,CAAQ,CAAA,CAAA,MAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,QAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,IAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,SAAS,CAAA;AAC5G,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,oBACnB,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAC,GAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAG;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnE,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAEV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAjB,CAAA,CAA0B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChC,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAApB,CAAA,CAA6B,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClC,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBACI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,GAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,CACF,CAAA;AAGF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,IAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAgB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,IAAY,CAAA,CAAA,CAAA,CAAA,CAAK,KAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBACC,CAAA,CAAA,CAAA,CAAA,CAAC,eAAA,CAAA,CAAA,CAAA,CAAgB,KAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAkB,CAAA,CAAA,CAAG,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,IAAA,CAAA,CAAK,CAAA,CACjE,QAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,oBAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACH,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAG,WAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEpG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,WAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAErF,CAAA;AAAA,CAAA,CAEJ;AACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LAYOUT_FULL, PADDING, MARGIN, VISUAL_LAYOUT, VARIANT, BREAKPOINT, WIDTH, HEIGHT, COMMON_MODIFIERS, TEXT_ALIGN } from '../props/categoryBuilders.mjs';
|
|
1
|
+
import { LAYOUT_FULL, PADDING, MARGIN, VISUAL_LAYOUT, VARIANT, BREAKPOINT, WIDTH, HEIGHT, COMMON_MODIFIERS, TEXT_ALIGN, CONTROL } from '../props/categoryBuilders.mjs';
|
|
2
2
|
|
|
3
3
|
const FIELD_CATEGORIES = [
|
|
4
4
|
...LAYOUT_FULL,
|
|
@@ -10,7 +10,8 @@ const FIELD_CATEGORIES = [
|
|
|
10
10
|
...WIDTH,
|
|
11
11
|
...HEIGHT,
|
|
12
12
|
...COMMON_MODIFIERS,
|
|
13
|
-
...TEXT_ALIGN
|
|
13
|
+
...TEXT_ALIGN,
|
|
14
|
+
...CONTROL
|
|
14
15
|
];
|
|
15
16
|
|
|
16
17
|
export { FIELD_CATEGORIES };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldCategories.mjs","sources":["../../../../../src/components/ui/field/FieldCategories.ts"],"sourcesContent":["import {\n LAYOUT_FULL,\n PADDING,\n MARGIN,\n VISUAL_LAYOUT,\n VARIANT,\n BREAKPOINT,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n TEXT_ALIGN,\n} from \"../props/categoryBuilders\";\n\n/** Field wraps a control in a column. Col's list minus `focusVisible`: Field is\n * always a div, never an anchor, so a focus ring would be a dead prop. */\nexport const FIELD_CATEGORIES = [\n ...LAYOUT_FULL,\n ...PADDING,\n ...MARGIN,\n ...VISUAL_LAYOUT,\n ...VARIANT,\n ...BREAKPOINT,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n ...TEXT_ALIGN,\n] as const;\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"FieldCategories.mjs","sources":["../../../../../src/components/ui/field/FieldCategories.ts"],"sourcesContent":["import {\n LAYOUT_FULL,\n PADDING,\n MARGIN,\n VISUAL_LAYOUT,\n VARIANT,\n BREAKPOINT,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n TEXT_ALIGN,\n CONTROL,\n} from \"../props/categoryBuilders\";\n\n/** Field wraps a control in a column. Col's list minus `focusVisible`: Field is\n * always a div, never an anchor, so a focus ring would be a dead prop. */\nexport const FIELD_CATEGORIES = [\n ...LAYOUT_FULL,\n ...PADDING,\n ...MARGIN,\n ...VISUAL_LAYOUT,\n ...VARIANT,\n ...BREAKPOINT,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n ...TEXT_ALIGN,\n ...CONTROL,\n] as const;\n"],"names":[],"mappings":";;AAgBO,MAAM,gBAAA,GAAmB;AAAA,EAC9B,GAAG,WAAA;AAAA,EACH,GAAG,OAAA;AAAA,EACH,GAAG,MAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,OAAA;AAAA,EACH,GAAG,UAAA;AAAA,EACH,GAAG,KAAA;AAAA,EACH,GAAG,MAAA;AAAA,EACH,GAAG,gBAAA;AAAA,EACH,GAAG,UAAA;AAAA,EACH,GAAG;AACL;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentTheme } from '../theme/common/ComponentTheme.mjs';
|
|
2
|
+
import '../theme/common/interactiveClassMappers.mjs';
|
|
3
|
+
import '../theme/common/layoutClassMappers.mjs';
|
|
4
|
+
import '../theme/common/typographyClassMappers.mjs';
|
|
5
|
+
import '../theme/common/appearanceClassMappers.mjs';
|
|
6
|
+
import { COL_CATEGORIES } from '../col/ColCategories.mjs';
|
|
7
|
+
import { defaultColTheme } from '../col/defaultColTheme.mjs';
|
|
8
|
+
import { fieldControlRowDefaults } from './fieldControlRowDefaults.mjs';
|
|
9
|
+
|
|
10
|
+
const defaultFieldControlRowTheme = new ComponentTheme(
|
|
11
|
+
defaultColTheme.tag,
|
|
12
|
+
"vane-field-control-row",
|
|
13
|
+
defaultColTheme.themes,
|
|
14
|
+
fieldControlRowDefaults,
|
|
15
|
+
COL_CATEGORIES,
|
|
16
|
+
(props) => props.href ? "a" : "div",
|
|
17
|
+
defaultColTheme.vaneType
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
export { defaultFieldControlRowTheme };
|
|
21
|
+
//# sourceMappingURL=defaultFieldControlRowTheme.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultFieldControlRowTheme.mjs","sources":["../../../../../src/components/ui/field/defaultFieldControlRowTheme.ts"],"sourcesContent":["import { ComponentTheme } from \"../theme/common\";\nimport type { ColProps } from \"../col/ColProps\";\nimport type { ColTheme } from \"../col/ColTheme\";\nimport { COL_CATEGORIES } from \"../col/ColCategories\";\nimport { defaultColTheme } from \"../col/defaultColTheme\";\nimport { fieldControlRowDefaults } from \"./fieldControlRowDefaults\";\n\n/** Field's inline control row: Col's classes under Field's own base class and gap curve. */\nexport const defaultFieldControlRowTheme = new ComponentTheme<ColProps, ColTheme>(\n defaultColTheme.tag,\n \"vane-field-control-row\",\n defaultColTheme.themes,\n fieldControlRowDefaults,\n COL_CATEGORIES,\n (props: ColProps) => props.href ? \"a\" : \"div\",\n defaultColTheme.vaneType\n);\n"],"names":[],"mappings":";;;;;;;;;AAQO,MAAM,8BAA8B,IAAI,cAAA;AAAA,EAC7C,eAAA,CAAgB,GAAA;AAAA,EAChB,wBAAA;AAAA,EACA,eAAA,CAAgB,MAAA;AAAA,EAChB,uBAAA;AAAA,EACA,cAAA;AAAA,EACA,CAAC,KAAA,KAAoB,KAAA,CAAM,IAAA,GAAO,GAAA,GAAM,KAAA;AAAA,EACxC,eAAA,CAAgB;AAClB;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const fieldControlRowDefaults = {
|
|
2
|
+
row: true,
|
|
3
|
+
md: true,
|
|
4
|
+
flex: true,
|
|
5
|
+
itemsCenter: true,
|
|
6
|
+
gap: true,
|
|
7
|
+
noPadding: true,
|
|
8
|
+
noBorder: true,
|
|
9
|
+
noInsetRing: true,
|
|
10
|
+
outline: true,
|
|
11
|
+
sharp: true
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { fieldControlRowDefaults };
|
|
15
|
+
//# sourceMappingURL=fieldControlRowDefaults.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldControlRowDefaults.mjs","sources":["../../../../../src/components/ui/field/fieldControlRowDefaults.ts"],"sourcesContent":["import type { ColProps } from \"../col/ColProps\";\n\n/** itemsCenter not itemsStart; restates colDefaults since withDefaults replaces, not merges. */\nexport const fieldControlRowDefaults: Partial<ColProps> = {\n row: true,\n md: true,\n flex: true,\n itemsCenter: true,\n gap: true,\n noPadding: true,\n noBorder: true,\n noInsetRing: true,\n outline: true,\n sharp: true,\n};\n"],"names":[],"mappings":"AAGO,MAAM,uBAAA,GAA6C;AAAA,EACxD,GAAA,EAAK,IAAA;AAAA,EACL,EAAA,EAAI,IAAA;AAAA,EACJ,IAAA,EAAM,IAAA;AAAA,EACN,WAAA,EAAa,IAAA;AAAA,EACb,GAAA,EAAK,IAAA;AAAA,EACL,SAAA,EAAW,IAAA;AAAA,EACX,QAAA,EAAU,IAAA;AAAA,EACV,WAAA,EAAa,IAAA;AAAA,EACb,OAAA,EAAS,IAAA;AAAA,EACT,KAAA,EAAO;AACT;;;;"}
|