@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,1404 @@
1
+ /*
2
+ * @rchemist/listgrid components stylesheet (Phase 7 split).
3
+ *
4
+ * Component-specific styles that don't fit the structural `layouts.css`
5
+ * bucket — buttons, modals, dropdowns, specialty cell renderers, tabs,
6
+ * spinners/skeletons, and legacy component chrome. Loaded AFTER layouts.css
7
+ * and BEFORE base.css so global resets/utilities still win by cascade order.
8
+ */
9
+
10
+ /* BEGIN — unlayered (see top comment for rationale) */
11
+ /* ------------------------------------------------------------------ *
12
+ * Button icon helper (sits inside rcm-button primitive — defined in
13
+ * primitives.css alongside all other rcm-button variant rules).
14
+ * ------------------------------------------------------------------ */
15
+ /* Small icon used inside rcm-button (download/upload/trash/plus icons) */
16
+ .rcm-btn-icon {
17
+ width: 0.875rem;
18
+ height: 0.875rem;
19
+ margin-right: var(--rcm-space-xs);
20
+ margin-bottom: 2px;
21
+ }
22
+
23
+ /* Inline SubCollection row의 action 버튼 그룹 (센터 정렬) */
24
+ .rcm-inline-action-row {
25
+ display: flex;
26
+ align-items: center;
27
+ justify-content: center;
28
+ gap: var(--rcm-space-xs);
29
+ }
30
+
31
+ .rcm-is-disabled {
32
+ opacity: 0.5;
33
+ cursor: not-allowed;
34
+ }
35
+
36
+ /* Inline SubCollection의 tooltip 설명 영역 */
37
+ .rcm-inline-subcollection-tooltip {
38
+ margin-bottom: var(--rcm-space-sm);
39
+ font-size: var(--rcm-font-size-sm);
40
+ color: var(--rcm-color-text-muted);
41
+ }
42
+
43
+ /* ------------------------------------------------------------------ *
44
+ * ManyToOne / Link addon buttons (input group 우측 관리 / 찾기 / 외부 링크)
45
+ * ------------------------------------------------------------------ */
46
+ .rcm-m2o-action-btn {
47
+ display: inline-flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ gap: var(--rcm-space-xs);
51
+ height: 100%;
52
+ min-width: 80px;
53
+ padding: 0 var(--rcm-space-md);
54
+ font-size: var(--rcm-font-size-sm);
55
+ font-weight: var(--rcm-font-weight-semibold);
56
+ white-space: nowrap;
57
+ color: var(--rcm-color-secondary-text);
58
+ background: var(--rcm-color-secondary);
59
+ border: var(--rcm-border-width) solid var(--rcm-color-secondary);
60
+ border-left: 0;
61
+ border-top-right-radius: var(--rcm-radius-md);
62
+ border-bottom-right-radius: var(--rcm-radius-md);
63
+ cursor: pointer;
64
+ transition: background var(--rcm-transition-fast);
65
+ }
66
+
67
+ .rcm-m2o-action-btn:hover {
68
+ background: var(--rcm-color-secondary-hover);
69
+ border-color: var(--rcm-color-secondary-hover);
70
+ }
71
+
72
+ .rcm-m2o-addon {
73
+ display: flex;
74
+ height: 100%;
75
+ align-items: center;
76
+ justify-content: center;
77
+ padding: 0;
78
+ background: var(--rcm-color-surface-muted);
79
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
80
+ border-left: 0;
81
+ color: var(--rcm-color-secondary);
82
+ }
83
+
84
+ /* ManyToOne / Link input wrapper (container around input within input-group-full-relative) */
85
+ .rcm-m2o-input-wrap {
86
+ display: flex;
87
+ width: 100%;
88
+ }
89
+
90
+ /* ManyToOne input — left side of input+addon group (flat right, padding-right for icon space) */
91
+ .rcm-m2o-input {
92
+ width: 100%;
93
+ min-width: 100%;
94
+ font-weight: var(--rcm-font-weight-normal);
95
+ border-top-right-radius: 0;
96
+ border-bottom-right-radius: 0;
97
+ border-right: 0;
98
+ padding-right: 2.5rem;
99
+ cursor: pointer;
100
+ }
101
+
102
+ .rcm-m2o-input:disabled,
103
+ .rcm-m2o-input[readonly] {
104
+ cursor: pointer;
105
+ }
106
+
107
+ /* LinkField input — same grouped shape (flat right, no right border) when paired with addon */
108
+ .rcm-link-input-grouped {
109
+ border-top-right-radius: 0;
110
+ border-bottom-right-radius: 0;
111
+ border-right: 0;
112
+ }
113
+
114
+ .rcm-m2o-addon-btn {
115
+ display: inline-flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ width: 2.5rem;
119
+ height: 2rem;
120
+ background: transparent;
121
+ border: 0;
122
+ color: inherit;
123
+ cursor: pointer;
124
+ }
125
+
126
+ .rcm-m2o-addon-icon {
127
+ width: 1rem;
128
+ height: 1rem;
129
+ }
130
+
131
+ .rcm-m2o-action-btn:disabled {
132
+ opacity: 0.2;
133
+ cursor: not-allowed;
134
+ }
135
+
136
+ .rcm-m2o-action-icon {
137
+ width: 1rem;
138
+ height: 1rem;
139
+ }
140
+
141
+ .rcm-m2o-dropdown-list {
142
+ min-width: 120px;
143
+ padding: 0;
144
+ margin: 0;
145
+ list-style: none;
146
+ }
147
+
148
+ .rcm-m2o-dropdown-item {
149
+ display: flex;
150
+ width: 100%;
151
+ align-items: center;
152
+ gap: var(--rcm-space-sm);
153
+ padding: var(--rcm-space-sm) var(--rcm-space-lg);
154
+ font-size: var(--rcm-font-size-sm);
155
+ color: var(--rcm-color-text);
156
+ background: transparent;
157
+ border: 0;
158
+ cursor: pointer;
159
+ transition: background var(--rcm-transition-fast);
160
+ }
161
+
162
+ .rcm-m2o-dropdown-item:hover {
163
+ background: var(--rcm-color-surface-hover);
164
+ }
165
+
166
+ /* Link field 우측 외부 이동 버튼 (smaller than m2o action) */
167
+ .rcm-link-button {
168
+ min-width: 40px;
169
+ padding: 0 var(--rcm-space-sm);
170
+ }
171
+
172
+ /* ManyToOne 값 우측 외부 링크 아이콘 (getManyToOneLink — FieldRendererHelper.tsx)
173
+ * Replaces Tailwind `mb-2` + icon `text-secondary h-4 w-4 ml-1`.
174
+ * Icon itself uses rcm-icon primitive (size/tone via data-attr). */
175
+ .rcm-m2o-external-link {
176
+ display: inline-flex;
177
+ align-items: center;
178
+ margin-left: var(--rcm-space-xs);
179
+ margin-bottom: var(--rcm-space-sm);
180
+ }
181
+
182
+ /* input group 우측 addon 버튼 공통 shape */
183
+ .rcm-input-addon-btn {
184
+ display: inline-flex;
185
+ align-items: center;
186
+ justify-content: center;
187
+ gap: var(--rcm-space-xs);
188
+ height: 100%;
189
+ white-space: nowrap;
190
+ color: var(--rcm-color-primary-text);
191
+ background: var(--rcm-color-text-muted);
192
+ border: var(--rcm-border-width) solid var(--rcm-color-text-muted);
193
+ border-left: 0;
194
+ border-top-right-radius: var(--rcm-radius-md);
195
+ border-bottom-right-radius: var(--rcm-radius-md);
196
+ cursor: pointer;
197
+ transition: background var(--rcm-transition-fast);
198
+ }
199
+
200
+ .rcm-input-addon-btn:hover {
201
+ background: color-mix(in srgb, var(--rcm-color-text-muted) 85%, black);
202
+ }
203
+
204
+ .rcm-input-addon-btn:disabled {
205
+ opacity: 0.2;
206
+ cursor: not-allowed;
207
+ }
208
+
209
+ /* ------------------------------------------------------------------ *
210
+ * Select / ManyToOne loading placeholder
211
+ * ------------------------------------------------------------------ */
212
+ .rcm-select-loading-wrapper {
213
+ white-space: nowrap;
214
+ }
215
+
216
+ .rcm-select-loading {
217
+ display: flex;
218
+ align-items: center;
219
+ gap: var(--rcm-space-sm);
220
+ height: var(--rcm-size-input-height);
221
+ padding: 0 var(--rcm-space-md);
222
+ background: var(--rcm-color-surface-muted);
223
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
224
+ border-radius: var(--rcm-radius-md);
225
+ }
226
+
227
+ .rcm-select-loading-spinner {
228
+ width: 1rem;
229
+ height: 1rem;
230
+ color: var(--rcm-color-text-disabled);
231
+ animation: rcm-spin 1s linear infinite;
232
+ }
233
+
234
+ @keyframes rcm-spin {
235
+ to {
236
+ transform: rotate(360deg);
237
+ }
238
+ }
239
+
240
+ .rcm-spinner-track {
241
+ opacity: 0.25;
242
+ }
243
+ .rcm-spinner-head {
244
+ opacity: 0.75;
245
+ }
246
+
247
+ .rcm-select-loading-text {
248
+ font-size: var(--rcm-font-size-sm);
249
+ color: var(--rcm-color-text-disabled);
250
+ }
251
+
252
+ /* Inline expanded row 의 확장 셀 (리스트에서 row 클릭시 펼쳐지는 패널) */
253
+ .rcm-row-expansion-cell {
254
+ padding: var(--rcm-space-sm);
255
+ background: var(--rcm-color-surface-muted);
256
+ overflow: hidden;
257
+ }
258
+
259
+ /* ------------------------------------------------------------------ *
260
+ * Boolean field value (예/아니오 + 아이콘 프레임)
261
+ * ------------------------------------------------------------------ */
262
+ .rcm-bool-wrap {
263
+ display: inline-flex;
264
+ align-items: center;
265
+ gap: var(--rcm-space-sm);
266
+ color: var(--rcm-color-text);
267
+ }
268
+
269
+ /* bool/num/date icon-frame + icon + label classes removed in Phase 6 — JSX now uses
270
+ * rcm-icon-frame / rcm-icon / rcm-text primitives with data-attr variants. */
271
+
272
+ .rcm-num-value {
273
+ font-variant-numeric: tabular-nums;
274
+ font-weight: var(--rcm-font-weight-medium);
275
+ }
276
+
277
+ .rcm-num-value-emphasis {
278
+ font-variant-numeric: tabular-nums;
279
+ font-weight: var(--rcm-font-weight-semibold);
280
+ }
281
+
282
+ /* ------------------------------------------------------------------ *
283
+ * ManyToOne Multi-select (filter chips + add button)
284
+ * ------------------------------------------------------------------ */
285
+ .rcm-m2o-multi-wrap {
286
+ display: flex;
287
+ flex-direction: column;
288
+ gap: var(--rcm-space-sm);
289
+ width: 100%;
290
+ }
291
+
292
+ .rcm-m2o-multi-chips {
293
+ display: flex;
294
+ flex-wrap: wrap;
295
+ gap: 0.375rem;
296
+ min-height: 2rem;
297
+ }
298
+
299
+ .rcm-m2o-multi-chip {
300
+ display: inline-flex;
301
+ align-items: center;
302
+ gap: var(--rcm-space-xs);
303
+ padding: 0.25rem 0.625rem;
304
+ background: color-mix(in srgb, var(--rcm-color-primary) 10%, transparent);
305
+ color: var(--rcm-color-primary);
306
+ border: var(--rcm-border-width) solid
307
+ color-mix(in srgb, var(--rcm-color-primary) 20%, transparent);
308
+ border-radius: 9999px;
309
+ font-size: var(--rcm-font-size-sm);
310
+ }
311
+
312
+ .rcm-m2o-multi-chip-label {
313
+ max-width: 150px;
314
+ overflow: hidden;
315
+ text-overflow: ellipsis;
316
+ white-space: nowrap;
317
+ }
318
+
319
+ .rcm-m2o-multi-chip-remove {
320
+ display: inline-flex;
321
+ align-items: center;
322
+ justify-content: center;
323
+ width: 1rem;
324
+ height: 1rem;
325
+ padding: 0;
326
+ background: transparent;
327
+ border: 0;
328
+ border-radius: 9999px;
329
+ color: inherit;
330
+ cursor: pointer;
331
+ transition: background var(--rcm-transition-fast);
332
+ }
333
+
334
+ .rcm-m2o-multi-chip-remove:hover {
335
+ background: color-mix(in srgb, var(--rcm-color-primary) 20%, transparent);
336
+ }
337
+
338
+ .rcm-m2o-multi-chip-remove-icon {
339
+ width: 0.75rem;
340
+ height: 0.75rem;
341
+ }
342
+
343
+ .rcm-m2o-multi-add {
344
+ display: inline-flex;
345
+ align-items: center;
346
+ gap: var(--rcm-space-xs);
347
+ padding: 0.25rem 0.625rem;
348
+ background: transparent;
349
+ border: var(--rcm-border-width) dashed var(--rcm-color-border-hover);
350
+ border-radius: 9999px;
351
+ font-size: var(--rcm-font-size-sm);
352
+ color: var(--rcm-color-text-muted);
353
+ cursor: pointer;
354
+ transition:
355
+ color var(--rcm-transition-fast),
356
+ border-color var(--rcm-transition-fast);
357
+ }
358
+
359
+ .rcm-m2o-multi-add:hover {
360
+ color: var(--rcm-color-primary);
361
+ border-color: var(--rcm-color-primary);
362
+ }
363
+
364
+ .rcm-m2o-multi-add-icon {
365
+ width: 0.875rem;
366
+ height: 0.875rem;
367
+ }
368
+
369
+ .rcm-m2o-multi-helper {
370
+ font-size: var(--rcm-font-size-xs);
371
+ color: var(--rcm-color-text-disabled);
372
+ }
373
+
374
+ /* ------------------------------------------------------------------ *
375
+ * Modal (generic form modal — used by SmsModal, etc.)
376
+ * ------------------------------------------------------------------ */
377
+ .rcm-modal-body {
378
+ display: flex;
379
+ flex-direction: column;
380
+ gap: var(--rcm-space-lg);
381
+ padding: var(--rcm-space-lg);
382
+ }
383
+
384
+ .rcm-modal-field-group {
385
+ display: flex;
386
+ flex-direction: column;
387
+ gap: var(--rcm-space-sm);
388
+ }
389
+
390
+ .rcm-modal-label {
391
+ font-size: var(--rcm-font-size-sm);
392
+ font-weight: var(--rcm-font-weight-medium);
393
+ color: var(--rcm-color-text);
394
+ }
395
+
396
+ .rcm-modal-warning {
397
+ margin-top: var(--rcm-space-xs);
398
+ font-size: var(--rcm-font-size-xs);
399
+ color: var(--rcm-color-error);
400
+ }
401
+
402
+ .rcm-modal-footer {
403
+ display: flex;
404
+ justify-content: flex-end;
405
+ gap: var(--rcm-space-sm);
406
+ margin-top: var(--rcm-space-lg);
407
+ }
408
+
409
+ /* ------------------------------------------------------------------ *
410
+ * SMS modal specific
411
+ * ------------------------------------------------------------------ */
412
+ .rcm-sms-textarea {
413
+ min-height: 150px;
414
+ }
415
+
416
+ .rcm-sms-meta {
417
+ display: flex;
418
+ justify-content: space-between;
419
+ font-size: var(--rcm-font-size-xs);
420
+ color: var(--rcm-color-text-muted);
421
+ }
422
+
423
+ .rcm-sms-lms-notice {
424
+ color: var(--rcm-color-warning);
425
+ }
426
+
427
+ /* 공통 필드 입력/텍스트/셀렉트 (hardcoded form-input/form-select/form-textarea 대체) */
428
+ .rcm-field-input,
429
+ .rcm-field-select,
430
+ .rcm-field-textarea {
431
+ width: 100%;
432
+ padding: 0 var(--rcm-space-md);
433
+ font-size: var(--rcm-font-size-sm);
434
+ color: var(--rcm-color-text);
435
+ background: var(--rcm-color-surface);
436
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
437
+ border-radius: var(--rcm-radius-md);
438
+ }
439
+
440
+ .rcm-field-input,
441
+ .rcm-field-select {
442
+ height: var(--rcm-size-input-height);
443
+ }
444
+
445
+ .rcm-field-textarea {
446
+ padding: var(--rcm-space-sm) var(--rcm-space-md);
447
+ }
448
+
449
+ .rcm-field-input:focus,
450
+ .rcm-field-select:focus,
451
+ .rcm-field-textarea:focus {
452
+ outline: none;
453
+ border-color: var(--rcm-color-primary);
454
+ }
455
+
456
+ .rcm-field-input-disabled {
457
+ background: var(--rcm-color-surface-disabled);
458
+ cursor: not-allowed;
459
+ }
460
+
461
+ /* ------------------------------------------------------------------ *
462
+ * Filter dropdown (column header filter popover)
463
+ * ------------------------------------------------------------------ */
464
+ .rcm-filter-dropdown {
465
+ margin-top: var(--rcm-space-sm);
466
+ background: var(--rcm-color-surface);
467
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
468
+ border-radius: var(--rcm-radius-md);
469
+ box-shadow: var(--rcm-shadow-lg);
470
+ }
471
+
472
+ .rcm-filter-dropdown-floating {
473
+ position: absolute;
474
+ }
475
+
476
+ .rcm-filter-dropdown-sm {
477
+ width: 260px;
478
+ }
479
+ .rcm-filter-dropdown-md {
480
+ width: 360px;
481
+ }
482
+ .rcm-filter-dropdown-lg {
483
+ width: 420px;
484
+ }
485
+
486
+ .rcm-filter-dropdown-inner {
487
+ display: flex;
488
+ flex-direction: column;
489
+ gap: var(--rcm-space-md);
490
+ padding: var(--rcm-space-lg);
491
+ }
492
+
493
+ .rcm-filter-dropdown-header {
494
+ display: flex;
495
+ align-items: center;
496
+ justify-content: space-between;
497
+ padding-bottom: var(--rcm-space-sm);
498
+ border-bottom: var(--rcm-border-width) solid var(--rcm-color-border);
499
+ }
500
+
501
+ /* .rcm-filter-dropdown-title / -close removed — JSX uses rcm-text / rcm-icon-btn. */
502
+
503
+ .rcm-filter-dropdown-body {
504
+ max-height: 400px;
505
+ overflow-y: auto;
506
+ }
507
+
508
+ .rcm-filter-dropdown-footer {
509
+ display: flex;
510
+ align-items: center;
511
+ justify-content: flex-end;
512
+ gap: var(--rcm-space-sm);
513
+ padding-top: var(--rcm-space-md);
514
+ border-top: var(--rcm-border-width) solid var(--rcm-color-border);
515
+ }
516
+
517
+ /* ------------------------------------------------------------------ *
518
+ * DataImportSample (샘플 데이터 프리뷰 테이블)
519
+ * ------------------------------------------------------------------ */
520
+ .rcm-import-sample {
521
+ display: flex;
522
+ flex-direction: column;
523
+ gap: var(--rcm-space-lg);
524
+ }
525
+
526
+ .rcm-import-sample-guide {
527
+ display: flex;
528
+ align-items: center;
529
+ justify-content: space-between;
530
+ background: var(--rcm-color-surface-muted);
531
+ border-radius: var(--rcm-radius-lg);
532
+ padding: var(--rcm-space-lg) var(--rcm-space-lg);
533
+ }
534
+
535
+ /* .rcm-import-sample-guide-text removed — JSX uses rcm-text data-size="sm" data-tone="muted". */
536
+
537
+ .rcm-import-sample-required-notice {
538
+ display: flex;
539
+ align-items: center;
540
+ gap: var(--rcm-space-sm);
541
+ background: var(--rcm-color-warning-surface);
542
+ border: var(--rcm-border-width) solid
543
+ color-mix(in srgb, var(--rcm-color-warning) 30%, transparent);
544
+ border-radius: var(--rcm-radius-lg);
545
+ padding: 0.75rem;
546
+ }
547
+
548
+ .rcm-import-sample-required-star {
549
+ color: var(--rcm-color-error);
550
+ font-weight: bold;
551
+ }
552
+
553
+ .rcm-import-sample-required-text {
554
+ font-size: var(--rcm-font-size-sm);
555
+ color: var(--rcm-color-warning);
556
+ }
557
+
558
+ .rcm-import-sample-table-wrap {
559
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
560
+ border-radius: var(--rcm-radius-lg);
561
+ overflow: hidden;
562
+ }
563
+
564
+ .rcm-import-sample-th {
565
+ background: var(--rcm-color-accent);
566
+ color: var(--rcm-color-accent-text);
567
+ text-align: center;
568
+ padding: 0.75rem 1rem;
569
+ font-size: var(--rcm-font-size-sm);
570
+ font-weight: var(--rcm-font-weight-medium);
571
+ white-space: nowrap;
572
+ border: var(--rcm-border-width) solid var(--rcm-color-accent-border);
573
+ }
574
+
575
+ .rcm-import-sample-th-required {
576
+ font-weight: bold;
577
+ }
578
+
579
+ .rcm-import-sample-th-inner {
580
+ display: flex;
581
+ flex-direction: column;
582
+ align-items: center;
583
+ }
584
+
585
+ .rcm-import-sample-th-label-row {
586
+ display: flex;
587
+ align-items: center;
588
+ gap: 0.25rem;
589
+ white-space: nowrap;
590
+ }
591
+
592
+ .rcm-import-sample-th-star {
593
+ color: var(--rcm-color-accent-star);
594
+ }
595
+
596
+ .rcm-import-sample-th-label {
597
+ white-space: nowrap;
598
+ }
599
+
600
+ .rcm-import-sample-th-name {
601
+ font-size: var(--rcm-font-size-xs);
602
+ color: var(--rcm-color-accent-subtext);
603
+ margin-top: 0.25rem;
604
+ white-space: nowrap;
605
+ }
606
+
607
+ .rcm-import-sample-td {
608
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
609
+ padding: 0.75rem 1rem;
610
+ white-space: nowrap;
611
+ }
612
+
613
+ .rcm-import-sample-td-value {
614
+ font-size: var(--rcm-font-size-sm);
615
+ color: var(--rcm-color-text);
616
+ }
617
+
618
+ .rcm-import-sample-td-id {
619
+ display: flex;
620
+ align-items: center;
621
+ justify-content: center;
622
+ gap: 0.25rem;
623
+ }
624
+
625
+ /* .rcm-import-sample-td-id-label removed — JSX uses rcm-text data-size="sm" data-tone="muted" + inline nowrap. */
626
+
627
+ .rcm-import-sample-td-id-help {
628
+ width: 1rem;
629
+ height: 1rem;
630
+ color: var(--rcm-color-text-disabled);
631
+ cursor: help;
632
+ transition: color var(--rcm-transition-fast);
633
+ }
634
+
635
+ .rcm-import-sample-td-id-help:hover {
636
+ color: var(--rcm-color-text-muted);
637
+ }
638
+
639
+ .rcm-import-sample-download-btn {
640
+ display: inline-flex;
641
+ align-items: center;
642
+ gap: 0.375rem;
643
+ }
644
+
645
+ /* ------------------------------------------------------------------ *
646
+ * DataImporter section
647
+ * ------------------------------------------------------------------ */
648
+ .rcm-importer-body {
649
+ display: flex;
650
+ flex-direction: column;
651
+ gap: 1.5rem;
652
+ padding: 1.5rem;
653
+ }
654
+
655
+ .rcm-importer-section {
656
+ border-top: var(--rcm-border-width) solid var(--rcm-color-border);
657
+ padding-top: 1.5rem;
658
+ }
659
+
660
+ /* .rcm-importer-section-title removed — JSX uses rcm-text data-weight="semibold". */
661
+
662
+ .rcm-importer-description {
663
+ padding: 1rem;
664
+ background: var(--rcm-color-info-surface);
665
+ border: var(--rcm-border-width) solid color-mix(in srgb, var(--rcm-color-info) 30%, transparent);
666
+ border-radius: var(--rcm-radius-lg);
667
+ font-size: var(--rcm-font-size-sm);
668
+ color: var(--rcm-color-info);
669
+ }
670
+
671
+ /* ------------------------------------------------------------------ *
672
+ * PhoneNumberListView dropdown
673
+ * ------------------------------------------------------------------ */
674
+ .rcm-phone-list-wrap {
675
+ display: flex;
676
+ align-items: center;
677
+ gap: 0.25rem;
678
+ }
679
+
680
+ .rcm-phone-list-menu-btn {
681
+ height: 1.5rem;
682
+ width: 1.5rem;
683
+ display: flex;
684
+ align-items: center;
685
+ justify-content: center;
686
+ background: transparent;
687
+ border: 0;
688
+ border-radius: var(--rcm-radius-md);
689
+ cursor: pointer;
690
+ transition: background var(--rcm-transition-fast);
691
+ }
692
+
693
+ .rcm-phone-list-menu-btn:hover {
694
+ background: var(--rcm-color-surface-muted);
695
+ }
696
+
697
+ .rcm-phone-list-dropdown {
698
+ display: flex;
699
+ flex-direction: column;
700
+ gap: 0.25rem;
701
+ padding: 0.25rem;
702
+ }
703
+
704
+ .rcm-phone-list-dropdown-item {
705
+ display: flex;
706
+ align-items: center;
707
+ gap: var(--rcm-space-sm);
708
+ padding: var(--rcm-space-sm) 0.75rem;
709
+ font-size: var(--rcm-font-size-sm);
710
+ background: transparent;
711
+ border: 0;
712
+ border-radius: var(--rcm-radius-md);
713
+ cursor: pointer;
714
+ transition: background var(--rcm-transition-fast);
715
+ }
716
+
717
+ .rcm-phone-list-dropdown-item:hover {
718
+ background: var(--rcm-color-surface-hover);
719
+ }
720
+
721
+ /* ------------------------------------------------------------------ *
722
+ * PostCodeSelector (주소 선택기)
723
+ * ------------------------------------------------------------------ */
724
+ .rcm-postcode-input-row {
725
+ display: flex;
726
+ gap: var(--rcm-space-sm);
727
+ }
728
+
729
+ /* ------------------------------------------------------------------ *
730
+ * StatusChangeReasonModal (상태 변경 모달)
731
+ * ------------------------------------------------------------------ */
732
+ .rcm-status-change-modal {
733
+ display: flex;
734
+ flex-direction: column;
735
+ gap: var(--rcm-space-lg);
736
+ }
737
+
738
+ .rcm-status-change-box {
739
+ background: var(--rcm-color-surface-muted);
740
+ padding: var(--rcm-space-lg);
741
+ border-radius: var(--rcm-radius-lg);
742
+ }
743
+
744
+ .rcm-status-change-caption {
745
+ font-size: var(--rcm-font-size-sm);
746
+ color: var(--rcm-color-text-muted);
747
+ margin-bottom: var(--rcm-space-sm);
748
+ }
749
+
750
+ .rcm-status-change-row {
751
+ display: flex;
752
+ align-items: center;
753
+ gap: var(--rcm-space-sm);
754
+ }
755
+
756
+ .rcm-status-change-from {
757
+ font-weight: var(--rcm-font-weight-medium);
758
+ }
759
+ .rcm-status-change-arrow {
760
+ color: var(--rcm-color-text-disabled);
761
+ }
762
+ .rcm-status-change-to {
763
+ font-weight: var(--rcm-font-weight-medium);
764
+ color: var(--rcm-color-primary);
765
+ }
766
+
767
+ .rcm-status-change-footer {
768
+ display: flex;
769
+ justify-content: flex-end;
770
+ gap: var(--rcm-space-sm);
771
+ padding-top: var(--rcm-space-lg);
772
+ border-top: var(--rcm-border-width) solid var(--rcm-color-border);
773
+ }
774
+
775
+ /* ------------------------------------------------------------------ *
776
+ * Permission denied (ViewListGridWrapper)
777
+ * ------------------------------------------------------------------ */
778
+ .rcm-permission-denied {
779
+ display: flex;
780
+ align-items: center;
781
+ justify-content: center;
782
+ min-height: 400px;
783
+ }
784
+
785
+ .rcm-permission-denied-inner {
786
+ text-align: center;
787
+ padding: 2rem;
788
+ }
789
+
790
+ .rcm-permission-denied-icon-wrap {
791
+ margin-bottom: var(--rcm-space-lg);
792
+ }
793
+
794
+ .rcm-permission-denied-icon {
795
+ width: 4rem;
796
+ height: 4rem;
797
+ margin: 0 auto;
798
+ color: var(--rcm-color-text-disabled);
799
+ }
800
+
801
+ .rcm-permission-denied-title {
802
+ font-size: 1.125rem;
803
+ font-weight: var(--rcm-font-weight-medium);
804
+ color: var(--rcm-color-text);
805
+ margin: 0 0 var(--rcm-space-sm) 0;
806
+ }
807
+
808
+ .rcm-permission-denied-desc {
809
+ font-size: var(--rcm-font-size-sm);
810
+ color: var(--rcm-color-text-muted);
811
+ margin: 0 0 var(--rcm-space-lg) 0;
812
+ }
813
+
814
+ /* ------------------------------------------------------------------ *
815
+ * Copyable text view (복사 버튼 addon)
816
+ * ------------------------------------------------------------------ */
817
+ .rcm-copy-addon-wrap {
818
+ display: flex;
819
+ align-items: center;
820
+ height: 100%;
821
+ background: var(--rcm-color-surface-muted);
822
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
823
+ border-left: 0;
824
+ border-top-right-radius: var(--rcm-radius-md);
825
+ border-bottom-right-radius: var(--rcm-radius-md);
826
+ color: var(--rcm-color-text-muted);
827
+ font-weight: var(--rcm-font-weight-semibold);
828
+ }
829
+
830
+ /* .rcm-copy-addon-btn / .rcm-copy-text-btn removed — JSX uses rcm-icon-btn. */
831
+ .rcm-copy-text-wrap {
832
+ display: flex;
833
+ align-items: center;
834
+ gap: 0.25rem;
835
+ }
836
+
837
+ /* ------------------------------------------------------------------ *
838
+ * ImageField cell (이미지 필드 썸네일 + hover 프리뷰)
839
+ * ------------------------------------------------------------------ */
840
+ .rcm-image-field-cell {
841
+ display: flex;
842
+ width: 100%;
843
+ align-items: center;
844
+ justify-content: center;
845
+ }
846
+
847
+ .rcm-image-field-hover-group {
848
+ position: relative;
849
+ text-align: center;
850
+ }
851
+
852
+ .rcm-image-field-thumb {
853
+ height: 2.25rem;
854
+ width: 2.25rem;
855
+ border-radius: var(--rcm-radius-md);
856
+ object-fit: cover;
857
+ filter: saturate(0.5);
858
+ transition: transform 300ms;
859
+ }
860
+
861
+ .rcm-image-field-hover-group:hover .rcm-image-field-thumb {
862
+ transform: scale(1.1);
863
+ }
864
+
865
+ .rcm-image-field-thumb-placeholder {
866
+ transition: filter 300ms;
867
+ }
868
+
869
+ .rcm-image-field-hover-group:hover .rcm-image-field-thumb-placeholder {
870
+ filter: saturate(1);
871
+ }
872
+
873
+ .rcm-image-field-preview-wrap {
874
+ position: absolute;
875
+ min-width: 12rem;
876
+ top: 0;
877
+ left: 50%;
878
+ transform: translate(-50%, -3rem);
879
+ margin-top: var(--rcm-space-sm);
880
+ z-index: 50;
881
+ background: var(--rcm-color-surface);
882
+ display: none;
883
+ justify-content: center;
884
+ align-items: center;
885
+ }
886
+
887
+ .rcm-image-field-hover-group:hover .rcm-image-field-preview-wrap {
888
+ display: flex;
889
+ }
890
+
891
+ .rcm-image-field-preview {
892
+ height: 12rem;
893
+ width: 12rem;
894
+ max-width: 12rem;
895
+ border-radius: var(--rcm-radius-md);
896
+ object-fit: cover;
897
+ box-shadow: var(--rcm-shadow-lg);
898
+ }
899
+
900
+ /* ------------------------------------------------------------------ *
901
+ * ViewApiSpecification (API 응답 뷰어)
902
+ * ------------------------------------------------------------------ */
903
+ .rcm-api-spec {
904
+ display: flex;
905
+ flex-direction: column;
906
+ gap: 1.5rem;
907
+ }
908
+
909
+ .rcm-api-spec-url-row {
910
+ display: flex;
911
+ }
912
+
913
+ .rcm-api-spec-method {
914
+ background: var(--rcm-color-surface-muted);
915
+ font-size: var(--rcm-font-size-sm);
916
+ display: flex;
917
+ justify-content: center;
918
+ align-items: center;
919
+ border-top-left-radius: var(--rcm-radius-md);
920
+ border-bottom-left-radius: var(--rcm-radius-md);
921
+ padding: 0 0.75rem;
922
+ font-weight: var(--rcm-font-weight-semibold);
923
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
924
+ border-right: 0;
925
+ }
926
+
927
+ .rcm-api-spec-url {
928
+ flex: 1;
929
+ padding: 0.5rem 0.75rem;
930
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
931
+ border-top-right-radius: var(--rcm-radius-md);
932
+ border-bottom-right-radius: var(--rcm-radius-md);
933
+ background: var(--rcm-color-surface);
934
+ font-size: var(--rcm-font-size-sm);
935
+ word-break: break-all;
936
+ }
937
+
938
+ .rcm-api-spec-block {
939
+ padding: 0.75rem;
940
+ background: var(--rcm-color-surface-muted);
941
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
942
+ border-radius: var(--rcm-radius-md);
943
+ font-size: var(--rcm-font-size-sm);
944
+ font-weight: normal;
945
+ }
946
+
947
+ /* ------------------------------------------------------------------ *
948
+ * LinkField cell (리스트에서 링크 값 표시)
949
+ * ------------------------------------------------------------------ */
950
+ .rcm-link-cell {
951
+ display: flex;
952
+ align-items: center;
953
+ gap: 0.375rem;
954
+ }
955
+
956
+ .rcm-link-cell-btn {
957
+ display: flex;
958
+ height: 1.25rem;
959
+ width: 1.25rem;
960
+ align-items: center;
961
+ justify-content: center;
962
+ background: transparent;
963
+ border: 0;
964
+ border-radius: 9999px;
965
+ cursor: pointer;
966
+ transition: background var(--rcm-transition-fast);
967
+ }
968
+
969
+ .rcm-link-cell-btn:hover {
970
+ background: var(--rcm-color-surface-muted);
971
+ }
972
+
973
+ .rcm-link-cell-icon {
974
+ width: 0.875rem;
975
+ height: 0.875rem;
976
+ color: var(--rcm-color-text-muted);
977
+ }
978
+
979
+ .rcm-link-cell-btn:hover .rcm-link-cell-icon {
980
+ color: var(--rcm-color-text);
981
+ }
982
+
983
+ /* ------------------------------------------------------------------ *
984
+ * File field cell
985
+ * ------------------------------------------------------------------ */
986
+ .rcm-file-field-cell {
987
+ display: flex;
988
+ width: 100%;
989
+ align-items: center;
990
+ justify-content: center;
991
+ }
992
+
993
+ .rcm-file-field-inner {
994
+ position: relative;
995
+ text-align: center;
996
+ }
997
+
998
+ .rcm-file-field-link {
999
+ display: flex;
1000
+ flex-direction: row;
1001
+ align-items: center;
1002
+ gap: 0.25rem;
1003
+ }
1004
+
1005
+ .rcm-file-field-icon {
1006
+ height: 1.25rem;
1007
+ width: 1.25rem;
1008
+ border-radius: var(--rcm-radius-md);
1009
+ object-fit: cover;
1010
+ filter: saturate(0.5);
1011
+ transition: filter var(--rcm-transition-fast);
1012
+ }
1013
+
1014
+ .rcm-file-field-link:hover .rcm-file-field-icon {
1015
+ filter: saturate(1);
1016
+ }
1017
+
1018
+ .rcm-file-field-name {
1019
+ font-size: var(--rcm-font-size-xs);
1020
+ }
1021
+
1022
+ /* ------------------------------------------------------------------ *
1023
+ * Rule-based field view + condition card
1024
+ * ------------------------------------------------------------------ */
1025
+ .rcm-rule-wrap {
1026
+ display: flex;
1027
+ flex-wrap: wrap;
1028
+ width: 100%;
1029
+ justify-content: center;
1030
+ margin-bottom: 1.25rem;
1031
+ }
1032
+
1033
+ .rcm-rule-inner {
1034
+ width: 100%;
1035
+ position: relative;
1036
+ }
1037
+
1038
+ .rcm-rule-inner-button {
1039
+ padding: 1.5rem 1.5rem 1.5rem;
1040
+ padding-top: 3rem;
1041
+ border: var(--rcm-border-width) solid
1042
+ color-mix(in srgb, var(--rcm-color-text-muted) 20%, transparent);
1043
+ border-radius: var(--rcm-radius-md);
1044
+ }
1045
+
1046
+ .rcm-rule-inner-plain {
1047
+ padding: var(--rcm-space-sm);
1048
+ }
1049
+
1050
+ .rcm-rule-icon-badge {
1051
+ background: var(--rcm-color-primary);
1052
+ color: var(--rcm-color-primary-text);
1053
+ position: absolute;
1054
+ left: 1.5rem;
1055
+ top: -2rem;
1056
+ width: 4rem;
1057
+ height: 4rem;
1058
+ border-radius: var(--rcm-radius-md);
1059
+ display: flex;
1060
+ align-items: center;
1061
+ justify-content: center;
1062
+ margin-bottom: 1.25rem;
1063
+ }
1064
+
1065
+ .rcm-rule-icon-badge-icon {
1066
+ height: 3rem;
1067
+ width: 3rem;
1068
+ }
1069
+
1070
+ .rcm-rule-title {
1071
+ color: var(--rcm-color-text);
1072
+ font-size: 1.125rem;
1073
+ font-weight: var(--rcm-font-weight-semibold);
1074
+ margin: 0 0 0.875rem 0;
1075
+ }
1076
+
1077
+ .rcm-rule-condition-box {
1078
+ width: 100%;
1079
+ border: var(--rcm-border-width) solid
1080
+ color-mix(in srgb, var(--rcm-color-text-muted) 20%, transparent);
1081
+ border-radius: var(--rcm-radius-md);
1082
+ padding: 1.5rem 1.5rem 0.5rem;
1083
+ position: relative;
1084
+ }
1085
+
1086
+ /* Datetime filter show-hide helpers */
1087
+ .rcm-show-below-md {
1088
+ display: block;
1089
+ }
1090
+ .rcm-show-from-md {
1091
+ display: none;
1092
+ }
1093
+
1094
+ @media (min-width: 768px) {
1095
+ .rcm-show-below-md {
1096
+ display: none;
1097
+ }
1098
+ .rcm-show-from-md {
1099
+ display: block;
1100
+ }
1101
+ }
1102
+
1103
+ /* AdvancedSearchForm (legacy) */
1104
+ .rcm-adv-search-legacy-outer {
1105
+ padding-top: var(--rcm-space-sm);
1106
+ }
1107
+
1108
+ @media (min-width: 1280px) {
1109
+ .rcm-adv-search-legacy-outer {
1110
+ margin-right: 0.75rem;
1111
+ }
1112
+ }
1113
+
1114
+ .rcm-adv-search-legacy-inner {
1115
+ width: 100%;
1116
+ padding: 1rem 2rem 0.5rem;
1117
+ display: flex;
1118
+ flex-direction: column;
1119
+ gap: 1rem;
1120
+ max-height: 80vh;
1121
+ overflow-y: auto;
1122
+ }
1123
+
1124
+ .rcm-adv-search-legacy-inner-sub {
1125
+ padding: 1rem 0 0.5rem;
1126
+ }
1127
+
1128
+ .rcm-adv-search-legacy-title {
1129
+ font-size: 1.125rem;
1130
+ font-weight: var(--rcm-font-weight-semibold);
1131
+ color: var(--rcm-color-text);
1132
+ margin: 0 0 var(--rcm-space-sm) 0;
1133
+ }
1134
+
1135
+ /* ListGrid topContent wrapper */
1136
+ .rcm-listgrid-top-content {
1137
+ padding: 0 var(--rcm-space-sm);
1138
+ margin-bottom: var(--rcm-space-sm);
1139
+ }
1140
+
1141
+ @media (min-width: 768px) {
1142
+ .rcm-listgrid-top-content {
1143
+ padding: 0 var(--rcm-space-lg);
1144
+ }
1145
+ }
1146
+
1147
+ /* SelectFieldRenderer wrap */
1148
+ .rcm-select-renderer-wrap {
1149
+ display: flex;
1150
+ align-items: flex-start;
1151
+ gap: 0.75rem;
1152
+ }
1153
+
1154
+ /* Notification body */
1155
+ .rcm-notification-body {
1156
+ position: relative;
1157
+ flex: 1;
1158
+ }
1159
+
1160
+ /* Modal content scroll wrapper (사이즈 제한된 modal 내부) */
1161
+ .rcm-modal-content-scroll {
1162
+ display: flex;
1163
+ flex-direction: column;
1164
+ max-height: 90vh;
1165
+ overflow: hidden;
1166
+ }
1167
+
1168
+ /* ------------------------------------------------------------------ *
1169
+ * Loading / spinner / skeleton
1170
+ * ------------------------------------------------------------------ */
1171
+ .rcm-spinner {
1172
+ display: inline-block;
1173
+ width: var(--rcm-size-icon-md);
1174
+ height: var(--rcm-size-icon-md);
1175
+ border: 2px solid var(--rcm-color-border);
1176
+ border-top-color: var(--rcm-color-primary);
1177
+ border-radius: var(--rcm-radius-full);
1178
+ animation: rcm-spin 0.8s linear infinite;
1179
+ }
1180
+
1181
+ @keyframes rcm-spin {
1182
+ to {
1183
+ transform: rotate(360deg);
1184
+ }
1185
+ }
1186
+
1187
+ .rcm-loading-overlay {
1188
+ display: flex;
1189
+ align-items: center;
1190
+ justify-content: center;
1191
+ padding: var(--rcm-space-2xl);
1192
+ }
1193
+
1194
+ .rcm-skeleton-stack {
1195
+ display: flex;
1196
+ flex-direction: column;
1197
+ align-items: center;
1198
+ justify-content: center;
1199
+ padding: var(--rcm-space-2xl);
1200
+ }
1201
+
1202
+ /* Skeleton variants — base .rcm-skeleton + .rcm-pulse keyframes live in
1203
+ * primitives.css. These are color variants used by ViewListGridSkeleton
1204
+ * and ViewEntityFormSkeleton to accent specific regions. */
1205
+ .rcm-skeleton-accent {
1206
+ background: color-mix(in srgb, var(--rcm-color-primary) 30%, transparent);
1207
+ }
1208
+
1209
+ .rcm-skeleton-danger {
1210
+ background: color-mix(in srgb, var(--rcm-color-error) 30%, transparent);
1211
+ }
1212
+
1213
+ .rcm-pulse {
1214
+ animation: rcm-pulse 1.5s ease-in-out infinite;
1215
+ }
1216
+
1217
+ .rcm-skeleton-row {
1218
+ margin-bottom: var(--rcm-space-lg);
1219
+ }
1220
+
1221
+ .rcm-skeleton-tab-bar {
1222
+ gap: var(--rcm-space-sm);
1223
+ padding-bottom: var(--rcm-space-sm);
1224
+ margin-bottom: var(--rcm-space-lg);
1225
+ border-bottom: var(--rcm-border-width) solid var(--rcm-color-border);
1226
+ }
1227
+
1228
+ .rcm-skeleton-tab-active {
1229
+ border-bottom: 2px solid var(--rcm-color-primary);
1230
+ }
1231
+
1232
+ .rcm-skeleton-panel {
1233
+ width: 100%;
1234
+ padding: var(--rcm-space-sm) 0 0;
1235
+ }
1236
+
1237
+ .rcm-skeleton-inner {
1238
+ width: 100%;
1239
+ padding-left: var(--rcm-space-md);
1240
+ padding-right: var(--rcm-space-md);
1241
+ }
1242
+
1243
+ .rcm-panel-compact {
1244
+ padding: var(--rcm-space-md);
1245
+ }
1246
+
1247
+ .rcm-flex-1 {
1248
+ flex: 1 1 auto;
1249
+ display: flex;
1250
+ gap: var(--rcm-space-sm);
1251
+ }
1252
+
1253
+ .rcm-gap-xs {
1254
+ gap: var(--rcm-space-xs);
1255
+ }
1256
+ .rcm-gap-sm {
1257
+ gap: var(--rcm-space-sm);
1258
+ }
1259
+ .rcm-gap-md {
1260
+ gap: var(--rcm-space-md);
1261
+ }
1262
+
1263
+ .rcm-ml-auto {
1264
+ margin-left: auto;
1265
+ }
1266
+ .rcm-radius-full {
1267
+ border-radius: var(--rcm-radius-full);
1268
+ }
1269
+ .rcm-bg-info-surface {
1270
+ background: var(--rcm-color-info-surface);
1271
+ }
1272
+
1273
+ .rcm-skeleton-search-input {
1274
+ flex: 1 1 auto;
1275
+ max-width: 28rem;
1276
+ }
1277
+
1278
+ .rcm-skeleton-subcollection-bar {
1279
+ margin-bottom: var(--rcm-space-md);
1280
+ padding: 0 var(--rcm-space-sm);
1281
+ }
1282
+
1283
+ .rcm-skeleton-popup-container {
1284
+ max-height: 70vh;
1285
+ display: flex;
1286
+ flex-direction: column;
1287
+ overflow: hidden;
1288
+ }
1289
+
1290
+ .rcm-skeleton-thead {
1291
+ border-top: var(--rcm-border-width) solid var(--rcm-color-border);
1292
+ border-bottom: var(--rcm-border-width) solid var(--rcm-color-border);
1293
+ }
1294
+
1295
+ .rcm-skeleton-th-checkbox {
1296
+ width: 50px;
1297
+ padding: var(--rcm-space-sm);
1298
+ }
1299
+ .rcm-skeleton-th {
1300
+ padding: var(--rcm-space-sm);
1301
+ text-align: left;
1302
+ }
1303
+ .rcm-skeleton-tr {
1304
+ border-bottom: var(--rcm-border-width) solid var(--rcm-color-border);
1305
+ }
1306
+ .rcm-skeleton-td-checkbox {
1307
+ width: 50px;
1308
+ padding: var(--rcm-space-sm);
1309
+ }
1310
+ .rcm-skeleton-td {
1311
+ padding: var(--rcm-space-sm);
1312
+ }
1313
+
1314
+ .rcm-skeleton-pagination {
1315
+ display: flex;
1316
+ justify-content: center;
1317
+ padding: var(--rcm-space-xl) 0;
1318
+ }
1319
+
1320
+ /* ------------------------------------------------------------------ *
1321
+ * Tabs (EntityForm + ListGrid)
1322
+ * ------------------------------------------------------------------ */
1323
+ .rcm-tab-list {
1324
+ display: flex;
1325
+ flex-direction: row;
1326
+ white-space: nowrap;
1327
+ border-bottom: var(--rcm-border-width) solid var(--rcm-color-border);
1328
+ margin-top: var(--rcm-space-md);
1329
+ margin-bottom: var(--rcm-space-sm);
1330
+ }
1331
+
1332
+ /* .rcm-tab base + :hover + [data-state="selected"|"disabled"] live in
1333
+ * primitives.css. JSX uses data-state attr for selection/disabled. */
1334
+
1335
+ /* ------------------------------------------------------------------ *
1336
+ * PhoneNumberField — input + copy/sms button group (addon suffix)
1337
+ * ------------------------------------------------------------------ */
1338
+ .rcm-input-group {
1339
+ display: flex;
1340
+ width: 100%;
1341
+ align-items: center;
1342
+ }
1343
+
1344
+ .rcm-input-group-input {
1345
+ flex: 1;
1346
+ }
1347
+
1348
+ .rcm-input-group-input-with-addon {
1349
+ border-top-right-radius: 0;
1350
+ border-bottom-right-radius: 0;
1351
+ border-right: 0;
1352
+ }
1353
+
1354
+ .rcm-input-addon {
1355
+ display: flex;
1356
+ align-items: center;
1357
+ height: var(--rcm-size-input-height);
1358
+ background: var(--rcm-color-surface-muted);
1359
+ border: var(--rcm-border-width) solid var(--rcm-color-border);
1360
+ border-left: 0;
1361
+ border-top-right-radius: var(--rcm-radius-md);
1362
+ border-bottom-right-radius: var(--rcm-radius-md);
1363
+ }
1364
+
1365
+ /* .rcm-input-addon-button / .rcm-icon-sm removed — JSX uses rcm-icon-btn + rcm-icon. */
1366
+
1367
+ /* ------------------------------------------------------------------ *
1368
+ * Table (base reset; rich table UI comes from host via UIProvider.Table)
1369
+ * ------------------------------------------------------------------ */
1370
+ .rcm-table {
1371
+ width: 100%;
1372
+ min-width: 48rem;
1373
+ border-collapse: collapse;
1374
+ font-size: var(--rcm-font-size-sm);
1375
+ }
1376
+
1377
+ .rcm-table th,
1378
+ .rcm-table td {
1379
+ padding: var(--rcm-space-sm) var(--rcm-space-md);
1380
+ border-bottom: var(--rcm-border-width) solid var(--rcm-color-border);
1381
+ text-align: left;
1382
+ }
1383
+
1384
+ .rcm-table th {
1385
+ background: var(--rcm-color-surface-muted);
1386
+ font-weight: var(--rcm-font-weight-semibold);
1387
+ color: var(--rcm-color-text);
1388
+ white-space: nowrap;
1389
+ }
1390
+
1391
+ /* Responsive wrapper — keep min-width on the table inside an overflow-x
1392
+ * container so narrow viewports scroll horizontally instead of wrapping. */
1393
+ .rcm-skeleton-table-wrapper {
1394
+ width: 100%;
1395
+ min-height: 400px;
1396
+ overflow-x: auto;
1397
+ }
1398
+
1399
+ /* .rcm-notice base + [data-tone="info|success|warning|error"] live in
1400
+ * primitives.css. Legacy class-variant aliases (-info/-warning/-error/
1401
+ * -success) are also in primitives.css for host themes that emit them
1402
+ * as className strings rather than data-tone attrs. */
1403
+
1404
+ /* END — unlayered */