@rchemist/listgrid 0.2.6

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 (592) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +343 -0
  3. package/dist/adapters/next/NextListGridProvider.d.ts +5 -0
  4. package/dist/adapters/next/NextListGridProvider.js +7 -0
  5. package/dist/adapters/next/NextRouterAdapter.d.ts +2 -0
  6. package/dist/adapters/next/NextRouterAdapter.js +34 -0
  7. package/dist/adapters/next/NextUrlStateAdapter.d.ts +2 -0
  8. package/dist/adapters/next/NextUrlStateAdapter.js +31 -0
  9. package/dist/adapters/next/index.d.ts +4 -0
  10. package/dist/adapters/next/index.js +12 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +3 -0
  13. package/dist/listgrid/api/ApiClient.d.ts +20 -0
  14. package/dist/listgrid/api/ApiClient.js +32 -0
  15. package/dist/listgrid/api/index.d.ts +4 -0
  16. package/dist/listgrid/api/index.js +2 -0
  17. package/dist/listgrid/api/types.d.ts +21 -0
  18. package/dist/listgrid/api/types.js +30 -0
  19. package/dist/listgrid/auth/AuthContext.d.ts +12 -0
  20. package/dist/listgrid/auth/AuthContext.js +25 -0
  21. package/dist/listgrid/auth/SessionProvider.d.ts +4 -0
  22. package/dist/listgrid/auth/SessionProvider.js +16 -0
  23. package/dist/listgrid/auth/index.d.ts +6 -0
  24. package/dist/listgrid/auth/index.js +17 -0
  25. package/dist/listgrid/auth/types.d.ts +15 -0
  26. package/dist/listgrid/auth/types.js +12 -0
  27. package/dist/listgrid/common/func.d.ts +16 -0
  28. package/dist/listgrid/common/func.js +351 -0
  29. package/dist/listgrid/common/type.d.ts +35 -0
  30. package/dist/listgrid/common/type.js +46 -0
  31. package/dist/listgrid/components/api/ApiSpecificationButton.d.ts +5 -0
  32. package/dist/listgrid/components/api/ApiSpecificationButton.js +16 -0
  33. package/dist/listgrid/components/api/Type.d.ts +23 -0
  34. package/dist/listgrid/components/api/Type.js +8 -0
  35. package/dist/listgrid/components/api/ViewApiSpecification.d.ts +2 -0
  36. package/dist/listgrid/components/api/ViewApiSpecification.js +32 -0
  37. package/dist/listgrid/components/fields/ApplyFullAddressFields.d.ts +45 -0
  38. package/dist/listgrid/components/fields/ApplyFullAddressFields.js +177 -0
  39. package/dist/listgrid/components/fields/BirthdayField.d.ts +39 -0
  40. package/dist/listgrid/components/fields/BirthdayField.js +205 -0
  41. package/dist/listgrid/components/fields/BooleanField.d.ts +38 -0
  42. package/dist/listgrid/components/fields/BooleanField.js +141 -0
  43. package/dist/listgrid/components/fields/CheckboxField.d.ts +23 -0
  44. package/dist/listgrid/components/fields/CheckboxField.js +33 -0
  45. package/dist/listgrid/components/fields/ColorField.d.ts +18 -0
  46. package/dist/listgrid/components/fields/ColorField.js +63 -0
  47. package/dist/listgrid/components/fields/ColorPresetField.d.ts +19 -0
  48. package/dist/listgrid/components/fields/ColorPresetField.js +56 -0
  49. package/dist/listgrid/components/fields/CustomOptionField.d.ts +45 -0
  50. package/dist/listgrid/components/fields/CustomOptionField.js +176 -0
  51. package/dist/listgrid/components/fields/DateField.d.ts +34 -0
  52. package/dist/listgrid/components/fields/DateField.js +116 -0
  53. package/dist/listgrid/components/fields/DatetimeField.d.ts +29 -0
  54. package/dist/listgrid/components/fields/DatetimeField.js +93 -0
  55. package/dist/listgrid/components/fields/EmailField.d.ts +37 -0
  56. package/dist/listgrid/components/fields/EmailField.js +144 -0
  57. package/dist/listgrid/components/fields/FileField.d.ts +36 -0
  58. package/dist/listgrid/components/fields/FileField.js +157 -0
  59. package/dist/listgrid/components/fields/HtmlField.d.ts +24 -0
  60. package/dist/listgrid/components/fields/HtmlField.js +70 -0
  61. package/dist/listgrid/components/fields/ImageField.d.ts +34 -0
  62. package/dist/listgrid/components/fields/ImageField.js +125 -0
  63. package/dist/listgrid/components/fields/InlineMapField.d.ts +40 -0
  64. package/dist/listgrid/components/fields/InlineMapField.js +85 -0
  65. package/dist/listgrid/components/fields/LinkField.d.ts +26 -0
  66. package/dist/listgrid/components/fields/LinkField.js +61 -0
  67. package/dist/listgrid/components/fields/ManyToOneField.d.ts +80 -0
  68. package/dist/listgrid/components/fields/ManyToOneField.js +416 -0
  69. package/dist/listgrid/components/fields/MappedJoinField.d.ts +16 -0
  70. package/dist/listgrid/components/fields/MappedJoinField.js +29 -0
  71. package/dist/listgrid/components/fields/MarkdownField.d.ts +20 -0
  72. package/dist/listgrid/components/fields/MarkdownField.js +58 -0
  73. package/dist/listgrid/components/fields/MessageViewField.d.ts +20 -0
  74. package/dist/listgrid/components/fields/MessageViewField.js +27 -0
  75. package/dist/listgrid/components/fields/MonthField.d.ts +25 -0
  76. package/dist/listgrid/components/fields/MonthField.js +68 -0
  77. package/dist/listgrid/components/fields/MultiSelectField.d.ts +59 -0
  78. package/dist/listgrid/components/fields/MultiSelectField.js +74 -0
  79. package/dist/listgrid/components/fields/MultipleAssetField.d.ts +31 -0
  80. package/dist/listgrid/components/fields/MultipleAssetField.js +200 -0
  81. package/dist/listgrid/components/fields/NumberField.d.ts +54 -0
  82. package/dist/listgrid/components/fields/NumberField.js +216 -0
  83. package/dist/listgrid/components/fields/PasswordField.d.ts +23 -0
  84. package/dist/listgrid/components/fields/PasswordField.js +70 -0
  85. package/dist/listgrid/components/fields/PhoneNumberField.d.ts +39 -0
  86. package/dist/listgrid/components/fields/PhoneNumberField.js +91 -0
  87. package/dist/listgrid/components/fields/Preset.d.ts +68 -0
  88. package/dist/listgrid/components/fields/Preset.js +306 -0
  89. package/dist/listgrid/components/fields/ProfileField.d.ts +14 -0
  90. package/dist/listgrid/components/fields/ProfileField.js +25 -0
  91. package/dist/listgrid/components/fields/QrField.d.ts +21 -0
  92. package/dist/listgrid/components/fields/QrField.js +31 -0
  93. package/dist/listgrid/components/fields/RuleField.d.ts +11 -0
  94. package/dist/listgrid/components/fields/RuleField.js +24 -0
  95. package/dist/listgrid/components/fields/SelectField.d.ts +223 -0
  96. package/dist/listgrid/components/fields/SelectField.js +379 -0
  97. package/dist/listgrid/components/fields/SelectFieldRenderer.d.ts +35 -0
  98. package/dist/listgrid/components/fields/SelectFieldRenderer.js +363 -0
  99. package/dist/listgrid/components/fields/StatusChangeReasonModal.d.ts +18 -0
  100. package/dist/listgrid/components/fields/StatusChangeReasonModal.js +25 -0
  101. package/dist/listgrid/components/fields/StringField.d.ts +34 -0
  102. package/dist/listgrid/components/fields/StringField.js +131 -0
  103. package/dist/listgrid/components/fields/TagField.d.ts +35 -0
  104. package/dist/listgrid/components/fields/TagField.js +75 -0
  105. package/dist/listgrid/components/fields/TelephoneNumberField.d.ts +35 -0
  106. package/dist/listgrid/components/fields/TelephoneNumberField.js +121 -0
  107. package/dist/listgrid/components/fields/TextareaField.d.ts +27 -0
  108. package/dist/listgrid/components/fields/TextareaField.js +47 -0
  109. package/dist/listgrid/components/fields/TimeField.d.ts +21 -0
  110. package/dist/listgrid/components/fields/TimeField.js +40 -0
  111. package/dist/listgrid/components/fields/XrefAvailableDateMappingField.d.ts +22 -0
  112. package/dist/listgrid/components/fields/XrefAvailableDateMappingField.js +39 -0
  113. package/dist/listgrid/components/fields/XrefMappingField.d.ts +30 -0
  114. package/dist/listgrid/components/fields/XrefMappingField.js +59 -0
  115. package/dist/listgrid/components/fields/XrefPreferMappingField.d.ts +30 -0
  116. package/dist/listgrid/components/fields/XrefPreferMappingField.js +53 -0
  117. package/dist/listgrid/components/fields/XrefPriceMappingField.d.ts +33 -0
  118. package/dist/listgrid/components/fields/XrefPriceMappingField.js +56 -0
  119. package/dist/listgrid/components/fields/YearField.d.ts +32 -0
  120. package/dist/listgrid/components/fields/YearField.js +99 -0
  121. package/dist/listgrid/components/fields/abstract/AbstractDateField.d.ts +33 -0
  122. package/dist/listgrid/components/fields/abstract/AbstractDateField.js +61 -0
  123. package/dist/listgrid/components/fields/abstract/AbstractManyToOneField.d.ts +97 -0
  124. package/dist/listgrid/components/fields/abstract/AbstractManyToOneField.js +50 -0
  125. package/dist/listgrid/components/fields/abstract/CheckButtonValidationField.d.ts +22 -0
  126. package/dist/listgrid/components/fields/abstract/CheckButtonValidationField.js +92 -0
  127. package/dist/listgrid/components/fields/abstract/FormField.d.ts +250 -0
  128. package/dist/listgrid/components/fields/abstract/FormField.js +606 -0
  129. package/dist/listgrid/components/fields/abstract/ListableFormField.d.ts +140 -0
  130. package/dist/listgrid/components/fields/abstract/ListableFormField.js +285 -0
  131. package/dist/listgrid/components/fields/abstract/OptionalField.d.ts +96 -0
  132. package/dist/listgrid/components/fields/abstract/OptionalField.js +310 -0
  133. package/dist/listgrid/components/fields/abstract/index.d.ts +6 -0
  134. package/dist/listgrid/components/fields/abstract/index.js +12 -0
  135. package/dist/listgrid/components/fields/address/AddressFieldView.d.ts +9 -0
  136. package/dist/listgrid/components/fields/address/AddressFieldView.js +92 -0
  137. package/dist/listgrid/components/fields/address/AddressMapField.d.ts +33 -0
  138. package/dist/listgrid/components/fields/address/AddressMapField.js +49 -0
  139. package/dist/listgrid/components/fields/address/KakaoMap.d.ts +10 -0
  140. package/dist/listgrid/components/fields/address/KakaoMap.js +50 -0
  141. package/dist/listgrid/components/fields/address/PostCodeSelector.d.ts +9 -0
  142. package/dist/listgrid/components/fields/address/PostCodeSelector.js +125 -0
  143. package/dist/listgrid/components/fields/contentasset/ContentAssetField.d.ts +61 -0
  144. package/dist/listgrid/components/fields/contentasset/ContentAssetField.js +80 -0
  145. package/dist/listgrid/components/fields/contentasset/ContentAssetItem.d.ts +17 -0
  146. package/dist/listgrid/components/fields/contentasset/ContentAssetItem.js +67 -0
  147. package/dist/listgrid/components/fields/contentasset/components/AddContentDialog.d.ts +11 -0
  148. package/dist/listgrid/components/fields/contentasset/components/AddContentDialog.js +68 -0
  149. package/dist/listgrid/components/fields/contentasset/components/ContentAssetItemUI.d.ts +30 -0
  150. package/dist/listgrid/components/fields/contentasset/components/ContentAssetItemUI.js +38 -0
  151. package/dist/listgrid/components/fields/contentasset/hooks/useContentAsset.d.ts +36 -0
  152. package/dist/listgrid/components/fields/contentasset/hooks/useContentAsset.js +188 -0
  153. package/dist/listgrid/components/fields/contentasset/index.d.ts +2 -0
  154. package/dist/listgrid/components/fields/contentasset/index.js +1 -0
  155. package/dist/listgrid/components/fields/contentasset/types.d.ts +50 -0
  156. package/dist/listgrid/components/fields/contentasset/types.js +48 -0
  157. package/dist/listgrid/components/fields/filter/DatetimeFilter.d.ts +7 -0
  158. package/dist/listgrid/components/fields/filter/DatetimeFilter.js +46 -0
  159. package/dist/listgrid/components/fields/filter/NumberFilter.d.ts +7 -0
  160. package/dist/listgrid/components/fields/filter/NumberFilter.js +74 -0
  161. package/dist/listgrid/components/fields/rule/RuleBasedFieldView.d.ts +15 -0
  162. package/dist/listgrid/components/fields/rule/RuleBasedFieldView.js +351 -0
  163. package/dist/listgrid/components/fields/rule/RuleBasedSelector.d.ts +13 -0
  164. package/dist/listgrid/components/fields/rule/RuleBasedSelector.js +75 -0
  165. package/dist/listgrid/components/fields/rule/RuleCondition.d.ts +14 -0
  166. package/dist/listgrid/components/fields/rule/RuleCondition.js +173 -0
  167. package/dist/listgrid/components/fields/rule/RuleFieldRenderer.d.ts +7 -0
  168. package/dist/listgrid/components/fields/rule/RuleFieldRenderer.js +21 -0
  169. package/dist/listgrid/components/fields/rule/RuleFieldView.d.ts +7 -0
  170. package/dist/listgrid/components/fields/rule/RuleFieldView.js +28 -0
  171. package/dist/listgrid/components/fields/rule/Type.d.ts +54 -0
  172. package/dist/listgrid/components/fields/rule/Type.js +72 -0
  173. package/dist/listgrid/components/fields/view/CardManyToOneView.d.ts +93 -0
  174. package/dist/listgrid/components/fields/view/CardManyToOneView.js +409 -0
  175. package/dist/listgrid/components/fields/view/CopyableTextView.d.ts +11 -0
  176. package/dist/listgrid/components/fields/view/CopyableTextView.js +44 -0
  177. package/dist/listgrid/components/fields/view/DynamicSelectFieldView.d.ts +28 -0
  178. package/dist/listgrid/components/fields/view/DynamicSelectFieldView.js +119 -0
  179. package/dist/listgrid/components/fields/view/LinkFieldView.d.ts +14 -0
  180. package/dist/listgrid/components/fields/view/LinkFieldView.js +41 -0
  181. package/dist/listgrid/components/fields/view/ManyToOneListView.d.ts +8 -0
  182. package/dist/listgrid/components/fields/view/ManyToOneListView.js +25 -0
  183. package/dist/listgrid/components/fields/view/ManyToOneMultiFilterView.d.ts +12 -0
  184. package/dist/listgrid/components/fields/view/ManyToOneMultiFilterView.js +142 -0
  185. package/dist/listgrid/components/fields/view/ManyToOneView.d.ts +8 -0
  186. package/dist/listgrid/components/fields/view/ManyToOneView.js +322 -0
  187. package/dist/listgrid/components/fields/view/MultipleAssetUpload.d.ts +7 -0
  188. package/dist/listgrid/components/fields/view/MultipleAssetUpload.js +47 -0
  189. package/dist/listgrid/components/fields/view/PhoneNumberFieldView.d.ts +19 -0
  190. package/dist/listgrid/components/fields/view/PhoneNumberFieldView.js +82 -0
  191. package/dist/listgrid/components/fields/view/PhoneNumberListView.d.ts +9 -0
  192. package/dist/listgrid/components/fields/view/PhoneNumberListView.js +49 -0
  193. package/dist/listgrid/components/fields/view/SelectBoxManyToOneView.d.ts +47 -0
  194. package/dist/listgrid/components/fields/view/SelectBoxManyToOneView.js +286 -0
  195. package/dist/listgrid/components/fields/view/SmsModal.d.ts +6 -0
  196. package/dist/listgrid/components/fields/view/SmsModal.js +124 -0
  197. package/dist/listgrid/components/fields/view/TreeSelectView.d.ts +11 -0
  198. package/dist/listgrid/components/fields/view/TreeSelectView.js +118 -0
  199. package/dist/listgrid/components/fields/view/XrefAvailableDateMappingView.d.ts +19 -0
  200. package/dist/listgrid/components/fields/view/XrefAvailableDateMappingView.js +305 -0
  201. package/dist/listgrid/components/fields/view/XrefMappingView.d.ts +16 -0
  202. package/dist/listgrid/components/fields/view/XrefMappingView.js +173 -0
  203. package/dist/listgrid/components/fields/view/XrefPiceMappingView.d.ts +19 -0
  204. package/dist/listgrid/components/fields/view/XrefPiceMappingView.js +319 -0
  205. package/dist/listgrid/components/fields/view/XrefPreferMappingView.d.ts +19 -0
  206. package/dist/listgrid/components/fields/view/XrefPreferMappingView.js +261 -0
  207. package/dist/listgrid/components/fields/view/XrefPriorityMappingView.d.ts +19 -0
  208. package/dist/listgrid/components/fields/view/XrefPriorityMappingView.js +180 -0
  209. package/dist/listgrid/components/form/FieldRenderer.d.ts +23 -0
  210. package/dist/listgrid/components/form/FieldRenderer.js +292 -0
  211. package/dist/listgrid/components/form/SubCollectionRenderer.d.ts +22 -0
  212. package/dist/listgrid/components/form/SubCollectionRenderer.js +46 -0
  213. package/dist/listgrid/components/form/ViewEntityForm.d.ts +14 -0
  214. package/dist/listgrid/components/form/ViewEntityForm.js +124 -0
  215. package/dist/listgrid/components/form/ViewFieldGroup.d.ts +27 -0
  216. package/dist/listgrid/components/form/ViewFieldGroup.js +164 -0
  217. package/dist/listgrid/components/form/ViewTab.d.ts +24 -0
  218. package/dist/listgrid/components/form/ViewTab.js +68 -0
  219. package/dist/listgrid/components/form/ViewTabPanel.d.ts +14 -0
  220. package/dist/listgrid/components/form/ViewTabPanel.js +32 -0
  221. package/dist/listgrid/components/form/context/EntityFormThemeContext.d.ts +52 -0
  222. package/dist/listgrid/components/form/context/EntityFormThemeContext.js +129 -0
  223. package/dist/listgrid/components/form/context/index.d.ts +1 -0
  224. package/dist/listgrid/components/form/context/index.js +1 -0
  225. package/dist/listgrid/components/form/hooks/useAlertManager.d.ts +12 -0
  226. package/dist/listgrid/components/form/hooks/useAlertManager.js +103 -0
  227. package/dist/listgrid/components/form/hooks/useEntityFormAutoSave.d.ts +23 -0
  228. package/dist/listgrid/components/form/hooks/useEntityFormAutoSave.js +145 -0
  229. package/dist/listgrid/components/form/hooks/useEntityFormInitializer.d.ts +24 -0
  230. package/dist/listgrid/components/form/hooks/useEntityFormInitializer.js +109 -0
  231. package/dist/listgrid/components/form/hooks/useEntityFormLogic.d.ts +63 -0
  232. package/dist/listgrid/components/form/hooks/useEntityFormLogic.js +513 -0
  233. package/dist/listgrid/components/form/hooks/useEntityFormSave.d.ts +28 -0
  234. package/dist/listgrid/components/form/hooks/useEntityFormSave.js +89 -0
  235. package/dist/listgrid/components/form/hooks/useEntityFormTitle.d.ts +12 -0
  236. package/dist/listgrid/components/form/hooks/useEntityFormTitle.js +53 -0
  237. package/dist/listgrid/components/form/themes/defaultTheme.d.ts +11 -0
  238. package/dist/listgrid/components/form/themes/defaultTheme.js +129 -0
  239. package/dist/listgrid/components/form/themes/index.d.ts +1 -0
  240. package/dist/listgrid/components/form/themes/index.js +1 -0
  241. package/dist/listgrid/components/form/types/ViewEntityForm.types.d.ts +169 -0
  242. package/dist/listgrid/components/form/types/ViewEntityForm.types.js +1 -0
  243. package/dist/listgrid/components/form/types/ViewEntityFormAlerts.types.d.ts +26 -0
  244. package/dist/listgrid/components/form/types/ViewEntityFormAlerts.types.js +1 -0
  245. package/dist/listgrid/components/form/types/ViewEntityFormButtons.types.d.ts +49 -0
  246. package/dist/listgrid/components/form/types/ViewEntityFormButtons.types.js +1 -0
  247. package/dist/listgrid/components/form/types/ViewEntityFormTheme.types.d.ts +518 -0
  248. package/dist/listgrid/components/form/types/ViewEntityFormTheme.types.js +1 -0
  249. package/dist/listgrid/components/form/ui/AlertItem.d.ts +7 -0
  250. package/dist/listgrid/components/form/ui/AlertItem.js +18 -0
  251. package/dist/listgrid/components/form/ui/CreateStepButtons.d.ts +25 -0
  252. package/dist/listgrid/components/form/ui/CreateStepButtons.js +18 -0
  253. package/dist/listgrid/components/form/ui/CreateStepView.d.ts +39 -0
  254. package/dist/listgrid/components/form/ui/CreateStepView.js +50 -0
  255. package/dist/listgrid/components/form/ui/ViewEntityError.d.ts +13 -0
  256. package/dist/listgrid/components/form/ui/ViewEntityError.js +90 -0
  257. package/dist/listgrid/components/form/ui/ViewEntityFormAlerts.d.ts +3 -0
  258. package/dist/listgrid/components/form/ui/ViewEntityFormAlerts.js +24 -0
  259. package/dist/listgrid/components/form/ui/ViewEntityFormButtons.d.ts +24 -0
  260. package/dist/listgrid/components/form/ui/ViewEntityFormButtons.js +208 -0
  261. package/dist/listgrid/components/form/ui/ViewEntityFormErrors.d.ts +25 -0
  262. package/dist/listgrid/components/form/ui/ViewEntityFormErrors.js +9 -0
  263. package/dist/listgrid/components/form/ui/ViewEntityFormFields.d.ts +38 -0
  264. package/dist/listgrid/components/form/ui/ViewEntityFormFields.js +25 -0
  265. package/dist/listgrid/components/form/ui/ViewEntityFormSkeleton.d.ts +16 -0
  266. package/dist/listgrid/components/form/ui/ViewEntityFormSkeleton.js +79 -0
  267. package/dist/listgrid/components/form/ui/ViewEntityFormTitle.d.ts +15 -0
  268. package/dist/listgrid/components/form/ui/ViewEntityFormTitle.js +21 -0
  269. package/dist/listgrid/components/form/ui/ViewFieldError.d.ts +5 -0
  270. package/dist/listgrid/components/form/ui/ViewFieldError.js +12 -0
  271. package/dist/listgrid/components/form/ui/ViewHelpIcon.d.ts +5 -0
  272. package/dist/listgrid/components/form/ui/ViewHelpIcon.js +13 -0
  273. package/dist/listgrid/components/form/ui/ViewHelpText.d.ts +5 -0
  274. package/dist/listgrid/components/form/ui/ViewHelpText.js +10 -0
  275. package/dist/listgrid/components/form/ui/buttons/ClosePopupButton.d.ts +8 -0
  276. package/dist/listgrid/components/form/ui/buttons/ClosePopupButton.js +32 -0
  277. package/dist/listgrid/components/form/ui/buttons/DeleteButton.d.ts +2 -0
  278. package/dist/listgrid/components/form/ui/buttons/DeleteButton.js +101 -0
  279. package/dist/listgrid/components/form/ui/buttons/ListButton.d.ts +2 -0
  280. package/dist/listgrid/components/form/ui/buttons/ListButton.js +55 -0
  281. package/dist/listgrid/components/form/ui/buttons/SaveButton.d.ts +2 -0
  282. package/dist/listgrid/components/form/ui/buttons/SaveButton.js +55 -0
  283. package/dist/listgrid/components/helper/FieldRendererHelper.d.ts +23 -0
  284. package/dist/listgrid/components/helper/FieldRendererHelper.js +27 -0
  285. package/dist/listgrid/components/helper/ShowNotifications.d.ts +13 -0
  286. package/dist/listgrid/components/helper/ShowNotifications.js +58 -0
  287. package/dist/listgrid/components/list/AdvancedSearchForm.d.ts +17 -0
  288. package/dist/listgrid/components/list/AdvancedSearchForm.js +113 -0
  289. package/dist/listgrid/components/list/AdvancedSearchFormV2.d.ts +19 -0
  290. package/dist/listgrid/components/list/AdvancedSearchFormV2.js +347 -0
  291. package/dist/listgrid/components/list/ListGridHeader.d.ts +2 -0
  292. package/dist/listgrid/components/list/ListGridHeader.js +21 -0
  293. package/dist/listgrid/components/list/QuickSearchBar.d.ts +22 -0
  294. package/dist/listgrid/components/list/QuickSearchBar.js +17 -0
  295. package/dist/listgrid/components/list/RowItem.d.ts +2 -0
  296. package/dist/listgrid/components/list/RowItem.js +70 -0
  297. package/dist/listgrid/components/list/SubCollectionButtons.d.ts +2 -0
  298. package/dist/listgrid/components/list/SubCollectionButtons.js +36 -0
  299. package/dist/listgrid/components/list/ViewFieldSelector.d.ts +10 -0
  300. package/dist/listgrid/components/list/ViewFieldSelector.js +48 -0
  301. package/dist/listgrid/components/list/ViewListGrid.d.ts +2 -0
  302. package/dist/listgrid/components/list/ViewListGrid.js +359 -0
  303. package/dist/listgrid/components/list/context/EntityFormScopeContext.d.ts +39 -0
  304. package/dist/listgrid/components/list/context/EntityFormScopeContext.js +75 -0
  305. package/dist/listgrid/components/list/context/ListGridThemeContext.d.ts +70 -0
  306. package/dist/listgrid/components/list/context/ListGridThemeContext.js +157 -0
  307. package/dist/listgrid/components/list/context/index.d.ts +2 -0
  308. package/dist/listgrid/components/list/context/index.js +1 -0
  309. package/dist/listgrid/components/list/hooks/searchFormUrlSync.d.ts +42 -0
  310. package/dist/listgrid/components/list/hooks/searchFormUrlSync.js +212 -0
  311. package/dist/listgrid/components/list/hooks/urlStateParsers.d.ts +63 -0
  312. package/dist/listgrid/components/list/hooks/urlStateParsers.js +241 -0
  313. package/dist/listgrid/components/list/hooks/useCardSubCollectionData.d.ts +34 -0
  314. package/dist/listgrid/components/list/hooks/useCardSubCollectionData.js +181 -0
  315. package/dist/listgrid/components/list/hooks/useListGridHeader.d.ts +6 -0
  316. package/dist/listgrid/components/list/hooks/useListGridHeader.js +92 -0
  317. package/dist/listgrid/components/list/hooks/useListGridLogic.d.ts +2 -0
  318. package/dist/listgrid/components/list/hooks/useListGridLogic.js +625 -0
  319. package/dist/listgrid/components/list/hooks/useListGridUrlState.d.ts +45 -0
  320. package/dist/listgrid/components/list/hooks/useListGridUrlState.js +131 -0
  321. package/dist/listgrid/components/list/hooks/useQuickSearchBar.d.ts +22 -0
  322. package/dist/listgrid/components/list/hooks/useQuickSearchBar.js +104 -0
  323. package/dist/listgrid/components/list/hooks/useSubCollectionExpansion.d.ts +21 -0
  324. package/dist/listgrid/components/list/hooks/useSubCollectionExpansion.js +62 -0
  325. package/dist/listgrid/components/list/themes/defaultListGridTheme.d.ts +14 -0
  326. package/dist/listgrid/components/list/themes/defaultListGridTheme.js +169 -0
  327. package/dist/listgrid/components/list/themes/index.d.ts +4 -0
  328. package/dist/listgrid/components/list/themes/index.js +4 -0
  329. package/dist/listgrid/components/list/themes/variants/mainTheme.d.ts +8 -0
  330. package/dist/listgrid/components/list/themes/variants/mainTheme.js +37 -0
  331. package/dist/listgrid/components/list/themes/variants/modalTheme.d.ts +8 -0
  332. package/dist/listgrid/components/list/themes/variants/modalTheme.js +47 -0
  333. package/dist/listgrid/components/list/themes/variants/subCollectionTheme.d.ts +8 -0
  334. package/dist/listgrid/components/list/themes/variants/subCollectionTheme.js +101 -0
  335. package/dist/listgrid/components/list/types/ListGridHeader.types.d.ts +35 -0
  336. package/dist/listgrid/components/list/types/ListGridHeader.types.js +3 -0
  337. package/dist/listgrid/components/list/types/RowItem.types.d.ts +57 -0
  338. package/dist/listgrid/components/list/types/RowItem.types.js +1 -0
  339. package/dist/listgrid/components/list/types/SubCollectionButtons.type.d.ts +29 -0
  340. package/dist/listgrid/components/list/types/SubCollectionButtons.type.js +1 -0
  341. package/dist/listgrid/components/list/types/ViewListGrid.types.d.ts +152 -0
  342. package/dist/listgrid/components/list/types/ViewListGrid.types.js +2 -0
  343. package/dist/listgrid/components/list/types/ViewListGridTheme.types.d.ts +374 -0
  344. package/dist/listgrid/components/list/types/ViewListGridTheme.types.js +1 -0
  345. package/dist/listgrid/components/list/ui/CardFieldRenderer.d.ts +31 -0
  346. package/dist/listgrid/components/list/ui/CardFieldRenderer.js +71 -0
  347. package/dist/listgrid/components/list/ui/CardFieldSection.d.ts +27 -0
  348. package/dist/listgrid/components/list/ui/CardFieldSection.js +108 -0
  349. package/dist/listgrid/components/list/ui/CardItem.d.ts +28 -0
  350. package/dist/listgrid/components/list/ui/CardItem.js +376 -0
  351. package/dist/listgrid/components/list/ui/CardSubCollectionModal.d.ts +38 -0
  352. package/dist/listgrid/components/list/ui/CardSubCollectionModal.js +80 -0
  353. package/dist/listgrid/components/list/ui/CardSubCollectionView.d.ts +44 -0
  354. package/dist/listgrid/components/list/ui/CardSubCollectionView.js +238 -0
  355. package/dist/listgrid/components/list/ui/DataTransferModal.d.ts +12 -0
  356. package/dist/listgrid/components/list/ui/DataTransferModal.js +10 -0
  357. package/dist/listgrid/components/list/ui/EntireChecker.d.ts +11 -0
  358. package/dist/listgrid/components/list/ui/EntireChecker.js +46 -0
  359. package/dist/listgrid/components/list/ui/FieldSelector.d.ts +11 -0
  360. package/dist/listgrid/components/list/ui/FieldSelector.js +40 -0
  361. package/dist/listgrid/components/list/ui/FilterButton.d.ts +7 -0
  362. package/dist/listgrid/components/list/ui/FilterButton.js +5 -0
  363. package/dist/listgrid/components/list/ui/FilterDropdown.d.ts +15 -0
  364. package/dist/listgrid/components/list/ui/FilterDropdown.js +106 -0
  365. package/dist/listgrid/components/list/ui/FilterView.d.ts +12 -0
  366. package/dist/listgrid/components/list/ui/FilterView.js +22 -0
  367. package/dist/listgrid/components/list/ui/HeaderActionButtons.d.ts +10 -0
  368. package/dist/listgrid/components/list/ui/HeaderActionButtons.js +39 -0
  369. package/dist/listgrid/components/list/ui/HeaderField.d.ts +19 -0
  370. package/dist/listgrid/components/list/ui/HeaderField.js +32 -0
  371. package/dist/listgrid/components/list/ui/HeaderFieldFilter.d.ts +14 -0
  372. package/dist/listgrid/components/list/ui/HeaderFieldFilter.js +166 -0
  373. package/dist/listgrid/components/list/ui/HeaderTitle.d.ts +4 -0
  374. package/dist/listgrid/components/list/ui/HeaderTitle.js +13 -0
  375. package/dist/listgrid/components/list/ui/InlineSubCollectionView.d.ts +30 -0
  376. package/dist/listgrid/components/list/ui/InlineSubCollectionView.js +260 -0
  377. package/dist/listgrid/components/list/ui/MemoizedFilterField.d.ts +14 -0
  378. package/dist/listgrid/components/list/ui/MemoizedFilterField.js +67 -0
  379. package/dist/listgrid/components/list/ui/QuickSearchInput.d.ts +9 -0
  380. package/dist/listgrid/components/list/ui/QuickSearchInput.js +17 -0
  381. package/dist/listgrid/components/list/ui/SearchBarActions.d.ts +19 -0
  382. package/dist/listgrid/components/list/ui/SearchBarActions.js +39 -0
  383. package/dist/listgrid/components/list/ui/SortField.d.ts +8 -0
  384. package/dist/listgrid/components/list/ui/SortField.js +42 -0
  385. package/dist/listgrid/components/list/ui/SubCollectionInlineView.d.ts +23 -0
  386. package/dist/listgrid/components/list/ui/SubCollectionInlineView.js +47 -0
  387. package/dist/listgrid/components/list/ui/SubCollectionModal.d.ts +15 -0
  388. package/dist/listgrid/components/list/ui/SubCollectionModal.js +34 -0
  389. package/dist/listgrid/components/list/ui/SubCollectionViewModal.d.ts +13 -0
  390. package/dist/listgrid/components/list/ui/SubCollectionViewModal.js +33 -0
  391. package/dist/listgrid/components/list/ui/SyncTopScrollbar.d.ts +18 -0
  392. package/dist/listgrid/components/list/ui/SyncTopScrollbar.js +91 -0
  393. package/dist/listgrid/components/list/ui/TableSubCollectionView.d.ts +25 -0
  394. package/dist/listgrid/components/list/ui/TableSubCollectionView.js +213 -0
  395. package/dist/listgrid/components/list/ui/ViewColumn.d.ts +2 -0
  396. package/dist/listgrid/components/list/ui/ViewColumn.js +56 -0
  397. package/dist/listgrid/components/list/ui/ViewListGridSkeleton.d.ts +20 -0
  398. package/dist/listgrid/components/list/ui/ViewListGridSkeleton.js +82 -0
  399. package/dist/listgrid/components/list/ui/ViewRows.d.ts +15 -0
  400. package/dist/listgrid/components/list/ui/ViewRows.js +283 -0
  401. package/dist/listgrid/components/list/ui/buttons/CacheClearButton.d.ts +9 -0
  402. package/dist/listgrid/components/list/ui/buttons/CacheClearButton.js +35 -0
  403. package/dist/listgrid/components/list/ui/buttons/CreateButton.d.ts +13 -0
  404. package/dist/listgrid/components/list/ui/buttons/CreateButton.js +13 -0
  405. package/dist/listgrid/components/list/ui/buttons/PriorityButton.d.ts +11 -0
  406. package/dist/listgrid/components/list/ui/buttons/PriorityButton.js +49 -0
  407. package/dist/listgrid/components/list/ui/headerFilterStore.d.ts +8 -0
  408. package/dist/listgrid/components/list/ui/headerFilterStore.js +13 -0
  409. package/dist/listgrid/components/list/utils/mappedByFieldFilter.d.ts +21 -0
  410. package/dist/listgrid/components/list/utils/mappedByFieldFilter.js +54 -0
  411. package/dist/listgrid/components/list/utils/performanceLogger.d.ts +48 -0
  412. package/dist/listgrid/components/list/utils/performanceLogger.js +67 -0
  413. package/dist/listgrid/components/revision/RevisionField.d.ts +13 -0
  414. package/dist/listgrid/components/revision/RevisionField.js +194 -0
  415. package/dist/listgrid/config/AdvancedSearchOpenCache.d.ts +3 -0
  416. package/dist/listgrid/config/AdvancedSearchOpenCache.js +48 -0
  417. package/dist/listgrid/config/CardSubCollectionField.d.ts +133 -0
  418. package/dist/listgrid/config/CardSubCollectionField.js +164 -0
  419. package/dist/listgrid/config/CommonType.d.ts +4 -0
  420. package/dist/listgrid/config/CommonType.js +15 -0
  421. package/dist/listgrid/config/Config.d.ts +251 -0
  422. package/dist/listgrid/config/Config.js +299 -0
  423. package/dist/listgrid/config/EntityField.d.ts +148 -0
  424. package/dist/listgrid/config/EntityField.js +1 -0
  425. package/dist/listgrid/config/EntityFieldGroup.d.ts +37 -0
  426. package/dist/listgrid/config/EntityFieldGroup.js +55 -0
  427. package/dist/listgrid/config/EntityForm.d.ts +101 -0
  428. package/dist/listgrid/config/EntityForm.js +859 -0
  429. package/dist/listgrid/config/EntityFormButton.d.ts +56 -0
  430. package/dist/listgrid/config/EntityFormButton.js +42 -0
  431. package/dist/listgrid/config/EntityFormMethod.d.ts +32 -0
  432. package/dist/listgrid/config/EntityFormMethod.js +152 -0
  433. package/dist/listgrid/config/EntityFormTypes.d.ts +62 -0
  434. package/dist/listgrid/config/EntityFormTypes.js +1 -0
  435. package/dist/listgrid/config/EntityItem.d.ts +86 -0
  436. package/dist/listgrid/config/EntityItem.js +1 -0
  437. package/dist/listgrid/config/EntityTab.d.ts +26 -0
  438. package/dist/listgrid/config/EntityTab.js +68 -0
  439. package/dist/listgrid/config/InlineSubCollectionField.d.ts +184 -0
  440. package/dist/listgrid/config/InlineSubCollectionField.js +194 -0
  441. package/dist/listgrid/config/ListGrid.d.ts +56 -0
  442. package/dist/listgrid/config/ListGrid.js +183 -0
  443. package/dist/listgrid/config/ListGridViewFieldCache.d.ts +3 -0
  444. package/dist/listgrid/config/ListGridViewFieldCache.js +53 -0
  445. package/dist/listgrid/config/OnChangeEntityForm.d.ts +43 -0
  446. package/dist/listgrid/config/OnChangeEntityForm.js +266 -0
  447. package/dist/listgrid/config/RuntimeConfig.d.ts +18 -0
  448. package/dist/listgrid/config/RuntimeConfig.js +22 -0
  449. package/dist/listgrid/config/SubCollectionField.d.ts +119 -0
  450. package/dist/listgrid/config/SubCollectionField.js +241 -0
  451. package/dist/listgrid/config/TableSubCollectionField.d.ts +66 -0
  452. package/dist/listgrid/config/TableSubCollectionField.js +132 -0
  453. package/dist/listgrid/config/form/EntityFormActions.d.ts +69 -0
  454. package/dist/listgrid/config/form/EntityFormActions.js +459 -0
  455. package/dist/listgrid/config/form/EntityFormBase.d.ts +204 -0
  456. package/dist/listgrid/config/form/EntityFormBase.js +526 -0
  457. package/dist/listgrid/config/form/EntityFormData.d.ts +32 -0
  458. package/dist/listgrid/config/form/EntityFormData.js +184 -0
  459. package/dist/listgrid/config/form/EntityFormExtensions.d.ts +37 -0
  460. package/dist/listgrid/config/form/EntityFormExtensions.js +105 -0
  461. package/dist/listgrid/config/form/EntityFormValidation.d.ts +28 -0
  462. package/dist/listgrid/config/form/EntityFormValidation.js +128 -0
  463. package/dist/listgrid/extensions/EntityFormExtension.types.d.ts +52 -0
  464. package/dist/listgrid/extensions/EntityFormExtension.types.js +19 -0
  465. package/dist/listgrid/extensions/FieldExtensions.d.ts +5 -0
  466. package/dist/listgrid/extensions/FieldExtensions.js +21 -0
  467. package/dist/listgrid/form/SearchForm.d.ts +153 -0
  468. package/dist/listgrid/form/SearchForm.js +689 -0
  469. package/dist/listgrid/form/TagsInput/types.d.ts +133 -0
  470. package/dist/listgrid/form/TagsInput/types.js +1 -0
  471. package/dist/listgrid/form/Type.d.ts +50 -0
  472. package/dist/listgrid/form/Type.js +95 -0
  473. package/dist/listgrid/index.d.ts +205 -0
  474. package/dist/listgrid/index.js +244 -0
  475. package/dist/listgrid/loading/index.d.ts +6 -0
  476. package/dist/listgrid/loading/index.js +17 -0
  477. package/dist/listgrid/menu/MenuPermissionChecker.d.ts +15 -0
  478. package/dist/listgrid/menu/MenuPermissionChecker.js +15 -0
  479. package/dist/listgrid/menu/index.d.ts +1 -0
  480. package/dist/listgrid/menu/index.js +1 -0
  481. package/dist/listgrid/message/MessageProvider.d.ts +19 -0
  482. package/dist/listgrid/message/MessageProvider.js +62 -0
  483. package/dist/listgrid/message/index.d.ts +1 -0
  484. package/dist/listgrid/message/index.js +1 -0
  485. package/dist/listgrid/misc/index.d.ts +64 -0
  486. package/dist/listgrid/misc/index.js +478 -0
  487. package/dist/listgrid/router/RouterProvider.d.ts +12 -0
  488. package/dist/listgrid/router/RouterProvider.js +34 -0
  489. package/dist/listgrid/router/index.d.ts +3 -0
  490. package/dist/listgrid/router/index.js +1 -0
  491. package/dist/listgrid/router/types.d.ts +34 -0
  492. package/dist/listgrid/router/types.js +6 -0
  493. package/dist/listgrid/store/index.d.ts +24 -0
  494. package/dist/listgrid/store/index.js +40 -0
  495. package/dist/listgrid/transfer/DataExportProcessor.d.ts +18 -0
  496. package/dist/listgrid/transfer/DataExportProcessor.js +102 -0
  497. package/dist/listgrid/transfer/DataExportService.d.ts +37 -0
  498. package/dist/listgrid/transfer/DataExportService.js +225 -0
  499. package/dist/listgrid/transfer/DataExporter.d.ts +10 -0
  500. package/dist/listgrid/transfer/DataExporter.js +85 -0
  501. package/dist/listgrid/transfer/DataImportDescription.d.ts +8 -0
  502. package/dist/listgrid/transfer/DataImportDescription.js +18 -0
  503. package/dist/listgrid/transfer/DataImportProcessor.d.ts +24 -0
  504. package/dist/listgrid/transfer/DataImportProcessor.js +59 -0
  505. package/dist/listgrid/transfer/DataImportResultView.d.ts +13 -0
  506. package/dist/listgrid/transfer/DataImportResultView.js +64 -0
  507. package/dist/listgrid/transfer/DataImportSample.d.ts +10 -0
  508. package/dist/listgrid/transfer/DataImportSample.js +105 -0
  509. package/dist/listgrid/transfer/DataImporter.d.ts +8 -0
  510. package/dist/listgrid/transfer/DataImporter.js +335 -0
  511. package/dist/listgrid/transfer/DynamicDataImporter.d.ts +4 -0
  512. package/dist/listgrid/transfer/DynamicDataImporter.js +13 -0
  513. package/dist/listgrid/transfer/ExcelPasswordField.d.ts +9 -0
  514. package/dist/listgrid/transfer/ExcelPasswordField.js +23 -0
  515. package/dist/listgrid/transfer/Provider/ExcelProvider.d.ts +24 -0
  516. package/dist/listgrid/transfer/Provider/ExcelProvider.js +194 -0
  517. package/dist/listgrid/transfer/Type.d.ts +176 -0
  518. package/dist/listgrid/transfer/Type.js +568 -0
  519. package/dist/listgrid/ui/GlobalModalManager.d.ts +22 -0
  520. package/dist/listgrid/ui/GlobalModalManager.js +65 -0
  521. package/dist/listgrid/ui/UIProvider.d.ts +151 -0
  522. package/dist/listgrid/ui/UIProvider.js +292 -0
  523. package/dist/listgrid/ui/index.d.ts +2 -0
  524. package/dist/listgrid/ui/index.js +2 -0
  525. package/dist/listgrid/urlState/UrlStateProvider.d.ts +8 -0
  526. package/dist/listgrid/urlState/UrlStateProvider.js +20 -0
  527. package/dist/listgrid/urlState/index.d.ts +4 -0
  528. package/dist/listgrid/urlState/index.js +2 -0
  529. package/dist/listgrid/urlState/types.d.ts +21 -0
  530. package/dist/listgrid/urlState/types.js +14 -0
  531. package/dist/listgrid/utils/BooleanUtil.d.ts +1 -0
  532. package/dist/listgrid/utils/BooleanUtil.js +9 -0
  533. package/dist/listgrid/utils/CompareUtil.d.ts +7 -0
  534. package/dist/listgrid/utils/CompareUtil.js +87 -0
  535. package/dist/listgrid/utils/PhoneUtil.d.ts +19 -0
  536. package/dist/listgrid/utils/PhoneUtil.js +38 -0
  537. package/dist/listgrid/utils/RequestUtil.d.ts +6 -0
  538. package/dist/listgrid/utils/RequestUtil.js +6 -0
  539. package/dist/listgrid/utils/StringUtil.d.ts +32 -0
  540. package/dist/listgrid/utils/StringUtil.js +316 -0
  541. package/dist/listgrid/utils/classNames.d.ts +21 -0
  542. package/dist/listgrid/utils/classNames.js +29 -0
  543. package/dist/listgrid/utils/cn.d.ts +12 -0
  544. package/dist/listgrid/utils/cn.js +15 -0
  545. package/dist/listgrid/utils/hash.d.ts +1 -0
  546. package/dist/listgrid/utils/hash.js +15 -0
  547. package/dist/listgrid/utils/i18n.d.ts +16 -0
  548. package/dist/listgrid/utils/i18n.js +31 -0
  549. package/dist/listgrid/utils/index.d.ts +10 -0
  550. package/dist/listgrid/utils/index.js +17 -0
  551. package/dist/listgrid/utils/jsonUtils.d.ts +4 -0
  552. package/dist/listgrid/utils/jsonUtils.js +77 -0
  553. package/dist/listgrid/utils/lazy.d.ts +10 -0
  554. package/dist/listgrid/utils/lazy.js +13 -0
  555. package/dist/listgrid/utils/simpleCrypt.d.ts +4 -0
  556. package/dist/listgrid/utils/simpleCrypt.js +79 -0
  557. package/dist/listgrid/validations/CustomValidation.d.ts +8 -0
  558. package/dist/listgrid/validations/CustomValidation.js +10 -0
  559. package/dist/listgrid/validations/EmailValidation.d.ts +4 -0
  560. package/dist/listgrid/validations/EmailValidation.js +7 -0
  561. package/dist/listgrid/validations/IpAddressValidation.d.ts +26 -0
  562. package/dist/listgrid/validations/IpAddressValidation.js +57 -0
  563. package/dist/listgrid/validations/MinMaxNumberValidation.d.ts +14 -0
  564. package/dist/listgrid/validations/MinMaxNumberValidation.js +28 -0
  565. package/dist/listgrid/validations/PasswordValidation.d.ts +4 -0
  566. package/dist/listgrid/validations/PasswordValidation.js +7 -0
  567. package/dist/listgrid/validations/PhoneNumberValidation.d.ts +12 -0
  568. package/dist/listgrid/validations/PhoneNumberValidation.js +24 -0
  569. package/dist/listgrid/validations/RegexFormularValidation.d.ts +7 -0
  570. package/dist/listgrid/validations/RegexFormularValidation.js +28 -0
  571. package/dist/listgrid/validations/RegexValidation.d.ts +8 -0
  572. package/dist/listgrid/validations/RegexValidation.js +17 -0
  573. package/dist/listgrid/validations/RequiredValidation.d.ts +7 -0
  574. package/dist/listgrid/validations/RequiredValidation.js +12 -0
  575. package/dist/listgrid/validations/StringValidation.d.ts +17 -0
  576. package/dist/listgrid/validations/StringValidation.js +33 -0
  577. package/dist/listgrid/validations/TelephoneNumberValidation.d.ts +12 -0
  578. package/dist/listgrid/validations/TelephoneNumberValidation.js +24 -0
  579. package/dist/listgrid/validations/Validation.d.ts +63 -0
  580. package/dist/listgrid/validations/Validation.js +72 -0
  581. package/dist/listgrid/view/ViewEntityFormWrapper.d.ts +16 -0
  582. package/dist/listgrid/view/ViewEntityFormWrapper.js +98 -0
  583. package/dist/listgrid/view/ViewListGridWrapper.d.ts +10 -0
  584. package/dist/listgrid/view/ViewListGridWrapper.js +96 -0
  585. package/dist/styles/base.css +116 -0
  586. package/dist/styles/components.css +1404 -0
  587. package/dist/styles/layouts.css +3206 -0
  588. package/dist/styles/primitives.css +1542 -0
  589. package/dist/styles/tokens.css +218 -0
  590. package/dist/styles.css +6486 -0
  591. package/docs/PRIMITIVES.md +271 -0
  592. package/package.json +201 -0
@@ -0,0 +1,1542 @@
1
+ /*
2
+ * @rchemist/listgrid primitive stylesheet.
3
+ *
4
+ * Layer 2 in the CSS architecture (tokens → primitives → layouts → components).
5
+ * See docs/REFACTOR_DESIGN.md § 2 for the authoritative specification.
6
+ *
7
+ * Philosophy:
8
+ * - Each primitive is a *what* (class name) + *how* (data-attr variants).
9
+ * - Base class describes the element; data-variant / data-size / data-color /
10
+ * data-tone / data-state describe modifications.
11
+ * - Hosts override via CSS variables (tokens.css) or primitive + data-attr
12
+ * selectors. Composite / layout classes are private API.
13
+ *
14
+ * Keyframes `rcm-pulse` / `rcm-spin` are defined in base.css; primitives
15
+ * reference them by name so the concatenated bundle resolves.
16
+ *
17
+ * Phase 1 status: these primitives are DECLARED but not yet consumed by
18
+ * src/listgrid JSX. base.css still drives the current visual. Phase 2+ will
19
+ * incrementally migrate JSX to primitive + data-attr usage and remove the
20
+ * corresponding composite classes from base.css.
21
+ */
22
+
23
+ /* BEGIN — unlayered. Same rationale as base.css: beat Tailwind preflight. */
24
+
25
+ /* ================================================================== *
26
+ * 1. Layout primitives
27
+ * ================================================================== */
28
+
29
+ .rcm-row {
30
+ display: flex;
31
+ flex-direction: row;
32
+ align-items: center;
33
+ gap: var(--rcm-space-sm);
34
+ }
35
+
36
+ .rcm-row[data-justify='start'] {
37
+ justify-content: flex-start;
38
+ }
39
+ .rcm-row[data-justify='center'] {
40
+ justify-content: center;
41
+ }
42
+ .rcm-row[data-justify='end'] {
43
+ justify-content: flex-end;
44
+ }
45
+ .rcm-row[data-justify='between'] {
46
+ justify-content: space-between;
47
+ }
48
+ .rcm-row[data-justify='around'] {
49
+ justify-content: space-around;
50
+ }
51
+
52
+ .rcm-row[data-align='start'] {
53
+ align-items: flex-start;
54
+ }
55
+ .rcm-row[data-align='center'] {
56
+ align-items: center;
57
+ }
58
+ .rcm-row[data-align='end'] {
59
+ align-items: flex-end;
60
+ }
61
+ .rcm-row[data-align='baseline'] {
62
+ align-items: baseline;
63
+ }
64
+ .rcm-row[data-align='stretch'] {
65
+ align-items: stretch;
66
+ }
67
+
68
+ .rcm-row[data-gap='none'] {
69
+ gap: 0;
70
+ }
71
+ .rcm-row[data-gap='xs'] {
72
+ gap: var(--rcm-space-xs);
73
+ }
74
+ .rcm-row[data-gap='sm'] {
75
+ gap: var(--rcm-space-sm);
76
+ }
77
+ .rcm-row[data-gap='md'] {
78
+ gap: var(--rcm-space-md);
79
+ }
80
+ .rcm-row[data-gap='lg'] {
81
+ gap: var(--rcm-space-lg);
82
+ }
83
+ .rcm-row[data-gap='xl'] {
84
+ gap: var(--rcm-space-xl);
85
+ }
86
+
87
+ .rcm-row[data-wrap='wrap'] {
88
+ flex-wrap: wrap;
89
+ }
90
+ .rcm-row[data-wrap='nowrap'] {
91
+ flex-wrap: nowrap;
92
+ }
93
+
94
+ .rcm-stack {
95
+ display: flex;
96
+ flex-direction: column;
97
+ gap: var(--rcm-space-md);
98
+ }
99
+
100
+ .rcm-stack[data-gap='none'] {
101
+ gap: 0;
102
+ }
103
+ .rcm-stack[data-gap='xs'] {
104
+ gap: var(--rcm-space-xs);
105
+ }
106
+ .rcm-stack[data-gap='sm'] {
107
+ gap: var(--rcm-space-sm);
108
+ }
109
+ .rcm-stack[data-gap='md'] {
110
+ gap: var(--rcm-space-md);
111
+ }
112
+ .rcm-stack[data-gap='lg'] {
113
+ gap: var(--rcm-space-lg);
114
+ }
115
+ .rcm-stack[data-gap='xl'] {
116
+ gap: var(--rcm-space-xl);
117
+ }
118
+
119
+ .rcm-stack[data-align='start'] {
120
+ align-items: flex-start;
121
+ }
122
+ .rcm-stack[data-align='center'] {
123
+ align-items: center;
124
+ }
125
+ .rcm-stack[data-align='end'] {
126
+ align-items: flex-end;
127
+ }
128
+ .rcm-stack[data-align='stretch'] {
129
+ align-items: stretch;
130
+ }
131
+
132
+ .rcm-grid {
133
+ display: grid;
134
+ gap: var(--rcm-space-md);
135
+ }
136
+
137
+ .rcm-grid[data-gap='none'] {
138
+ gap: 0;
139
+ }
140
+ .rcm-grid[data-gap='xs'] {
141
+ gap: var(--rcm-space-xs);
142
+ }
143
+ .rcm-grid[data-gap='sm'] {
144
+ gap: var(--rcm-space-sm);
145
+ }
146
+ .rcm-grid[data-gap='md'] {
147
+ gap: var(--rcm-space-md);
148
+ }
149
+ .rcm-grid[data-gap='lg'] {
150
+ gap: var(--rcm-space-lg);
151
+ }
152
+ .rcm-grid[data-gap='xl'] {
153
+ gap: var(--rcm-space-xl);
154
+ }
155
+
156
+ .rcm-divider {
157
+ border: 0;
158
+ border-top: var(--rcm-border-width) solid var(--rcm-color-border);
159
+ width: 100%;
160
+ margin: 0;
161
+ }
162
+
163
+ .rcm-divider[data-orientation='vertical'] {
164
+ border-top: 0;
165
+ border-left: var(--rcm-border-width) solid var(--rcm-color-border);
166
+ width: auto;
167
+ height: 100%;
168
+ align-self: stretch;
169
+ }
170
+
171
+ .rcm-surface {
172
+ background: var(--rcm-color-surface);
173
+ color: var(--rcm-color-text);
174
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
175
+ border-radius: var(--rcm-radius-md);
176
+ }
177
+
178
+ .rcm-surface[data-tone='muted'] {
179
+ background: var(--rcm-color-surface-muted);
180
+ }
181
+
182
+ .rcm-surface[data-tone='subtle'] {
183
+ background: var(--rcm-color-surface-hover);
184
+ }
185
+
186
+ .rcm-scroll-area {
187
+ overflow: auto;
188
+ scrollbar-width: thin;
189
+ scrollbar-color: var(--rcm-color-border) transparent;
190
+ }
191
+
192
+ .rcm-scroll-area::-webkit-scrollbar {
193
+ width: 8px;
194
+ height: 8px;
195
+ }
196
+
197
+ .rcm-scroll-area::-webkit-scrollbar-track {
198
+ background: transparent;
199
+ }
200
+
201
+ .rcm-scroll-area::-webkit-scrollbar-thumb {
202
+ background: var(--rcm-color-border);
203
+ border-radius: var(--rcm-radius-full);
204
+ }
205
+
206
+ .rcm-scroll-area::-webkit-scrollbar-thumb:hover {
207
+ background: var(--rcm-color-border-hover);
208
+ }
209
+
210
+ /* ================================================================== *
211
+ * 2. Text primitives
212
+ * ================================================================== */
213
+
214
+ .rcm-heading {
215
+ font-family: inherit;
216
+ font-weight: var(--rcm-font-weight-semibold);
217
+ color: var(--rcm-color-text);
218
+ line-height: var(--rcm-line-height-tight);
219
+ margin: 0;
220
+ }
221
+
222
+ .rcm-heading[data-level='1'] {
223
+ font-size: var(--rcm-font-size-xl);
224
+ }
225
+ .rcm-heading[data-level='2'] {
226
+ font-size: var(--rcm-font-size-lg);
227
+ }
228
+ .rcm-heading[data-level='3'] {
229
+ font-size: var(--rcm-font-size-md);
230
+ }
231
+ .rcm-heading[data-level='4'] {
232
+ font-size: var(--rcm-font-size-sm);
233
+ font-weight: var(--rcm-font-weight-medium);
234
+ }
235
+
236
+ .rcm-text {
237
+ font-family: inherit;
238
+ font-size: inherit;
239
+ line-height: inherit;
240
+ color: inherit;
241
+ }
242
+
243
+ .rcm-text[data-size='xs'] {
244
+ font-size: var(--rcm-font-size-xs);
245
+ }
246
+ .rcm-text[data-size='sm'] {
247
+ font-size: var(--rcm-font-size-sm);
248
+ }
249
+ .rcm-text[data-size='md'] {
250
+ font-size: var(--rcm-font-size-md);
251
+ }
252
+ .rcm-text[data-size='lg'] {
253
+ font-size: var(--rcm-font-size-lg);
254
+ }
255
+ .rcm-text[data-size='xl'] {
256
+ font-size: var(--rcm-font-size-xl);
257
+ }
258
+
259
+ .rcm-text[data-tone='default'] {
260
+ color: var(--rcm-color-text);
261
+ }
262
+ .rcm-text[data-tone='muted'] {
263
+ color: var(--rcm-color-text-muted);
264
+ }
265
+ .rcm-text[data-tone='disabled'] {
266
+ color: var(--rcm-color-text-disabled);
267
+ }
268
+ .rcm-text[data-tone='emphasis'] {
269
+ font-weight: var(--rcm-font-weight-semibold);
270
+ }
271
+ .rcm-text[data-tone='inverse'] {
272
+ color: var(--rcm-color-text-inverse);
273
+ }
274
+
275
+ .rcm-text[data-color='primary'] {
276
+ color: var(--rcm-color-primary);
277
+ }
278
+ .rcm-text[data-color='success'] {
279
+ color: var(--rcm-color-success);
280
+ }
281
+ .rcm-text[data-color='warning'] {
282
+ color: var(--rcm-color-warning);
283
+ }
284
+ .rcm-text[data-color='error'] {
285
+ color: var(--rcm-color-error);
286
+ }
287
+ .rcm-text[data-color='info'] {
288
+ color: var(--rcm-color-info);
289
+ }
290
+
291
+ .rcm-text[data-weight='normal'] {
292
+ font-weight: var(--rcm-font-weight-normal);
293
+ }
294
+ .rcm-text[data-weight='medium'] {
295
+ font-weight: var(--rcm-font-weight-medium);
296
+ }
297
+ .rcm-text[data-weight='semibold'] {
298
+ font-weight: var(--rcm-font-weight-semibold);
299
+ }
300
+ .rcm-text[data-weight='bold'] {
301
+ font-weight: var(--rcm-font-weight-bold);
302
+ }
303
+
304
+ .rcm-label {
305
+ display: inline-block;
306
+ font-size: var(--rcm-font-size-sm);
307
+ font-weight: var(--rcm-font-weight-medium);
308
+ color: var(--rcm-color-text);
309
+ line-height: var(--rcm-line-height-tight);
310
+ }
311
+
312
+ .rcm-label[data-size='xs'] {
313
+ font-size: var(--rcm-font-size-xs);
314
+ }
315
+ .rcm-label[data-size='sm'] {
316
+ font-size: var(--rcm-font-size-sm);
317
+ }
318
+ .rcm-label[data-size='md'] {
319
+ font-size: var(--rcm-font-size-md);
320
+ }
321
+
322
+ .rcm-label[data-required]::after {
323
+ content: ' *';
324
+ color: var(--rcm-color-error);
325
+ }
326
+
327
+ .rcm-label[data-tone='muted'] {
328
+ color: var(--rcm-color-text-muted);
329
+ }
330
+ .rcm-label[data-tone='disabled'] {
331
+ color: var(--rcm-color-text-disabled);
332
+ }
333
+
334
+ /* ================================================================== *
335
+ * 3. Button primitives
336
+ * ================================================================== */
337
+
338
+ .rcm-button {
339
+ display: inline-flex;
340
+ align-items: center;
341
+ justify-content: center;
342
+ gap: var(--rcm-space-xs);
343
+ box-sizing: border-box;
344
+ height: var(--rcm-size-button-height);
345
+ padding: 0 var(--rcm-space-lg);
346
+ font-family: inherit;
347
+ font-size: var(--rcm-font-size-sm);
348
+ font-weight: var(--rcm-font-weight-medium);
349
+ color: var(--rcm-color-text);
350
+ background: var(--rcm-color-surface);
351
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
352
+ border-radius: var(--rcm-radius-md);
353
+ cursor: pointer;
354
+ transition:
355
+ background var(--rcm-transition-fast),
356
+ border-color var(--rcm-transition-fast);
357
+ }
358
+
359
+ .rcm-button:hover {
360
+ background: var(--rcm-color-surface-hover);
361
+ border-color: var(--rcm-color-border-hover);
362
+ }
363
+
364
+ .rcm-button:focus-visible {
365
+ outline: 2px solid var(--rcm-color-border-focus);
366
+ outline-offset: 2px;
367
+ }
368
+
369
+ .rcm-button:disabled,
370
+ .rcm-button[data-state='disabled'] {
371
+ opacity: 0.5;
372
+ cursor: not-allowed;
373
+ pointer-events: none;
374
+ }
375
+
376
+ .rcm-button[data-variant='primary'] {
377
+ color: var(--rcm-color-primary-text);
378
+ background: var(--rcm-color-primary);
379
+ border-color: var(--rcm-color-primary);
380
+ }
381
+
382
+ .rcm-button[data-variant='primary']:hover {
383
+ background: var(--rcm-color-primary-hover);
384
+ border-color: var(--rcm-color-primary-hover);
385
+ }
386
+
387
+ .rcm-button[data-variant='outline'] {
388
+ color: var(--rcm-color-primary);
389
+ background: transparent;
390
+ border-color: var(--rcm-color-primary);
391
+ }
392
+
393
+ .rcm-button[data-variant='outline']:hover {
394
+ background: color-mix(in srgb, var(--rcm-color-primary) 10%, transparent);
395
+ border-color: var(--rcm-color-primary);
396
+ }
397
+
398
+ .rcm-button[data-variant='ghost'] {
399
+ color: var(--rcm-color-text);
400
+ background: transparent;
401
+ border-color: transparent;
402
+ }
403
+
404
+ .rcm-button[data-variant='ghost']:hover {
405
+ background: var(--rcm-color-surface-hover);
406
+ border-color: transparent;
407
+ }
408
+
409
+ .rcm-button[data-variant='link'] {
410
+ color: var(--rcm-color-primary);
411
+ background: transparent;
412
+ border-color: transparent;
413
+ padding: 0;
414
+ height: auto;
415
+ text-decoration: underline;
416
+ text-underline-offset: 2px;
417
+ }
418
+
419
+ .rcm-button[data-variant='link']:hover {
420
+ color: var(--rcm-color-primary-hover);
421
+ background: transparent;
422
+ }
423
+
424
+ /* Danger variants — solid + outline */
425
+ .rcm-button[data-variant='primary'][data-color='error'] {
426
+ color: var(--rcm-color-primary-text);
427
+ background: var(--rcm-color-error);
428
+ border-color: var(--rcm-color-error);
429
+ }
430
+
431
+ .rcm-button[data-variant='primary'][data-color='error']:hover {
432
+ background: color-mix(in srgb, var(--rcm-color-error) 85%, black);
433
+ border-color: color-mix(in srgb, var(--rcm-color-error) 85%, black);
434
+ }
435
+
436
+ .rcm-button[data-variant='outline'][data-color='error'] {
437
+ color: var(--rcm-color-error);
438
+ background: transparent;
439
+ border-color: var(--rcm-color-error);
440
+ }
441
+
442
+ .rcm-button[data-variant='outline'][data-color='error']:hover {
443
+ color: var(--rcm-color-error);
444
+ background: var(--rcm-color-error-surface);
445
+ border-color: var(--rcm-color-error);
446
+ }
447
+
448
+ .rcm-button[data-variant='ghost'][data-color='error'] {
449
+ color: var(--rcm-color-error);
450
+ }
451
+
452
+ .rcm-button[data-variant='ghost'][data-color='error']:hover {
453
+ background: var(--rcm-color-error-surface);
454
+ color: var(--rcm-color-error);
455
+ }
456
+
457
+ /* Size modifiers */
458
+ .rcm-button[data-size='xs'] {
459
+ height: 1.5rem;
460
+ padding: 0 var(--rcm-space-sm);
461
+ font-size: var(--rcm-font-size-xs);
462
+ }
463
+
464
+ .rcm-button[data-size='sm'] {
465
+ height: 2rem;
466
+ padding: 0 var(--rcm-space-md);
467
+ font-size: var(--rcm-font-size-xs);
468
+ }
469
+
470
+ .rcm-button[data-size='md'] {
471
+ height: var(--rcm-size-button-height);
472
+ padding: 0 var(--rcm-space-lg);
473
+ font-size: var(--rcm-font-size-sm);
474
+ }
475
+
476
+ .rcm-button[data-size='lg'] {
477
+ height: 2.75rem;
478
+ padding: 0 var(--rcm-space-xl);
479
+ font-size: var(--rcm-font-size-md);
480
+ }
481
+
482
+ .rcm-button[data-state='loading'] {
483
+ cursor: progress;
484
+ opacity: 0.8;
485
+ }
486
+
487
+ .rcm-button[data-full-width] {
488
+ width: 100%;
489
+ }
490
+
491
+ /* Icon-only button — square. Inherits variant + color + state from .rcm-button. */
492
+ .rcm-icon-btn {
493
+ display: inline-flex;
494
+ align-items: center;
495
+ justify-content: center;
496
+ box-sizing: border-box;
497
+ width: var(--rcm-size-button-height);
498
+ height: var(--rcm-size-button-height);
499
+ padding: 0;
500
+ font-family: inherit;
501
+ color: var(--rcm-color-text-muted);
502
+ background: transparent;
503
+ border: var(--rcm-border-width) solid transparent;
504
+ border-radius: var(--rcm-radius-md);
505
+ cursor: pointer;
506
+ transition:
507
+ background var(--rcm-transition-fast),
508
+ color var(--rcm-transition-fast),
509
+ border-color var(--rcm-transition-fast);
510
+ }
511
+
512
+ .rcm-icon-btn:hover {
513
+ background: var(--rcm-color-surface-hover);
514
+ color: var(--rcm-color-text);
515
+ }
516
+
517
+ .rcm-icon-btn:focus-visible {
518
+ outline: 2px solid var(--rcm-color-border-focus);
519
+ outline-offset: 2px;
520
+ }
521
+
522
+ .rcm-icon-btn:disabled,
523
+ .rcm-icon-btn[data-state='disabled'] {
524
+ opacity: 0.4;
525
+ cursor: not-allowed;
526
+ }
527
+
528
+ .rcm-icon-btn[data-variant='outline'] {
529
+ border-color: var(--rcm-color-border);
530
+ }
531
+
532
+ .rcm-icon-btn[data-variant='outline']:hover {
533
+ border-color: var(--rcm-color-border-hover);
534
+ }
535
+
536
+ .rcm-icon-btn[data-variant='primary'] {
537
+ color: var(--rcm-color-primary-text);
538
+ background: var(--rcm-color-primary);
539
+ border-color: var(--rcm-color-primary);
540
+ }
541
+
542
+ .rcm-icon-btn[data-variant='primary']:hover {
543
+ background: var(--rcm-color-primary-hover);
544
+ border-color: var(--rcm-color-primary-hover);
545
+ }
546
+
547
+ .rcm-icon-btn[data-color='error'] {
548
+ color: var(--rcm-color-error);
549
+ }
550
+
551
+ .rcm-icon-btn[data-color='error']:hover {
552
+ background: var(--rcm-color-error-surface);
553
+ color: var(--rcm-color-error);
554
+ }
555
+
556
+ .rcm-icon-btn[data-color='success'] {
557
+ color: var(--rcm-color-success);
558
+ }
559
+ .rcm-icon-btn[data-color='warning'] {
560
+ color: var(--rcm-color-warning);
561
+ }
562
+ .rcm-icon-btn[data-color='info'] {
563
+ color: var(--rcm-color-info);
564
+ }
565
+
566
+ .rcm-icon-btn[data-size='xs'] {
567
+ width: 1.5rem;
568
+ height: 1.5rem;
569
+ }
570
+ .rcm-icon-btn[data-size='sm'] {
571
+ width: 1.75rem;
572
+ height: 1.75rem;
573
+ }
574
+ .rcm-icon-btn[data-size='md'] {
575
+ width: var(--rcm-size-button-height);
576
+ height: var(--rcm-size-button-height);
577
+ }
578
+ .rcm-icon-btn[data-size='lg'] {
579
+ width: 2.75rem;
580
+ height: 2.75rem;
581
+ }
582
+
583
+ /* Button group — grouped action buttons (toolbar / segmented). */
584
+ .rcm-button-group {
585
+ display: inline-flex;
586
+ flex-direction: row;
587
+ align-items: stretch;
588
+ isolation: isolate;
589
+ }
590
+
591
+ .rcm-button-group > .rcm-button {
592
+ border-radius: 0;
593
+ margin-left: calc(var(--rcm-border-width) * -1);
594
+ }
595
+
596
+ .rcm-button-group > .rcm-button:first-child {
597
+ margin-left: 0;
598
+ border-top-left-radius: var(--rcm-radius-md);
599
+ border-bottom-left-radius: var(--rcm-radius-md);
600
+ }
601
+
602
+ .rcm-button-group > .rcm-button:last-child {
603
+ border-top-right-radius: var(--rcm-radius-md);
604
+ border-bottom-right-radius: var(--rcm-radius-md);
605
+ }
606
+
607
+ .rcm-button-group > .rcm-button:hover,
608
+ .rcm-button-group > .rcm-button:focus-visible,
609
+ .rcm-button-group > .rcm-button[data-state='selected'] {
610
+ z-index: 1;
611
+ }
612
+
613
+ /* ================================================================== *
614
+ * 4. Input primitives
615
+ * ================================================================== */
616
+
617
+ .rcm-input {
618
+ box-sizing: border-box;
619
+ width: 100%;
620
+ height: var(--rcm-size-input-height);
621
+ padding: 0 var(--rcm-space-md);
622
+ font-family: inherit;
623
+ font-size: var(--rcm-font-size-sm);
624
+ line-height: var(--rcm-line-height-normal);
625
+ color: var(--rcm-color-text);
626
+ background: var(--rcm-color-surface);
627
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
628
+ border-radius: var(--rcm-radius-md);
629
+ transition:
630
+ border-color var(--rcm-transition-fast),
631
+ background var(--rcm-transition-fast);
632
+ }
633
+
634
+ .rcm-input:hover {
635
+ border-color: var(--rcm-color-border-hover);
636
+ }
637
+
638
+ .rcm-input:focus,
639
+ .rcm-input:focus-visible {
640
+ outline: none;
641
+ border-color: var(--rcm-color-primary);
642
+ }
643
+
644
+ .rcm-input::placeholder {
645
+ color: var(--rcm-color-text-disabled);
646
+ }
647
+
648
+ .rcm-input[aria-invalid='true'],
649
+ .rcm-input[data-state='error'] {
650
+ border-color: var(--rcm-color-error);
651
+ }
652
+
653
+ .rcm-input:disabled,
654
+ .rcm-input[readonly],
655
+ .rcm-input[data-state='disabled'] {
656
+ background: var(--rcm-color-surface-disabled);
657
+ color: var(--rcm-color-text-disabled);
658
+ cursor: not-allowed;
659
+ }
660
+
661
+ .rcm-input[data-size='sm'] {
662
+ height: 2rem;
663
+ font-size: var(--rcm-font-size-sm);
664
+ padding: 0 var(--rcm-space-sm);
665
+ }
666
+
667
+ .rcm-input[data-size='md'] {
668
+ height: var(--rcm-size-input-height);
669
+ font-size: var(--rcm-font-size-sm);
670
+ padding: 0 var(--rcm-space-md);
671
+ }
672
+
673
+ .rcm-input[data-size='lg'] {
674
+ height: 2.75rem;
675
+ font-size: var(--rcm-font-size-md);
676
+ padding: 0 var(--rcm-space-lg);
677
+ }
678
+
679
+ .rcm-textarea {
680
+ box-sizing: border-box;
681
+ width: 100%;
682
+ min-height: calc(var(--rcm-size-input-height) * 2);
683
+ padding: var(--rcm-space-sm) var(--rcm-space-md);
684
+ font-family: inherit;
685
+ font-size: var(--rcm-font-size-sm);
686
+ line-height: var(--rcm-line-height-normal);
687
+ color: var(--rcm-color-text);
688
+ background: var(--rcm-color-surface);
689
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
690
+ border-radius: var(--rcm-radius-md);
691
+ resize: vertical;
692
+ transition: border-color var(--rcm-transition-fast);
693
+ }
694
+
695
+ .rcm-textarea:hover {
696
+ border-color: var(--rcm-color-border-hover);
697
+ }
698
+
699
+ .rcm-textarea:focus,
700
+ .rcm-textarea:focus-visible {
701
+ outline: none;
702
+ border-color: var(--rcm-color-primary);
703
+ }
704
+
705
+ .rcm-textarea[aria-invalid='true'],
706
+ .rcm-textarea[data-state='error'] {
707
+ border-color: var(--rcm-color-error);
708
+ }
709
+
710
+ .rcm-textarea:disabled,
711
+ .rcm-textarea[readonly],
712
+ .rcm-textarea[data-state='disabled'] {
713
+ background: var(--rcm-color-surface-disabled);
714
+ color: var(--rcm-color-text-disabled);
715
+ cursor: not-allowed;
716
+ }
717
+
718
+ .rcm-select {
719
+ box-sizing: border-box;
720
+ width: 100%;
721
+ height: var(--rcm-size-input-height);
722
+ padding: 0 var(--rcm-space-xl) 0 var(--rcm-space-md);
723
+ font-family: inherit;
724
+ font-size: var(--rcm-font-size-sm);
725
+ color: var(--rcm-color-text);
726
+ background: var(--rcm-color-surface);
727
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
728
+ border-radius: var(--rcm-radius-md);
729
+ appearance: none;
730
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
731
+ background-repeat: no-repeat;
732
+ background-position: right var(--rcm-space-md) center;
733
+ cursor: pointer;
734
+ transition: border-color var(--rcm-transition-fast);
735
+ }
736
+
737
+ .rcm-select:hover {
738
+ border-color: var(--rcm-color-border-hover);
739
+ }
740
+
741
+ .rcm-select:focus,
742
+ .rcm-select:focus-visible {
743
+ outline: none;
744
+ border-color: var(--rcm-color-primary);
745
+ }
746
+
747
+ .rcm-select:disabled,
748
+ .rcm-select[data-state='disabled'] {
749
+ background-color: var(--rcm-color-surface-disabled);
750
+ color: var(--rcm-color-text-disabled);
751
+ cursor: not-allowed;
752
+ }
753
+
754
+ .rcm-select[data-size='sm'] {
755
+ height: 2rem;
756
+ font-size: var(--rcm-font-size-sm);
757
+ }
758
+
759
+ .rcm-checkbox,
760
+ .rcm-radio {
761
+ appearance: none;
762
+ box-sizing: border-box;
763
+ flex-shrink: 0;
764
+ width: 1rem;
765
+ height: 1rem;
766
+ margin: 0;
767
+ background: var(--rcm-color-surface);
768
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
769
+ cursor: pointer;
770
+ transition:
771
+ background var(--rcm-transition-fast),
772
+ border-color var(--rcm-transition-fast);
773
+ }
774
+
775
+ .rcm-checkbox {
776
+ border-radius: var(--rcm-radius-sm);
777
+ }
778
+ .rcm-radio {
779
+ border-radius: var(--rcm-radius-full);
780
+ }
781
+
782
+ .rcm-checkbox:hover,
783
+ .rcm-radio:hover {
784
+ border-color: var(--rcm-color-border-hover);
785
+ }
786
+
787
+ .rcm-checkbox:focus-visible,
788
+ .rcm-radio:focus-visible {
789
+ outline: 2px solid var(--rcm-color-border-focus);
790
+ outline-offset: 2px;
791
+ }
792
+
793
+ .rcm-checkbox:checked {
794
+ background: var(--rcm-color-primary);
795
+ border-color: var(--rcm-color-primary);
796
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
797
+ background-repeat: no-repeat;
798
+ background-position: center;
799
+ }
800
+
801
+ .rcm-radio:checked {
802
+ border-color: var(--rcm-color-primary);
803
+ background: radial-gradient(circle, var(--rcm-color-primary) 45%, var(--rcm-color-surface) 50%);
804
+ }
805
+
806
+ .rcm-checkbox:disabled,
807
+ .rcm-radio:disabled {
808
+ opacity: 0.5;
809
+ cursor: not-allowed;
810
+ }
811
+
812
+ /* Input group — horizontal input + addon(s).
813
+ *
814
+ * Base rule is minimal to coexist with base.css rcm-input-group during
815
+ * Phase 1. Segmented radius/margin handling is gated on [data-primitive]
816
+ * so legacy JSX (no attr) is unaffected; new JSX opts in by setting the
817
+ * attr on the group.
818
+ */
819
+ .rcm-input-group {
820
+ display: flex;
821
+ width: 100%;
822
+ }
823
+
824
+ .rcm-input-group[data-primitive] > .rcm-input {
825
+ flex: 1 1 auto;
826
+ min-width: 0;
827
+ }
828
+
829
+ .rcm-input-group[data-primitive] > .rcm-input:not(:first-child),
830
+ .rcm-input-group[data-primitive] > .rcm-button:not(:first-child),
831
+ .rcm-input-group[data-primitive] > .rcm-input-addon:not(:first-child) {
832
+ border-top-left-radius: 0;
833
+ border-bottom-left-radius: 0;
834
+ margin-left: calc(var(--rcm-border-width) * -1);
835
+ }
836
+
837
+ .rcm-input-group[data-primitive] > .rcm-input:not(:last-child),
838
+ .rcm-input-group[data-primitive] > .rcm-button:not(:last-child),
839
+ .rcm-input-group[data-primitive] > .rcm-input-addon:not(:last-child) {
840
+ border-top-right-radius: 0;
841
+ border-bottom-right-radius: 0;
842
+ }
843
+
844
+ .rcm-input-addon {
845
+ display: flex;
846
+ align-items: center;
847
+ height: var(--rcm-size-input-height);
848
+ background: var(--rcm-color-surface-muted);
849
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
850
+ }
851
+
852
+ /* Trailing addon (right of input) — flat left side */
853
+ .rcm-input-addon[data-position='trailing'],
854
+ .rcm-input-group[data-primitive] > .rcm-input-addon:last-child {
855
+ border-left: 0;
856
+ border-top-right-radius: var(--rcm-radius-md);
857
+ border-bottom-right-radius: var(--rcm-radius-md);
858
+ }
859
+
860
+ /* Leading addon (left of input) — flat right side */
861
+ .rcm-input-addon[data-position='leading'],
862
+ .rcm-input-group[data-primitive] > .rcm-input-addon:first-child {
863
+ border-right: 0;
864
+ border-top-left-radius: var(--rcm-radius-md);
865
+ border-bottom-left-radius: var(--rcm-radius-md);
866
+ }
867
+
868
+ /* Standalone addon (not in a group) — fully rounded */
869
+ .rcm-input-addon[data-position='standalone'] {
870
+ padding: 0 var(--rcm-space-md);
871
+ font-size: var(--rcm-font-size-sm);
872
+ color: var(--rcm-color-text-muted);
873
+ border-radius: var(--rcm-radius-md);
874
+ }
875
+
876
+ /* ================================================================== *
877
+ * 5. Display primitives
878
+ * ================================================================== */
879
+
880
+ .rcm-badge {
881
+ display: inline-flex;
882
+ align-items: center;
883
+ gap: var(--rcm-space-xs);
884
+ box-sizing: border-box;
885
+ height: 1.25rem;
886
+ padding: 0 var(--rcm-space-sm);
887
+ font-size: var(--rcm-font-size-xs);
888
+ font-weight: var(--rcm-font-weight-medium);
889
+ line-height: 1;
890
+ color: var(--rcm-color-text);
891
+ background: var(--rcm-color-surface-hover);
892
+ border-radius: var(--rcm-radius-full);
893
+ white-space: nowrap;
894
+ }
895
+
896
+ .rcm-badge[data-size='sm'] {
897
+ height: 1rem;
898
+ padding: 0 var(--rcm-space-xs);
899
+ font-size: 0.6875rem; /* 11px */
900
+ }
901
+
902
+ .rcm-badge[data-size='md'] {
903
+ height: 1.25rem;
904
+ padding: 0 var(--rcm-space-sm);
905
+ font-size: var(--rcm-font-size-xs);
906
+ }
907
+
908
+ .rcm-badge[data-size='lg'] {
909
+ height: 1.5rem;
910
+ padding: 0 var(--rcm-space-md);
911
+ font-size: var(--rcm-font-size-sm);
912
+ }
913
+
914
+ .rcm-badge[data-color='primary'] {
915
+ color: var(--rcm-color-primary);
916
+ background: var(--rcm-color-info-surface);
917
+ }
918
+
919
+ .rcm-badge[data-color='success'] {
920
+ color: var(--rcm-color-success);
921
+ background: var(--rcm-color-success-surface);
922
+ }
923
+
924
+ .rcm-badge[data-color='warning'] {
925
+ color: var(--rcm-color-warning);
926
+ background: var(--rcm-color-warning-surface);
927
+ }
928
+
929
+ .rcm-badge[data-color='error'] {
930
+ color: var(--rcm-color-error);
931
+ background: var(--rcm-color-error-surface);
932
+ }
933
+
934
+ .rcm-badge[data-color='info'] {
935
+ color: var(--rcm-color-info);
936
+ background: var(--rcm-color-info-surface);
937
+ }
938
+
939
+ .rcm-badge[data-color='neutral'] {
940
+ color: var(--rcm-color-text-muted);
941
+ background: var(--rcm-color-surface-hover);
942
+ }
943
+
944
+ .rcm-badge[data-variant='outline'] {
945
+ background: transparent;
946
+ border: var(--rcm-border-width) solid currentColor;
947
+ }
948
+
949
+ /* Chip — stronger visual than badge; supports removable (X) slot */
950
+ .rcm-chip {
951
+ display: inline-flex;
952
+ align-items: center;
953
+ gap: var(--rcm-space-xs);
954
+ box-sizing: border-box;
955
+ height: 1.5rem;
956
+ padding: 0 var(--rcm-space-sm);
957
+ font-size: var(--rcm-font-size-xs);
958
+ font-weight: var(--rcm-font-weight-medium);
959
+ color: var(--rcm-color-text);
960
+ background: var(--rcm-color-surface);
961
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
962
+ border-radius: var(--rcm-radius-full);
963
+ white-space: nowrap;
964
+ }
965
+
966
+ .rcm-chip[data-size='sm'] {
967
+ height: 1.25rem;
968
+ font-size: 0.6875rem;
969
+ }
970
+ .rcm-chip[data-size='md'] {
971
+ height: 1.5rem;
972
+ }
973
+ .rcm-chip[data-size='lg'] {
974
+ height: 1.75rem;
975
+ font-size: var(--rcm-font-size-sm);
976
+ }
977
+
978
+ .rcm-chip[data-color='primary'] {
979
+ color: var(--rcm-color-primary);
980
+ background: var(--rcm-color-info-surface);
981
+ border-color: color-mix(in srgb, var(--rcm-color-primary) 30%, transparent);
982
+ }
983
+
984
+ .rcm-chip[data-color='success'] {
985
+ color: var(--rcm-color-success);
986
+ background: var(--rcm-color-success-surface);
987
+ border-color: color-mix(in srgb, var(--rcm-color-success) 30%, transparent);
988
+ }
989
+
990
+ .rcm-chip[data-color='warning'] {
991
+ color: var(--rcm-color-warning);
992
+ background: var(--rcm-color-warning-surface);
993
+ border-color: color-mix(in srgb, var(--rcm-color-warning) 30%, transparent);
994
+ }
995
+
996
+ .rcm-chip[data-color='error'] {
997
+ color: var(--rcm-color-error);
998
+ background: var(--rcm-color-error-surface);
999
+ border-color: color-mix(in srgb, var(--rcm-color-error) 30%, transparent);
1000
+ }
1001
+
1002
+ .rcm-chip[data-color='info'] {
1003
+ color: var(--rcm-color-info);
1004
+ background: var(--rcm-color-info-surface);
1005
+ border-color: color-mix(in srgb, var(--rcm-color-info) 30%, transparent);
1006
+ }
1007
+
1008
+ .rcm-chip[data-state='selected'] {
1009
+ background: var(--rcm-color-primary);
1010
+ color: var(--rcm-color-primary-text);
1011
+ border-color: var(--rcm-color-primary);
1012
+ }
1013
+
1014
+ .rcm-chip[data-interactive] {
1015
+ cursor: pointer;
1016
+ transition: background var(--rcm-transition-fast);
1017
+ }
1018
+
1019
+ .rcm-chip[data-interactive]:hover {
1020
+ background: var(--rcm-color-surface-hover);
1021
+ }
1022
+
1023
+ /* Tag — simplified chip, no border */
1024
+ .rcm-tag {
1025
+ display: inline-flex;
1026
+ align-items: center;
1027
+ gap: var(--rcm-space-xs);
1028
+ padding: 0.125rem var(--rcm-space-sm);
1029
+ font-size: var(--rcm-font-size-xs);
1030
+ color: var(--rcm-color-text-muted);
1031
+ background: var(--rcm-color-surface-hover);
1032
+ border-radius: var(--rcm-radius-sm);
1033
+ white-space: nowrap;
1034
+ }
1035
+
1036
+ .rcm-tag[data-color='primary'] {
1037
+ color: var(--rcm-color-primary);
1038
+ background: var(--rcm-color-info-surface);
1039
+ }
1040
+ .rcm-tag[data-color='success'] {
1041
+ color: var(--rcm-color-success);
1042
+ background: var(--rcm-color-success-surface);
1043
+ }
1044
+ .rcm-tag[data-color='warning'] {
1045
+ color: var(--rcm-color-warning);
1046
+ background: var(--rcm-color-warning-surface);
1047
+ }
1048
+ .rcm-tag[data-color='error'] {
1049
+ color: var(--rcm-color-error);
1050
+ background: var(--rcm-color-error-surface);
1051
+ }
1052
+
1053
+ /* Icon — size-normalized wrapper for @tabler/icons-react + @iconify/react */
1054
+ .rcm-icon {
1055
+ display: inline-block;
1056
+ flex-shrink: 0;
1057
+ width: 1rem; /* md default = 16px */
1058
+ height: 1rem;
1059
+ color: inherit;
1060
+ vertical-align: middle;
1061
+ }
1062
+
1063
+ .rcm-icon[data-size='xs'] {
1064
+ width: 0.75rem;
1065
+ height: 0.75rem;
1066
+ } /* 12px */
1067
+ .rcm-icon[data-size='sm'] {
1068
+ width: 0.875rem;
1069
+ height: 0.875rem;
1070
+ } /* 14px */
1071
+ .rcm-icon[data-size='md'] {
1072
+ width: 1rem;
1073
+ height: 1rem;
1074
+ } /* 16px */
1075
+ .rcm-icon[data-size='lg'] {
1076
+ width: 1.25rem;
1077
+ height: 1.25rem;
1078
+ } /* 20px */
1079
+ .rcm-icon[data-size='xl'] {
1080
+ width: 1.5rem;
1081
+ height: 1.5rem;
1082
+ } /* 24px */
1083
+
1084
+ .rcm-icon[data-tone='muted'] {
1085
+ color: var(--rcm-color-text-muted);
1086
+ }
1087
+ .rcm-icon[data-tone='disabled'] {
1088
+ color: var(--rcm-color-text-disabled);
1089
+ }
1090
+
1091
+ .rcm-icon[data-color='primary'] {
1092
+ color: var(--rcm-color-primary);
1093
+ }
1094
+ .rcm-icon[data-color='success'] {
1095
+ color: var(--rcm-color-success);
1096
+ }
1097
+ .rcm-icon[data-color='warning'] {
1098
+ color: var(--rcm-color-warning);
1099
+ }
1100
+ .rcm-icon[data-color='error'] {
1101
+ color: var(--rcm-color-error);
1102
+ }
1103
+ .rcm-icon[data-color='info'] {
1104
+ color: var(--rcm-color-info);
1105
+ }
1106
+
1107
+ /* Icon frame — rounded tinted container (default matches bool/num/date icon frames).
1108
+ * Default shape is rounded square (radius md). Use data-shape="circle" for round.
1109
+ */
1110
+ .rcm-icon-frame {
1111
+ display: inline-flex;
1112
+ align-items: center;
1113
+ justify-content: center;
1114
+ flex-shrink: 0;
1115
+ width: 1.5rem;
1116
+ height: 1.5rem;
1117
+ border-radius: var(--rcm-radius-md);
1118
+ background: var(--rcm-color-surface-muted);
1119
+ color: var(--rcm-color-text-muted);
1120
+ }
1121
+
1122
+ .rcm-icon-frame[data-size='xs'] {
1123
+ width: 1rem;
1124
+ height: 1rem;
1125
+ }
1126
+ .rcm-icon-frame[data-size='sm'] {
1127
+ width: 1.25rem;
1128
+ height: 1.25rem;
1129
+ }
1130
+ .rcm-icon-frame[data-size='md'] {
1131
+ width: 1.5rem;
1132
+ height: 1.5rem;
1133
+ }
1134
+ .rcm-icon-frame[data-size='lg'] {
1135
+ width: 2rem;
1136
+ height: 2rem;
1137
+ }
1138
+
1139
+ .rcm-icon-frame[data-color='primary'] {
1140
+ background: var(--rcm-color-info-surface);
1141
+ color: var(--rcm-color-primary);
1142
+ }
1143
+ .rcm-icon-frame[data-color='success'] {
1144
+ background: var(--rcm-color-success-surface);
1145
+ color: var(--rcm-color-success);
1146
+ }
1147
+ .rcm-icon-frame[data-color='warning'] {
1148
+ background: var(--rcm-color-warning-surface);
1149
+ color: var(--rcm-color-warning);
1150
+ }
1151
+ .rcm-icon-frame[data-color='error'] {
1152
+ background: var(--rcm-color-error-surface);
1153
+ color: var(--rcm-color-error);
1154
+ }
1155
+ .rcm-icon-frame[data-color='info'] {
1156
+ background: var(--rcm-color-info-surface);
1157
+ color: var(--rcm-color-info);
1158
+ }
1159
+ .rcm-icon-frame[data-color='neutral'] {
1160
+ background: var(--rcm-color-surface-muted);
1161
+ color: var(--rcm-color-text-muted);
1162
+ }
1163
+
1164
+ .rcm-icon-frame[data-shape='square'] {
1165
+ border-radius: var(--rcm-radius-sm);
1166
+ }
1167
+ .rcm-icon-frame[data-shape='circle'] {
1168
+ border-radius: var(--rcm-radius-full);
1169
+ }
1170
+
1171
+ /* Skeleton — pulse-animated placeholder. Shape via data-shape. */
1172
+ .rcm-skeleton {
1173
+ display: block;
1174
+ background: var(--rcm-color-surface-hover);
1175
+ border-radius: var(--rcm-radius-sm);
1176
+ animation: rcm-pulse 1.5s ease-in-out infinite;
1177
+ }
1178
+
1179
+ .rcm-skeleton[data-shape='line'] {
1180
+ height: 0.75rem;
1181
+ border-radius: var(--rcm-radius-sm);
1182
+ }
1183
+
1184
+ .rcm-skeleton[data-shape='rect'] {
1185
+ height: 4rem;
1186
+ border-radius: var(--rcm-radius-md);
1187
+ }
1188
+
1189
+ .rcm-skeleton[data-shape='circle'] {
1190
+ width: 2.5rem;
1191
+ height: 2.5rem;
1192
+ border-radius: var(--rcm-radius-full);
1193
+ }
1194
+
1195
+ .rcm-skeleton[data-size='xs'] {
1196
+ height: 0.5rem;
1197
+ }
1198
+ .rcm-skeleton[data-size='sm'] {
1199
+ height: 0.75rem;
1200
+ }
1201
+ .rcm-skeleton[data-size='md'] {
1202
+ height: 1rem;
1203
+ }
1204
+ .rcm-skeleton[data-size='lg'] {
1205
+ height: 1.5rem;
1206
+ }
1207
+ .rcm-skeleton[data-size='xl'] {
1208
+ height: 2rem;
1209
+ }
1210
+
1211
+ .rcm-skeleton[data-tone='accent'] {
1212
+ background: color-mix(in srgb, var(--rcm-color-primary) 30%, transparent);
1213
+ }
1214
+
1215
+ .rcm-skeleton[data-tone='danger'] {
1216
+ background: color-mix(in srgb, var(--rcm-color-error) 30%, transparent);
1217
+ }
1218
+
1219
+ /* ================================================================== *
1220
+ * 6. Surface variants
1221
+ * ================================================================== */
1222
+
1223
+ .rcm-panel {
1224
+ background: var(--rcm-color-surface);
1225
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
1226
+ border-radius: var(--rcm-radius-lg);
1227
+ padding: var(--rcm-space-lg);
1228
+ }
1229
+
1230
+ .rcm-panel[data-padding='none'] {
1231
+ padding: 0;
1232
+ }
1233
+ .rcm-panel[data-padding='sm'] {
1234
+ padding: var(--rcm-space-sm);
1235
+ }
1236
+ .rcm-panel[data-padding='md'] {
1237
+ padding: var(--rcm-space-md);
1238
+ }
1239
+ .rcm-panel[data-padding='lg'] {
1240
+ padding: var(--rcm-space-lg);
1241
+ }
1242
+ .rcm-panel[data-padding='xl'] {
1243
+ padding: var(--rcm-space-xl);
1244
+ }
1245
+
1246
+ .rcm-panel[data-tone='muted'] {
1247
+ background: var(--rcm-color-surface-muted);
1248
+ }
1249
+ .rcm-panel[data-tone='subtle'] {
1250
+ background: var(--rcm-color-surface-hover);
1251
+ }
1252
+
1253
+ .rcm-panel[data-elevated] {
1254
+ box-shadow: var(--rcm-shadow-sm);
1255
+ }
1256
+
1257
+ .rcm-card {
1258
+ background: var(--rcm-color-surface);
1259
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
1260
+ border-radius: var(--rcm-radius-lg);
1261
+ overflow: hidden;
1262
+ transition:
1263
+ border-color var(--rcm-transition-fast),
1264
+ box-shadow var(--rcm-transition-fast),
1265
+ transform var(--rcm-transition-fast);
1266
+ }
1267
+
1268
+ .rcm-card[data-interactive] {
1269
+ cursor: pointer;
1270
+ }
1271
+
1272
+ .rcm-card[data-interactive]:hover {
1273
+ border-color: var(--rcm-color-border-hover);
1274
+ box-shadow: var(--rcm-shadow-md);
1275
+ }
1276
+
1277
+ .rcm-card[data-state='selected'] {
1278
+ border-color: var(--rcm-color-primary);
1279
+ box-shadow: 0 0 0 1px var(--rcm-color-primary);
1280
+ }
1281
+
1282
+ .rcm-card[data-elevated] {
1283
+ box-shadow: var(--rcm-shadow-sm);
1284
+ }
1285
+
1286
+ .rcm-notice {
1287
+ display: flex;
1288
+ gap: var(--rcm-space-sm);
1289
+ padding: var(--rcm-space-md);
1290
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
1291
+ border-radius: var(--rcm-radius-md);
1292
+ background: var(--rcm-color-surface-muted);
1293
+ }
1294
+
1295
+ .rcm-notice[data-tone='info'] {
1296
+ background: var(--rcm-color-info-surface);
1297
+ border-color: color-mix(in srgb, var(--rcm-color-info) 30%, transparent);
1298
+ color: var(--rcm-color-info);
1299
+ }
1300
+
1301
+ .rcm-notice[data-tone='success'] {
1302
+ background: var(--rcm-color-success-surface);
1303
+ border-color: color-mix(in srgb, var(--rcm-color-success) 30%, transparent);
1304
+ color: var(--rcm-color-success);
1305
+ }
1306
+
1307
+ .rcm-notice[data-tone='warning'] {
1308
+ background: var(--rcm-color-warning-surface);
1309
+ border-color: color-mix(in srgb, var(--rcm-color-warning) 30%, transparent);
1310
+ color: var(--rcm-color-warning);
1311
+ }
1312
+
1313
+ .rcm-notice[data-tone='error'] {
1314
+ background: var(--rcm-color-error-surface);
1315
+ border-color: color-mix(in srgb, var(--rcm-color-error) 30%, transparent);
1316
+ color: var(--rcm-color-error);
1317
+ }
1318
+
1319
+ .rcm-notice[data-variant='compact'] {
1320
+ padding: var(--rcm-space-sm) var(--rcm-space-md);
1321
+ font-size: var(--rcm-font-size-xs);
1322
+ }
1323
+
1324
+ /* Legacy className aliases for host themes that emit classNames rather
1325
+ * than data-tone attrs (defaultTheme.alerts.{info,warning,error},
1326
+ * ViewEntityFormAlerts header, etc.). Visually identical to the
1327
+ * corresponding [data-tone="..."] variant above. */
1328
+ .rcm-notice-info {
1329
+ background: var(--rcm-color-info-surface);
1330
+ border-color: color-mix(in srgb, var(--rcm-color-info) 30%, transparent);
1331
+ color: var(--rcm-color-info);
1332
+ }
1333
+
1334
+ .rcm-notice-success {
1335
+ background: var(--rcm-color-success-surface);
1336
+ border-color: color-mix(in srgb, var(--rcm-color-success) 30%, transparent);
1337
+ color: var(--rcm-color-success);
1338
+ }
1339
+
1340
+ .rcm-notice-warning {
1341
+ background: var(--rcm-color-warning-surface);
1342
+ border-color: color-mix(in srgb, var(--rcm-color-warning) 30%, transparent);
1343
+ color: var(--rcm-color-warning);
1344
+ }
1345
+
1346
+ .rcm-notice-error {
1347
+ background: var(--rcm-color-error-surface);
1348
+ border-color: color-mix(in srgb, var(--rcm-color-error) 30%, transparent);
1349
+ color: var(--rcm-color-error);
1350
+ }
1351
+
1352
+ /* ================================================================== *
1353
+ * 7. Navigation primitives
1354
+ * ================================================================== */
1355
+
1356
+ .rcm-tab-list {
1357
+ display: flex;
1358
+ flex-direction: row;
1359
+ white-space: nowrap;
1360
+ border-bottom: var(--rcm-border-width) solid var(--rcm-color-border);
1361
+ }
1362
+
1363
+ .rcm-tab-list[data-orientation='vertical'] {
1364
+ flex-direction: column;
1365
+ border-bottom: 0;
1366
+ border-right: var(--rcm-border-width) solid var(--rcm-color-border);
1367
+ }
1368
+
1369
+ .rcm-tab {
1370
+ display: inline-flex;
1371
+ align-items: center;
1372
+ justify-content: center;
1373
+ padding: var(--rcm-space-sm) var(--rcm-space-md);
1374
+ margin-bottom: -1px;
1375
+ font-family: inherit;
1376
+ font-size: var(--rcm-font-size-sm);
1377
+ color: var(--rcm-color-text);
1378
+ background: transparent;
1379
+ border: var(--rcm-border-width) solid transparent;
1380
+ cursor: pointer;
1381
+ transition:
1382
+ color var(--rcm-transition-fast),
1383
+ background var(--rcm-transition-fast),
1384
+ border-color var(--rcm-transition-fast);
1385
+ }
1386
+
1387
+ .rcm-tab:hover {
1388
+ color: var(--rcm-color-primary);
1389
+ }
1390
+
1391
+ .rcm-tab:focus-visible {
1392
+ outline: 2px solid var(--rcm-color-border-focus);
1393
+ outline-offset: -2px;
1394
+ }
1395
+
1396
+ .rcm-tab[data-state='selected'] {
1397
+ color: var(--rcm-color-primary);
1398
+ background: var(--rcm-color-surface);
1399
+ border-color: var(--rcm-color-border);
1400
+ border-bottom-color: var(--rcm-color-surface);
1401
+ }
1402
+
1403
+ .rcm-tab[data-state='disabled'],
1404
+ .rcm-tab:disabled {
1405
+ opacity: 0.5;
1406
+ cursor: not-allowed;
1407
+ }
1408
+
1409
+ /* Menu — dropdown content container */
1410
+ .rcm-menu {
1411
+ display: flex;
1412
+ flex-direction: column;
1413
+ padding: var(--rcm-space-xs);
1414
+ background: var(--rcm-color-surface);
1415
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
1416
+ border-radius: var(--rcm-radius-md);
1417
+ box-shadow: var(--rcm-shadow-md);
1418
+ min-width: 10rem;
1419
+ z-index: var(--rcm-z-dropdown);
1420
+ }
1421
+
1422
+ .rcm-menu[data-orientation='horizontal'] {
1423
+ flex-direction: row;
1424
+ }
1425
+
1426
+ .rcm-menu-item {
1427
+ display: flex;
1428
+ align-items: center;
1429
+ gap: var(--rcm-space-sm);
1430
+ padding: var(--rcm-space-sm) var(--rcm-space-md);
1431
+ font-family: inherit;
1432
+ font-size: var(--rcm-font-size-sm);
1433
+ color: var(--rcm-color-text);
1434
+ background: transparent;
1435
+ border: 0;
1436
+ border-radius: var(--rcm-radius-sm);
1437
+ cursor: pointer;
1438
+ text-align: left;
1439
+ white-space: nowrap;
1440
+ transition:
1441
+ background var(--rcm-transition-fast),
1442
+ color var(--rcm-transition-fast);
1443
+ }
1444
+
1445
+ .rcm-menu-item:hover,
1446
+ .rcm-menu-item[data-state='active'] {
1447
+ background: var(--rcm-color-surface-hover);
1448
+ }
1449
+
1450
+ .rcm-menu-item:focus-visible {
1451
+ outline: none;
1452
+ background: var(--rcm-color-surface-hover);
1453
+ }
1454
+
1455
+ .rcm-menu-item[data-state='selected'] {
1456
+ background: var(--rcm-color-info-surface);
1457
+ color: var(--rcm-color-primary);
1458
+ }
1459
+
1460
+ .rcm-menu-item[data-state='disabled'],
1461
+ .rcm-menu-item:disabled {
1462
+ opacity: 0.5;
1463
+ cursor: not-allowed;
1464
+ pointer-events: none;
1465
+ }
1466
+
1467
+ .rcm-menu-item[data-tone='danger'] {
1468
+ color: var(--rcm-color-error);
1469
+ }
1470
+
1471
+ .rcm-menu-item[data-tone='danger']:hover {
1472
+ background: var(--rcm-color-error-surface);
1473
+ }
1474
+
1475
+ .rcm-menu-separator {
1476
+ height: var(--rcm-border-width);
1477
+ margin: var(--rcm-space-xs) 0;
1478
+ background: var(--rcm-color-border);
1479
+ border: 0;
1480
+ }
1481
+
1482
+ /* ================================================================== *
1483
+ * 8. Utility primitives
1484
+ * ================================================================== */
1485
+
1486
+ .rcm-visually-hidden {
1487
+ position: absolute !important;
1488
+ width: 1px !important;
1489
+ height: 1px !important;
1490
+ padding: 0 !important;
1491
+ margin: -1px !important;
1492
+ overflow: hidden !important;
1493
+ clip: rect(0, 0, 0, 0) !important;
1494
+ white-space: nowrap !important;
1495
+ border: 0 !important;
1496
+ }
1497
+
1498
+ .rcm-truncate {
1499
+ overflow: hidden;
1500
+ text-overflow: ellipsis;
1501
+ white-space: nowrap;
1502
+ }
1503
+
1504
+ .rcm-truncate[data-lines='2'],
1505
+ .rcm-truncate[data-lines='3'],
1506
+ .rcm-truncate[data-lines='4'] {
1507
+ display: -webkit-box;
1508
+ -webkit-box-orient: vertical;
1509
+ overflow: hidden;
1510
+ white-space: normal;
1511
+ }
1512
+
1513
+ .rcm-truncate[data-lines='2'] {
1514
+ -webkit-line-clamp: 2;
1515
+ line-clamp: 2;
1516
+ }
1517
+ .rcm-truncate[data-lines='3'] {
1518
+ -webkit-line-clamp: 3;
1519
+ line-clamp: 3;
1520
+ }
1521
+ .rcm-truncate[data-lines='4'] {
1522
+ -webkit-line-clamp: 4;
1523
+ line-clamp: 4;
1524
+ }
1525
+
1526
+ .rcm-cursor-pointer {
1527
+ cursor: pointer;
1528
+ }
1529
+ .rcm-cursor-help {
1530
+ cursor: help;
1531
+ }
1532
+ .rcm-cursor-not-allowed {
1533
+ cursor: not-allowed;
1534
+ }
1535
+ .rcm-cursor-grab {
1536
+ cursor: grab;
1537
+ }
1538
+ .rcm-cursor-grabbing {
1539
+ cursor: grabbing;
1540
+ }
1541
+
1542
+ /* END primitives.css */