@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.
Files changed (114) hide show
  1. package/CHANGELOG.md +43 -1
  2. package/dist/cjs/components/defaultTheme.cjs +2 -0
  3. package/dist/cjs/components/defaultTheme.cjs.map +1 -1
  4. package/dist/cjs/components/ui/field/Field.cjs +103 -8
  5. package/dist/cjs/components/ui/field/Field.cjs.map +1 -1
  6. package/dist/cjs/components/ui/field/FieldCategories.cjs +2 -1
  7. package/dist/cjs/components/ui/field/FieldCategories.cjs.map +1 -1
  8. package/dist/cjs/components/ui/field/defaultFieldControlRowTheme.cjs +23 -0
  9. package/dist/cjs/components/ui/field/defaultFieldControlRowTheme.cjs.map +1 -0
  10. package/dist/cjs/components/ui/field/fieldControlRowDefaults.cjs +17 -0
  11. package/dist/cjs/components/ui/field/fieldControlRowDefaults.cjs.map +1 -0
  12. package/dist/cjs/components/ui/field/fieldControls.cjs +41 -0
  13. package/dist/cjs/components/ui/field/fieldControls.cjs.map +1 -0
  14. package/dist/cjs/components/ui/field/fieldDefaults.cjs.map +1 -1
  15. package/dist/cjs/components/ui/field/index.cjs +4 -0
  16. package/dist/cjs/components/ui/field/index.cjs.map +1 -1
  17. package/dist/cjs/components/ui/props/categoryBuilders.cjs +2 -0
  18. package/dist/cjs/components/ui/props/categoryBuilders.cjs.map +1 -1
  19. package/dist/cjs/components/ui/props/index.cjs +1 -0
  20. package/dist/cjs/components/ui/props/index.cjs.map +1 -1
  21. package/dist/cjs/components/ui/props/keys.cjs +5 -1
  22. package/dist/cjs/components/ui/props/keys.cjs.map +1 -1
  23. package/dist/cjs/components/ui/props/propDescriptions.cjs +24 -0
  24. package/dist/cjs/components/ui/props/propDescriptions.cjs.map +1 -1
  25. package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs +10 -0
  26. package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs.map +1 -1
  27. package/dist/cjs/components/ui/theme/defaults.cjs +23 -5
  28. package/dist/cjs/components/ui/theme/defaults.cjs.map +1 -1
  29. package/dist/cjs/components/ui/typography/index.cjs +1 -0
  30. package/dist/cjs/components/ui/typography/index.cjs.map +1 -1
  31. package/dist/cjs/components/utils/componentUtils.cjs +5 -0
  32. package/dist/cjs/components/utils/componentUtils.cjs.map +1 -1
  33. package/dist/cjs/index.cjs +27 -20
  34. package/dist/cjs/index.cjs.map +1 -1
  35. package/dist/esm/components/defaultTheme.mjs +2 -0
  36. package/dist/esm/components/defaultTheme.mjs.map +1 -1
  37. package/dist/esm/components/ui/field/Field.mjs +106 -11
  38. package/dist/esm/components/ui/field/Field.mjs.map +1 -1
  39. package/dist/esm/components/ui/field/FieldCategories.mjs +3 -2
  40. package/dist/esm/components/ui/field/FieldCategories.mjs.map +1 -1
  41. package/dist/esm/components/ui/field/defaultFieldControlRowTheme.mjs +21 -0
  42. package/dist/esm/components/ui/field/defaultFieldControlRowTheme.mjs.map +1 -0
  43. package/dist/esm/components/ui/field/fieldControlRowDefaults.mjs +15 -0
  44. package/dist/esm/components/ui/field/fieldControlRowDefaults.mjs.map +1 -0
  45. package/dist/esm/components/ui/field/fieldControls.mjs +38 -0
  46. package/dist/esm/components/ui/field/fieldControls.mjs.map +1 -0
  47. package/dist/esm/components/ui/field/fieldDefaults.mjs.map +1 -1
  48. package/dist/esm/components/ui/field/index.mjs +2 -0
  49. package/dist/esm/components/ui/field/index.mjs.map +1 -1
  50. package/dist/esm/components/ui/props/categoryBuilders.mjs +2 -1
  51. package/dist/esm/components/ui/props/categoryBuilders.mjs.map +1 -1
  52. package/dist/esm/components/ui/props/index.mjs +1 -1
  53. package/dist/esm/components/ui/props/keys.mjs +6 -3
  54. package/dist/esm/components/ui/props/keys.mjs.map +1 -1
  55. package/dist/esm/components/ui/props/propDescriptions.mjs +24 -0
  56. package/dist/esm/components/ui/props/propDescriptions.mjs.map +1 -1
  57. package/dist/esm/components/ui/theme/common/ComponentTheme.mjs +11 -1
  58. package/dist/esm/components/ui/theme/common/ComponentTheme.mjs.map +1 -1
  59. package/dist/esm/components/ui/theme/defaults.mjs +23 -5
  60. package/dist/esm/components/ui/theme/defaults.mjs.map +1 -1
  61. package/dist/esm/components/ui/typography/index.mjs +1 -0
  62. package/dist/esm/components/ui/typography/index.mjs.map +1 -1
  63. package/dist/esm/components/utils/componentUtils.mjs +5 -1
  64. package/dist/esm/components/utils/componentUtils.mjs.map +1 -1
  65. package/dist/esm/index.mjs +17 -10
  66. package/dist/esm/index.mjs.map +1 -1
  67. package/dist/types/components/themeTypes.d.cts +1 -0
  68. package/dist/types/components/themeTypes.d.mts +1 -0
  69. package/dist/types/components/themeTypes.d.ts +1 -0
  70. package/dist/types/components/ui/field/Field.d.cts +418 -5
  71. package/dist/types/components/ui/field/Field.d.mts +418 -5
  72. package/dist/types/components/ui/field/Field.d.ts +418 -5
  73. package/dist/types/components/ui/field/FieldCategories.d.cts +1 -1
  74. package/dist/types/components/ui/field/FieldCategories.d.mts +1 -1
  75. package/dist/types/components/ui/field/FieldCategories.d.ts +1 -1
  76. package/dist/types/components/ui/field/FieldProps.d.cts +17 -1
  77. package/dist/types/components/ui/field/FieldProps.d.mts +17 -1
  78. package/dist/types/components/ui/field/FieldProps.d.ts +17 -1
  79. package/dist/types/components/ui/field/defaultFieldControlRowTheme.d.cts +4 -0
  80. package/dist/types/components/ui/field/defaultFieldControlRowTheme.d.mts +4 -0
  81. package/dist/types/components/ui/field/defaultFieldControlRowTheme.d.ts +4 -0
  82. package/dist/types/components/ui/field/fieldControlRowDefaults.d.cts +3 -0
  83. package/dist/types/components/ui/field/fieldControlRowDefaults.d.mts +3 -0
  84. package/dist/types/components/ui/field/fieldControlRowDefaults.d.ts +3 -0
  85. package/dist/types/components/ui/field/fieldControls.d.cts +14 -0
  86. package/dist/types/components/ui/field/fieldControls.d.mts +14 -0
  87. package/dist/types/components/ui/field/fieldControls.d.ts +14 -0
  88. package/dist/types/components/ui/field/fieldDefaults.d.cts +1 -1
  89. package/dist/types/components/ui/field/fieldDefaults.d.mts +1 -1
  90. package/dist/types/components/ui/field/fieldDefaults.d.ts +1 -1
  91. package/dist/types/components/ui/field/index.d.cts +3 -1
  92. package/dist/types/components/ui/field/index.d.mts +3 -1
  93. package/dist/types/components/ui/field/index.d.ts +3 -1
  94. package/dist/types/components/ui/props/categoryBuilders.d.cts +1 -0
  95. package/dist/types/components/ui/props/categoryBuilders.d.mts +1 -0
  96. package/dist/types/components/ui/props/categoryBuilders.d.ts +1 -0
  97. package/dist/types/components/ui/props/controlProps.d.cts +15 -0
  98. package/dist/types/components/ui/props/controlProps.d.mts +15 -0
  99. package/dist/types/components/ui/props/controlProps.d.ts +15 -0
  100. package/dist/types/components/ui/props/keys.d.cts +5 -3
  101. package/dist/types/components/ui/props/keys.d.mts +5 -3
  102. package/dist/types/components/ui/props/keys.d.ts +5 -3
  103. package/dist/types/components/ui/props/props.d.cts +1 -0
  104. package/dist/types/components/ui/props/props.d.mts +1 -0
  105. package/dist/types/components/ui/props/props.d.ts +1 -0
  106. package/dist/types/components/utils/componentUtils.d.cts +2 -0
  107. package/dist/types/components/utils/componentUtils.d.mts +2 -0
  108. package/dist/types/components/utils/componentUtils.d.ts +2 -0
  109. package/dist/types/index.d.cts +2 -2
  110. package/dist/types/index.d.mts +2 -2
  111. package/dist/types/index.d.ts +2 -2
  112. package/dist/ui.css +1 -1
  113. package/dist/vars.css +1 -1
  114. 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;;;;;;;"}
@@ -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
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFO,MAAM,YAAA,GAA2B;AAAA,EACtC,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,kBAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY,sBAAA;AAAA,EACZ,KAAA,EAAO,iBAAA;AAAA,EACP,IAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAM,gBAAA;AAAA,EACN,GAAA,EAAK,eAAA;AAAA,EACL,IAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,gBAAA;AAAA,IACN,MAAA,EAAQ,sBAAA;AAAA,IACR,IAAA,EAAM,oBAAA;AAAA,IACN,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS,mBAAA;AAAA,EACT,SAAA,EAAW,qBAAA;AAAA,EACX,GAAA,EAAK,eAAA;AAAA,EACL,GAAA,EAAK,eAAA;AAAA,EACL,KAAA,EAAO,iBAAA;AAAA,EACP,OAAA,EAAS,mBAAA;AAAA,EACT,KAAA,EAAO,iBAAA;AAAA,EACP,KAAA,EAAO,iBAAA;AAAA,EACP,KAAA,EAAO,iBAAA;AAAA,EACP,KAAA,EAAO,iBAAA;AAAA,EACP,KAAA,EAAO,iBAAA;AAAA,EACP,SAAA,EAAW,qBAAA;AAAA,EACX,YAAA,EAAc,wBAAA;AAAA,EACd,KAAA,EAAO,iBAAA;AAAA,EACP,IAAA,EAAM,gBAAA;AAAA,EACN,UAAA,EAAY,sBAAA;AAAA,EACZ,cAAA,EAAgB,0BAAA;AAAA,EAChB,IAAA,EAAM,gBAAA;AAAA,EACN,QAAA,EAAU,oBAAA;AAAA,EACV,IAAA,EAAM,gBAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,KAAA,EAAO,oBAAA;AAAA,IACP,KAAA,EAAO,yBAAA;AAAA,IACP,aAAA,EAAe,iCAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO,iBAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,iBAAA;AAAA,IACN,KAAA,EAAO,sBAAA;AAAA,IACP,UAAA,EAAY,2BAAA;AAAA,IACZ,WAAA,EAAa,4BAAA;AAAA,IACb,KAAA,EAAO;AAAA,GACT;AAAA,EACA,GAAA,EAAK,eAAA;AAAA,EACL,KAAA,EAAO,iBAAA;AAAA,EACP,cAAA,EAAgB,0BAAA;AAAA,EAChB,YAAA,EAAc,wBAAA;AAAA,EACd,QAAA,EAAU,oBAAA;AAAA,EACV,MAAA,EAAQ,kBAAA;AAAA,EACR,aAAA,EAAe,yBAAA;AAAA,EACf,aAAA,EAAe,yBAAA;AAAA,EACf,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,kBAAA;AAAA,IACP,KAAA,EAAO,uBAAA;AAAA,IACP,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,iBAAA;AAAA,IACP,GAAA,EAAK,oBAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY,sBAAA;AAAA,EACZ,OAAA,EAAS,mBAAA;AAAA,EACT,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,wBAAA;AAAA,IACT,OAAA,EAAS,wBAAA;AAAA,IACT,MAAA,EAAQ,uBAAA;AAAA,IACR,IAAA,EAAM,qBAAA;AAAA,IACN,MAAA,EAAQ,uBAAA;AAAA,IACR,WAAA,EAAa;AAAA,GACf;AAAA,EACA,KAAA,EAAO,iBAAA;AAAA,EACP,OAAA,EAAS,mBAAA;AAAA,EACT,KAAA,EAAO,iBAAA;AAAA,EACP,OAAA,EAAS,mBAAA;AAAA,EACT,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,KAAA,EAAO,qBAAA;AAAA,IACP,OAAA,EAAS,uBAAA;AAAA,IACT,KAAA,EAAO;AAAA,GACT;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,mBAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,iBAAA;AAAA,IACN,KAAA,EAAO,iBAAA;AAAA,IACP,KAAA,EAAO,iBAAA;AAAA,IACP,KAAA,EAAO,iBAAA;AAAA,IACP,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,OAAA,EAAS;AAAA;AAEb;;;;"}
@@ -1,33 +1,109 @@
1
1
  'use client';
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useId, isValidElement, useMemo } from 'react';
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 controlId = childId ?? `field-${uid}`;
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 control = useMemo(() => ({
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
- return /* @__PURE__ */ jsxs(ThemedComponent, { ref, theme: fieldTheme, ...rest, children: [
48
- hasLabel && /* @__PURE__ */ jsx(ThemedComponent, { theme: labelTheme, ...{ id: labelId, htmlFor: controlId }, children: label }),
49
- /* @__PURE__ */ jsx(LabelSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsx(FieldControlContext.Provider, { value: control, children }) }),
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":"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"}
@@ -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":";;AAeO,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;AACL;;;;"}
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;;;;"}