@fangxinyan/lumina 0.6.13 → 0.6.15

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 (239) hide show
  1. package/dist/Alert.cjs +3 -3
  2. package/dist/Alert.js +2 -2
  3. package/dist/AppShell.cjs +5 -5
  4. package/dist/AppShell.js +1 -1
  5. package/dist/AutoComplete.cjs +5 -5
  6. package/dist/AutoComplete.js +4 -4
  7. package/dist/Avatar.cjs +2 -2
  8. package/dist/Avatar.js +1 -1
  9. package/dist/Badge.cjs +2 -2
  10. package/dist/Badge.js +1 -1
  11. package/dist/Button.cjs +4 -4
  12. package/dist/Button.js +2 -2
  13. package/dist/{Calendar-RUTPKREW.css → Calendar-I6NHCXIB.css} +65 -0
  14. package/dist/Calendar.cjs +3 -3
  15. package/dist/Calendar.d.cts +2 -0
  16. package/dist/Calendar.d.ts +2 -0
  17. package/dist/Calendar.js +2 -2
  18. package/dist/Card.cjs +3 -3
  19. package/dist/Card.js +2 -2
  20. package/dist/Cascader.cjs +5 -5
  21. package/dist/Cascader.js +4 -4
  22. package/dist/Checkbox.cjs +3 -3
  23. package/dist/Checkbox.js +2 -2
  24. package/dist/Collapse.cjs +3 -3
  25. package/dist/Collapse.js +2 -2
  26. package/dist/ColorPicker.cjs +2 -2
  27. package/dist/ColorPicker.js +1 -1
  28. package/dist/CommandPalette.cjs +5 -5
  29. package/dist/CommandPalette.js +4 -4
  30. package/dist/ContextMenu.cjs +2 -2
  31. package/dist/ContextMenu.js +1 -1
  32. package/dist/DatePicker-VDVSIARF.css +60 -0
  33. package/dist/DatePicker.cjs +16 -0
  34. package/dist/DatePicker.d.cts +49 -0
  35. package/dist/DatePicker.d.ts +49 -0
  36. package/dist/DatePicker.js +7 -0
  37. package/dist/DateTimePicker-77ZLZIWO.css +224 -0
  38. package/dist/DateTimePicker.cjs +16 -0
  39. package/dist/DateTimePicker.d.cts +61 -0
  40. package/dist/DateTimePicker.d.ts +61 -0
  41. package/dist/DateTimePicker.js +7 -0
  42. package/dist/Divider.cjs +2 -2
  43. package/dist/Divider.js +1 -1
  44. package/dist/{Drawer-7N3URAJ6.css → Drawer-7KICRM4L.css} +1 -1
  45. package/dist/Drawer.cjs +3 -3
  46. package/dist/Drawer.d.cts +4 -0
  47. package/dist/Drawer.d.ts +4 -0
  48. package/dist/Drawer.js +2 -2
  49. package/dist/Empty.cjs +2 -2
  50. package/dist/Empty.js +1 -1
  51. package/dist/Form.cjs +4 -4
  52. package/dist/Form.js +1 -1
  53. package/dist/Icon.cjs +49 -49
  54. package/dist/Icon.js +1 -1
  55. package/dist/{Image-SGSRTHQX.css → Image-TDCXJISG.css} +1 -1
  56. package/dist/Image.cjs +6 -6
  57. package/dist/Image.d.cts +4 -0
  58. package/dist/Image.d.ts +4 -0
  59. package/dist/Image.js +2 -2
  60. package/dist/Input.cjs +5 -5
  61. package/dist/Input.js +3 -3
  62. package/dist/InputNumber.cjs +5 -5
  63. package/dist/InputNumber.js +4 -4
  64. package/dist/List.cjs +2 -2
  65. package/dist/List.js +1 -1
  66. package/dist/Message.cjs +6 -6
  67. package/dist/Message.js +2 -2
  68. package/dist/{Modal-MCFDYVUQ.css → Modal-ZFWNFEA5.css} +1 -1
  69. package/dist/Modal.cjs +4 -4
  70. package/dist/Modal.d.cts +4 -0
  71. package/dist/Modal.d.ts +4 -0
  72. package/dist/Modal.js +3 -3
  73. package/dist/Pagination.cjs +7 -7
  74. package/dist/Pagination.js +6 -6
  75. package/dist/Popover.cjs +2 -2
  76. package/dist/Popover.js +1 -1
  77. package/dist/Progress.cjs +2 -2
  78. package/dist/Progress.js +1 -1
  79. package/dist/Radio.cjs +3 -3
  80. package/dist/Radio.js +1 -1
  81. package/dist/Select.cjs +6 -6
  82. package/dist/Select.js +5 -5
  83. package/dist/Skeleton.cjs +2 -2
  84. package/dist/Skeleton.js +1 -1
  85. package/dist/Slider.cjs +2 -2
  86. package/dist/Slider.js +1 -1
  87. package/dist/Spin.cjs +2 -2
  88. package/dist/Spin.js +1 -1
  89. package/dist/Splitter.cjs +2 -2
  90. package/dist/Splitter.js +1 -1
  91. package/dist/StatusBar.cjs +3 -3
  92. package/dist/StatusBar.js +1 -1
  93. package/dist/Surface.cjs +4 -4
  94. package/dist/Surface.js +2 -2
  95. package/dist/Switch.cjs +2 -2
  96. package/dist/Switch.js +1 -1
  97. package/dist/Table.cjs +9 -9
  98. package/dist/Table.js +8 -8
  99. package/dist/TablePro.cjs +10 -10
  100. package/dist/TablePro.js +9 -9
  101. package/dist/Tabs.cjs +2 -2
  102. package/dist/Tabs.js +1 -1
  103. package/dist/Tag.cjs +3 -3
  104. package/dist/Tag.js +2 -2
  105. package/dist/Textarea.cjs +4 -4
  106. package/dist/Textarea.js +2 -2
  107. package/dist/Theme.cjs +11 -11
  108. package/dist/Theme.js +1 -1
  109. package/dist/ThemePanel.cjs +13 -13
  110. package/dist/ThemePanel.js +10 -10
  111. package/dist/TimePicker-6URACYEH.css +151 -0
  112. package/dist/TimePicker.cjs +15 -0
  113. package/dist/TimePicker.d.cts +63 -0
  114. package/dist/TimePicker.d.ts +63 -0
  115. package/dist/TimePicker.js +6 -0
  116. package/dist/Timeline.cjs +3 -3
  117. package/dist/Timeline.js +2 -2
  118. package/dist/Tooltip.cjs +2 -2
  119. package/dist/Tooltip.js +1 -1
  120. package/dist/Typography.cjs +7 -7
  121. package/dist/Typography.js +2 -2
  122. package/dist/{chunk-J7VYTDFN.cjs → chunk-262ED6WQ.cjs} +3 -3
  123. package/dist/chunk-26AJ7OY3.cjs +505 -0
  124. package/dist/{chunk-BX45WJRT.js → chunk-3VSHGM54.js} +9 -9
  125. package/dist/{chunk-KRVWQKTZ.js → chunk-3VXGZ3SJ.js} +3 -3
  126. package/dist/{chunk-VJVXXCNL.js → chunk-4HJBF4GY.js} +3 -3
  127. package/dist/chunk-4KDABJSY.cjs +241 -0
  128. package/dist/{chunk-ONHYDQFP.cjs → chunk-4TTRHEGM.cjs} +3 -3
  129. package/dist/{chunk-GVULVTWO.js → chunk-4YSGGZDB.js} +4 -4
  130. package/dist/{chunk-HNP7KEQP.cjs → chunk-5A6KSYWA.cjs} +1 -1
  131. package/dist/{chunk-RFFP6J6O.cjs → chunk-5ERD3W24.cjs} +4 -4
  132. package/dist/{chunk-TTXYZDQ3.js → chunk-5MOYKVB7.js} +2 -2
  133. package/dist/{chunk-X2NY3YQS.cjs → chunk-5QEI7GGA.cjs} +6 -6
  134. package/dist/{chunk-O7OPFKAM.js → chunk-6HF6UF73.js} +2 -2
  135. package/dist/{chunk-DCATZUT3.js → chunk-6K5YI4ZE.js} +2 -2
  136. package/dist/{chunk-EVKLGNVR.js → chunk-6LC4QROE.js} +3 -3
  137. package/dist/{chunk-6Z4PZWND.js → chunk-6LN4VVX7.js} +2 -2
  138. package/dist/{chunk-7RNT6KN4.js → chunk-6MEOLYNQ.js} +1 -1
  139. package/dist/{chunk-UMLRSKBE.js → chunk-6PHPRZTT.js} +4 -4
  140. package/dist/{chunk-4VPRY4EM.cjs → chunk-6Q76VLCE.cjs} +3 -3
  141. package/dist/{chunk-SWMQ2GKT.cjs → chunk-7IO3EOHN.cjs} +3 -3
  142. package/dist/{chunk-B55XILNY.cjs → chunk-7QXP6DXC.cjs} +4 -4
  143. package/dist/{chunk-56GNNOOT.cjs → chunk-7YJV45U6.cjs} +11 -11
  144. package/dist/{chunk-AJ44ZLJY.cjs → chunk-A4Z7PLHV.cjs} +59 -59
  145. package/dist/{chunk-RUE3QE6T.js → chunk-A6O25EP2.js} +2 -2
  146. package/dist/{chunk-ZNR6LWTQ.js → chunk-AAPZLBHQ.js} +1 -1
  147. package/dist/{chunk-Q4IAUKAW.js → chunk-ARUPS7JH.js} +2 -2
  148. package/dist/{chunk-VAOAAWGI.cjs → chunk-ATUPFAPZ.cjs} +3 -3
  149. package/dist/{chunk-GKBCXYDF.cjs → chunk-BNY2NVTL.cjs} +3 -3
  150. package/dist/{chunk-7J26GI3T.cjs → chunk-BT2RXFT4.cjs} +15 -13
  151. package/dist/{chunk-WY6AEPFW.js → chunk-BVQOJKRX.js} +8 -6
  152. package/dist/{chunk-QPZCDZWI.cjs → chunk-BW76ENTW.cjs} +1 -1
  153. package/dist/{chunk-EKNDL2XB.js → chunk-CFZVWY5N.js} +2 -2
  154. package/dist/chunk-CUBKHQ63.js +483 -0
  155. package/dist/chunk-CYBBUXUK.cjs +415 -0
  156. package/dist/{chunk-JST4HJ3I.js → chunk-D7GK6H6V.js} +1 -1
  157. package/dist/{chunk-T7RV2UMU.js → chunk-DSLYWX4O.js} +1 -1
  158. package/dist/{chunk-JKFGLYMM.js → chunk-EQ4FPOQQ.js} +14 -4
  159. package/dist/{chunk-ZZH4UIPN.cjs → chunk-ES7AWMNH.cjs} +1 -1
  160. package/dist/{chunk-ZLMJVSBO.cjs → chunk-FDUQPAQE.cjs} +1 -1
  161. package/dist/{chunk-HHBXCBZP.js → chunk-FDZG27IG.js} +1 -1
  162. package/dist/chunk-FKP5D5IS.js +271 -0
  163. package/dist/{chunk-EEHZRPPF.cjs → chunk-FQJY4D3T.cjs} +1 -1
  164. package/dist/{chunk-LA62SD2F.js → chunk-FYSXJXNW.js} +1 -1
  165. package/dist/{chunk-DEXYWDHF.js → chunk-GNV6W4BN.js} +1 -1
  166. package/dist/{chunk-NZBOHEQA.js → chunk-HBO7ZDEQ.js} +1 -1
  167. package/dist/{chunk-BAWP2QVY.js → chunk-I777JTTG.js} +1 -1
  168. package/dist/chunk-I7TOBKJO.js +219 -0
  169. package/dist/{chunk-IZGHMMX7.js → chunk-IOAOG5L7.js} +3 -3
  170. package/dist/{chunk-QQROR2RU.cjs → chunk-IOUAZYK2.cjs} +1 -1
  171. package/dist/{chunk-CQKQ7KS2.js → chunk-IPSNC5VZ.js} +2 -2
  172. package/dist/{chunk-7X7FXV5E.cjs → chunk-IVFVLRWJ.cjs} +14 -14
  173. package/dist/{chunk-LM5XXSGE.js → chunk-IZHH6CVY.js} +1 -1
  174. package/dist/{chunk-GGNBMIZ2.js → chunk-JFL2WMJZ.js} +2 -2
  175. package/dist/{chunk-XRIXQM3Z.cjs → chunk-JMFHL7GN.cjs} +1 -1
  176. package/dist/chunk-KHRYPNUV.cjs +293 -0
  177. package/dist/{chunk-LFPFFSN2.js → chunk-KMPFESEV.js} +1 -1
  178. package/dist/{chunk-TAHZH6DJ.js → chunk-KYV75JPQ.js} +1 -1
  179. package/dist/{chunk-2A2XM7D5.cjs → chunk-LEMMFFEY.cjs} +4 -4
  180. package/dist/{chunk-MZIZGYA4.cjs → chunk-M4NJTJKV.cjs} +1 -1
  181. package/dist/{chunk-HYXA7S43.js → chunk-MOZ52KN6.js} +1 -1
  182. package/dist/{chunk-E5MSFY5H.cjs → chunk-MPOO5VPW.cjs} +1 -1
  183. package/dist/{chunk-MPJLGYFV.cjs → chunk-MYW7LNB2.cjs} +1 -1
  184. package/dist/chunk-N7CHFKRS.js +393 -0
  185. package/dist/{chunk-VBTASJ3Y.cjs → chunk-N7OQNSII.cjs} +1 -1
  186. package/dist/{chunk-VGERRI4S.js → chunk-OTSDPQPV.js} +2 -2
  187. package/dist/{chunk-7NAN7OVX.cjs → chunk-P2OQTJZP.cjs} +1 -1
  188. package/dist/{chunk-HAA5C5YW.js → chunk-P64NPZBG.js} +2 -2
  189. package/dist/{chunk-QP6RNHGR.cjs → chunk-PBT4UKPL.cjs} +3 -3
  190. package/dist/{chunk-FUR5SDP7.cjs → chunk-PKNRTFNE.cjs} +1 -1
  191. package/dist/{chunk-FPXBY2MY.cjs → chunk-POU3W5J3.cjs} +1 -1
  192. package/dist/{chunk-SOY3LB7W.cjs → chunk-PSQ3HNZP.cjs} +1 -1
  193. package/dist/{chunk-BK4XKZUO.js → chunk-PU7VXDAS.js} +1 -1
  194. package/dist/{chunk-OCQC2ZSV.cjs → chunk-QMX67CVT.cjs} +1 -1
  195. package/dist/{chunk-R3JCW3ES.js → chunk-QNN3YV2P.js} +2 -2
  196. package/dist/{chunk-V5HMQGFD.js → chunk-R3DTXVP2.js} +1 -1
  197. package/dist/{chunk-EQGNKCBY.cjs → chunk-RFI5R42I.cjs} +4 -4
  198. package/dist/{chunk-FROWMHDP.cjs → chunk-RMFSX7DO.cjs} +18 -8
  199. package/dist/{chunk-TCWGIRAW.js → chunk-RR2BKV65.js} +1 -1
  200. package/dist/{chunk-YHFGMI7T.cjs → chunk-RSSOX4RQ.cjs} +8 -8
  201. package/dist/{chunk-3XV4LGQ7.cjs → chunk-RZEFKXL3.cjs} +3 -3
  202. package/dist/{chunk-GDWAQGOH.cjs → chunk-S2ZGXBUH.cjs} +1 -1
  203. package/dist/{chunk-M63HWVOS.js → chunk-S7IHWY24.js} +2 -2
  204. package/dist/{chunk-NLX2RB4L.cjs → chunk-SOQ56ZI2.cjs} +1 -1
  205. package/dist/{chunk-RV37BGW3.cjs → chunk-SW2HMNCA.cjs} +4 -4
  206. package/dist/{chunk-UVL5SIAQ.cjs → chunk-TBNPJPYG.cjs} +1 -1
  207. package/dist/{chunk-QVWCUKEY.js → chunk-TJECLLN4.js} +1 -1
  208. package/dist/{chunk-E2OC4CUE.js → chunk-TYLDISRK.js} +1 -1
  209. package/dist/{chunk-23HN42SP.cjs → chunk-ULUD3FED.cjs} +9 -6
  210. package/dist/{chunk-LINUXKS7.cjs → chunk-V5KUC5VH.cjs} +1 -1
  211. package/dist/{chunk-U2543OZS.cjs → chunk-VA2I7ZAL.cjs} +1 -1
  212. package/dist/{chunk-7TWL3SJ5.cjs → chunk-VS3I5OKA.cjs} +8 -8
  213. package/dist/{chunk-A7BI7YWZ.js → chunk-WMGMIE2D.js} +8 -5
  214. package/dist/{chunk-CCBEHIRU.cjs → chunk-X5MYHDEQ.cjs} +6 -6
  215. package/dist/{chunk-QSGH4FCS.cjs → chunk-X7XP6GEI.cjs} +1 -1
  216. package/dist/{chunk-UROQO2HR.js → chunk-XCXUGHDF.js} +1 -1
  217. package/dist/{chunk-2M5WJENK.js → chunk-YAFDVNXT.js} +1 -1
  218. package/dist/{chunk-PDYM26IC.cjs → chunk-ZBWUIR2J.cjs} +6 -6
  219. package/dist/{chunk-5GKALAMP.js → chunk-ZD3L4V3H.js} +2 -2
  220. package/dist/{chunk-XJTDCWKP.js → chunk-ZR4IMROK.js} +1 -1
  221. package/dist/{chunk-5MCFW2HC.js → chunk-ZTCRD2FL.js} +1 -1
  222. package/dist/index.cjs +214 -199
  223. package/dist/index.d.cts +4 -1
  224. package/dist/index.d.ts +4 -1
  225. package/dist/index.js +51 -48
  226. package/dist/styles.css +445 -3
  227. package/dist/{tokens-OJLK3XMZ.css → tokens-RYJ3DFTU.css} +3 -0
  228. package/dist/tokens.css +3 -0
  229. package/docs/llms/calendar.md +2 -1
  230. package/docs/llms/datepicker.md +69 -0
  231. package/docs/llms/datetimepicker.md +83 -0
  232. package/docs/llms/drawer.md +13 -0
  233. package/docs/llms/image.md +14 -0
  234. package/docs/llms/modal.md +13 -0
  235. package/docs/llms/timepicker.md +81 -0
  236. package/docs/llms.md +5 -2
  237. package/package.json +7 -3
  238. package/dist/chunk-56U4P7QA.cjs +0 -112
  239. package/dist/chunk-J3LUTXVO.js +0 -90
package/dist/index.d.cts CHANGED
@@ -24,7 +24,10 @@ export { Alert, AlertProps, AlertTone } from './Alert.cjs';
24
24
  export { ExpandableConfig, PaginationConfig, RowKey, RowSelectionConfig, Table, TableColumn, TableColumnFilterItem, TableProps, TableScrollConfig, TableVariant } from './Table.cjs';
25
25
  export { TablePro, TableProProps } from './TablePro.cjs';
26
26
  export { Pagination, PaginationProps } from './Pagination.cjs';
27
+ export { DatePicker, DatePickerFormat, DatePickerProps, DatePickerSize } from './DatePicker.cjs';
28
+ export { DateTimePicker, DateTimePickerFormat, DateTimePickerProps, DateTimePickerSize } from './DateTimePicker.cjs';
27
29
  export { Calendar, CalendarProps } from './Calendar.cjs';
30
+ export { TimePicker, TimePickerFormat, TimePickerProps, TimePickerSize, TimePickerValue } from './TimePicker.cjs';
28
31
  export { List, ListItem, ListProps } from './List.cjs';
29
32
  export { AppShell, AppShellProps, Sidebar, SidebarItem, SidebarProps, TitleBar, TitleBarProps, WindowControls, WindowControlsProps } from './AppShell.cjs';
30
33
  export { StatusBar, StatusBarItem, StatusBarItemProps, StatusBarProps } from './StatusBar.cjs';
@@ -49,6 +52,6 @@ import 'react/jsx-runtime';
49
52
  import 'react';
50
53
 
51
54
  /** Package version — bumped by release scripts. */
52
- declare const VERSION = "0.6.13";
55
+ declare const VERSION = "0.6.15";
53
56
 
54
57
  export { VERSION };
package/dist/index.d.ts CHANGED
@@ -24,7 +24,10 @@ export { Alert, AlertProps, AlertTone } from './Alert.js';
24
24
  export { ExpandableConfig, PaginationConfig, RowKey, RowSelectionConfig, Table, TableColumn, TableColumnFilterItem, TableProps, TableScrollConfig, TableVariant } from './Table.js';
25
25
  export { TablePro, TableProProps } from './TablePro.js';
26
26
  export { Pagination, PaginationProps } from './Pagination.js';
27
+ export { DatePicker, DatePickerFormat, DatePickerProps, DatePickerSize } from './DatePicker.js';
28
+ export { DateTimePicker, DateTimePickerFormat, DateTimePickerProps, DateTimePickerSize } from './DateTimePicker.js';
27
29
  export { Calendar, CalendarProps } from './Calendar.js';
30
+ export { TimePicker, TimePickerFormat, TimePickerProps, TimePickerSize, TimePickerValue } from './TimePicker.js';
28
31
  export { List, ListItem, ListProps } from './List.js';
29
32
  export { AppShell, AppShellProps, Sidebar, SidebarItem, SidebarProps, TitleBar, TitleBarProps, WindowControls, WindowControlsProps } from './AppShell.js';
30
33
  export { StatusBar, StatusBarItem, StatusBarItemProps, StatusBarProps } from './StatusBar.js';
@@ -49,6 +52,6 @@ import 'react/jsx-runtime';
49
52
  import 'react';
50
53
 
51
54
  /** Package version — bumped by release scripts. */
52
- declare const VERSION = "0.6.13";
55
+ declare const VERSION = "0.6.15";
53
56
 
54
57
  export { VERSION };
package/dist/index.js CHANGED
@@ -1,54 +1,57 @@
1
- export { Tabs } from './chunk-5MCFW2HC.js';
2
- export { THEME_PANEL_DEFAULT_PRESET_OPTIONS, THEME_PANEL_DEFAULT_THEME_PRESETS, ThemePanel } from './chunk-BX45WJRT.js';
3
- export { Timeline } from './chunk-VGERRI4S.js';
4
- export { Tooltip } from './chunk-HYXA7S43.js';
5
- export { Link, Paragraph, Text, Title, Typography } from './chunk-O7OPFKAM.js';
6
- export { Slider } from './chunk-JST4HJ3I.js';
7
- export { Splitter } from './chunk-LM5XXSGE.js';
8
- export { StatusBar, StatusBarItem } from './chunk-E2OC4CUE.js';
9
- export { SURFACE_THEME_PRESETS, Surface } from './chunk-GGNBMIZ2.js';
1
+ export { Timeline } from './chunk-OTSDPQPV.js';
2
+ export { Tooltip } from './chunk-MOZ52KN6.js';
3
+ export { Link, Paragraph, Text, Title, Typography } from './chunk-6HF6UF73.js';
4
+ export { TablePro } from './chunk-QNN3YV2P.js';
5
+ export { Table } from './chunk-4YSGGZDB.js';
6
+ export { Tabs } from './chunk-ZTCRD2FL.js';
7
+ export { THEME_PANEL_DEFAULT_PRESET_OPTIONS, THEME_PANEL_DEFAULT_THEME_PRESETS, ThemePanel } from './chunk-3VSHGM54.js';
8
+ export { TimePicker } from './chunk-N7CHFKRS.js';
9
+ export { Skeleton } from './chunk-R3DTXVP2.js';
10
+ export { Slider } from './chunk-D7GK6H6V.js';
11
+ export { Splitter } from './chunk-IZHH6CVY.js';
12
+ export { StatusBar, StatusBarItem } from './chunk-TYLDISRK.js';
13
+ export { SURFACE_THEME_PRESETS, Surface } from './chunk-JFL2WMJZ.js';
10
14
  import './chunk-6SPMHY54.js';
11
- export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, FONT_STACKS, ThemeProvider, applyTheme, normalizeAccentInput, resolveThemeColorScheme, resolveThemeMode, useTheme, useThemeOptional } from './chunk-DEXYWDHF.js';
12
- export { Switch } from './chunk-BK4XKZUO.js';
13
- export { TablePro } from './chunk-R3JCW3ES.js';
14
- export { Table } from './chunk-GVULVTWO.js';
15
- export { MessageContainer, ToastContainer, message, toast } from './chunk-HAA5C5YW.js';
16
- export { Modal } from './chunk-WY6AEPFW.js';
17
- export { Pagination } from './chunk-EVKLGNVR.js';
18
- export { Popover } from './chunk-BAWP2QVY.js';
19
- export { Progress } from './chunk-LFPFFSN2.js';
20
- export { Radio, RadioGroup } from './chunk-TAHZH6DJ.js';
21
- export { Select } from './chunk-UMLRSKBE.js';
22
- export { Tag } from './chunk-DCATZUT3.js';
23
- export { Skeleton } from './chunk-V5HMQGFD.js';
24
- export { Drawer } from './chunk-A7BI7YWZ.js';
25
- export { Empty } from './chunk-7RNT6KN4.js';
26
- export { Form, FormItem, useForm } from './chunk-XJTDCWKP.js';
27
- export { Image, ImageGrid, LayeredImage, SpriteImage } from './chunk-JKFGLYMM.js';
28
- export { InputNumber } from './chunk-KRVWQKTZ.js';
29
- export { List } from './chunk-2M5WJENK.js';
30
- export { Card } from './chunk-Q4IAUKAW.js';
31
- export { Spin } from './chunk-LA62SD2F.js';
32
- export { Cascader } from './chunk-VJVXXCNL.js';
33
- export { Checkbox } from './chunk-5GKALAMP.js';
34
- export { Collapse } from './chunk-6Z4PZWND.js';
35
- export { ColorPicker } from './chunk-QVWCUKEY.js';
36
- export { CommandPalette } from './chunk-TTXYZDQ3.js';
37
- export { ContextMenu } from './chunk-ZNR6LWTQ.js';
38
- export { Divider } from './chunk-NZBOHEQA.js';
39
- export { Alert } from './chunk-RUE3QE6T.js';
40
- export { AppShell, Sidebar, TitleBar, WindowControls } from './chunk-UROQO2HR.js';
41
- export { AutoComplete } from './chunk-EKNDL2XB.js';
15
+ export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, FONT_STACKS, ThemeProvider, applyTheme, normalizeAccentInput, resolveThemeColorScheme, resolveThemeMode, useTheme, useThemeOptional } from './chunk-GNV6W4BN.js';
16
+ export { Switch } from './chunk-PU7VXDAS.js';
17
+ export { InputNumber } from './chunk-3VXGZ3SJ.js';
18
+ export { List } from './chunk-YAFDVNXT.js';
19
+ export { MessageContainer, ToastContainer, message, toast } from './chunk-P64NPZBG.js';
20
+ export { Modal } from './chunk-BVQOJKRX.js';
21
+ export { Pagination } from './chunk-6LC4QROE.js';
22
+ export { Select } from './chunk-6PHPRZTT.js';
23
+ export { Tag } from './chunk-6K5YI4ZE.js';
24
+ export { Popover } from './chunk-I777JTTG.js';
25
+ export { Progress } from './chunk-KMPFESEV.js';
26
+ export { Radio, RadioGroup } from './chunk-KYV75JPQ.js';
27
+ export { DateTimePicker } from './chunk-CUBKHQ63.js';
28
+ export { Divider } from './chunk-HBO7ZDEQ.js';
29
+ export { Drawer } from './chunk-WMGMIE2D.js';
30
+ export { Empty } from './chunk-6MEOLYNQ.js';
31
+ export { Form, FormItem, useForm } from './chunk-ZR4IMROK.js';
32
+ export { Image, ImageGrid, LayeredImage, SpriteImage } from './chunk-EQ4FPOQQ.js';
33
+ export { Card } from './chunk-ARUPS7JH.js';
34
+ export { Spin } from './chunk-FYSXJXNW.js';
35
+ export { Cascader } from './chunk-4HJBF4GY.js';
36
+ export { Checkbox } from './chunk-ZD3L4V3H.js';
37
+ export { Collapse } from './chunk-6LN4VVX7.js';
38
+ export { ColorPicker } from './chunk-TJECLLN4.js';
39
+ export { CommandPalette } from './chunk-5MOYKVB7.js';
40
+ export { ContextMenu } from './chunk-AAPZLBHQ.js';
41
+ export { DatePicker } from './chunk-FKP5D5IS.js';
42
+ export { Alert } from './chunk-A6O25EP2.js';
43
+ export { AppShell, Sidebar, TitleBar, WindowControls } from './chunk-XCXUGHDF.js';
44
+ export { AutoComplete } from './chunk-CFZVWY5N.js';
42
45
  import './chunk-DUFRASGO.js';
43
- export { Input, InputPassword } from './chunk-IZGHMMX7.js';
44
- export { TextArea, Textarea } from './chunk-M63HWVOS.js';
45
- export { Avatar } from './chunk-TCWGIRAW.js';
46
- export { Badge } from './chunk-T7RV2UMU.js';
47
- export { Button, IconButton } from './chunk-CQKQ7KS2.js';
48
- export { Calendar } from './chunk-J3LUTXVO.js';
49
- export { AimOutlined, AppstoreOutlined, BarChartOutlined, BlockOutlined, BorderOutlined, CameraOutlined, CaretDownOutlined, CaretUpOutlined, CheckCircleFilled, CheckCircleOutlined, CheckOutlined, ClockCircleFilled, CloseCircleOutlined, CloseOutlined, CopyOutlined, DashboardOutlined, DeleteOutlined, DownOutlined, EnvironmentOutlined, ExclamationCircleOutlined, FolderOpenOutlined, ICON_NAMES, Icon, LeftOutlined, LoadingOutlined, MinusCircleOutlined, MinusOutlined, NAMED_ICON_MAP, PictureOutlined, PlusOutlined, QqOutlined, ReloadOutlined, RightOutlined, RobotOutlined, SearchOutlined, SettingOutlined, StarFilled, StarOutlined, SwapOutlined, SwapRightOutlined, SyncOutlined, ThunderboltOutlined, TranslationOutlined, UnorderedListOutlined, UserOutlined, isIconName, renderIconSlot, resolveIconName } from './chunk-HHBXCBZP.js';
46
+ export { Input, InputPassword } from './chunk-IOAOG5L7.js';
47
+ export { TextArea, Textarea } from './chunk-S7IHWY24.js';
48
+ export { Avatar } from './chunk-RR2BKV65.js';
49
+ export { Badge } from './chunk-DSLYWX4O.js';
50
+ export { Button, IconButton } from './chunk-IPSNC5VZ.js';
51
+ export { Calendar } from './chunk-I7TOBKJO.js';
52
+ export { AimOutlined, AppstoreOutlined, BarChartOutlined, BlockOutlined, BorderOutlined, CameraOutlined, CaretDownOutlined, CaretUpOutlined, CheckCircleFilled, CheckCircleOutlined, CheckOutlined, ClockCircleFilled, CloseCircleOutlined, CloseOutlined, CopyOutlined, DashboardOutlined, DeleteOutlined, DownOutlined, EnvironmentOutlined, ExclamationCircleOutlined, FolderOpenOutlined, ICON_NAMES, Icon, LeftOutlined, LoadingOutlined, MinusCircleOutlined, MinusOutlined, NAMED_ICON_MAP, PictureOutlined, PlusOutlined, QqOutlined, ReloadOutlined, RightOutlined, RobotOutlined, SearchOutlined, SettingOutlined, StarFilled, StarOutlined, SwapOutlined, SwapRightOutlined, SyncOutlined, ThunderboltOutlined, TranslationOutlined, UnorderedListOutlined, UserOutlined, isIconName, renderIconSlot, resolveIconName } from './chunk-FDZG27IG.js';
50
53
 
51
54
  // src/index.ts
52
- var VERSION = "0.6.13";
55
+ var VERSION = "0.6.15";
53
56
 
54
57
  export { VERSION };
package/dist/styles.css CHANGED
@@ -13,6 +13,7 @@
13
13
  --fg-subtle: #9ca7ba;
14
14
  --border: rgba(130, 148, 175, 0.14);
15
15
  --divider: rgba(130, 148, 175, 0.18);
16
+ --mask-bg: color-mix(in oklch, black 18%, transparent);
16
17
 
17
18
  /* ---- Shadows ---- */
18
19
  --shadow-dark: rgba(163, 177, 198, 0.55);
@@ -138,6 +139,7 @@
138
139
  --fg-subtle: #9ca7ba;
139
140
  --border: rgba(130, 148, 175, 0.14);
140
141
  --divider: rgba(130, 148, 175, 0.18);
142
+ --mask-bg: color-mix(in oklch, black 18%, transparent);
141
143
  --shadow-dark: rgba(163, 177, 198, 0.55);
142
144
  --shadow-light: rgba(255, 255, 255, 0.95);
143
145
  --shadow-offset: calc(6px * var(--d) * var(--shadow-scale));
@@ -159,6 +161,7 @@
159
161
  --fg-subtle: #5f6a82;
160
162
  --border: rgba(0, 0, 0, 0.35);
161
163
  --divider: rgba(255, 255, 255, 0.06);
164
+ --mask-bg: color-mix(in oklch, black 55%, transparent);
162
165
  /* 强 dark shadow 提供深度;light 高光几乎不可见,去掉白圈效果 */
163
166
  --shadow-dark: rgba(0, 0, 0, 0.55);
164
167
  --shadow-light: rgba(130, 145, 180, 0.06);
@@ -1628,7 +1631,7 @@ input, textarea, select { font-family: inherit; color: inherit; }
1628
1631
  .modal-overlay {
1629
1632
  position: fixed;
1630
1633
  inset: 0;
1631
- background: color-mix(in oklch, var(--bg-sunken) 60%, transparent);
1634
+ background: var(--modal-mask-bg, var(--mask-bg));
1632
1635
  backdrop-filter: blur(8px);
1633
1636
  display: grid;
1634
1637
  place-items: center;
@@ -1723,7 +1726,7 @@ input, textarea, select { font-family: inherit; color: inherit; }
1723
1726
  .drawer-overlay {
1724
1727
  position: fixed;
1725
1728
  inset: 0;
1726
- background: color-mix(in oklch, var(--bg-sunken) 50%, transparent);
1729
+ background: var(--drawer-mask-bg, var(--mask-bg));
1727
1730
  backdrop-filter: blur(4px);
1728
1731
  z-index: 150;
1729
1732
  animation: fadeIn var(--dur) var(--ease);
@@ -2565,6 +2568,249 @@ input, textarea, select { font-family: inherit; color: inherit; }
2565
2568
  .skeleton-box .skeleton-row {
2566
2569
  display: block;
2567
2570
  }
2571
+ /* ============ DatePicker ============ */
2572
+ .date-picker {
2573
+ position: relative;
2574
+ display: inline-block;
2575
+ width: 100%;
2576
+ min-width: 180px;
2577
+ }
2578
+ .date-picker.disabled {
2579
+ opacity: 0.55;
2580
+ pointer-events: none;
2581
+ }
2582
+ .date-picker.readonly .input-wrap {
2583
+ cursor: default;
2584
+ }
2585
+ .date-picker .input-wrap {
2586
+ width: 100%;
2587
+ }
2588
+ .date-picker.open .input-wrap {
2589
+ box-shadow: var(--neu-shadow-inset);
2590
+ }
2591
+ .date-picker-panel {
2592
+ position: fixed;
2593
+ z-index: 1000;
2594
+ width: 344px;
2595
+ padding: var(--gap-3);
2596
+ border-radius: var(--r-md);
2597
+ background: var(--bg);
2598
+ box-shadow: var(--neu-shadow-float);
2599
+ animation: menuIn var(--dur) var(--ease);
2600
+ }
2601
+ .date-picker-panel .calendar {
2602
+ width: 100%;
2603
+ padding: 0;
2604
+ background: transparent;
2605
+ box-shadow: none;
2606
+ }
2607
+ .date-picker-panel .calendar-head {
2608
+ padding: 0 0 var(--gap-3);
2609
+ }
2610
+ .date-picker-footer {
2611
+ display: flex;
2612
+ align-items: center;
2613
+ gap: var(--gap-2);
2614
+ margin-top: var(--gap-3);
2615
+ padding-top: var(--gap-3);
2616
+ border-top: 1px solid var(--divider);
2617
+ }
2618
+ .date-picker-footer-spacer {
2619
+ flex: 1;
2620
+ min-width: 0;
2621
+ }
2622
+ /* ============ DateTimePicker ============ */
2623
+ .date-time-picker {
2624
+ position: relative;
2625
+ display: inline-block;
2626
+ width: 100%;
2627
+ min-width: 220px;
2628
+ }
2629
+ .date-time-picker.disabled {
2630
+ opacity: 0.55;
2631
+ pointer-events: none;
2632
+ }
2633
+ .date-time-picker.readonly .input-wrap {
2634
+ cursor: default;
2635
+ }
2636
+ .date-time-picker .input-wrap {
2637
+ width: 100%;
2638
+ }
2639
+ .date-time-picker.open .input-wrap {
2640
+ box-shadow: var(--neu-shadow-inset);
2641
+ }
2642
+ .date-time-picker-panel {
2643
+ position: fixed;
2644
+ z-index: 1000;
2645
+ width: 476px;
2646
+ padding: var(--gap-2) var(--gap-3);
2647
+ border-radius: var(--r-md);
2648
+ background: var(--bg);
2649
+ box-shadow:
2650
+ 0 calc(var(--shadow-offset) * 1.1) calc(var(--shadow-blur) * 1.3) color-mix(in oklch, var(--shadow-dark) 72%, transparent),
2651
+ inset 0 0 0 1px var(--divider);
2652
+ animation: menuIn var(--dur) var(--ease);
2653
+ }
2654
+ .date-time-picker-body {
2655
+ display: grid;
2656
+ grid-template-columns: 272px minmax(0, 168px);
2657
+ gap: var(--gap-3);
2658
+ align-items: start;
2659
+ }
2660
+ .date-time-picker-panel .calendar {
2661
+ width: 100%;
2662
+ padding: 0;
2663
+ background: transparent;
2664
+ box-shadow: none;
2665
+ }
2666
+ .date-time-picker-panel .calendar-head {
2667
+ padding: 0 0 var(--gap-1);
2668
+ }
2669
+ .date-time-picker-panel .calendar-title {
2670
+ padding: var(--gap-1) var(--gap-2);
2671
+ font-size: var(--fs-sm);
2672
+ }
2673
+ .date-time-picker-panel .calendar-title-part {
2674
+ padding: var(--gap-1) 6px;
2675
+ font-size: var(--fs-sm);
2676
+ }
2677
+ .date-time-picker-panel .calendar-grid {
2678
+ gap: 1px;
2679
+ min-height: 222px;
2680
+ }
2681
+ .date-time-picker-panel .calendar-dow {
2682
+ padding: var(--gap-1) 0;
2683
+ }
2684
+ .date-time-picker-panel .calendar-cell {
2685
+ aspect-ratio: auto;
2686
+ height: 32px;
2687
+ font-size: var(--fs-xs);
2688
+ border-radius: 7px;
2689
+ }
2690
+ .date-time-picker-panel .calendar-cell.today::after {
2691
+ bottom: 3px;
2692
+ }
2693
+ .date-time-picker-panel .calendar-select-grid {
2694
+ min-height: 222px;
2695
+ gap: var(--gap-1);
2696
+ }
2697
+ .date-time-picker-panel .calendar-select-option {
2698
+ height: 34px;
2699
+ font-size: var(--fs-xs);
2700
+ }
2701
+ .date-time-picker-time {
2702
+ min-width: 0;
2703
+ }
2704
+ .date-time-picker-time-columns {
2705
+ display: grid;
2706
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2707
+ padding: 8px;
2708
+ border-radius: var(--r-sm);
2709
+ background: var(--bg);
2710
+ box-shadow: inset 0 0 0 1px var(--divider);
2711
+ overflow: hidden;
2712
+ }
2713
+ .date-time-picker-panel.without-second .date-time-picker-time-columns {
2714
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2715
+ }
2716
+ .date-time-picker-time-column {
2717
+ min-width: 0;
2718
+ }
2719
+ .date-time-picker-time-column + .date-time-picker-time-column {
2720
+ border-left: 1px solid var(--divider);
2721
+ }
2722
+ .date-time-picker-time-label {
2723
+ height: 20px;
2724
+ display: grid;
2725
+ place-items: center;
2726
+ font-size: var(--fs-xs);
2727
+ font-weight: 700;
2728
+ color: var(--fg-muted);
2729
+ }
2730
+ .date-time-picker-time-list {
2731
+ display: flex;
2732
+ flex-direction: column;
2733
+ gap: 4px;
2734
+ height: 220px;
2735
+ overflow-y: auto;
2736
+ padding: 90px 5px;
2737
+ scroll-padding: 90px 0;
2738
+ scrollbar-width: none;
2739
+ -webkit-mask-image: linear-gradient(to bottom, transparent 0, black 20px, black calc(100% - 20px), transparent 100%);
2740
+ mask-image: linear-gradient(to bottom, transparent 0, black 20px, black calc(100% - 20px), transparent 100%);
2741
+ }
2742
+ .date-time-picker-time-list::-webkit-scrollbar {
2743
+ width: 0;
2744
+ height: 0;
2745
+ }
2746
+ .date-time-picker-time-option {
2747
+ flex: 0 0 28px;
2748
+ width: 100%;
2749
+ height: 28px;
2750
+ border: none;
2751
+ border-radius: 7px;
2752
+ background: transparent;
2753
+ color: var(--fg);
2754
+ cursor: pointer;
2755
+ font: 600 var(--fs-md) var(--font-mono);
2756
+ transition:
2757
+ color var(--dur-fast) var(--ease),
2758
+ background var(--dur-fast) var(--ease),
2759
+ box-shadow var(--dur-fast) var(--ease);
2760
+ }
2761
+ .date-time-picker-time-option:hover:not(:disabled) {
2762
+ color: var(--accent-ink);
2763
+ background: var(--bg);
2764
+ box-shadow: var(--neu-shadow-subtle);
2765
+ }
2766
+ .date-time-picker-time-option.selected {
2767
+ color: var(--accent-ink);
2768
+ background: var(--bg);
2769
+ box-shadow: var(--neu-shadow-subtle);
2770
+ }
2771
+ .date-time-picker-time-option:disabled {
2772
+ color: var(--fg-subtle);
2773
+ cursor: not-allowed;
2774
+ opacity: 0.45;
2775
+ }
2776
+ .date-time-picker-footer {
2777
+ display: flex;
2778
+ align-items: center;
2779
+ gap: var(--gap-2);
2780
+ margin-top: var(--gap-2);
2781
+ padding-top: var(--gap-2);
2782
+ border-top: 1px solid var(--divider);
2783
+ }
2784
+ .date-time-picker-footer-spacer {
2785
+ flex: 1;
2786
+ min-width: 0;
2787
+ }
2788
+ .date-time-picker-footer .btn {
2789
+ min-width: 54px;
2790
+ }
2791
+ @media (max-width: 640px) {
2792
+ .date-time-picker-panel {
2793
+ width: 332px;
2794
+ }
2795
+
2796
+ .date-time-picker-body {
2797
+ display: block;
2798
+ }
2799
+
2800
+ .date-time-picker-time {
2801
+ margin-top: var(--gap-3);
2802
+ }
2803
+
2804
+ .date-time-picker-time-columns {
2805
+ height: auto;
2806
+ }
2807
+
2808
+ .date-time-picker-time-list {
2809
+ height: 118px;
2810
+ padding: 28px 8px;
2811
+ scroll-padding: 28px 0;
2812
+ }
2813
+ }
2568
2814
  /* ============ Calendar ============ */
2569
2815
  .calendar {
2570
2816
  background: var(--bg);
@@ -2586,6 +2832,36 @@ input, textarea, select { font-family: inherit; color: inherit; }
2586
2832
  transition: all var(--dur-fast) var(--ease);
2587
2833
  }
2588
2834
  .calendar-title:hover { background: var(--bg); box-shadow: var(--neu-shadow-subtle); }
2835
+ .calendar-title.static {
2836
+ cursor: default;
2837
+ }
2838
+ .calendar-title.static:hover {
2839
+ background: transparent;
2840
+ box-shadow: none;
2841
+ }
2842
+ .calendar-title-group {
2843
+ display: inline-flex;
2844
+ align-items: center;
2845
+ gap: var(--gap-1);
2846
+ }
2847
+ .calendar-title-part {
2848
+ border: none;
2849
+ border-radius: var(--r-sm);
2850
+ padding: 6px 8px;
2851
+ background: transparent;
2852
+ color: var(--fg);
2853
+ cursor: pointer;
2854
+ font: 600 14px var(--font-sans);
2855
+ transition:
2856
+ color var(--dur-fast) var(--ease),
2857
+ background var(--dur-fast) var(--ease),
2858
+ box-shadow var(--dur-fast) var(--ease);
2859
+ }
2860
+ .calendar-title-part:hover {
2861
+ color: var(--accent-ink);
2862
+ background: var(--bg);
2863
+ box-shadow: var(--neu-shadow-subtle);
2864
+ }
2589
2865
  .calendar-grid {
2590
2866
  display: grid;
2591
2867
  grid-template-columns: repeat(7, 1fr);
@@ -2630,6 +2906,172 @@ input, textarea, select { font-family: inherit; color: inherit; }
2630
2906
  }
2631
2907
  .calendar-cell.disabled { color: var(--fg-subtle); opacity: 0.4; cursor: not-allowed; }
2632
2908
  .calendar-cell.disabled:hover { background: transparent; box-shadow: none; }
2909
+ .calendar-select-grid {
2910
+ display: grid;
2911
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2912
+ gap: var(--gap-2);
2913
+ min-height: 244px;
2914
+ align-content: center;
2915
+ }
2916
+ .calendar-select-option {
2917
+ height: 42px;
2918
+ border: none;
2919
+ border-radius: var(--r-sm);
2920
+ background: transparent;
2921
+ color: var(--fg);
2922
+ cursor: pointer;
2923
+ font: 600 var(--fs-md) var(--font-mono);
2924
+ transition:
2925
+ color var(--dur-fast) var(--ease),
2926
+ background var(--dur-fast) var(--ease),
2927
+ box-shadow var(--dur-fast) var(--ease);
2928
+ }
2929
+ .calendar-select-option:hover:not(:disabled) {
2930
+ color: var(--accent-ink);
2931
+ background: var(--bg);
2932
+ box-shadow: var(--neu-shadow-subtle);
2933
+ }
2934
+ .calendar-select-option.selected {
2935
+ color: var(--accent-ink);
2936
+ background: var(--bg);
2937
+ box-shadow: var(--neu-shadow-inset);
2938
+ }
2939
+ .calendar-select-option.disabled {
2940
+ color: var(--fg-subtle);
2941
+ cursor: not-allowed;
2942
+ opacity: 0.4;
2943
+ }
2944
+ /* ============ TimePicker ============ */
2945
+ .time-picker {
2946
+ position: relative;
2947
+ display: inline-block;
2948
+ width: 100%;
2949
+ min-width: 180px;
2950
+ }
2951
+ .time-picker.disabled {
2952
+ opacity: 0.55;
2953
+ pointer-events: none;
2954
+ }
2955
+ .time-picker.readonly .input-wrap {
2956
+ cursor: default;
2957
+ }
2958
+ .time-picker .input-wrap {
2959
+ width: 100%;
2960
+ }
2961
+ .time-picker.open .input-wrap {
2962
+ box-shadow: var(--neu-shadow-inset);
2963
+ }
2964
+ .time-picker-panel {
2965
+ position: fixed;
2966
+ z-index: 1000;
2967
+ width: 300px;
2968
+ padding: 10px;
2969
+ border-radius: var(--r-md);
2970
+ background: var(--bg);
2971
+ box-shadow:
2972
+ 0 calc(var(--shadow-offset) * 1.1) calc(var(--shadow-blur) * 1.3) color-mix(in oklch, var(--shadow-dark) 72%, transparent),
2973
+ inset 0 0 0 1px var(--divider);
2974
+ animation: menuIn var(--dur) var(--ease);
2975
+ }
2976
+ .time-picker-panel.without-second {
2977
+ width: 228px;
2978
+ }
2979
+ .time-picker-columns {
2980
+ position: relative;
2981
+ display: grid;
2982
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2983
+ gap: 0;
2984
+ padding: 8px;
2985
+ border-radius: var(--r-sm);
2986
+ background: var(--bg);
2987
+ box-shadow: inset 0 0 0 1px var(--divider);
2988
+ overflow: hidden;
2989
+ }
2990
+ .time-picker-column + .time-picker-column {
2991
+ border-left: 1px solid var(--divider);
2992
+ }
2993
+ .time-picker-panel.without-second .time-picker-columns {
2994
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2995
+ }
2996
+ .time-picker-column {
2997
+ min-width: 0;
2998
+ }
2999
+ .time-picker-column-label {
3000
+ height: 22px;
3001
+ position: relative;
3002
+ z-index: 1;
3003
+ display: grid;
3004
+ place-items: center;
3005
+ font-size: var(--fs-xs);
3006
+ font-weight: 700;
3007
+ color: var(--fg-muted);
3008
+ }
3009
+ .time-picker-list {
3010
+ display: flex;
3011
+ flex-direction: column;
3012
+ gap: 4px;
3013
+ height: 166px;
3014
+ overflow-y: auto;
3015
+ padding: 40px 8px;
3016
+ border-radius: 0;
3017
+ background: transparent;
3018
+ box-shadow: none;
3019
+ scroll-padding: 40px 0;
3020
+ scrollbar-width: none;
3021
+ -webkit-mask-image: linear-gradient(to bottom, transparent 0, black 24px, black calc(100% - 24px), transparent 100%);
3022
+ mask-image: linear-gradient(to bottom, transparent 0, black 24px, black calc(100% - 24px), transparent 100%);
3023
+ }
3024
+ .time-picker-list::-webkit-scrollbar {
3025
+ width: 0;
3026
+ height: 0;
3027
+ }
3028
+ .time-picker-option {
3029
+ position: relative;
3030
+ z-index: 1;
3031
+ flex: 0 0 30px;
3032
+ width: 100%;
3033
+ height: 30px;
3034
+ border: none;
3035
+ border-radius: 7px;
3036
+ background: transparent;
3037
+ color: var(--fg);
3038
+ cursor: pointer;
3039
+ font: 600 var(--fs-md) var(--font-mono);
3040
+ transition:
3041
+ color var(--dur-fast) var(--ease),
3042
+ background var(--dur-fast) var(--ease),
3043
+ box-shadow var(--dur-fast) var(--ease);
3044
+ }
3045
+ .time-picker-option:hover:not(:disabled) {
3046
+ color: var(--accent-ink);
3047
+ background: var(--bg);
3048
+ box-shadow: var(--neu-shadow-subtle);
3049
+ }
3050
+ .time-picker-option.selected {
3051
+ background: var(--bg);
3052
+ color: var(--accent-ink);
3053
+ box-shadow: var(--neu-shadow-subtle);
3054
+ }
3055
+ .time-picker-option:disabled {
3056
+ color: var(--fg-subtle);
3057
+ cursor: not-allowed;
3058
+ opacity: 0.45;
3059
+ }
3060
+ .time-picker-footer {
3061
+ display: flex;
3062
+ align-items: center;
3063
+ gap: 6px;
3064
+ margin-top: 8px;
3065
+ padding: 8px 0 0;
3066
+ border-top: 1px solid var(--divider);
3067
+ }
3068
+ .time-picker-footer-spacer {
3069
+ flex: 1;
3070
+ min-width: 0;
3071
+ }
3072
+ .time-picker-footer .btn {
3073
+ min-width: 54px;
3074
+ }
2633
3075
  /* ============ Image ============ */
2634
3076
  .n-image {
2635
3077
  display: inline-block;
@@ -2746,7 +3188,7 @@ input, textarea, select { font-family: inherit; color: inherit; }
2746
3188
  .n-image:hover .image-hint { opacity: 1; transform: translateY(0); }
2747
3189
  .image-preview-overlay {
2748
3190
  position: fixed; inset: 0;
2749
- background: color-mix(in oklch, var(--bg-sunken) 82%, transparent);
3191
+ background: var(--image-preview-mask-bg, var(--mask-bg));
2750
3192
  backdrop-filter: blur(16px);
2751
3193
  display: grid; place-items: center;
2752
3194
  z-index: 500;
@@ -13,6 +13,7 @@
13
13
  --fg-subtle: #9ca7ba;
14
14
  --border: rgba(130, 148, 175, 0.14);
15
15
  --divider: rgba(130, 148, 175, 0.18);
16
+ --mask-bg: color-mix(in oklch, black 18%, transparent);
16
17
 
17
18
  /* ---- Shadows ---- */
18
19
  --shadow-dark: rgba(163, 177, 198, 0.55);
@@ -139,6 +140,7 @@
139
140
  --fg-subtle: #9ca7ba;
140
141
  --border: rgba(130, 148, 175, 0.14);
141
142
  --divider: rgba(130, 148, 175, 0.18);
143
+ --mask-bg: color-mix(in oklch, black 18%, transparent);
142
144
  --shadow-dark: rgba(163, 177, 198, 0.55);
143
145
  --shadow-light: rgba(255, 255, 255, 0.95);
144
146
  --shadow-offset: calc(6px * var(--d) * var(--shadow-scale));
@@ -161,6 +163,7 @@
161
163
  --fg-subtle: #5f6a82;
162
164
  --border: rgba(0, 0, 0, 0.35);
163
165
  --divider: rgba(255, 255, 255, 0.06);
166
+ --mask-bg: color-mix(in oklch, black 55%, transparent);
164
167
  /* 强 dark shadow 提供深度;light 高光几乎不可见,去掉白圈效果 */
165
168
  --shadow-dark: rgba(0, 0, 0, 0.55);
166
169
  --shadow-light: rgba(130, 145, 180, 0.06);