@lmb-it/kitsconcerto-native 0.1.277 → 0.1.285

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 (236) hide show
  1. package/apps/mobile/src/Core/AutoComplete/index.cjs +12 -4
  2. package/apps/mobile/src/Core/AutoComplete/index.cjs.map +1 -1
  3. package/apps/mobile/src/Core/AutoComplete/index.js +12 -4
  4. package/apps/mobile/src/Core/AutoComplete/index.js.map +1 -1
  5. package/apps/mobile/src/Core/MultiSelect/index.cjs +7 -4
  6. package/apps/mobile/src/Core/MultiSelect/index.cjs.map +1 -1
  7. package/apps/mobile/src/Core/MultiSelect/index.js +7 -4
  8. package/apps/mobile/src/Core/MultiSelect/index.js.map +1 -1
  9. package/components/Avatar/index.cjs +1 -0
  10. package/components/Avatar/index.cjs.map +1 -1
  11. package/components/Avatar/index.js +1 -0
  12. package/components/Avatar/index.js.map +1 -1
  13. package/components/Banner/banner.cjs +1 -0
  14. package/components/Banner/banner.cjs.map +1 -1
  15. package/components/Banner/banner.js +1 -0
  16. package/components/Banner/banner.js.map +1 -1
  17. package/components/BottomTabBar/index.cjs +1 -0
  18. package/components/BottomTabBar/index.cjs.map +1 -1
  19. package/components/BottomTabBar/index.js +1 -0
  20. package/components/BottomTabBar/index.js.map +1 -1
  21. package/components/BreadCrumb/index.cjs.map +1 -1
  22. package/components/BreadCrumb/index.js.map +1 -1
  23. package/components/Button/Button.cjs +1 -0
  24. package/components/Button/Button.cjs.map +1 -1
  25. package/components/Button/Button.js +1 -0
  26. package/components/Button/Button.js.map +1 -1
  27. package/components/Carousel/index.cjs +1 -0
  28. package/components/Carousel/index.cjs.map +1 -1
  29. package/components/Carousel/index.js +1 -0
  30. package/components/Carousel/index.js.map +1 -1
  31. package/components/ChatBubble/index.cjs +1 -0
  32. package/components/ChatBubble/index.cjs.map +1 -1
  33. package/components/ChatBubble/index.js +1 -0
  34. package/components/ChatBubble/index.js.map +1 -1
  35. package/components/Chip/index.cjs +1 -0
  36. package/components/Chip/index.cjs.map +1 -1
  37. package/components/Chip/index.js +1 -0
  38. package/components/Chip/index.js.map +1 -1
  39. package/components/DateSeparator/index.cjs +1 -0
  40. package/components/DateSeparator/index.cjs.map +1 -1
  41. package/components/DateSeparator/index.js +1 -0
  42. package/components/DateSeparator/index.js.map +1 -1
  43. package/components/DetailsList/index.cjs +1 -0
  44. package/components/DetailsList/index.cjs.map +1 -1
  45. package/components/DetailsList/index.js +1 -0
  46. package/components/DetailsList/index.js.map +1 -1
  47. package/components/EmptyState/index.cjs +1 -0
  48. package/components/EmptyState/index.cjs.map +1 -1
  49. package/components/EmptyState/index.js +1 -0
  50. package/components/EmptyState/index.js.map +1 -1
  51. package/components/Gallery/index.cjs +1 -0
  52. package/components/Gallery/index.cjs.map +1 -1
  53. package/components/Gallery/index.js +1 -0
  54. package/components/Gallery/index.js.map +1 -1
  55. package/components/MessageComposer/index.cjs +1 -0
  56. package/components/MessageComposer/index.cjs.map +1 -1
  57. package/components/MessageComposer/index.js +1 -0
  58. package/components/MessageComposer/index.js.map +1 -1
  59. package/components/MessageReceipt/index.cjs +1 -0
  60. package/components/MessageReceipt/index.cjs.map +1 -1
  61. package/components/MessageReceipt/index.js +1 -0
  62. package/components/MessageReceipt/index.js.map +1 -1
  63. package/components/ProgressBar/index.cjs +1 -0
  64. package/components/ProgressBar/index.cjs.map +1 -1
  65. package/components/ProgressBar/index.js +1 -0
  66. package/components/ProgressBar/index.js.map +1 -1
  67. package/components/SegmentedControl/index.cjs +1 -0
  68. package/components/SegmentedControl/index.cjs.map +1 -1
  69. package/components/SegmentedControl/index.js +1 -0
  70. package/components/SegmentedControl/index.js.map +1 -1
  71. package/components/StatCard/index.cjs +1 -0
  72. package/components/StatCard/index.cjs.map +1 -1
  73. package/components/StatCard/index.js +1 -0
  74. package/components/StatCard/index.js.map +1 -1
  75. package/components/Stepper/index.cjs +1 -0
  76. package/components/Stepper/index.cjs.map +1 -1
  77. package/components/Stepper/index.js +1 -0
  78. package/components/Stepper/index.js.map +1 -1
  79. package/components/Tabs/index.cjs +1 -0
  80. package/components/Tabs/index.cjs.map +1 -1
  81. package/components/Tabs/index.js +1 -0
  82. package/components/Tabs/index.js.map +1 -1
  83. package/components/Timeline/index.cjs +1 -0
  84. package/components/Timeline/index.cjs.map +1 -1
  85. package/components/Timeline/index.js +1 -0
  86. package/components/Timeline/index.js.map +1 -1
  87. package/components/Translate/index.cjs +1 -0
  88. package/components/Translate/index.cjs.map +1 -1
  89. package/components/Translate/index.js +1 -0
  90. package/components/Translate/index.js.map +1 -1
  91. package/components/TypingIndicator/index.cjs +1 -0
  92. package/components/TypingIndicator/index.cjs.map +1 -1
  93. package/components/TypingIndicator/index.js +1 -0
  94. package/components/TypingIndicator/index.js.map +1 -1
  95. package/components/overlay/ConfirmDialog/index.cjs +1 -0
  96. package/components/overlay/ConfirmDialog/index.cjs.map +1 -1
  97. package/components/overlay/ConfirmDialog/index.js +1 -0
  98. package/components/overlay/ConfirmDialog/index.js.map +1 -1
  99. package/components/overlay/Dialog/index.cjs +1 -0
  100. package/components/overlay/Dialog/index.cjs.map +1 -1
  101. package/components/overlay/Dialog/index.js +1 -0
  102. package/components/overlay/Dialog/index.js.map +1 -1
  103. package/contexts/BreadcrumbContext.cjs +33 -0
  104. package/contexts/BreadcrumbContext.cjs.map +1 -0
  105. package/contexts/BreadcrumbContext.js +28 -0
  106. package/contexts/BreadcrumbContext.js.map +1 -0
  107. package/form/controls/Checkbox/index.cjs +1 -0
  108. package/form/controls/Checkbox/index.cjs.map +1 -1
  109. package/form/controls/Checkbox/index.js +1 -0
  110. package/form/controls/Checkbox/index.js.map +1 -1
  111. package/form/controls/RadioButton/radio.cjs +1 -0
  112. package/form/controls/RadioButton/radio.cjs.map +1 -1
  113. package/form/controls/RadioButton/radio.js +1 -0
  114. package/form/controls/RadioButton/radio.js.map +1 -1
  115. package/form/controls/TriStateCheckbox/index.cjs +1 -0
  116. package/form/controls/TriStateCheckbox/index.cjs.map +1 -1
  117. package/form/controls/TriStateCheckbox/index.js +1 -0
  118. package/form/controls/TriStateCheckbox/index.js.map +1 -1
  119. package/form/file-pickers/index.cjs +1 -0
  120. package/form/file-pickers/index.cjs.map +1 -1
  121. package/form/file-pickers/index.js +1 -0
  122. package/form/file-pickers/index.js.map +1 -1
  123. package/form/helpers/FormContainer/index.cjs +13 -2
  124. package/form/helpers/FormContainer/index.cjs.map +1 -1
  125. package/form/helpers/FormContainer/index.js +13 -2
  126. package/form/helpers/FormContainer/index.js.map +1 -1
  127. package/form/inputs/ColorPicker/index.cjs +1 -0
  128. package/form/inputs/ColorPicker/index.cjs.map +1 -1
  129. package/form/inputs/ColorPicker/index.js +1 -0
  130. package/form/inputs/ColorPicker/index.js.map +1 -1
  131. package/form/inputs/Datepicker/index.cjs +1 -0
  132. package/form/inputs/Datepicker/index.cjs.map +1 -1
  133. package/form/inputs/Datepicker/index.js +1 -0
  134. package/form/inputs/Datepicker/index.js.map +1 -1
  135. package/form/inputs/InputLocation/index.cjs +1 -0
  136. package/form/inputs/InputLocation/index.cjs.map +1 -1
  137. package/form/inputs/InputLocation/index.js +1 -0
  138. package/form/inputs/InputLocation/index.js.map +1 -1
  139. package/form/inputs/InputMask/index.cjs +1 -0
  140. package/form/inputs/InputMask/index.cjs.map +1 -1
  141. package/form/inputs/InputMask/index.js +1 -0
  142. package/form/inputs/InputMask/index.js.map +1 -1
  143. package/form/inputs/InputNumber/index.cjs +1 -0
  144. package/form/inputs/InputNumber/index.cjs.map +1 -1
  145. package/form/inputs/InputNumber/index.js +1 -0
  146. package/form/inputs/InputNumber/index.js.map +1 -1
  147. package/form/inputs/InputPassword/index.cjs +1 -0
  148. package/form/inputs/InputPassword/index.cjs.map +1 -1
  149. package/form/inputs/InputPassword/index.js +1 -0
  150. package/form/inputs/InputPassword/index.js.map +1 -1
  151. package/form/inputs/InputSwitch/index.cjs +1 -0
  152. package/form/inputs/InputSwitch/index.cjs.map +1 -1
  153. package/form/inputs/InputSwitch/index.js +1 -0
  154. package/form/inputs/InputSwitch/index.js.map +1 -1
  155. package/form/inputs/InputText/index.cjs +1 -0
  156. package/form/inputs/InputText/index.cjs.map +1 -1
  157. package/form/inputs/InputText/index.js +1 -0
  158. package/form/inputs/InputText/index.js.map +1 -1
  159. package/form/inputs/InputTextarea/index.cjs +1 -0
  160. package/form/inputs/InputTextarea/index.cjs.map +1 -1
  161. package/form/inputs/InputTextarea/index.js +1 -0
  162. package/form/inputs/InputTextarea/index.js.map +1 -1
  163. package/form/inputs/PhoneInput/index.cjs +1 -0
  164. package/form/inputs/PhoneInput/index.cjs.map +1 -1
  165. package/form/inputs/PhoneInput/index.js +1 -0
  166. package/form/inputs/PhoneInput/index.js.map +1 -1
  167. package/form/selects/AutoComplete/index.cjs +11 -1
  168. package/form/selects/AutoComplete/index.cjs.map +1 -1
  169. package/form/selects/AutoComplete/index.js +12 -2
  170. package/form/selects/AutoComplete/index.js.map +1 -1
  171. package/form/selects/CascadeSelect/index.cjs +1 -0
  172. package/form/selects/CascadeSelect/index.cjs.map +1 -1
  173. package/form/selects/CascadeSelect/index.js +1 -0
  174. package/form/selects/CascadeSelect/index.js.map +1 -1
  175. package/form/selects/Dropdown/index.cjs +1 -0
  176. package/form/selects/Dropdown/index.cjs.map +1 -1
  177. package/form/selects/Dropdown/index.js +1 -0
  178. package/form/selects/Dropdown/index.js.map +1 -1
  179. package/form/selects/ListBox/index.cjs +1 -0
  180. package/form/selects/ListBox/index.cjs.map +1 -1
  181. package/form/selects/ListBox/index.js +1 -0
  182. package/form/selects/ListBox/index.js.map +1 -1
  183. package/form/selects/MultiSelect/index.cjs +9 -1
  184. package/form/selects/MultiSelect/index.cjs.map +1 -1
  185. package/form/selects/MultiSelect/index.js +10 -2
  186. package/form/selects/MultiSelect/index.js.map +1 -1
  187. package/form/selects/TreeSelect/index.cjs +1 -0
  188. package/form/selects/TreeSelect/index.cjs.map +1 -1
  189. package/form/selects/TreeSelect/index.js +1 -0
  190. package/form/selects/TreeSelect/index.js.map +1 -1
  191. package/form/selects/helpers/SelectPopupOverlay.cjs +1 -0
  192. package/form/selects/helpers/SelectPopupOverlay.cjs.map +1 -1
  193. package/form/selects/helpers/SelectPopupOverlay.js +1 -0
  194. package/form/selects/helpers/SelectPopupOverlay.js.map +1 -1
  195. package/form-renderer/components/fields/FileUploader/index.cjs +1 -0
  196. package/form-renderer/components/fields/FileUploader/index.cjs.map +1 -1
  197. package/form-renderer/components/fields/FileUploader/index.js +1 -0
  198. package/form-renderer/components/fields/FileUploader/index.js.map +1 -1
  199. package/form-renderer/components/fields/Group/index.cjs +1 -0
  200. package/form-renderer/components/fields/Group/index.cjs.map +1 -1
  201. package/form-renderer/components/fields/Group/index.js +1 -0
  202. package/form-renderer/components/fields/Group/index.js.map +1 -1
  203. package/form-renderer/components/fields/Radios/index.cjs +1 -0
  204. package/form-renderer/components/fields/Radios/index.cjs.map +1 -1
  205. package/form-renderer/components/fields/Radios/index.js +1 -0
  206. package/form-renderer/components/fields/Radios/index.js.map +1 -1
  207. package/form-renderer/components/fields/Select/index.cjs +1 -0
  208. package/form-renderer/components/fields/Select/index.cjs.map +1 -1
  209. package/form-renderer/components/fields/Select/index.js +1 -0
  210. package/form-renderer/components/fields/Select/index.js.map +1 -1
  211. package/hooks/main.cjs +1 -0
  212. package/hooks/main.cjs.map +1 -1
  213. package/hooks/main.js +1 -0
  214. package/hooks/main.js.map +1 -1
  215. package/hooks/useBreadcrumbTrail.cjs +21 -0
  216. package/hooks/useBreadcrumbTrail.cjs.map +1 -0
  217. package/hooks/useBreadcrumbTrail.js +16 -0
  218. package/hooks/useBreadcrumbTrail.js.map +1 -0
  219. package/hooks/useComponentDefaults.cjs +50 -8
  220. package/hooks/useComponentDefaults.cjs.map +1 -1
  221. package/hooks/useComponentDefaults.js +50 -8
  222. package/hooks/useComponentDefaults.js.map +1 -1
  223. package/index.cjs +5 -0
  224. package/index.cjs.map +1 -1
  225. package/index.d.ts +245 -19
  226. package/index.js +2 -0
  227. package/index.js.map +1 -1
  228. package/package.json +1 -1
  229. package/packages/types/src/Theme/defaultTheme.cjs +24 -4
  230. package/packages/types/src/Theme/defaultTheme.cjs.map +1 -1
  231. package/packages/types/src/Theme/defaultTheme.js +24 -4
  232. package/packages/types/src/Theme/defaultTheme.js.map +1 -1
  233. package/primitives/Card/index.cjs +1 -0
  234. package/primitives/Card/index.cjs.map +1 -1
  235. package/primitives/Card/index.js +1 -0
  236. package/primitives/Card/index.js.map +1 -1
package/index.d.ts CHANGED
@@ -56,6 +56,56 @@ export interface IMenuItem<T = string, L extends ILinkOverrides = ILinkOverrides
56
56
  content?: ReactElement;
57
57
  links?: IMenuItem<T, L>[];
58
58
  }
59
+ /**
60
+ * ONE CRUMB IN THE APP BREADCRUMB.
61
+ *
62
+ * ⚠️ `url` ABSENT MEANS PLAIN TEXT, NOT "NO DESTINATION YET". A crumb for the
63
+ * record a person is already looking at must not be a link to the page they
64
+ * are already on, and the last crumb of a trail is always that record.
65
+ */
66
+ export interface IBreadcrumbCrumb {
67
+ label: string;
68
+ url?: string;
69
+ }
70
+ /**
71
+ * How the app breadcrumb builds its trail.
72
+ *
73
+ * ⛔ EVERY FIELD IS OPTIONAL AND AN ABSENT BAG RENDERS EXACTLY WHAT THE
74
+ * COMPONENT RENDERED BEFORE THIS BAG EXISTED — one crumb per URL segment,
75
+ * labelled by the capitalised segment, every one of them a link. That is the
76
+ * backward-compatibility test for growing an existing API
77
+ * (UML/Claude/04_kitsconcerto.md §7), and the app shell is what opts in.
78
+ */
79
+ export interface IBreadcrumbProps<T = string, L extends ILinkOverrides = ILinkOverrides> {
80
+ /**
81
+ * The navigation tree. Given, a URL segment is labelled by the `title` of
82
+ * the route that owns it instead of by the raw segment — "Document Types",
83
+ * never "Document-types".
84
+ */
85
+ routes?: IMenuItem<T, L>[];
86
+ /**
87
+ * Given, a URL segment that no route claims with an `element` is dropped
88
+ * from the trail.
89
+ *
90
+ * ⛔ THIS IS A RULE ABOUT ROUTABILITY, NOT A LIST OF WORDS. A grouping
91
+ * prefix is a path several nav sections share to sit under one URL while
92
+ * none of them is itself a page; it has no `element`, so navigating to it
93
+ * renders nothing. A crumb that leads nowhere is worse than no crumb,
94
+ * which is why this exists — and keeping it a structural test is what
95
+ * keeps the library agnostic (§7).
96
+ */
97
+ skipNonRoutable?: boolean;
98
+ /**
99
+ * Crumbs the PAGE supplies for what the URL cannot say: the name of the
100
+ * record being viewed, where the URL carries only its reference.
101
+ *
102
+ * They fill the trail's dynamic segment when it has one, and are appended
103
+ * when it does not — so a page reached by a state swap, whose URL never
104
+ * changed, still names what is open. Pages normally set these through
105
+ * `useBreadcrumb()` rather than passing them here.
106
+ */
107
+ trailingCrumbs?: IBreadcrumbCrumb[];
108
+ }
59
109
 
60
110
  export type ILabelElement = string | ReactElement;
61
111
  export type IFormGrid = IStyleClasses;
@@ -700,22 +750,60 @@ export interface ISelectSlots extends IFormElementBaseSlots {
700
750
  itemDisabled?: IElementSlotConfig;
701
751
  }
702
752
  /**
703
- * MultiSelect = Select + chip + per-item checkbox visuals.
704
- * Inherits ISelectSlots and adds chip/checkbox slots that only apply
705
- * to the multi-value variant.
706
- */
707
- export interface IMultiSelectSlots extends ISelectSlots {
753
+ * Chip-bearing selects — the slots shared by EVERY control that renders
754
+ * the current value as removable chips: MultiSelect (`display="chip"`)
755
+ * and AutoComplete with `isMultiple` (the Tags field).
756
+ *
757
+ * ⛔ IT IS ONE INTERFACE BECAUSE THE TWO CONTROLS DRIFTED. MultiSelect read
758
+ * `token` from the theme and drew a pill; AutoComplete hardcoded its own
759
+ * `pt.token` (background + colour, nothing else) and ignored the slot, so the
760
+ * same form showed pill chips in one field and PrimeReact's square chips in the
761
+ * next. The defaults now live ONCE, on the `Select` base group, and both
762
+ * controls read them from here.
763
+ */
764
+ export interface IChipInputSlots extends ISelectSlots {
765
+ /**
766
+ * ⛔ THE OUTER BOX OF A CHIPS FIELD — the element a consumer means by
767
+ * "the tags input". It holds the chips AND the text caret, and it is the
768
+ * one PrimeReact gives `.p-inputtext` to, so it is what has to carry the
769
+ * border / radius / background / padding that makes a tags field look like
770
+ * a text input.
771
+ *
772
+ * Web → `ul.p-autocomplete-multiple-container` (AutoComplete `pt.container`).
773
+ * Native → the field wrapper `View` that holds the chips and the `TextInput`.
774
+ *
775
+ * ⚠️ NOT `root` and NOT `container`. `root` is the inner input element and
776
+ * `container` is `KitsContainer`'s outermost Flex (label + field + error).
777
+ * Neither is the bordered box, which is why styling the chips field used to
778
+ * have nowhere to land: the only reachable slots were either inside the box
779
+ * or around the whole block.
780
+ *
781
+ * Defaults to transparent / border-less so the `inputGroup` chrome
782
+ * `KitsContainer` paints stays the single visible border. Give it a border
783
+ * here (or on an `attached` field, which has no `KitsContainer`) and it
784
+ * paints its own.
785
+ */
786
+ tokenContainer?: IElementSlotConfig;
708
787
  /**
709
788
  * Selected-value chip (small pill rendered for each selected item
710
- * when `display="chip"`). Drives bg / color / radius / padding via
711
- * inline style on `.p-multiselect-token`.
789
+ * when `display="chip"` / `isMultiple`). Drives bg / color / radius /
790
+ * padding via inline style on `.p-multiselect-token` and
791
+ * `.p-autocomplete-token`.
712
792
  */
713
793
  token?: IElementSlotConfig;
714
794
  /**
715
795
  * The "remove" icon inside a token chip. Drives color / size of
716
- * the close (×) icon via inline style on `.p-multiselect-token-icon`.
796
+ * the close (×) icon via inline style on `.p-multiselect-token-icon`
797
+ * and `.p-autocomplete-token-icon`.
717
798
  */
718
799
  tokenIcon?: IElementSlotConfig;
800
+ }
801
+ /**
802
+ * MultiSelect = chip-bearing select + per-item checkbox visuals.
803
+ * Inherits IChipInputSlots and adds the checkbox slots that only apply
804
+ * to the multi-value variant with an option list.
805
+ */
806
+ export interface IMultiSelectSlots extends IChipInputSlots {
719
807
  /**
720
808
  * Per-item checkbox box (also the header "select all"). Drives
721
809
  * border / bg / radius for the rounded square inside each row.
@@ -837,7 +925,7 @@ export interface IRadioSlots extends IFormElementBaseSlots {
837
925
  * `useComponentDefaults`) — derive from this to keep the runtime set
838
926
  * in sync with the type contract automatically.
839
927
  */
840
- export type AllSlotKeys = keyof IFormElementBaseSlots | keyof ITextInputSlots | keyof IDatepickerSlots | keyof ISelectSlots | keyof IMultiSelectSlots | keyof ISwitchSlots | keyof ICheckboxSlots | keyof IRadioSlots;
928
+ export type AllSlotKeys = keyof IFormElementBaseSlots | keyof ITextInputSlots | keyof IDatepickerSlots | keyof ISelectSlots | keyof IChipInputSlots | keyof IMultiSelectSlots | keyof ISwitchSlots | keyof ICheckboxSlots | keyof IRadioSlots;
841
929
  /**
842
930
  * Wide superset of every form-element slot — the union of all
843
931
  * form-element slot interfaces.
@@ -1261,10 +1349,21 @@ export interface IKitsComponentDefaults {
1261
1349
  ColorPicker?: IComponentThemeConfig<ITextInputSlots>;
1262
1350
  PhoneInput?: IComponentThemeConfig<ITextInputSlots>;
1263
1351
  Datepicker?: IComponentThemeConfig<IDatepickerSlots>;
1264
- Select?: IComponentThemeConfig<ISelectSlots>;
1352
+ /**
1353
+ * Select base group.
1354
+ *
1355
+ * ⛔ TYPED AS `IChipInputSlots`, NOT `ISelectSlots`, ON PURPOSE. The chip
1356
+ * defaults (`token` / `tokenIcon` / `tokenContainer`) live HERE so the two
1357
+ * chip-bearing members — MultiSelect and AutoComplete-with-`isMultiple`
1358
+ * (Tags) — read one set of values instead of each carrying its own. A chip
1359
+ * slot on a shape that draws no chips (Dropdown, ListBox) is inert, the same
1360
+ * way the option-list slots are inert on a select with no popover.
1361
+ */
1362
+ Select?: IComponentThemeConfig<IChipInputSlots>;
1265
1363
  DropdownSelect?: IComponentThemeConfig<ISelectSlots>;
1266
1364
  TreeSelect?: IComponentThemeConfig<ISelectSlots>;
1267
- AutoComplete?: IComponentThemeConfig<ISelectSlots>;
1365
+ /** AutoComplete — chips when `isMultiple` (this is the Tags field). */
1366
+ AutoComplete?: IComponentThemeConfig<IChipInputSlots>;
1268
1367
  ListBox?: IComponentThemeConfig<ISelectSlots>;
1269
1368
  CascadeSelect?: IComponentThemeConfig<ISelectSlots>;
1270
1369
  MultiSelect?: IComponentThemeConfig<IMultiSelectSlots>;
@@ -5055,6 +5154,17 @@ export interface IKitsContainer extends IFormSingleElement, Omit<ElementProps, "
5055
5154
  additionalClassName?: string;
5056
5155
  /** Per-element styles (IStyleClasses) passed from the parent form input component */
5057
5156
  elementStyles?: Record<string, Record<string, any>>;
5157
+ /**
5158
+ * Per-element extra attributes (`className`, `data-*`, …) passed from the
5159
+ * parent form input component — `useComponentDefaults().elementProps`.
5160
+ *
5161
+ * ⛔ WITHOUT THIS, `slots.container.props` AND `slots.inputGroup.props`
5162
+ * WENT NOWHERE. KitsContainer owns both of those elements, so a class a
5163
+ * consumer put on either slot had no route to the DOM: the container only
5164
+ * ever received `elementStyles`. Optional, so a form input that does not
5165
+ * pass it behaves exactly as before.
5166
+ */
5167
+ elementProps?: Record<string, Record<string, any>>;
5058
5168
  /**
5059
5169
  * When true, strips the input-group chrome (border, border-radius, overflow, focus ring).
5060
5170
  * Used by Switch, Checkbox, and Radio which render their own visual controls
@@ -8117,6 +8227,22 @@ export interface IMainContextProps<TMenuItem = any, TTheme = any, TComponent = J
8117
8227
  onChangeLanguage?: (language: string) => void;
8118
8228
  /** Avatar config for the header user menu trigger */
8119
8229
  userAvatar?: IUserAvatar;
8230
+ /**
8231
+ * Build the header breadcrumb from the ROUTES instead of from the URL text:
8232
+ * a segment is labelled by its route's `title`, a segment that no route
8233
+ * claims with an `element` is dropped, and the last crumb is plain text
8234
+ * rather than a link to the page already open. A page can name the record
8235
+ * it has open with `useBreadcrumbTrail()`.
8236
+ *
8237
+ * ⛔ OFF BY DEFAULT, AND THAT IS NOT TIMIDITY. Turning it on changes what
8238
+ * every page of a consuming app shows in its header, and no consumer that
8239
+ * predates this flag asked for that — the rule for growing an API here is
8240
+ * that an absent option renders what it rendered before
8241
+ * (UML/Claude/04_kitsconcerto.md §7). The first draft had `AdminLayout`
8242
+ * enable it unconditionally, which quietly rewrote a SECOND product's
8243
+ * breadcrumbs the moment the package was pushed (Codex, on review).
8244
+ */
8245
+ routeAwareBreadcrumb?: boolean;
8120
8246
  ref?: Ref<any>;
8121
8247
  }
8122
8248
  export interface IMainContextValues<TMenuItem = any, TComponent = JSX.Element> {
@@ -8499,9 +8625,18 @@ declare const Alert: ({ status, variant, className, withIcon, children, title, d
8499
8625
 
8500
8626
  declare const Banner: React__default.FC<IBannerProps>;
8501
8627
 
8502
- export interface IBreadCrumbProps {
8503
- }
8504
- declare const BreadCrumb: FunctionComponent<IBreadCrumbProps>;
8628
+ /**
8629
+ * NATIVE DRAWS NO BREADCRUMB, AND THAT IS NOT AN OVERSIGHT. A phone has a back
8630
+ * gesture and a header title; a trail of links across a 390pt screen is a web
8631
+ * affordance. The file exists so the import resolves on both platforms.
8632
+ *
8633
+ * ⚠️ IT TAKES THE SAME PROPS ANYWAY. The web component grew an options bag, and
8634
+ * a no-op whose signature does not grow with it is how the two platforms start
8635
+ * disagreeing about an API: shared code passing the bag would compile on web
8636
+ * and fail to type-check on native (§7 — add it to BOTH platforms in the same
8637
+ * unit, or the platforms drift).
8638
+ */
8639
+ declare const BreadCrumb: FunctionComponent<IBreadcrumbProps>;
8505
8640
 
8506
8641
  declare function KitsDialogControlled({ state, onHide }: IKitsDialogControlled): React__default.JSX.Element;
8507
8642
 
@@ -9101,6 +9236,39 @@ declare const PermissionsProvider: FC<PropsWithChildren<{
9101
9236
 
9102
9237
  declare const usePermissions: () => IPermissionsContextValues;
9103
9238
 
9239
+ /**
9240
+ * WHAT THE URL CANNOT SAY.
9241
+ *
9242
+ * The app breadcrumb builds its trail from the URL, which is the right default
9243
+ * and is also blind to two things a person reading the screen needs:
9244
+ *
9245
+ * 1. The NAME of the record that is open. A URL carries its reference —
9246
+ * `/config/document-types/DOC-ELEC-VIC` — and nobody recognises a
9247
+ * reference. Only the page that fetched the record knows it is the
9248
+ * "Electrical Licence (VIC)".
9249
+ * 2. That a record is open AT ALL, on a page that swaps views in local state
9250
+ * without navigating. The URL is identical before and after, so a trail
9251
+ * derived from it cannot show the person they have gone one level in.
9252
+ *
9253
+ * So the page tells the breadcrumb, through this context, and the breadcrumb
9254
+ * keeps deciding everything it can decide by itself.
9255
+ *
9256
+ * ⛔ A PAGE MUST CLEAR WHAT IT SET. The provider lives above the routed
9257
+ * content, so a label left behind outlives the page that set it and then
9258
+ * describes the wrong screen — the one failure this context can cause that
9259
+ * nothing else would catch. `useBreadcrumbTrail` does the clearing for you and
9260
+ * is what a page should reach for.
9261
+ */
9262
+ export type IBreadcrumbContextValues = {
9263
+ /** Crumbs the current page has contributed. Empty when none has. */
9264
+ trailingCrumbs: IBreadcrumbCrumb[];
9265
+ /** Replace them. An empty array or null clears. */
9266
+ setTrailingCrumbs: (crumbs: IBreadcrumbCrumb[] | null) => void;
9267
+ };
9268
+ declare const BreadcrumbProvider: FC<PropsWithChildren>;
9269
+
9270
+ declare const useBreadcrumb: () => IBreadcrumbContextValues;
9271
+
9104
9272
  export type BooleanParams = {
9105
9273
  mode: "boolean";
9106
9274
  value?: boolean;
@@ -9173,6 +9341,13 @@ declare const useKitsConcerto: () => IMainContextValues<any, React$1.JSX.Element
9173
9341
 
9174
9342
  export interface IElementConfig {
9175
9343
  style: Record<string, any>;
9344
+ /**
9345
+ * Extra attributes for this slot's element — `className`, `data-*`,
9346
+ * `aria-*`, anything the platform element accepts. Merged across the
9347
+ * whole chain (FormElement < baseGroup < component < instance slots),
9348
+ * with `className` CONCATENATED rather than replaced.
9349
+ */
9350
+ props: Record<string, any>;
9176
9351
  important?: boolean | string[];
9177
9352
  pseudo?: Record<string, Record<string, any>>;
9178
9353
  }
@@ -9191,7 +9366,20 @@ export interface UseComponentDefaultsResult<T> {
9191
9366
  */
9192
9367
  elementStyles: Record<string, Record<string, any>>;
9193
9368
  /**
9194
- * Full slot configs including `important` and `pseudo` fields.
9369
+ * Per-element extra attributes. Each key is a slot name, value is the
9370
+ * merged `props` for that slot (`className`, `data-*`, `aria-*`, …).
9371
+ *
9372
+ * ⛔ EVERY SLOT, NOT JUST `root` — THAT WAS THE BUG. `IElementSlotConfig`
9373
+ * has advertised `props` on every slot since the slot system landed, but
9374
+ * only `root.props` was ever read (it is folded into `mergedProps`).
9375
+ * Anything a consumer put on another slot — the class a portal needs on a
9376
+ * tags field's outer box to make it match a text input — was parsed,
9377
+ * merged, and then thrown away with no warning and no type error.
9378
+ * Components apply `elementProps[slot]` to the matching element.
9379
+ */
9380
+ elementProps: Record<string, Record<string, any>>;
9381
+ /**
9382
+ * Full slot configs including `props`, `important` and `pseudo` fields.
9195
9383
  * Use this instead of `elementStyles` when you need those fields.
9196
9384
  */
9197
9385
  elementConfigs: Record<string, IElementConfig>;
@@ -9213,8 +9401,15 @@ export interface UseComponentDefaultsResult<T> {
9213
9401
  * on the component config. Each slot accepts `{ props?, style? }`.
9214
9402
  *
9215
9403
  * The `root` slot's `props` are merged into `mergedProps` alongside
9216
- * user props (user always wins). The `root` slot's `style` is returned
9217
- * as both `themeStyle` (backwards compat) and `elementStyles.root`.
9404
+ * user props (user always wins, except `className`, which concatenates).
9405
+ * The `root` slot's `style` is returned as both `themeStyle` (backwards
9406
+ * compat) and `elementStyles.root`.
9407
+ *
9408
+ * EVERY OTHER slot's `props` come back on `elementProps[slot]` — the
9409
+ * component is responsible for spreading them onto the element that slot
9410
+ * names. Before that existed, `props` on a non-root slot was silently
9411
+ * discarded, which is how a consumer's class on a tags field's outer box
9412
+ * disappeared without a single error.
9218
9413
  *
9219
9414
  * Supports base-group inheritance: e.g. `useComponentDefaults('InputText', rawProps, 'Input')`
9220
9415
  * merges FormElement first, then Input base, then InputText overrides,
@@ -9457,6 +9652,37 @@ declare function useCountUp(target: number, { duration, delay, run, decimals, }?
9457
9652
  */
9458
9653
  declare function useMeasuredWidth<T = unknown>(): [RefObject<T | null>, number];
9459
9654
 
9655
+ /**
9656
+ * Names, in the app breadcrumb, the record this page has open — and takes the
9657
+ * name back down when the page goes away.
9658
+ *
9659
+ * ```tsx
9660
+ * useBreadcrumbTrail(doc ? [{label: doc.label}] : null);
9661
+ * ```
9662
+ *
9663
+ * A crumb with no `url` renders as plain text, which is what the record a
9664
+ * person is already looking at should be.
9665
+ *
9666
+ * ⛔ THE CLEANUP IS THE POINT OF THE HOOK. Setting the trail is one line and a
9667
+ * page could do it inline; forgetting to clear it is invisible, because the
9668
+ * stale label keeps rendering on the NEXT screen and reads as a correct
9669
+ * breadcrumb for the wrong page. The provider sits above the routed content,
9670
+ * so nothing else unmounts it.
9671
+ *
9672
+ * ⚠️ THE ARGUMENT IS COMPARED BY ITS CONTENT, NOT BY IDENTITY. A page that
9673
+ * builds the array inline — which is the obvious way to call this — produces a
9674
+ * new array every render, and depending on the reference would set state on
9675
+ * every one of them and spin. The serialisation below is the dependency, so an
9676
+ * unchanged label is an unchanged dependency.
9677
+ *
9678
+ * ⚠️ AND IT IS `JSON.stringify`, NOT A JOIN ON SEPARATORS. A draft joined on
9679
+ * `\u0000`/`\u0001`, which two different arrays can collide on if a label ever
9680
+ * contains one of them (Codex, on review) — a collision means the breadcrumb
9681
+ * silently keeps the previous name. Unlikely in a UI label is not the same as
9682
+ * impossible, and the sound version costs nothing.
9683
+ */
9684
+ declare function useBreadcrumbTrail(crumbs: IBreadcrumbCrumb[] | null | undefined): void;
9685
+
9460
9686
  /**
9461
9687
  * Motion tokens for the widget/dashboard component family.
9462
9688
  *
@@ -15043,5 +15269,5 @@ declare const localeFiles: {
15043
15269
  };
15044
15270
  };
15045
15271
 
15046
- export { ALPHA_COLOR_VARS, ALPHA_STEPS, ALPHA_TOKEN_NAMES, AccentEdge, CustomAccordion as Accordion, ActionCard, Alert, AlertDescription, AlertIcon, AlertTitle, KitsAnimatePresence as AnimatePresence, AnyFile, Avatar, AvatarStack, Badge, Banner, BottomTabBar, Box, BreadCrumb, Button, Card, Carousel, Center, ChatBubble, Chip, CircularProgress, Collapse, CommandPalette, Container, CustomPopover, DEFAULT_NATIVE_SHADOWS, DataView, DataViewContext, DateSeparator, Delta, DetailList as DetailsList, Divider, Donut, DotGrid, EDateFormat, EKeyFilter, Editable, EmptyState, FIELD_LABEL_MARGIN, FIELD_MARGIN, Flex, Form, FormSelect, GUTTER, Gallery, Gauge, Form as GoForm, Datatable as GoTable, KitsGrid as Grid, KitsGridItem as GridItem, GroupedBars, HELPER_TEXT_MARGIN, HStack, Heading, Icon, IconMap, Image, KitsInputSwitch as InputSwitch, KeyboardNavContext, KitsAutoComplete, KitsBarChart, KitsCascadeSelect, KitsCheckbox as KitsCheckboxes, KitsConfirm, KitsConfirmPopup, KitsContainer, KitsInputCalendar as KitsDatepicker, KitsDialogControlled as KitsDialog, KitsDropdown, FilePicker as KitsFilePicker, KitsInputColorPicker, KitsInputLocation, KitsInputMask, KitsInputNumber, KitsInputPassword, KitsInputText, KitsInputTextarea, KitsLineChart, KitsListBox, KitsMultiSelect, KitsPhoneComponent, KitsRadar, KitsRadio as KitsRadios, RadiusPicker as KitsRadiusPicker, KitsSliders, KitsThemeProvider, KitsToast, KitsTreeSelect, Label, Legend, Link, List, ListItem, Loader, LocaleContext, LocaleContextProvider, MainContext, MainContextProvider, MapTile, MessageComposer, MessageReceipt, MetricCard, KitsMultiSelect as MultiSelect, PermissionsProvider, PersonCard, ProgressBar, RadiusPicker, RankedList, ReducedMotionProvider, Rise, SHADOW_PRESET_KEYS, SPACER, KitsScrollView as ScrollView, SegmentedControl, FormSelect as Select, SelectButton, Skeleton$1 as Skeleton, SkeletonRows, Skeleton as SkeletonText, Sparkline, StackedBars, StatCard, StatGroup, StatePill, StatusCard, Stepper, Striped, Svg, TableContext, Tabs, Text, ThemeContextProvider, Timeline, Tip, Tooltip, Translate, KitsTreeSelect as TreeSelect, TreeView, TriStateCheckbox, TypingIndicator, VStack, Wash, WidgetPanel, borderProperties, breakpoints, capitalizeFirstLetter, checkExtAgainstAccepted, checkNameDuplication, colorWithAlpha, dateTimeFormat, deepMerge, defaultSeverityTheme, defaultTheme, downloadCanvas, dynamicList, expandShadowNative, extendTheme, fileTypeIcon, fileValidation, filesExt, filesMemes, filesTypes, flattenSlotStyles, fontSizeMapping, formFileValidation, formatNumber, getActiveNativeShadows, getCombinedChildIds, getCustomDateTime, getDateElements, getDefaultValues, getMeme, getParams, getPropertyByPath, getType, getTypes, getURLParams, imagesExt, imagesMemes, imagesTypes, isAlphaToken, isNumber, isSemanticToken, isShadowPreset, isThemeToken, isToday, isValidURL, kitsMotion, listingProperties, localeFiles, allProperties as mapCssProperties, mergeRefs, nonPxProperties, propertiesWithoutCssEquivalent, pxProperties, resolveStyleRecord, resolveTokenValue, schemaBuilder, setActiveNativeShadows, shadowNative, shadowWeb, sizeMapping, sizingProperties, timeAgo, timeSince, toMemes, useAllSeverityColors, useComponentDefaults, useCountUp, useDataView, useDialog, useDisclosure, useEnter, useFieldLogic, useFocusStyles, useFormFieldKeyboardNav, useFormManager, useKeyboardNav, useKeyboardNavProvider, useKitsColorScheme, useKitsConcerto, useKitsTheme, useLanguage, useMeasuredWidth, useNativeColorMap, usePermissions, usePopup, useReducedMotion, useResolvedElementStyles, useResolvedStyle, useRtlLineHeight, useScrollState, useSelectionController, useSeverityColors, useTable, useTheme, useThemedFont, useToast };
15047
- export type { AlignmentsValues, AllSlotKeys, AnimationsValues, AvatarShape, AvatarSize, AvatarStatus, BannerAction, BannerStatus, BaseFieldProps, Booleanish, Breakpoint, CallbackProps, ChatBubbleTone, ChatBubbleVariant, ChipSeverity, ChipSize, ColorMode, ColorScale, ColorValue, Colors, ColorsType, ComponentSize, CustomSubmitButtonProps, DataTableFilterMeta, DataTableFilterMetaData, DataTableOperatorFilterMetaData, DataTableSelectionSingleChangeEvent, DataTableSortMeta, DeepPartial, DetailItemInputType, DynamicValue, ElementProps, EnteringAnimation, ExitingAnimation, ExpandedKeys, FetchError, FetchSuccess, FetchTableDataRes, FetchTablePaginationData, FieldWrapperProps, File$1 as File, FileUploaderTemplate, FileUploaderTemplateParams, FlexAlignmentsValues, FlexValues, FormBooleanEvent, FormBooleanTarget, FormEvent, FormTarget, GroupFieldConfigs, HighSizingValue, IAccentEdgeProps, IAccordionElementSlots, IAccordionProps, IActionCardProps, IAddressComponentValue, IAddressExperianFormat, IAddressFormat, IAddressFormatResults, IAddressSearchResults, IAlertComponent, IAlertProps, IAlignment, IAnimation, IAutoCompleteCore, IAutoCompleteElement, IAvatarElementSlots, IAvatarProps, IAvatarStackElementSlots, IAvatarStackProps, IBadgeProps, IBannerProps, IBarChartProps, IBaseValidation, IBasicSectionProps, IBg, IBodyTemplate, IBodyTemplateIcon, IBorder, IBottomTabBarElementSlots, IBottomTabBarProps, IBoxComponent, IBuilderAddressField, IBuilderCheckboxField, IBuilderContainerField, IBuilderDateField, IBuilderField, IBuilderFieldBase, IBuilderFieldExport, IBuilderFileField, IBuilderGroupField, IBuilderMultiselectField, IBuilderNumberField, IBuilderPhoneField, IBuilderRadiosField, IBuilderRadiusPickerField, IBuilderSectionField, IBuilderSelectField, IBuilderSwitchField, IBuilderTagsField, IBuilderTextField, IBuilderTextareaField, IButton, IButtonElementSlots, IButtonParams, IButtonProps, IButtonState, IButtonsFilter, ICanvasProps, ICardComponent, ICardElementSlots, ICarouselElementSlots, ICarouselProps, ICascadeSelect, ICascadeSelectCore, IChatBubbleElementSlots, IChatBubbleProps, ICheckbox, ICheckboxFilter, ICheckboxSlots, IChildren, IChildrenParams, IChipProps, ICircularProgressProps, ICollapseProps, IColorPicker, IColumn, IColumnBase, ICombined, ICommandPaletteGroup, ICommandPaletteItem, ICommandPaletteProps, IComponentThemeConfig, IConditionGroupProps, IConditionRowProps, IConditionRule, IConditionsSectionProps, IConfirmDialogProps, IConfirmPopupProps, IContainer, IContainerCardProps, IContainerProps, IContextValues, ICountrySearchResults, ICssStyling, IDVButtonsFilter, IDVCheckboxFilter, IDVDateFilter, IDVDropdownFilter, IDVFilters, IDVMessages, IDVMultiselectFilter, IDVNumberFilter, IDVPaginationRequest, IDVPaginationResponse, IDVPaginationState, IDVPhoneFilter, IDVRangeFilter, IDVTextFilter, IDVTriStateFilter, IDataTableContextValues, IDataTableProps, IDataViewContextValues, IDataViewProps, IDataViewRefValues, IDatatableRefValues, IDate, IDateFilter, IDateProps, IDateSeparatorElementSlots, IDateSeparatorProps, IDateValidation, IDatepickerSlots, IDeltaProps, IDetailItem, IDetailListProps, IDialogButton, IDialogProps, IDialogRef, IDialogState, IDisplay, IDividerComponent, IDonutProps, IDonutSegment, IDotGridProps, IDoughnutChartProps, IDropdownCore, IDropdownFilter, IDropdownSelect, IEditableProps, IEditors, IEffects, IElementBase, IElementSlotConfig, IElementStyle, IEmail, IEmailSearchResults, IEmptyStateElementSlots, IEmptyStateProps, IFieldCardProps, IFieldCondition, IFieldPreviewProps, IFile, IFileUploader, IFileUploaderElement, IFileUploaderTypes, IFileValidation, IFilesExtTypeKeys, IFilters, IFlexAlignment, IFlexComponent, IFormAddon, IFormBuilderInternalState, IFormBuilderMeta, IFormBuilderPayload, IFormBuilderProps, IFormComponent, IFormElement, IFormElementBaseSlots, IFormElementSlots, IFormGrid, IFormListsElements, IFormSelect, IFormSelectElements, IFormSingleElement, IGalleryElementSlots, IGalleryItem, IGalleryProps, IGaugeProps, IGrid, IGridCellStyle, IGridComponent, IGridItem, IGridItemComponent, IGroup, IGroupCardProps, IGroupElementSlots, IGroupSettings, IGroupedBarsDatum, IGroupedBarsProps, IHeaderElementSlots, IHeadingComponent, IIconProps, IImageComponent, IImagesExtTypeKeys, IInteractivity, IKeyedColumn, IKitsAnimation, IKitsBarChartDatum, IKitsBarChartProps, IKitsCheckboxProps, IKitsComponentDefaults, IKitsContainer, IKitsDialogControlled, IKitsInputCalendar, IKitsInputColorPicker, IKitsInputLocation, IKitsInputMask, IKitsInputNumber, IKitsInputPassword, IKitsInputRating, IKitsInputSwitch, IKitsInputText, IKitsInputTextarea, IKitsLineChartProps, IKitsLineChartSeries, IKitsPhoneInput, IKitsRadioProps, IKitsTheme, IKitsThemeColors, IKitsThemeConfig, IKitsThemeContextValues, IKitsThemeFontSizes, IKitsThemeFontWeights, IKitsThemeFonts, IKitsThemeLineHeights, IKitsThemeRadii, IKitsThemeShadows, IKitsThemeSpacing, IKitsToastRef, ILabelElement, ILabelProps, ILanguage, ILayout, ILegendItem, ILegendProps, ILineChartProps, ILinkComponent, ILinkOverrides, IList, IListBoxCore, IListBoxElement, IListBoxSelect, IListItem, IListing, ILoaderProps, ILoadingIndicatorContext, ILocaleContextProps, ILocaleContextValues, ILocation, ILocationDetailsResponse, ILocationResponse, IMainContextProps, IMainContextValues, IMapTilePoint, IMapTileProps, IMemes, IMenuItem, IMessageComposerElementSlots, IMessageComposerProps, IMessageReceiptElementSlots, IMessageReceiptProps, IMessages, IMetricCardProps, IMinusButton, IModalComponent, IModalFormProps, IMultiSelect, IMultiSelectCore, IMultiSelectSlots, IMultiselect, IMultiselectFilter, INativeShadow, INonCrossPlatformTypes, INumberFilter, INumberInput, INumberProps, INumberValidation, IObjectGroup, IOneOfTypes, IOptionItem, IOptionsEditorProps, IOptionsSource, IPageISection, IPaginationRequest, IPaginationResponse, IPaginatorLabels, IPaletteItemProps, IPaletteProps, IPanelCustomSlot, IPassword, IPasswordProps, IPersonCardProps, IPhone, IPhoneFilter, IPhoneObjectValue, IPhoneValidationResults, IPhoneValue, IPieChartProps, IPlusButton, IPolarAreaChartProps, IPopoverProps, IProgressBarElementSlots, IProgressBarProps, IPropertiesPanelProps, IRTLDetection, IRadarChartProps, IRadarProps, IRadarSeries, IRadioCheckboxListItem, IRadioGroup, IRadioSlots, IRadiusPickerEvents, IRadiusPickerField, IRadiusPickerI18n, IRadiusPickerProps, IRangeFilter, IRankedListProps, IRankedListRow, IRef, IRepeatableSettings, IResponsiveElement, IRiseProps, ISVGComponent, IScrollViewComponent, ISegmentedControlOption, ISegmentedControlProps, ISelect, ISelectBase, ISelectCore, ISelectElement, ISelectSlots, ISelectType, ISelectedFile, ISelectedFileType, ISelectionValidation, ISeverityColorSlots, ISeverityThemeMap, IShadowDefinition, IShadowValue, ISidebarElementSlots, ISizing, ISkeleton, ISkeletonRowsProps, ISkeletonText, ISliderProps, ISpacing, ISparklineProps, IStackProps, IStackedBarsDatum, IStackedBarsProps, IStatCardElementSlots, IStatCardProps, IStatGroupElementSlots, IStatGroupProps, IStatePillProps, IStatisticsProps, IStats, IStatusCardProps, IStepperElementSlots, IStepperProps, IStripedProps, IStyleClasses, ISwitch, ISwitchSlots, ITabBarItem, ITabItem, ITableElementSlots, ITableFlatConfig, ITabsElementSlots, ITabsProps, ITags, IText, ITextComponent, ITextFieldProps, ITextFilter, ITextInput, ITextInputProps, ITextInputSlots, ITextValidation, ITextarea, IThemeContextProps, IThemeContextValues, ITimelineElementSlots, ITimelineItem, ITimelineProps, ITipProps, IToastAction, IToastFunction, IToastOptions, IToastParams, IToolbarProps, ITransforms, ITransition, ITranslatableInputProps, ITranslatableText, ITranslateComponent, ITreeItem, ITreeSelect, ITreeSelectCore, ITreeSelectElement, ITreeSelectNode, ITreeViewProps, ITriStateFilter, ITypingIndicatorElementSlots, ITypingIndicatorProps, IUnkeyedColumn, IUseCountUpOptions, IUseFormReturn, IUserAvatar, IValidationSectionProps, IWashProps, IWidgetBarIncomingProp, IWidgetChartContextProps, IWidgetChartProp, IWidgetData, IWidgetDoughnutIncomingProp, IWidgetLineIncomingProp, IWidgetPanelProps, IWidgetPieIncomingProp, IWidgetPolarAreaIncomingProp, IWidgetRadarIncomingProp, IconName, IconType, InputTextFieldProps, KitsBreakpoint, KitsConditionalObject, KitsDevice, KitsMotion, KitsOrientation, KitsPlatform, KitsResponsiveObject, KitsResponsiveValue, KitsThemeOverride, LabelVariant, LatLng, LoadMode, LoadingIndicatorRenderer, LogicFunction, MapInteraction, MeasurementValues, MessageReceiptState, Nullable, Numbering0_12, Numbering0_32, Numberish, OnCenterChange, OnLocationError, OnLocationFound, OnRadiusChange, OnRadiusValueChange, OnSubmitHandler, OnUnitChange, Orientation, PaginationState, PaginatorPageChangeEvent$1 as PaginatorPageChangeEvent, Permissions, PlatformKey, RadiusPickerDisplay, RadiusPickerLayout, RadiusPickerSize, RadiusUnit, RadiusValue, RenderLocationButtonProps, RenderMapProps, RenderSearchBoxProps, SelectFieldProps, SemanticColorTokens, ServerMethod, ServerResponse, ServerSideProps, SetManyOpts, Severity, Shades, ShadowPreset, Shapes, SidesValues, SizingNumbering, SizingValue, StatePillState, StepperVariant, TAcceptedFileType, TBuilderFieldType, TCheckboxRadioMode, TCheckboxRadioSize, TConditionAction, TConditionMatch, TConditionOperator, TDateBoundary, TDynamicFlag, TExternalFilterLabelMode, TFiltersLayout, TIsoFormat, TItemsPerRow, TKeyFilter, TLocationProvider, TPaginatorAlign, TextLabels, TextProps, ThemedFontKind, TimelineItemStatus, Timeout, TimingNumbering, ToastPosition, ToastSeverity, ToastSize, TooltipDataAttributes, TooltipProps, TreeChangeProps, TreeCheckboxSelectionKeyType, TreeCheckboxSelectionKeys, TreeNode, TreeNodeClickEvent, TreeNodeTemplateOptions, TreeProps, TreeRef, TreeSelectionEvent, Types, UseComponentDefaultsResult, UseDisclosureReturnType, UseFieldLogicElementProps, UseFieldLogicProps, UseFieldLogicReturn, UseFormManagerEvents, UseFormManagerReturn, UseToastApi, ValidationProps, children, clearFunction, downloadableFileResponse, settings1, settings2 };
15272
+ export { ALPHA_COLOR_VARS, ALPHA_STEPS, ALPHA_TOKEN_NAMES, AccentEdge, CustomAccordion as Accordion, ActionCard, Alert, AlertDescription, AlertIcon, AlertTitle, KitsAnimatePresence as AnimatePresence, AnyFile, Avatar, AvatarStack, Badge, Banner, BottomTabBar, Box, BreadCrumb, BreadcrumbProvider, Button, Card, Carousel, Center, ChatBubble, Chip, CircularProgress, Collapse, CommandPalette, Container, CustomPopover, DEFAULT_NATIVE_SHADOWS, DataView, DataViewContext, DateSeparator, Delta, DetailList as DetailsList, Divider, Donut, DotGrid, EDateFormat, EKeyFilter, Editable, EmptyState, FIELD_LABEL_MARGIN, FIELD_MARGIN, Flex, Form, FormSelect, GUTTER, Gallery, Gauge, Form as GoForm, Datatable as GoTable, KitsGrid as Grid, KitsGridItem as GridItem, GroupedBars, HELPER_TEXT_MARGIN, HStack, Heading, Icon, IconMap, Image, KitsInputSwitch as InputSwitch, KeyboardNavContext, KitsAutoComplete, KitsBarChart, KitsCascadeSelect, KitsCheckbox as KitsCheckboxes, KitsConfirm, KitsConfirmPopup, KitsContainer, KitsInputCalendar as KitsDatepicker, KitsDialogControlled as KitsDialog, KitsDropdown, FilePicker as KitsFilePicker, KitsInputColorPicker, KitsInputLocation, KitsInputMask, KitsInputNumber, KitsInputPassword, KitsInputText, KitsInputTextarea, KitsLineChart, KitsListBox, KitsMultiSelect, KitsPhoneComponent, KitsRadar, KitsRadio as KitsRadios, RadiusPicker as KitsRadiusPicker, KitsSliders, KitsThemeProvider, KitsToast, KitsTreeSelect, Label, Legend, Link, List, ListItem, Loader, LocaleContext, LocaleContextProvider, MainContext, MainContextProvider, MapTile, MessageComposer, MessageReceipt, MetricCard, KitsMultiSelect as MultiSelect, PermissionsProvider, PersonCard, ProgressBar, RadiusPicker, RankedList, ReducedMotionProvider, Rise, SHADOW_PRESET_KEYS, SPACER, KitsScrollView as ScrollView, SegmentedControl, FormSelect as Select, SelectButton, Skeleton$1 as Skeleton, SkeletonRows, Skeleton as SkeletonText, Sparkline, StackedBars, StatCard, StatGroup, StatePill, StatusCard, Stepper, Striped, Svg, TableContext, Tabs, Text, ThemeContextProvider, Timeline, Tip, Tooltip, Translate, KitsTreeSelect as TreeSelect, TreeView, TriStateCheckbox, TypingIndicator, VStack, Wash, WidgetPanel, borderProperties, breakpoints, capitalizeFirstLetter, checkExtAgainstAccepted, checkNameDuplication, colorWithAlpha, dateTimeFormat, deepMerge, defaultSeverityTheme, defaultTheme, downloadCanvas, dynamicList, expandShadowNative, extendTheme, fileTypeIcon, fileValidation, filesExt, filesMemes, filesTypes, flattenSlotStyles, fontSizeMapping, formFileValidation, formatNumber, getActiveNativeShadows, getCombinedChildIds, getCustomDateTime, getDateElements, getDefaultValues, getMeme, getParams, getPropertyByPath, getType, getTypes, getURLParams, imagesExt, imagesMemes, imagesTypes, isAlphaToken, isNumber, isSemanticToken, isShadowPreset, isThemeToken, isToday, isValidURL, kitsMotion, listingProperties, localeFiles, allProperties as mapCssProperties, mergeRefs, nonPxProperties, propertiesWithoutCssEquivalent, pxProperties, resolveStyleRecord, resolveTokenValue, schemaBuilder, setActiveNativeShadows, shadowNative, shadowWeb, sizeMapping, sizingProperties, timeAgo, timeSince, toMemes, useAllSeverityColors, useBreadcrumb, useBreadcrumbTrail, useComponentDefaults, useCountUp, useDataView, useDialog, useDisclosure, useEnter, useFieldLogic, useFocusStyles, useFormFieldKeyboardNav, useFormManager, useKeyboardNav, useKeyboardNavProvider, useKitsColorScheme, useKitsConcerto, useKitsTheme, useLanguage, useMeasuredWidth, useNativeColorMap, usePermissions, usePopup, useReducedMotion, useResolvedElementStyles, useResolvedStyle, useRtlLineHeight, useScrollState, useSelectionController, useSeverityColors, useTable, useTheme, useThemedFont, useToast };
15273
+ export type { AlignmentsValues, AllSlotKeys, AnimationsValues, AvatarShape, AvatarSize, AvatarStatus, BannerAction, BannerStatus, BaseFieldProps, Booleanish, Breakpoint, CallbackProps, ChatBubbleTone, ChatBubbleVariant, ChipSeverity, ChipSize, ColorMode, ColorScale, ColorValue, Colors, ColorsType, ComponentSize, CustomSubmitButtonProps, DataTableFilterMeta, DataTableFilterMetaData, DataTableOperatorFilterMetaData, DataTableSelectionSingleChangeEvent, DataTableSortMeta, DeepPartial, DetailItemInputType, DynamicValue, ElementProps, EnteringAnimation, ExitingAnimation, ExpandedKeys, FetchError, FetchSuccess, FetchTableDataRes, FetchTablePaginationData, FieldWrapperProps, File$1 as File, FileUploaderTemplate, FileUploaderTemplateParams, FlexAlignmentsValues, FlexValues, FormBooleanEvent, FormBooleanTarget, FormEvent, FormTarget, GroupFieldConfigs, HighSizingValue, IAccentEdgeProps, IAccordionElementSlots, IAccordionProps, IActionCardProps, IAddressComponentValue, IAddressExperianFormat, IAddressFormat, IAddressFormatResults, IAddressSearchResults, IAlertComponent, IAlertProps, IAlignment, IAnimation, IAutoCompleteCore, IAutoCompleteElement, IAvatarElementSlots, IAvatarProps, IAvatarStackElementSlots, IAvatarStackProps, IBadgeProps, IBannerProps, IBarChartProps, IBaseValidation, IBasicSectionProps, IBg, IBodyTemplate, IBodyTemplateIcon, IBorder, IBottomTabBarElementSlots, IBottomTabBarProps, IBoxComponent, IBreadcrumbCrumb, IBreadcrumbProps, IBuilderAddressField, IBuilderCheckboxField, IBuilderContainerField, IBuilderDateField, IBuilderField, IBuilderFieldBase, IBuilderFieldExport, IBuilderFileField, IBuilderGroupField, IBuilderMultiselectField, IBuilderNumberField, IBuilderPhoneField, IBuilderRadiosField, IBuilderRadiusPickerField, IBuilderSectionField, IBuilderSelectField, IBuilderSwitchField, IBuilderTagsField, IBuilderTextField, IBuilderTextareaField, IButton, IButtonElementSlots, IButtonParams, IButtonProps, IButtonState, IButtonsFilter, ICanvasProps, ICardComponent, ICardElementSlots, ICarouselElementSlots, ICarouselProps, ICascadeSelect, ICascadeSelectCore, IChatBubbleElementSlots, IChatBubbleProps, ICheckbox, ICheckboxFilter, ICheckboxSlots, IChildren, IChildrenParams, IChipInputSlots, IChipProps, ICircularProgressProps, ICollapseProps, IColorPicker, IColumn, IColumnBase, ICombined, ICommandPaletteGroup, ICommandPaletteItem, ICommandPaletteProps, IComponentThemeConfig, IConditionGroupProps, IConditionRowProps, IConditionRule, IConditionsSectionProps, IConfirmDialogProps, IConfirmPopupProps, IContainer, IContainerCardProps, IContainerProps, IContextValues, ICountrySearchResults, ICssStyling, IDVButtonsFilter, IDVCheckboxFilter, IDVDateFilter, IDVDropdownFilter, IDVFilters, IDVMessages, IDVMultiselectFilter, IDVNumberFilter, IDVPaginationRequest, IDVPaginationResponse, IDVPaginationState, IDVPhoneFilter, IDVRangeFilter, IDVTextFilter, IDVTriStateFilter, IDataTableContextValues, IDataTableProps, IDataViewContextValues, IDataViewProps, IDataViewRefValues, IDatatableRefValues, IDate, IDateFilter, IDateProps, IDateSeparatorElementSlots, IDateSeparatorProps, IDateValidation, IDatepickerSlots, IDeltaProps, IDetailItem, IDetailListProps, IDialogButton, IDialogProps, IDialogRef, IDialogState, IDisplay, IDividerComponent, IDonutProps, IDonutSegment, IDotGridProps, IDoughnutChartProps, IDropdownCore, IDropdownFilter, IDropdownSelect, IEditableProps, IEditors, IEffects, IElementBase, IElementSlotConfig, IElementStyle, IEmail, IEmailSearchResults, IEmptyStateElementSlots, IEmptyStateProps, IFieldCardProps, IFieldCondition, IFieldPreviewProps, IFile, IFileUploader, IFileUploaderElement, IFileUploaderTypes, IFileValidation, IFilesExtTypeKeys, IFilters, IFlexAlignment, IFlexComponent, IFormAddon, IFormBuilderInternalState, IFormBuilderMeta, IFormBuilderPayload, IFormBuilderProps, IFormComponent, IFormElement, IFormElementBaseSlots, IFormElementSlots, IFormGrid, IFormListsElements, IFormSelect, IFormSelectElements, IFormSingleElement, IGalleryElementSlots, IGalleryItem, IGalleryProps, IGaugeProps, IGrid, IGridCellStyle, IGridComponent, IGridItem, IGridItemComponent, IGroup, IGroupCardProps, IGroupElementSlots, IGroupSettings, IGroupedBarsDatum, IGroupedBarsProps, IHeaderElementSlots, IHeadingComponent, IIconProps, IImageComponent, IImagesExtTypeKeys, IInteractivity, IKeyedColumn, IKitsAnimation, IKitsBarChartDatum, IKitsBarChartProps, IKitsCheckboxProps, IKitsComponentDefaults, IKitsContainer, IKitsDialogControlled, IKitsInputCalendar, IKitsInputColorPicker, IKitsInputLocation, IKitsInputMask, IKitsInputNumber, IKitsInputPassword, IKitsInputRating, IKitsInputSwitch, IKitsInputText, IKitsInputTextarea, IKitsLineChartProps, IKitsLineChartSeries, IKitsPhoneInput, IKitsRadioProps, IKitsTheme, IKitsThemeColors, IKitsThemeConfig, IKitsThemeContextValues, IKitsThemeFontSizes, IKitsThemeFontWeights, IKitsThemeFonts, IKitsThemeLineHeights, IKitsThemeRadii, IKitsThemeShadows, IKitsThemeSpacing, IKitsToastRef, ILabelElement, ILabelProps, ILanguage, ILayout, ILegendItem, ILegendProps, ILineChartProps, ILinkComponent, ILinkOverrides, IList, IListBoxCore, IListBoxElement, IListBoxSelect, IListItem, IListing, ILoaderProps, ILoadingIndicatorContext, ILocaleContextProps, ILocaleContextValues, ILocation, ILocationDetailsResponse, ILocationResponse, IMainContextProps, IMainContextValues, IMapTilePoint, IMapTileProps, IMemes, IMenuItem, IMessageComposerElementSlots, IMessageComposerProps, IMessageReceiptElementSlots, IMessageReceiptProps, IMessages, IMetricCardProps, IMinusButton, IModalComponent, IModalFormProps, IMultiSelect, IMultiSelectCore, IMultiSelectSlots, IMultiselect, IMultiselectFilter, INativeShadow, INonCrossPlatformTypes, INumberFilter, INumberInput, INumberProps, INumberValidation, IObjectGroup, IOneOfTypes, IOptionItem, IOptionsEditorProps, IOptionsSource, IPageISection, IPaginationRequest, IPaginationResponse, IPaginatorLabels, IPaletteItemProps, IPaletteProps, IPanelCustomSlot, IPassword, IPasswordProps, IPersonCardProps, IPhone, IPhoneFilter, IPhoneObjectValue, IPhoneValidationResults, IPhoneValue, IPieChartProps, IPlusButton, IPolarAreaChartProps, IPopoverProps, IProgressBarElementSlots, IProgressBarProps, IPropertiesPanelProps, IRTLDetection, IRadarChartProps, IRadarProps, IRadarSeries, IRadioCheckboxListItem, IRadioGroup, IRadioSlots, IRadiusPickerEvents, IRadiusPickerField, IRadiusPickerI18n, IRadiusPickerProps, IRangeFilter, IRankedListProps, IRankedListRow, IRef, IRepeatableSettings, IResponsiveElement, IRiseProps, ISVGComponent, IScrollViewComponent, ISegmentedControlOption, ISegmentedControlProps, ISelect, ISelectBase, ISelectCore, ISelectElement, ISelectSlots, ISelectType, ISelectedFile, ISelectedFileType, ISelectionValidation, ISeverityColorSlots, ISeverityThemeMap, IShadowDefinition, IShadowValue, ISidebarElementSlots, ISizing, ISkeleton, ISkeletonRowsProps, ISkeletonText, ISliderProps, ISpacing, ISparklineProps, IStackProps, IStackedBarsDatum, IStackedBarsProps, IStatCardElementSlots, IStatCardProps, IStatGroupElementSlots, IStatGroupProps, IStatePillProps, IStatisticsProps, IStats, IStatusCardProps, IStepperElementSlots, IStepperProps, IStripedProps, IStyleClasses, ISwitch, ISwitchSlots, ITabBarItem, ITabItem, ITableElementSlots, ITableFlatConfig, ITabsElementSlots, ITabsProps, ITags, IText, ITextComponent, ITextFieldProps, ITextFilter, ITextInput, ITextInputProps, ITextInputSlots, ITextValidation, ITextarea, IThemeContextProps, IThemeContextValues, ITimelineElementSlots, ITimelineItem, ITimelineProps, ITipProps, IToastAction, IToastFunction, IToastOptions, IToastParams, IToolbarProps, ITransforms, ITransition, ITranslatableInputProps, ITranslatableText, ITranslateComponent, ITreeItem, ITreeSelect, ITreeSelectCore, ITreeSelectElement, ITreeSelectNode, ITreeViewProps, ITriStateFilter, ITypingIndicatorElementSlots, ITypingIndicatorProps, IUnkeyedColumn, IUseCountUpOptions, IUseFormReturn, IUserAvatar, IValidationSectionProps, IWashProps, IWidgetBarIncomingProp, IWidgetChartContextProps, IWidgetChartProp, IWidgetData, IWidgetDoughnutIncomingProp, IWidgetLineIncomingProp, IWidgetPanelProps, IWidgetPieIncomingProp, IWidgetPolarAreaIncomingProp, IWidgetRadarIncomingProp, IconName, IconType, InputTextFieldProps, KitsBreakpoint, KitsConditionalObject, KitsDevice, KitsMotion, KitsOrientation, KitsPlatform, KitsResponsiveObject, KitsResponsiveValue, KitsThemeOverride, LabelVariant, LatLng, LoadMode, LoadingIndicatorRenderer, LogicFunction, MapInteraction, MeasurementValues, MessageReceiptState, Nullable, Numbering0_12, Numbering0_32, Numberish, OnCenterChange, OnLocationError, OnLocationFound, OnRadiusChange, OnRadiusValueChange, OnSubmitHandler, OnUnitChange, Orientation, PaginationState, PaginatorPageChangeEvent$1 as PaginatorPageChangeEvent, Permissions, PlatformKey, RadiusPickerDisplay, RadiusPickerLayout, RadiusPickerSize, RadiusUnit, RadiusValue, RenderLocationButtonProps, RenderMapProps, RenderSearchBoxProps, SelectFieldProps, SemanticColorTokens, ServerMethod, ServerResponse, ServerSideProps, SetManyOpts, Severity, Shades, ShadowPreset, Shapes, SidesValues, SizingNumbering, SizingValue, StatePillState, StepperVariant, TAcceptedFileType, TBuilderFieldType, TCheckboxRadioMode, TCheckboxRadioSize, TConditionAction, TConditionMatch, TConditionOperator, TDateBoundary, TDynamicFlag, TExternalFilterLabelMode, TFiltersLayout, TIsoFormat, TItemsPerRow, TKeyFilter, TLocationProvider, TPaginatorAlign, TextLabels, TextProps, ThemedFontKind, TimelineItemStatus, Timeout, TimingNumbering, ToastPosition, ToastSeverity, ToastSize, TooltipDataAttributes, TooltipProps, TreeChangeProps, TreeCheckboxSelectionKeyType, TreeCheckboxSelectionKeys, TreeNode, TreeNodeClickEvent, TreeNodeTemplateOptions, TreeProps, TreeRef, TreeSelectionEvent, Types, UseComponentDefaultsResult, UseDisclosureReturnType, UseFieldLogicElementProps, UseFieldLogicProps, UseFieldLogicReturn, UseFormManagerEvents, UseFormManagerReturn, UseToastApi, ValidationProps, children, clearFunction, downloadableFileResponse, settings1, settings2 };
package/index.js CHANGED
@@ -97,6 +97,7 @@ export { MainContext, default as MainContextProvider } from './contexts/Main/ind
97
97
  export { default as ThemeContextProvider, useTheme } from './contexts/Theme/index.js';
98
98
  export { useDialog, usePopup } from './contexts/DialogContext.js';
99
99
  export { default as PermissionsProvider, usePermissions } from './contexts/PermissionsContext.js';
100
+ export { default as BreadcrumbProvider, useBreadcrumb } from './contexts/BreadcrumbContext.js';
100
101
  export { default as useSelectionController } from './hooks/useSelectionController.js';
101
102
  export { default as useDisclosure } from './hooks/useDisclosure.js';
102
103
  export { default as useScrollState } from './hooks/useScrollState/index.js';
@@ -117,6 +118,7 @@ export { useReducedMotion } from './hooks/useReducedMotion/index.js';
117
118
  export { default as useEnter } from './hooks/useEnter.js';
118
119
  export { default as useCountUp } from './hooks/useCountUp.js';
119
120
  export { default as useMeasuredWidth } from './hooks/useMeasuredWidth.js';
121
+ export { default as useBreadcrumbTrail } from './hooks/useBreadcrumbTrail.js';
120
122
  export { kitsMotion } from './motion/index.js';
121
123
  export { IconMap } from './assets/Icons/index.js';
122
124
  export { default as localeFiles } from './locale/index.js';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lmb-it/kitsconcerto-native",
3
- "version": "0.1.277",
3
+ "version": "0.1.285",
4
4
  "description": "KitsConcerto — Native (React Native) UI components",
5
5
  "main": "index.cjs",
6
6
  "module": "index.js",
@@ -797,10 +797,14 @@ const defaultTheme = {
797
797
  },
798
798
  itemDisabled: {
799
799
  style: { color: "text-muted", opacity: 0.55, cursor: "not-allowed" }
800
- }
801
- },
802
- // ─── MultiSelect (chip + per-item checkbox slots) ─────
803
- MultiSelect: {
800
+ },
801
+ /* ─── Chips (MultiSelect display="chip" AND Tags) ───────
802
+ ⛔ THESE LIVE ON THE BASE GROUP BECAUSE TWO CONTROLS DRAW CHIPS
803
+ AND THEY DISAGREED. The values below used to sit under
804
+ `MultiSelect`, so MultiSelect drew a pill and the Tags field —
805
+ AutoComplete with `isMultiple`, which hardcoded its own
806
+ background+colour and read no slot at all — drew PrimeReact's
807
+ square token right next to it. One definition, both readers. */
804
808
  token: {
805
809
  style: {
806
810
  backgroundColor: "brand-tint",
@@ -819,6 +823,22 @@ const defaultTheme = {
819
823
  tokenIcon: {
820
824
  style: { color: "brand-deep", marginLeft: 4, fontSize: 12, cursor: "pointer" }
821
825
  },
826
+ /* ⚠️ THE CHIPS BOX IS FLAT BY DEFAULT, AND THAT IS NOT THE SAME AS
827
+ UNSTYLEABLE. `KitsContainer` already paints the `inputGroup`
828
+ border around the field, so a second border here would double it.
829
+ The slot exists so a consumer CAN paint it — an `attached` tags
830
+ field has no KitsContainer at all and needs to draw its own
831
+ chrome. See `IChipInputSlots.tokenContainer`. */
832
+ tokenContainer: {
833
+ style: {
834
+ backgroundColor: "transparent",
835
+ borderWidth: 0
836
+ }
837
+ }
838
+ },
839
+ // ─── MultiSelect (per-item checkbox slots; chips inherit
840
+ // from the Select base group above) ───────────────────
841
+ MultiSelect: {
822
842
  checkboxBox: {
823
843
  style: {
824
844
  borderColor: "border-strong",