@superad/ui 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -0
  3. package/es/Button/Button.d.mts +7 -0
  4. package/es/Button/Button.mjs +29 -0
  5. package/es/Button/Button.mjs.map +1 -0
  6. package/es/Button/index.d.mts +3 -0
  7. package/es/Button/index.d.ts +1 -0
  8. package/es/Button/index.js +1 -0
  9. package/es/Button/index.mjs +2 -0
  10. package/es/Button/style.mjs +33 -0
  11. package/es/Button/style.mjs.map +1 -0
  12. package/es/Button/type.d.mts +21 -0
  13. package/es/ConfigProvider/index.d.mts +9 -0
  14. package/es/ConfigProvider/index.d.ts +1 -0
  15. package/es/ConfigProvider/index.js +1 -0
  16. package/es/ConfigProvider/index.mjs +82 -0
  17. package/es/ConfigProvider/index.mjs.map +1 -0
  18. package/es/ConfigProvider/type.d.mts +24 -0
  19. package/es/DraggablePanel/DraggablePanel.d.mts +6 -0
  20. package/es/DraggablePanel/DraggablePanel.mjs +104 -0
  21. package/es/DraggablePanel/DraggablePanel.mjs.map +1 -0
  22. package/es/DraggablePanel/index.d.mts +3 -0
  23. package/es/DraggablePanel/index.d.ts +1 -0
  24. package/es/DraggablePanel/index.js +1 -0
  25. package/es/DraggablePanel/index.mjs +3 -0
  26. package/es/DraggablePanel/style.mjs +86 -0
  27. package/es/DraggablePanel/style.mjs.map +1 -0
  28. package/es/DraggablePanel/type.d.mts +27 -0
  29. package/es/Flex/Center.d.mts +7 -0
  30. package/es/Flex/Center.mjs +14 -0
  31. package/es/Flex/Center.mjs.map +1 -0
  32. package/es/Flex/FlexBasic.d.mts +6 -0
  33. package/es/Flex/FlexBasic.mjs +46 -0
  34. package/es/Flex/FlexBasic.mjs.map +1 -0
  35. package/es/Flex/Flexbox.d.mts +2 -0
  36. package/es/Flex/index.d.mts +5 -0
  37. package/es/Flex/index.d.ts +1 -0
  38. package/es/Flex/index.js +1 -0
  39. package/es/Flex/index.mjs +3 -0
  40. package/es/Flex/type.d.mts +35 -0
  41. package/es/Flex/utils.mjs +24 -0
  42. package/es/Flex/utils.mjs.map +1 -0
  43. package/es/FontLoader/index.d.mts +9 -0
  44. package/es/FontLoader/index.d.ts +1 -0
  45. package/es/FontLoader/index.js +1 -0
  46. package/es/FontLoader/index.mjs +23 -0
  47. package/es/FontLoader/index.mjs.map +1 -0
  48. package/es/GlobalFocusRing/index.d.mts +6 -0
  49. package/es/GlobalFocusRing/index.d.ts +1 -0
  50. package/es/GlobalFocusRing/index.js +1 -0
  51. package/es/GlobalFocusRing/index.mjs +204 -0
  52. package/es/GlobalFocusRing/index.mjs.map +1 -0
  53. package/es/GlobalFocusRing/style.mjs +35 -0
  54. package/es/GlobalFocusRing/style.mjs.map +1 -0
  55. package/es/Provider.d.mts +5 -0
  56. package/es/Table/canvas/canvasPalette.mjs +11 -0
  57. package/es/Table/canvas/canvasPalette.mjs.map +1 -0
  58. package/es/Table/canvas/chipPainters.mjs +408 -0
  59. package/es/Table/canvas/chipPainters.mjs.map +1 -0
  60. package/es/Table/canvas/controlPainters.mjs +193 -0
  61. package/es/Table/canvas/controlPainters.mjs.map +1 -0
  62. package/es/Table/canvas/groupTitle.mjs +181 -0
  63. package/es/Table/canvas/groupTitle.mjs.map +1 -0
  64. package/es/Table/canvas/paintUtils.mjs +70 -0
  65. package/es/Table/canvas/paintUtils.mjs.map +1 -0
  66. package/es/Table/canvas/rowSeries.mjs +130 -0
  67. package/es/Table/canvas/rowSeries.mjs.map +1 -0
  68. package/es/Table/canvas/textPainters.mjs +97 -0
  69. package/es/Table/canvas/textPainters.mjs.map +1 -0
  70. package/es/Table/canvas/theme.d.mts +14 -0
  71. package/es/Table/canvas/theme.mjs +276 -0
  72. package/es/Table/canvas/theme.mjs.map +1 -0
  73. package/es/Table/core/cellValue.d.mts +1 -0
  74. package/es/Table/core/cellValue.mjs +240 -0
  75. package/es/Table/core/cellValue.mjs.map +1 -0
  76. package/es/Table/core/rowSelection.mjs +138 -0
  77. package/es/Table/core/rowSelection.mjs.map +1 -0
  78. package/es/Table/core/size.mjs +60 -0
  79. package/es/Table/core/size.mjs.map +1 -0
  80. package/es/Table/core/tableI18n.d.mts +11 -0
  81. package/es/Table/core/tableI18n.mjs +123 -0
  82. package/es/Table/core/tableI18n.mjs.map +1 -0
  83. package/es/Table/core/tagTone.mjs +245 -0
  84. package/es/Table/core/tagTone.mjs.map +1 -0
  85. package/es/Table/core/zIndex.mjs +7 -0
  86. package/es/Table/core/zIndex.mjs.map +1 -0
  87. package/es/Table/index.d.mts +6 -0
  88. package/es/Table/index.d.ts +1 -0
  89. package/es/Table/index.js +1 -0
  90. package/es/Table/index.mjs +6 -0
  91. package/es/Table/react/Table.d.mts +9 -0
  92. package/es/Table/react/Table.mjs +407 -0
  93. package/es/Table/react/Table.mjs.map +1 -0
  94. package/es/Table/react/TableColumnSettings.mjs +65 -0
  95. package/es/Table/react/TableColumnSettings.mjs.map +1 -0
  96. package/es/Table/react/a11y.mjs +72 -0
  97. package/es/Table/react/a11y.mjs.map +1 -0
  98. package/es/Table/react/editors/base.mjs +427 -0
  99. package/es/Table/react/editors/base.mjs.map +1 -0
  100. package/es/Table/react/editors/inline.mjs +225 -0
  101. package/es/Table/react/editors/inline.mjs.map +1 -0
  102. package/es/Table/react/editors/picker.mjs +368 -0
  103. package/es/Table/react/editors/picker.mjs.map +1 -0
  104. package/es/Table/react/overlayChips.mjs +50 -0
  105. package/es/Table/react/overlayChips.mjs.map +1 -0
  106. package/es/Table/react/sameRenderInputs.mjs +50 -0
  107. package/es/Table/react/sameRenderInputs.mjs.map +1 -0
  108. package/es/Table/react/style.mjs +650 -0
  109. package/es/Table/react/style.mjs.map +1 -0
  110. package/es/Table/react/useTableCellEvents.mjs +32 -0
  111. package/es/Table/react/useTableCellEvents.mjs.map +1 -0
  112. package/es/Table/react/useTableColumnSettings.mjs +107 -0
  113. package/es/Table/react/useTableColumnSettings.mjs.map +1 -0
  114. package/es/Table/react/useTableEditorSync.mjs +41 -0
  115. package/es/Table/react/useTableEditorSync.mjs.map +1 -0
  116. package/es/Table/react/useTableHoverHint.mjs +62 -0
  117. package/es/Table/react/useTableHoverHint.mjs.map +1 -0
  118. package/es/Table/react/useTableKeyboard.mjs +41 -0
  119. package/es/Table/react/useTableKeyboard.mjs.map +1 -0
  120. package/es/Table/react/useTableRenderState.mjs +194 -0
  121. package/es/Table/react/useTableRenderState.mjs.map +1 -0
  122. package/es/Table/react/useTableScroll.mjs +33 -0
  123. package/es/Table/react/useTableScroll.mjs.map +1 -0
  124. package/es/Table/react/useTableSelectionInfo.mjs +48 -0
  125. package/es/Table/react/useTableSelectionInfo.mjs.map +1 -0
  126. package/es/Table/react/useTableVTableEvents.mjs +132 -0
  127. package/es/Table/react/useTableVTableEvents.mjs.map +1 -0
  128. package/es/Table/type.d.mts +279 -0
  129. package/es/Table/type.mjs +34 -0
  130. package/es/Table/type.mjs.map +1 -0
  131. package/es/Table/vtable/columns.d.mts +17 -0
  132. package/es/Table/vtable/columns.mjs +381 -0
  133. package/es/Table/vtable/columns.mjs.map +1 -0
  134. package/es/Table/vtable/frozenShadow.mjs +27 -0
  135. package/es/Table/vtable/frozenShadow.mjs.map +1 -0
  136. package/es/Table/vtable/interaction.mjs +175 -0
  137. package/es/Table/vtable/interaction.mjs.map +1 -0
  138. package/es/Table/vtable/option.d.mts +39 -0
  139. package/es/Table/vtable/option.mjs +232 -0
  140. package/es/Table/vtable/option.mjs.map +1 -0
  141. package/es/Table/vtable/seriesSelection.mjs +374 -0
  142. package/es/Table/vtable/seriesSelection.mjs.map +1 -0
  143. package/es/Table/vtable/vtableAdapter.mjs +96 -0
  144. package/es/Table/vtable/vtableAdapter.mjs.map +1 -0
  145. package/es/ThemeProvider/AppElementContext.d.mts +5 -0
  146. package/es/ThemeProvider/AppElementContext.mjs +10 -0
  147. package/es/ThemeProvider/AppElementContext.mjs.map +1 -0
  148. package/es/ThemeProvider/ConfigProvider.mjs +29 -0
  149. package/es/ThemeProvider/ConfigProvider.mjs.map +1 -0
  150. package/es/ThemeProvider/GlobalStyle/antdOverride.mjs +73 -0
  151. package/es/ThemeProvider/GlobalStyle/antdOverride.mjs.map +1 -0
  152. package/es/ThemeProvider/GlobalStyle/essential.mjs +50 -0
  153. package/es/ThemeProvider/GlobalStyle/essential.mjs.map +1 -0
  154. package/es/ThemeProvider/GlobalStyle/global.mjs +90 -0
  155. package/es/ThemeProvider/GlobalStyle/global.mjs.map +1 -0
  156. package/es/ThemeProvider/GlobalStyle/index.mjs +14 -0
  157. package/es/ThemeProvider/GlobalStyle/index.mjs.map +1 -0
  158. package/es/ThemeProvider/Meta.d.mts +7 -0
  159. package/es/ThemeProvider/Meta.mjs +48 -0
  160. package/es/ThemeProvider/Meta.mjs.map +1 -0
  161. package/es/ThemeProvider/ThemeProvider.d.mts +6 -0
  162. package/es/ThemeProvider/ThemeProvider.mjs +89 -0
  163. package/es/ThemeProvider/ThemeProvider.mjs.map +1 -0
  164. package/es/ThemeProvider/constants.d.mts +5 -0
  165. package/es/ThemeProvider/constants.mjs +6 -0
  166. package/es/ThemeProvider/constants.mjs.map +1 -0
  167. package/es/ThemeProvider/index.d.mts +6 -0
  168. package/es/ThemeProvider/index.d.ts +1 -0
  169. package/es/ThemeProvider/index.js +1 -0
  170. package/es/ThemeProvider/index.mjs +5 -0
  171. package/es/ThemeProvider/type.d.mts +48 -0
  172. package/es/_virtual/_rolldown/runtime.mjs +13 -0
  173. package/es/color/colors/blue.d.mts +6 -0
  174. package/es/color/colors/blue.mjs +67 -0
  175. package/es/color/colors/blue.mjs.map +1 -0
  176. package/es/color/colors/cyan.d.mts +6 -0
  177. package/es/color/colors/cyan.mjs +67 -0
  178. package/es/color/colors/cyan.mjs.map +1 -0
  179. package/es/color/colors/geekblue.d.mts +6 -0
  180. package/es/color/colors/geekblue.mjs +67 -0
  181. package/es/color/colors/geekblue.mjs.map +1 -0
  182. package/es/color/colors/gold.d.mts +6 -0
  183. package/es/color/colors/gold.mjs +67 -0
  184. package/es/color/colors/gold.mjs.map +1 -0
  185. package/es/color/colors/gray.d.mts +6 -0
  186. package/es/color/colors/gray.mjs +67 -0
  187. package/es/color/colors/gray.mjs.map +1 -0
  188. package/es/color/colors/green.d.mts +6 -0
  189. package/es/color/colors/green.mjs +67 -0
  190. package/es/color/colors/green.mjs.map +1 -0
  191. package/es/color/colors/index.d.mts +22 -0
  192. package/es/color/colors/index.mjs +35 -0
  193. package/es/color/colors/index.mjs.map +1 -0
  194. package/es/color/colors/lime.d.mts +6 -0
  195. package/es/color/colors/lime.mjs +67 -0
  196. package/es/color/colors/lime.mjs.map +1 -0
  197. package/es/color/colors/magenta.d.mts +6 -0
  198. package/es/color/colors/magenta.mjs +67 -0
  199. package/es/color/colors/magenta.mjs.map +1 -0
  200. package/es/color/colors/orange.d.mts +6 -0
  201. package/es/color/colors/orange.mjs +67 -0
  202. package/es/color/colors/orange.mjs.map +1 -0
  203. package/es/color/colors/primary.d.mts +6 -0
  204. package/es/color/colors/primary.mjs +67 -0
  205. package/es/color/colors/primary.mjs.map +1 -0
  206. package/es/color/colors/purple.d.mts +6 -0
  207. package/es/color/colors/purple.mjs +67 -0
  208. package/es/color/colors/purple.mjs.map +1 -0
  209. package/es/color/colors/red.d.mts +6 -0
  210. package/es/color/colors/red.mjs +67 -0
  211. package/es/color/colors/red.mjs.map +1 -0
  212. package/es/color/colors/volcano.d.mts +6 -0
  213. package/es/color/colors/volcano.mjs +67 -0
  214. package/es/color/colors/volcano.mjs.map +1 -0
  215. package/es/color/colors/yellow.d.mts +6 -0
  216. package/es/color/colors/yellow.mjs +67 -0
  217. package/es/color/colors/yellow.mjs.map +1 -0
  218. package/es/color/index.d.mts +23 -0
  219. package/es/color/index.d.ts +1 -0
  220. package/es/color/index.js +1 -0
  221. package/es/color/index.mjs +22 -0
  222. package/es/color/neutrals/index.d.mts +13 -0
  223. package/es/color/neutrals/index.mjs +17 -0
  224. package/es/color/neutrals/index.mjs.map +1 -0
  225. package/es/color/neutrals/mauve.d.mts +6 -0
  226. package/es/color/neutrals/mauve.mjs +67 -0
  227. package/es/color/neutrals/mauve.mjs.map +1 -0
  228. package/es/color/neutrals/olive.d.mts +6 -0
  229. package/es/color/neutrals/olive.mjs +67 -0
  230. package/es/color/neutrals/olive.mjs.map +1 -0
  231. package/es/color/neutrals/sage.d.mts +6 -0
  232. package/es/color/neutrals/sage.mjs +67 -0
  233. package/es/color/neutrals/sage.mjs.map +1 -0
  234. package/es/color/neutrals/sand.d.mts +6 -0
  235. package/es/color/neutrals/sand.mjs +67 -0
  236. package/es/color/neutrals/sand.mjs.map +1 -0
  237. package/es/color/neutrals/slate.d.mts +6 -0
  238. package/es/color/neutrals/slate.mjs +67 -0
  239. package/es/color/neutrals/slate.mjs.map +1 -0
  240. package/es/color/types.d.mts +16 -0
  241. package/es/eslint/index.d.mts +26 -0
  242. package/es/eslint/index.d.ts +1 -0
  243. package/es/eslint/index.js +1 -0
  244. package/es/eslint/index.mjs +11 -0
  245. package/es/eslint/index.mjs.map +1 -0
  246. package/es/hooks/useIsClient.d.mts +8 -0
  247. package/es/hooks/useIsClient.mjs +13 -0
  248. package/es/hooks/useIsClient.mjs.map +1 -0
  249. package/es/i18n/context.d.mts +7 -0
  250. package/es/i18n/context.mjs +16 -0
  251. package/es/i18n/context.mjs.map +1 -0
  252. package/es/i18n/index.d.mts +6 -0
  253. package/es/i18n/index.d.ts +1 -0
  254. package/es/i18n/index.js +1 -0
  255. package/es/i18n/index.mjs +5 -0
  256. package/es/i18n/resources/en/common.d.mts +35 -0
  257. package/es/i18n/resources/en/common.mjs +36 -0
  258. package/es/i18n/resources/en/common.mjs.map +1 -0
  259. package/es/i18n/resources/en/index.d.mts +7 -0
  260. package/es/i18n/resources/en/index.mjs +8 -0
  261. package/es/i18n/resources/en/index.mjs.map +1 -0
  262. package/es/i18n/resources/zhCn/common.d.mts +35 -0
  263. package/es/i18n/resources/zhCn/common.mjs +36 -0
  264. package/es/i18n/resources/zhCn/common.mjs.map +1 -0
  265. package/es/i18n/resources/zhCn/index.d.mts +7 -0
  266. package/es/i18n/resources/zhCn/index.mjs +8 -0
  267. package/es/i18n/resources/zhCn/index.mjs.map +1 -0
  268. package/es/i18n/types.d.mts +22 -0
  269. package/es/i18n/useTranslation.d.mts +12 -0
  270. package/es/i18n/useTranslation.mjs +22 -0
  271. package/es/i18n/useTranslation.mjs.map +1 -0
  272. package/es/index.d.mts +43 -0
  273. package/es/index.mjs +26 -0
  274. package/es/storybook/StoryBook/StoryBook.d.mts +7 -0
  275. package/es/storybook/StoryBook/StoryBook.mjs +52 -0
  276. package/es/storybook/StoryBook/StoryBook.mjs.map +1 -0
  277. package/es/storybook/StoryBook/index.d.mts +3 -0
  278. package/es/storybook/StoryBook/style.mjs +97 -0
  279. package/es/storybook/StoryBook/style.mjs.map +1 -0
  280. package/es/storybook/StoryBook/type.d.mts +13 -0
  281. package/es/storybook/index.d.mts +4 -0
  282. package/es/storybook/index.d.ts +1 -0
  283. package/es/storybook/index.js +1 -0
  284. package/es/storybook/index.mjs +2 -0
  285. package/es/styles/classNames.d.mts +11 -0
  286. package/es/styles/classNames.mjs +12 -0
  287. package/es/styles/classNames.mjs.map +1 -0
  288. package/es/styles/customTheme.d.mts +36 -0
  289. package/es/styles/customTheme.mjs +71 -0
  290. package/es/styles/customTheme.mjs.map +1 -0
  291. package/es/styles/index.d.mts +6 -0
  292. package/es/styles/index.d.ts +1 -0
  293. package/es/styles/index.js +1 -0
  294. package/es/styles/index.mjs +6 -0
  295. package/es/styles/theme/algorithms/darkAlgorithm.mjs +18 -0
  296. package/es/styles/theme/algorithms/darkAlgorithm.mjs.map +1 -0
  297. package/es/styles/theme/algorithms/lightAlgorithm.mjs +18 -0
  298. package/es/styles/theme/algorithms/lightAlgorithm.mjs.map +1 -0
  299. package/es/styles/theme/algorithms/resolveScales.mjs +25 -0
  300. package/es/styles/theme/algorithms/resolveScales.mjs.map +1 -0
  301. package/es/styles/theme/antdTheme.mjs +31 -0
  302. package/es/styles/theme/antdTheme.mjs.map +1 -0
  303. package/es/styles/theme/customStylish.d.mts +7 -0
  304. package/es/styles/theme/customStylish.mjs +158 -0
  305. package/es/styles/theme/customStylish.mjs.map +1 -0
  306. package/es/styles/theme/customStylishStatic.d.mts +6 -0
  307. package/es/styles/theme/customStylishStatic.mjs +156 -0
  308. package/es/styles/theme/customStylishStatic.mjs.map +1 -0
  309. package/es/styles/theme/customToken.d.mts +7 -0
  310. package/es/styles/theme/customToken.mjs +127 -0
  311. package/es/styles/theme/customToken.mjs.map +1 -0
  312. package/es/styles/theme/generateColorPalette.d.mts +16 -0
  313. package/es/styles/theme/generateColorPalette.mjs +170 -0
  314. package/es/styles/theme/generateColorPalette.mjs.map +1 -0
  315. package/es/styles/theme/token/base.mjs +64 -0
  316. package/es/styles/theme/token/base.mjs.map +1 -0
  317. package/es/styles/theme/token/dark.mjs +37 -0
  318. package/es/styles/theme/token/dark.mjs.map +1 -0
  319. package/es/styles/theme/token/light.mjs +37 -0
  320. package/es/styles/theme/token/light.mjs.map +1 -0
  321. package/es/types/customStylish.d.mts +28 -0
  322. package/es/types/customToken.d.mts +34 -0
  323. package/es/types/customToken.mjs +32 -0
  324. package/es/types/customToken.mjs.map +1 -0
  325. package/es/types/index.d.mts +15 -0
  326. package/es/types/index.d.ts +1 -0
  327. package/es/types/index.js +1 -0
  328. package/es/types/index.mjs +2 -0
  329. package/es/utils/composeEventHandlers.d.mts +5 -0
  330. package/es/utils/composeEventHandlers.mjs +10 -0
  331. package/es/utils/composeEventHandlers.mjs.map +1 -0
  332. package/es/utils/copyToClipboard.d.mts +5 -0
  333. package/es/utils/copyToClipboard.mjs +28 -0
  334. package/es/utils/copyToClipboard.mjs.map +1 -0
  335. package/es/utils/dom.d.mts +15 -0
  336. package/es/utils/dom.mjs +16 -0
  337. package/es/utils/dom.mjs.map +1 -0
  338. package/es/utils/genCdnUrl.d.mts +12 -0
  339. package/es/utils/genCdnUrl.mjs +17 -0
  340. package/es/utils/genCdnUrl.mjs.map +1 -0
  341. package/es/utils/safeReadableColor.mjs +6 -0
  342. package/es/utils/safeReadableColor.mjs.map +1 -0
  343. package/package.json +96 -0
@@ -0,0 +1,650 @@
1
+ import { Z_EDITOR, Z_POPPER } from "../core/zIndex.mjs";
2
+ import { createStaticStyles } from "antd-style";
3
+ //#region src/Table/react/style.ts
4
+ const styles = createStaticStyles(({ css, cssVar }) => ({
5
+ root: css`
6
+ position: relative;
7
+
8
+ overflow: visible;
9
+
10
+ width: 100%;
11
+ min-width: 0;
12
+
13
+ background: ${cssVar.colorBgContainer};
14
+
15
+ /*
16
+ * 必须用**后代**选择器:VTable 会在自己的容器外再包一层 div(root > div > .vtable),
17
+ * 所以子选择器永远匹配不到 —— 这条规则此前是**死代码**,.vtable 的 overflow: hidden
18
+ * 一直生效。
19
+ *
20
+ * 代价是所有编辑浮层都被裁在表格框内:表格默认 autoHeight,只有几十像素高,而选择面板
21
+ * 有两百多像素 —— 实测候选人列表整体落在裁剪线以下,用户根本点不到(也就选不中、写不回
22
+ * 单元格)。改回 visible 正是这条规则原本的意图。
23
+ */
24
+ .vtable {
25
+ overflow: visible;
26
+ }
27
+
28
+ canvas {
29
+ outline: none;
30
+ }
31
+ `,
32
+ hoverFrame: css`
33
+ pointer-events: none;
34
+
35
+ position: absolute;
36
+ z-index: ${12};
37
+
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: flex-end;
41
+
42
+ box-sizing: border-box;
43
+ padding-inline-end: 4px;
44
+ border-radius: 6px;
45
+
46
+ /* 内容区在铅笔左侧:pencil 24 + 本 padding 4 = EDIT_HINT_GUTTER 28,与画布打包同源。 */
47
+ outline: 1px solid ${cssVar.colorBorderSecondary};
48
+ outline-offset: -1px;
49
+ `,
50
+ editButton: css`
51
+ pointer-events: auto;
52
+ cursor: pointer;
53
+
54
+ display: inline-flex;
55
+ flex: none;
56
+ align-items: center;
57
+ justify-content: center;
58
+
59
+ width: 24px;
60
+ height: 24px;
61
+ margin: 0;
62
+ padding: 0;
63
+ border: 1px solid ${cssVar.colorBorderSecondary};
64
+ border-radius: 6px;
65
+
66
+ color: ${cssVar.colorTextSecondary};
67
+
68
+ background: ${cssVar.colorBgContainer};
69
+ box-shadow:
70
+ ${cssVar.boxShadowSecondary},
71
+ 0 0 0 1px ${cssVar.colorSplit};
72
+
73
+ &:hover {
74
+ background: ${cssVar.colorFillTertiary};
75
+ }
76
+ `,
77
+ chipHover: css`
78
+ pointer-events: auto;
79
+ cursor: text;
80
+
81
+ position: absolute;
82
+ inset-block: 0;
83
+
84
+ display: flex;
85
+ align-items: center;
86
+ justify-content: flex-end;
87
+ `,
88
+ chipRemove: css`
89
+ cursor: pointer;
90
+
91
+ display: inline-flex;
92
+ align-items: center;
93
+ justify-content: center;
94
+
95
+ /* 14px 落在 chip 右侧 22px 的留白里(USER_CHIP_TRAILING)—— 不能压到名字上。 */
96
+ width: 14px;
97
+ height: 14px;
98
+ margin: 0;
99
+ margin-inline-end: 2px;
100
+ padding: 0;
101
+ border: 0;
102
+
103
+ color: ${cssVar.colorIcon};
104
+
105
+ background: transparent;
106
+
107
+ transition: color 120ms ${cssVar.motionEaseOut};
108
+
109
+ &:hover {
110
+ color: ${cssVar.colorTextHeading};
111
+ }
112
+ `,
113
+ chipRemoveCompact: css`
114
+ width: 12px;
115
+ height: 12px;
116
+ margin-inline-end: 1px;
117
+ `,
118
+ softChip: css`
119
+ overflow: hidden;
120
+ display: inline-flex;
121
+ flex: none;
122
+ align-items: center;
123
+
124
+ box-sizing: content-box;
125
+ max-width: 100%;
126
+ height: 12px;
127
+ padding: 4px;
128
+ border-radius: 4px;
129
+
130
+ font-size: 13px;
131
+ line-height: 12px;
132
+ color: ${cssVar.colorText};
133
+ text-overflow: ellipsis;
134
+ white-space: nowrap;
135
+
136
+ background: ${cssVar.colorFillQuaternary};
137
+ `,
138
+ columnSettings: css`
139
+ position: absolute;
140
+ z-index: ${35};
141
+ inset-block-start: 4px;
142
+ inset-inline-end: 4px;
143
+ `,
144
+ columnSettingsTrigger: css`
145
+ cursor: pointer;
146
+
147
+ display: flex;
148
+ align-items: center;
149
+ justify-content: center;
150
+
151
+ width: 24px;
152
+ height: 24px;
153
+ padding: 0;
154
+ border: 1px solid transparent;
155
+ border-radius: 4px;
156
+
157
+ font-size: 18px;
158
+ line-height: 1;
159
+ color: ${cssVar.colorTextTertiary};
160
+
161
+ background: transparent;
162
+
163
+ &:hover {
164
+ color: ${cssVar.colorText};
165
+ background: ${cssVar.colorFillTertiary};
166
+ }
167
+ `,
168
+ columnSettingsMenu: css`
169
+ position: absolute;
170
+ z-index: ${50};
171
+ inset-block-start: 28px;
172
+ inset-inline-end: 0;
173
+
174
+ box-sizing: border-box;
175
+ width: 220px;
176
+ padding: 4px;
177
+ border: 1px solid ${cssVar.colorBorderSecondary};
178
+ border-radius: 8px;
179
+
180
+ background: ${cssVar.colorBgContainer};
181
+
182
+ /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */
183
+ box-shadow:
184
+ ${cssVar.boxShadowSecondary},
185
+ 0 0 0 1px ${cssVar.colorSplit};
186
+ `,
187
+ columnSettingsItem: css`
188
+ display: flex;
189
+ gap: 4px;
190
+ align-items: center;
191
+
192
+ box-sizing: border-box;
193
+ height: 28px;
194
+ padding-block: 0;
195
+ padding-inline: 4px;
196
+ border-radius: 4px;
197
+
198
+ &:hover {
199
+ background: ${cssVar.colorFillTertiary};
200
+ }
201
+ `,
202
+ columnSettingsCheck: css`
203
+ cursor: pointer;
204
+
205
+ display: inline-flex;
206
+ flex: none;
207
+ align-items: center;
208
+ justify-content: center;
209
+
210
+ box-sizing: border-box;
211
+ width: 16px;
212
+ height: 16px;
213
+ padding: 0;
214
+ border: 1px solid ${cssVar.colorBorder};
215
+ border-radius: 4px;
216
+
217
+ font-size: 12px;
218
+ line-height: 1;
219
+ color: ${cssVar.colorBgContainer};
220
+
221
+ background: ${cssVar.colorBgContainer};
222
+
223
+ &[data-checked='true'] {
224
+ border-color: ${cssVar.colorPrimary};
225
+ background: ${cssVar.colorPrimary};
226
+ }
227
+
228
+ &:disabled {
229
+ cursor: default;
230
+ opacity: 0.4;
231
+ }
232
+ `,
233
+ columnSettingsLabel: css`
234
+ overflow: hidden;
235
+ flex: 1;
236
+
237
+ min-width: 0;
238
+
239
+ font-size: 13px;
240
+ line-height: 20px;
241
+ color: ${cssVar.colorText};
242
+ text-overflow: ellipsis;
243
+ white-space: nowrap;
244
+ `,
245
+ columnSettingsMove: css`
246
+ cursor: pointer;
247
+
248
+ display: inline-flex;
249
+ flex: none;
250
+ align-items: center;
251
+ justify-content: center;
252
+
253
+ width: 20px;
254
+ height: 20px;
255
+ padding: 0;
256
+ border: 0;
257
+ border-radius: 4px;
258
+
259
+ font-size: 15px;
260
+ line-height: 1;
261
+ color: ${cssVar.colorTextSecondary};
262
+
263
+ background: transparent;
264
+
265
+ &:hover:not(:disabled) {
266
+ color: ${cssVar.colorText};
267
+ background: ${cssVar.colorFillTertiary};
268
+ }
269
+
270
+ &:disabled {
271
+ cursor: default;
272
+ opacity: 0.3;
273
+ }
274
+ `,
275
+ selectionBar: css`
276
+ position: absolute;
277
+ z-index: ${30};
278
+ inset-block-end: 12px;
279
+ inset-inline-start: 50%;
280
+ transform: translateX(-50%);
281
+
282
+ display: flex;
283
+ gap: 8px;
284
+ align-items: center;
285
+
286
+ box-sizing: border-box;
287
+ height: 32px;
288
+ padding-block: 0;
289
+ padding-inline: 12px 4px;
290
+ border: 1px solid ${cssVar.colorBorderSecondary};
291
+ border-radius: 8px;
292
+
293
+ white-space: nowrap;
294
+
295
+ background: ${cssVar.colorBgContainer};
296
+
297
+ /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */
298
+ box-shadow:
299
+ ${cssVar.boxShadowSecondary},
300
+ 0 0 0 1px ${cssVar.colorSplit};
301
+ `,
302
+ selectionBarLabel: css`
303
+ font-size: 13px;
304
+ line-height: 20px;
305
+ color: ${cssVar.colorTextSecondary};
306
+ `,
307
+ selectionBarButton: css`
308
+ cursor: pointer;
309
+
310
+ height: 24px;
311
+ padding-block: 0;
312
+ padding-inline: 8px;
313
+ border: 0;
314
+ border-radius: 4px;
315
+
316
+ font-size: 13px;
317
+ line-height: 20px;
318
+ color: ${cssVar.colorText};
319
+
320
+ background: transparent;
321
+
322
+ &:hover {
323
+ background: ${cssVar.colorFillTertiary};
324
+ }
325
+ `,
326
+ resizeGuide: css`
327
+ pointer-events: none;
328
+
329
+ position: absolute;
330
+ z-index: ${25};
331
+ inset-block: 0;
332
+
333
+ width: 2px;
334
+
335
+ background: ${cssVar.colorPrimary};
336
+ `,
337
+ a11yGrid: css`
338
+ position: absolute;
339
+
340
+ overflow: hidden;
341
+
342
+ width: 1px;
343
+ height: 1px;
344
+ margin: -1px;
345
+ padding: 0;
346
+ border: 0;
347
+
348
+ white-space: nowrap;
349
+
350
+ clip: rect(0, 0, 0, 0);
351
+ `,
352
+ editor: css`
353
+ position: absolute;
354
+ z-index: ${Z_EDITOR};
355
+
356
+ overflow: hidden;
357
+ display: flex;
358
+ gap: 4px;
359
+ align-items: center;
360
+
361
+ box-sizing: border-box;
362
+ margin: 0;
363
+ padding-block: 0;
364
+ padding-inline: 10px;
365
+ border: none;
366
+ border-radius: 6px;
367
+
368
+ font: inherit;
369
+ font-size: 14px;
370
+ line-height: 20px;
371
+ color: ${cssVar.colorText};
372
+
373
+ background: ${cssVar.colorBgElevated};
374
+ outline: none;
375
+
376
+ /*
377
+ * Notion 编辑浮层:无描边、6px 圆角、一层弥散阴影 + 1px 环。
378
+ *
379
+ * **弥散层走 token,不能硬编码近黑。** 暗色下浮层压在同为深色的表格上,
380
+ * 一层 8% 的纯黑等于没有阴影 —— 这个坑踩过一次(见 ARCHITECTURE.md
381
+ * 「弹窗样式曾经不跟主题」,以及 canvas/theme.ts 里冻结列阴影按主题换墨色那段)。
382
+ * boxShadowSecondary 在 token/dark.ts 专门把 alpha 从 0.2 提到 0.4。
383
+ *
384
+ * 那圈环走 colorSplit 而**不是** colorBorderSecondary:后者在暗色下实测是
385
+ * rgb(27,27,27),与浮层自己的 colorBgElevated 一模一样 —— 环画上去等于没画。
386
+ * colorSplit 两套主题都是半透明发丝线(暗色是 rgba(246,246,246,0.06)),压在浮层上都看得见。
387
+ *
388
+ * 注意这段注释里不能出现反引号:它会把外面的 css 模板字面量提前闭合。
389
+ */
390
+ box-shadow:
391
+ ${cssVar.boxShadowSecondary},
392
+ 0 0 0 1px ${cssVar.colorSplit};
393
+ caret-color: ${cssVar.colorText};
394
+
395
+ transition: box-shadow 120ms ${cssVar.motionEaseOut};
396
+
397
+ &::placeholder {
398
+ font-weight: 400;
399
+ color: ${cssVar.colorTextQuaternary};
400
+ }
401
+
402
+ /* 提交被拒(数字列收到非数字、JSON 列收到坏 JSON)—— 见 markEditorInvalid。
403
+ 只换那圈环的颜色,弥散层不动。编辑器本身是 focus-within 的,不需要再分一态。 */
404
+ &[data-superad-invalid] {
405
+ box-shadow:
406
+ ${cssVar.boxShadowSecondary},
407
+ 0 0 0 1px ${cssVar.colorError};
408
+ }
409
+
410
+ .ant-picker,
411
+ .ant-picker-focused,
412
+ .ant-picker-outlined,
413
+ .ant-picker-outlined:hover,
414
+ .ant-picker-outlined:focus-within {
415
+ width: 100%;
416
+ height: 100%;
417
+ padding: 0;
418
+ border: none !important;
419
+
420
+ font: inherit;
421
+
422
+ background: transparent !important;
423
+ outline: none !important;
424
+ box-shadow: none !important;
425
+ }
426
+
427
+ .ant-picker-active-bar {
428
+ display: none !important;
429
+ }
430
+
431
+ .ant-picker-input > input {
432
+ font-size: 14px;
433
+ line-height: 20px;
434
+ color: ${cssVar.colorText};
435
+
436
+ outline: none;
437
+ box-shadow: none;
438
+ }
439
+ `,
440
+ editorInput: css`
441
+ flex: 1;
442
+
443
+ min-width: 0;
444
+ height: 100%;
445
+ margin: 0;
446
+ padding: 0;
447
+ border: 0;
448
+
449
+ font: inherit;
450
+ font-size: 14px;
451
+ line-height: 20px;
452
+ color: inherit;
453
+
454
+ background: transparent;
455
+ outline: none;
456
+ caret-color: ${cssVar.colorText};
457
+ `,
458
+ copyButton: css`
459
+ cursor: pointer;
460
+
461
+ display: inline-flex;
462
+ flex: none;
463
+ align-items: center;
464
+ justify-content: center;
465
+
466
+ width: 24px;
467
+ height: 24px;
468
+ margin: 0;
469
+ padding: 0;
470
+ border: 0;
471
+ border-radius: 6px;
472
+
473
+ color: ${cssVar.colorTextTertiary};
474
+
475
+ background: transparent;
476
+
477
+ &:hover {
478
+ color: ${cssVar.colorText};
479
+ background: ${cssVar.colorFillTertiary};
480
+ }
481
+ `,
482
+ affix: css`
483
+ flex: none;
484
+ color: ${cssVar.colorText};
485
+ `,
486
+ picker: css`
487
+ position: absolute;
488
+ z-index: ${Z_POPPER};
489
+
490
+ overflow: auto;
491
+ display: flex;
492
+ flex-direction: column;
493
+ gap: 2px;
494
+
495
+ box-sizing: border-box;
496
+
497
+ /* 宽度由 placePicker 按「单元格宽 + 下限」算好写进行内样式。这里**不能再写 min-width** ——
498
+ 它会盖掉那个下限(选项 240、地址表单 280),实测选项面板被顶成 200。 */
499
+ max-height: 320px;
500
+ padding: 6px;
501
+ border: none;
502
+ border-radius: 6px;
503
+
504
+ font-size: 14px;
505
+ color: ${cssVar.colorText};
506
+
507
+ background: ${cssVar.colorBgElevated};
508
+
509
+ /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */
510
+ box-shadow:
511
+ ${cssVar.boxShadowSecondary},
512
+ 0 0 0 1px ${cssVar.colorSplit};
513
+ `,
514
+ pickerSearch: css`
515
+ position: sticky;
516
+ z-index: 1;
517
+ inset-block-start: -6px;
518
+
519
+ flex: none;
520
+
521
+ height: auto;
522
+ padding-block: 4px;
523
+ padding-inline: 6px;
524
+ border-radius: 0;
525
+
526
+ font-size: 14px;
527
+ line-height: 20px;
528
+
529
+ background: ${cssVar.colorBgElevated};
530
+
531
+ /* borderless 的聚焦态会画一圈主色 outline —— 搜索框是 autoFocus,一打开就挂着蓝框。
532
+ antd 那条是 .ant-input-borderless:focus-visible,特异性要压过它。 */
533
+ &.ant-input-borderless:focus,
534
+ &.ant-input-borderless:focus-visible,
535
+ &.ant-input-outlined:focus,
536
+ &.ant-input-outlined:focus-visible {
537
+ outline: none;
538
+ box-shadow: none;
539
+ }
540
+ `,
541
+ addressForm: css`
542
+ position: absolute;
543
+ z-index: ${Z_POPPER};
544
+
545
+ display: flex;
546
+ flex-direction: column;
547
+ gap: 6px;
548
+
549
+ box-sizing: border-box;
550
+ min-width: 280px;
551
+ padding: ${cssVar.paddingXS};
552
+ border: none;
553
+ border-radius: 6px;
554
+
555
+ font-size: 14px;
556
+ color: ${cssVar.colorText};
557
+
558
+ background: ${cssVar.colorBgElevated};
559
+
560
+ /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */
561
+ box-shadow:
562
+ ${cssVar.boxShadowSecondary},
563
+ 0 0 0 1px ${cssVar.colorSplit};
564
+ `,
565
+ addressRow: css`
566
+ display: grid;
567
+ grid-template-columns: 1fr 1fr;
568
+ gap: 8px;
569
+ `,
570
+ addressField: css`
571
+ display: flex;
572
+ flex-direction: column;
573
+ gap: 2px;
574
+ min-width: 0;
575
+ `,
576
+ addressLabel: css`
577
+ font-size: 11px;
578
+ line-height: 16px;
579
+ color: ${cssVar.colorTextTertiary};
580
+ `,
581
+ pickerItem: css`
582
+ cursor: pointer;
583
+
584
+ display: flex;
585
+ gap: 8px;
586
+ align-items: center;
587
+ justify-content: space-between;
588
+
589
+ /* 与 antd 下拉里的选项同高同圆角:optionHeight 就是 controlHeight,optionPadding 是
590
+ 横向 controlPaddingHorizontal。竖向不写 padding,让两行的「姓名 + 说明」自己去撑。 */
591
+ box-sizing: border-box;
592
+ min-height: ${cssVar.controlHeight};
593
+ padding-block: 0;
594
+ padding-inline: ${cssVar.paddingSM};
595
+ border: 0;
596
+ border-radius: 6px;
597
+
598
+ font: inherit;
599
+ font-size: 14px;
600
+ line-height: 20px;
601
+ color: inherit;
602
+ text-align: start;
603
+
604
+ background: transparent;
605
+
606
+ &:hover,
607
+ &[data-active='true'] {
608
+ background: ${cssVar.colorFillTertiary};
609
+ }
610
+ `,
611
+ pickerRowMain: css`
612
+ overflow: hidden;
613
+ display: flex;
614
+ flex: 1;
615
+ flex-direction: column;
616
+
617
+ min-width: 0;
618
+ `,
619
+ pickerRowName: css`
620
+ overflow: hidden;
621
+
622
+ font-size: 14px;
623
+ line-height: 20px;
624
+ color: ${cssVar.colorText};
625
+ text-overflow: ellipsis;
626
+ white-space: nowrap;
627
+ `,
628
+ pickerRowDescription: css`
629
+ overflow: hidden;
630
+
631
+ font-size: 12px;
632
+ line-height: 16px;
633
+ color: ${cssVar.colorTextTertiary};
634
+ text-overflow: ellipsis;
635
+ white-space: nowrap;
636
+ `,
637
+ check: css`
638
+ flex: none;
639
+
640
+ width: 14px;
641
+
642
+ font-size: 12px;
643
+ line-height: 1;
644
+ color: ${cssVar.colorPrimary};
645
+ `
646
+ }));
647
+ //#endregion
648
+ export { styles };
649
+
650
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/Table/react/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nimport {\n Z_COLUMN_SETTINGS,\n Z_DRAG,\n Z_EDITOR,\n Z_HOVER,\n Z_MENU,\n Z_POPPER,\n Z_SELECTION_BAR,\n} from '../core/zIndex';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n root: css`\n position: relative;\n\n overflow: visible;\n\n width: 100%;\n min-width: 0;\n\n background: ${cssVar.colorBgContainer};\n\n /*\n * 必须用**后代**选择器:VTable 会在自己的容器外再包一层 div(root > div > .vtable),\n * 所以子选择器永远匹配不到 —— 这条规则此前是**死代码**,.vtable 的 overflow: hidden\n * 一直生效。\n *\n * 代价是所有编辑浮层都被裁在表格框内:表格默认 autoHeight,只有几十像素高,而选择面板\n * 有两百多像素 —— 实测候选人列表整体落在裁剪线以下,用户根本点不到(也就选不中、写不回\n * 单元格)。改回 visible 正是这条规则原本的意图。\n */\n .vtable {\n overflow: visible;\n }\n\n canvas {\n outline: none;\n }\n `,\n hoverFrame: css`\n pointer-events: none;\n\n position: absolute;\n z-index: ${Z_HOVER};\n\n display: flex;\n align-items: center;\n justify-content: flex-end;\n\n box-sizing: border-box;\n padding-inline-end: 4px;\n border-radius: 6px;\n\n /* 内容区在铅笔左侧:pencil 24 + 本 padding 4 = EDIT_HINT_GUTTER 28,与画布打包同源。 */\n outline: 1px solid ${cssVar.colorBorderSecondary};\n outline-offset: -1px;\n `,\n editButton: css`\n pointer-events: auto;\n cursor: pointer;\n\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: 24px;\n height: 24px;\n margin: 0;\n padding: 0;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: 6px;\n\n color: ${cssVar.colorTextSecondary};\n\n background: ${cssVar.colorBgContainer};\n box-shadow:\n ${cssVar.boxShadowSecondary},\n 0 0 0 1px ${cssVar.colorSplit};\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n `,\n /* 盖在画布 chip 上的一层透明命中区:位置由 layoutUserChips 算,与画布同一份。\n 必须 pointer-events: auto —— hoverFrame 整体是 none,不打开就收不到 mouseenter。 */\n chipHover: css`\n pointer-events: auto;\n cursor: text;\n\n position: absolute;\n inset-block: 0;\n\n display: flex;\n align-items: center;\n justify-content: flex-end;\n `,\n /* 样式取自 antd `Tag closable` 的关闭图标(`tag/style`:`marginInlineStart = 3`、\n `fontSize = tagIconSize`、`color: colorIcon`、`hover: colorTextHeading`)—— **没有底圈**,\n 只是一颗弱色细 ×。原先那版带 `colorFill` 圆底 + `colorText` 字形,圆底本身比 × 还抢眼,\n 在一排彩色 chip 里像一排按钮。 */\n chipRemove: css`\n cursor: pointer;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n /* 14px 落在 chip 右侧 22px 的留白里(USER_CHIP_TRAILING)—— 不能压到名字上。 */\n width: 14px;\n height: 14px;\n margin: 0;\n margin-inline-end: 2px;\n padding: 0;\n border: 0;\n\n color: ${cssVar.colorIcon};\n\n background: transparent;\n\n transition: color 120ms ${cssVar.motionEaseOut};\n\n &:hover {\n color: ${cssVar.colorTextHeading};\n }\n `,\n /* 标签 / 数组 / 链接 chip 的 × 比人员 chip 小一号:12 + 1px 外边距 = CHIP_REMOVE_ROOM,\n 整颗落在 CHIP_PAD(14)的右内边距里。人员 chip 的留白宽一档,用 14px 那版。 */\n chipRemoveCompact: css`\n width: 12px;\n height: 12px;\n margin-inline-end: 1px;\n `,\n softChip: css`\n overflow: hidden;\n display: inline-flex;\n flex: none;\n align-items: center;\n\n box-sizing: content-box;\n max-width: 100%;\n height: 12px;\n padding: 4px;\n border-radius: 4px;\n\n font-size: 13px;\n line-height: 12px;\n color: ${cssVar.colorText};\n text-overflow: ellipsis;\n white-space: nowrap;\n\n background: ${cssVar.colorFillQuaternary};\n `,\n columnSettings: css`\n position: absolute;\n z-index: ${Z_COLUMN_SETTINGS};\n inset-block-start: 4px;\n inset-inline-end: 4px;\n `,\n columnSettingsTrigger: css`\n cursor: pointer;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 24px;\n height: 24px;\n padding: 0;\n border: 1px solid transparent;\n border-radius: 4px;\n\n font-size: 18px;\n line-height: 1;\n color: ${cssVar.colorTextTertiary};\n\n background: transparent;\n\n &:hover {\n color: ${cssVar.colorText};\n background: ${cssVar.colorFillTertiary};\n }\n `,\n columnSettingsMenu: css`\n position: absolute;\n z-index: ${Z_MENU};\n inset-block-start: 28px;\n inset-inline-end: 0;\n\n box-sizing: border-box;\n width: 220px;\n padding: 4px;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: 8px;\n\n background: ${cssVar.colorBgContainer};\n\n /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */\n box-shadow:\n ${cssVar.boxShadowSecondary},\n 0 0 0 1px ${cssVar.colorSplit};\n `,\n columnSettingsItem: css`\n display: flex;\n gap: 4px;\n align-items: center;\n\n box-sizing: border-box;\n height: 28px;\n padding-block: 0;\n padding-inline: 4px;\n border-radius: 4px;\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n `,\n columnSettingsCheck: css`\n cursor: pointer;\n\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n padding: 0;\n border: 1px solid ${cssVar.colorBorder};\n border-radius: 4px;\n\n font-size: 12px;\n line-height: 1;\n color: ${cssVar.colorBgContainer};\n\n background: ${cssVar.colorBgContainer};\n\n &[data-checked='true'] {\n border-color: ${cssVar.colorPrimary};\n background: ${cssVar.colorPrimary};\n }\n\n &:disabled {\n cursor: default;\n opacity: 0.4;\n }\n `,\n columnSettingsLabel: css`\n overflow: hidden;\n flex: 1;\n\n min-width: 0;\n\n font-size: 13px;\n line-height: 20px;\n color: ${cssVar.colorText};\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n columnSettingsMove: css`\n cursor: pointer;\n\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: 20px;\n height: 20px;\n padding: 0;\n border: 0;\n border-radius: 4px;\n\n font-size: 15px;\n line-height: 1;\n color: ${cssVar.colorTextSecondary};\n\n background: transparent;\n\n &:hover:not(:disabled) {\n color: ${cssVar.colorText};\n background: ${cssVar.colorFillTertiary};\n }\n\n &:disabled {\n cursor: default;\n opacity: 0.3;\n }\n `,\n selectionBar: css`\n position: absolute;\n z-index: ${Z_SELECTION_BAR};\n inset-block-end: 12px;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n\n display: flex;\n gap: 8px;\n align-items: center;\n\n box-sizing: border-box;\n height: 32px;\n padding-block: 0;\n padding-inline: 12px 4px;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: 8px;\n\n white-space: nowrap;\n\n background: ${cssVar.colorBgContainer};\n\n /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */\n box-shadow:\n ${cssVar.boxShadowSecondary},\n 0 0 0 1px ${cssVar.colorSplit};\n `,\n selectionBarLabel: css`\n font-size: 13px;\n line-height: 20px;\n color: ${cssVar.colorTextSecondary};\n `,\n selectionBarButton: css`\n cursor: pointer;\n\n height: 24px;\n padding-block: 0;\n padding-inline: 8px;\n border: 0;\n border-radius: 4px;\n\n font-size: 13px;\n line-height: 20px;\n color: ${cssVar.colorText};\n\n background: transparent;\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n `,\n resizeGuide: css`\n pointer-events: none;\n\n position: absolute;\n z-index: ${Z_DRAG};\n inset-block: 0;\n\n width: 2px;\n\n background: ${cssVar.colorPrimary};\n `,\n a11yGrid: css`\n position: absolute;\n\n overflow: hidden;\n\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n\n white-space: nowrap;\n\n clip: rect(0, 0, 0, 0);\n `,\n editor: css`\n position: absolute;\n z-index: ${Z_EDITOR};\n\n overflow: hidden;\n display: flex;\n gap: 4px;\n align-items: center;\n\n box-sizing: border-box;\n margin: 0;\n padding-block: 0;\n padding-inline: 10px;\n border: none;\n border-radius: 6px;\n\n font: inherit;\n font-size: 14px;\n line-height: 20px;\n color: ${cssVar.colorText};\n\n background: ${cssVar.colorBgElevated};\n outline: none;\n\n /*\n * Notion 编辑浮层:无描边、6px 圆角、一层弥散阴影 + 1px 环。\n *\n * **弥散层走 token,不能硬编码近黑。** 暗色下浮层压在同为深色的表格上,\n * 一层 8% 的纯黑等于没有阴影 —— 这个坑踩过一次(见 ARCHITECTURE.md\n * 「弹窗样式曾经不跟主题」,以及 canvas/theme.ts 里冻结列阴影按主题换墨色那段)。\n * boxShadowSecondary 在 token/dark.ts 专门把 alpha 从 0.2 提到 0.4。\n *\n * 那圈环走 colorSplit 而**不是** colorBorderSecondary:后者在暗色下实测是\n * rgb(27,27,27),与浮层自己的 colorBgElevated 一模一样 —— 环画上去等于没画。\n * colorSplit 两套主题都是半透明发丝线(暗色是 rgba(246,246,246,0.06)),压在浮层上都看得见。\n *\n * 注意这段注释里不能出现反引号:它会把外面的 css 模板字面量提前闭合。\n */\n box-shadow:\n ${cssVar.boxShadowSecondary},\n 0 0 0 1px ${cssVar.colorSplit};\n caret-color: ${cssVar.colorText};\n\n transition: box-shadow 120ms ${cssVar.motionEaseOut};\n\n &::placeholder {\n font-weight: 400;\n color: ${cssVar.colorTextQuaternary};\n }\n\n /* 提交被拒(数字列收到非数字、JSON 列收到坏 JSON)—— 见 markEditorInvalid。\n 只换那圈环的颜色,弥散层不动。编辑器本身是 focus-within 的,不需要再分一态。 */\n &[data-superad-invalid] {\n box-shadow:\n ${cssVar.boxShadowSecondary},\n 0 0 0 1px ${cssVar.colorError};\n }\n\n .ant-picker,\n .ant-picker-focused,\n .ant-picker-outlined,\n .ant-picker-outlined:hover,\n .ant-picker-outlined:focus-within {\n width: 100%;\n height: 100%;\n padding: 0;\n border: none !important;\n\n font: inherit;\n\n background: transparent !important;\n outline: none !important;\n box-shadow: none !important;\n }\n\n .ant-picker-active-bar {\n display: none !important;\n }\n\n .ant-picker-input > input {\n font-size: 14px;\n line-height: 20px;\n color: ${cssVar.colorText};\n\n outline: none;\n box-shadow: none;\n }\n `,\n editorInput: css`\n flex: 1;\n\n min-width: 0;\n height: 100%;\n margin: 0;\n padding: 0;\n border: 0;\n\n font: inherit;\n font-size: 14px;\n line-height: 20px;\n color: inherit;\n\n background: transparent;\n outline: none;\n caret-color: ${cssVar.colorText};\n `,\n copyButton: css`\n cursor: pointer;\n\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: 24px;\n height: 24px;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: 6px;\n\n color: ${cssVar.colorTextTertiary};\n\n background: transparent;\n\n &:hover {\n color: ${cssVar.colorText};\n background: ${cssVar.colorFillTertiary};\n }\n `,\n affix: css`\n flex: none;\n color: ${cssVar.colorText};\n `,\n picker: css`\n position: absolute;\n z-index: ${Z_POPPER};\n\n overflow: auto;\n display: flex;\n flex-direction: column;\n gap: 2px;\n\n box-sizing: border-box;\n\n /* 宽度由 placePicker 按「单元格宽 + 下限」算好写进行内样式。这里**不能再写 min-width** ——\n 它会盖掉那个下限(选项 240、地址表单 280),实测选项面板被顶成 200。 */\n max-height: 320px;\n padding: 6px;\n border: none;\n border-radius: 6px;\n\n font-size: 14px;\n color: ${cssVar.colorText};\n\n background: ${cssVar.colorBgElevated};\n\n /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */\n box-shadow:\n ${cssVar.boxShadowSecondary},\n 0 0 0 1px ${cssVar.colorSplit};\n `,\n /* 挂在 antd Input 上。Notion 编辑浮层的搜索是无图标、无底部分隔线的一行 placeholder。\n sticky:候选多时搜索框要吸在面板顶部。面板 padding 是 6px,负偏移才能贴住顶边。 */\n pickerSearch: css`\n position: sticky;\n z-index: 1;\n inset-block-start: -6px;\n\n flex: none;\n\n height: auto;\n padding-block: 4px;\n padding-inline: 6px;\n border-radius: 0;\n\n font-size: 14px;\n line-height: 20px;\n\n background: ${cssVar.colorBgElevated};\n\n /* borderless 的聚焦态会画一圈主色 outline —— 搜索框是 autoFocus,一打开就挂着蓝框。\n antd 那条是 .ant-input-borderless:focus-visible,特异性要压过它。 */\n &.ant-input-borderless:focus,\n &.ant-input-borderless:focus-visible,\n &.ant-input-outlined:focus,\n &.ant-input-outlined:focus-visible {\n outline: none;\n box-shadow: none;\n }\n `,\n addressForm: css`\n position: absolute;\n z-index: ${Z_POPPER};\n\n display: flex;\n flex-direction: column;\n gap: 6px;\n\n box-sizing: border-box;\n min-width: 280px;\n padding: ${cssVar.paddingXS};\n border: none;\n border-radius: 6px;\n\n font-size: 14px;\n color: ${cssVar.colorText};\n\n background: ${cssVar.colorBgElevated};\n\n /* 与 styles.editor 同一套:弥散层与那圈环都走 token,见那边的注释。 */\n box-shadow:\n ${cssVar.boxShadowSecondary},\n 0 0 0 1px ${cssVar.colorSplit};\n `,\n addressRow: css`\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 8px;\n `,\n addressField: css`\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n `,\n addressLabel: css`\n font-size: 11px;\n line-height: 16px;\n color: ${cssVar.colorTextTertiary};\n `,\n pickerItem: css`\n cursor: pointer;\n\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n\n /* 与 antd 下拉里的选项同高同圆角:optionHeight 就是 controlHeight,optionPadding 是\n 横向 controlPaddingHorizontal。竖向不写 padding,让两行的「姓名 + 说明」自己去撑。 */\n box-sizing: border-box;\n min-height: ${cssVar.controlHeight};\n padding-block: 0;\n padding-inline: ${cssVar.paddingSM};\n border: 0;\n border-radius: 6px;\n\n font: inherit;\n font-size: 14px;\n line-height: 20px;\n color: inherit;\n text-align: start;\n\n background: transparent;\n\n &:hover,\n &[data-active='true'] {\n background: ${cssVar.colorFillTertiary};\n }\n `,\n /* 人员行:头像 + 「姓名 / 说明」两行(参考图)。\n `flex: 1` 不能少:行的 `justify-content` 是 space-between,姓名块不撑开就会被推到行中间\n —— 头像贴左、姓名飘到正中、✓ 贴右,三截互不相干。撑开之后 ✓ 才是唯一被推到右边的元素。 */\n pickerRowMain: css`\n overflow: hidden;\n display: flex;\n flex: 1;\n flex-direction: column;\n\n min-width: 0;\n `,\n pickerRowName: css`\n overflow: hidden;\n\n font-size: 14px;\n line-height: 20px;\n color: ${cssVar.colorText};\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n pickerRowDescription: css`\n overflow: hidden;\n\n font-size: 12px;\n line-height: 16px;\n color: ${cssVar.colorTextTertiary};\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n check: css`\n flex: none;\n\n width: 14px;\n\n font-size: 12px;\n line-height: 1;\n color: ${cssVar.colorPrimary};\n `,\n}));\n"],"mappings":"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"}