@endfield-ui/react 1.1.0 → 1.2.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 (496) hide show
  1. package/NOTICE.md +4 -3
  2. package/README.md +32 -5
  3. package/dist/components/accordion/Accordion.d.ts +46 -0
  4. package/dist/components/accordion/Accordion.js +2 -0
  5. package/dist/components/accordion/index.d.ts +3 -0
  6. package/dist/components/alert/Alert.d.ts +28 -0
  7. package/dist/components/alert/Alert.js +2 -0
  8. package/dist/components/alert/index.d.ts +3 -0
  9. package/dist/components/avatar/Avatar.d.ts +24 -0
  10. package/dist/components/avatar/Avatar.js +2 -0
  11. package/dist/components/avatar/AvatarSwitcher.d.ts +46 -0
  12. package/dist/components/avatar/AvatarSwitcher.js +2 -0
  13. package/dist/components/avatar/index.d.ts +4 -0
  14. package/dist/components/back-to-top/BackToTop.d.ts +21 -0
  15. package/dist/components/back-to-top/BackToTop.js +2 -0
  16. package/dist/components/back-to-top/index.d.ts +3 -0
  17. package/dist/components/badge/Badge.d.ts +20 -0
  18. package/dist/components/badge/Badge.js +2 -0
  19. package/dist/components/badge/index.d.ts +3 -0
  20. package/dist/components/bracket-title/BracketTitle.d.ts +17 -0
  21. package/dist/components/bracket-title/BracketTitle.js +2 -0
  22. package/dist/components/bracket-title/index.d.ts +3 -0
  23. package/dist/components/breadcrumb/Breadcrumb.d.ts +26 -0
  24. package/dist/components/breadcrumb/Breadcrumb.js +2 -0
  25. package/dist/components/breadcrumb/index.d.ts +3 -0
  26. package/dist/components/button/Button.d.ts +50 -0
  27. package/dist/components/button/Button.js +2 -0
  28. package/dist/components/button/ButtonGroup.d.ts +21 -0
  29. package/dist/components/button/ButtonGroup.js +2 -0
  30. package/dist/components/button/index.d.ts +4 -0
  31. package/dist/components/calendar/Calendar.d.ts +57 -0
  32. package/dist/components/calendar/Calendar.js +2 -0
  33. package/dist/components/calendar/index.d.ts +3 -0
  34. package/dist/components/carousel/Carousel.d.ts +38 -0
  35. package/dist/components/carousel/Carousel.js +2 -0
  36. package/dist/components/carousel/index.d.ts +3 -0
  37. package/dist/components/carousel/snap-track.js +2 -0
  38. package/dist/components/checkbox/Checkbox.d.ts +18 -0
  39. package/dist/components/checkbox/Checkbox.js +2 -0
  40. package/dist/components/checkbox/choice-style.js +2 -0
  41. package/dist/components/checkbox/index.d.ts +3 -0
  42. package/dist/components/chip/FilterChip.d.ts +18 -0
  43. package/dist/components/chip/FilterChip.js +2 -0
  44. package/dist/components/chip/ResourceChip.d.ts +16 -0
  45. package/dist/components/chip/ResourceChip.js +2 -0
  46. package/dist/components/chip/capsule-style.d.ts +4 -0
  47. package/dist/components/chip/capsule-style.js +2 -0
  48. package/dist/components/chip/index.d.ts +4 -0
  49. package/dist/components/combobox/Combobox.d.ts +105 -0
  50. package/dist/components/combobox/Combobox.js +2 -0
  51. package/dist/components/combobox/index.d.ts +3 -0
  52. package/dist/components/completion-banner/CompletionBanner.d.ts +26 -0
  53. package/dist/components/completion-banner/CompletionBanner.js +2 -0
  54. package/dist/components/completion-banner/index.d.ts +3 -0
  55. package/dist/components/context-menu/ContextMenu.d.ts +30 -0
  56. package/dist/components/context-menu/ContextMenu.js +2 -0
  57. package/dist/components/context-menu/index.d.ts +3 -0
  58. package/dist/components/corner-brackets/CornerBrackets.d.ts +20 -0
  59. package/dist/components/corner-brackets/CornerBrackets.js +2 -0
  60. package/dist/components/corner-brackets/index.d.ts +3 -0
  61. package/dist/components/countdown/Countdown.d.ts +26 -0
  62. package/dist/components/countdown/Countdown.js +2 -0
  63. package/dist/components/countdown/index.d.ts +3 -0
  64. package/dist/components/dash-indicator/DashIndicator.d.ts +15 -0
  65. package/dist/components/dash-indicator/DashIndicator.js +2 -0
  66. package/dist/components/dash-indicator/index.d.ts +3 -0
  67. package/dist/components/data-row/DataRow.d.ts +58 -0
  68. package/dist/components/data-row/DataRow.js +2 -0
  69. package/dist/components/data-row/index.d.ts +3 -0
  70. package/dist/components/date-picker/DateField.js +2 -0
  71. package/dist/components/date-picker/DatePicker.d.ts +56 -0
  72. package/dist/components/date-picker/DatePicker.js +2 -0
  73. package/dist/components/date-picker/DateRangePicker.d.ts +57 -0
  74. package/dist/components/date-picker/DateRangePicker.js +2 -0
  75. package/dist/components/date-picker/index.d.ts +4 -0
  76. package/dist/components/dialog/Dialog.d.ts +55 -0
  77. package/dist/components/dialog/Dialog.js +2 -0
  78. package/dist/components/dialog/index.d.ts +3 -0
  79. package/dist/components/dialog/initial-focus.js +2 -0
  80. package/dist/components/dialog/overlay-style.js +2 -0
  81. package/dist/components/drawer/Drawer.d.ts +48 -0
  82. package/dist/components/drawer/Drawer.js +2 -0
  83. package/dist/components/drawer/index.d.ts +3 -0
  84. package/dist/components/dropdown-menu/DropdownMenu.d.ts +115 -0
  85. package/dist/components/dropdown-menu/DropdownMenu.js +2 -0
  86. package/dist/components/dropdown-menu/MenuCheck.js +2 -0
  87. package/dist/components/dropdown-menu/index.d.ts +3 -0
  88. package/dist/components/dropdown-menu/menu-style.d.ts +4 -0
  89. package/dist/components/dropdown-menu/menu-style.js +2 -0
  90. package/dist/components/empty-state/EmptyState.d.ts +22 -0
  91. package/dist/components/empty-state/EmptyState.js +2 -0
  92. package/dist/components/empty-state/index.d.ts +3 -0
  93. package/dist/components/field/Field.d.ts +58 -0
  94. package/dist/components/field/Field.js +2 -0
  95. package/dist/components/field/index.d.ts +3 -0
  96. package/dist/components/file-upload/FileItem.d.ts +50 -0
  97. package/dist/components/file-upload/FileItem.js +2 -0
  98. package/dist/components/file-upload/FileUpload.d.ts +82 -0
  99. package/dist/components/file-upload/FileUpload.js +2 -0
  100. package/dist/components/file-upload/index.d.ts +4 -0
  101. package/dist/components/flyout-bar/FlyoutBar.d.ts +46 -0
  102. package/dist/components/flyout-bar/FlyoutBar.js +2 -0
  103. package/dist/components/flyout-bar/index.d.ts +3 -0
  104. package/dist/components/ghost-text/GhostText.d.ts +21 -0
  105. package/dist/components/ghost-text/GhostText.js +2 -0
  106. package/dist/components/ghost-text/index.d.ts +3 -0
  107. package/dist/components/hatch/Hatch.d.ts +18 -0
  108. package/dist/components/hatch/Hatch.js +2 -0
  109. package/dist/components/hatch/index.d.ts +3 -0
  110. package/dist/components/hazard-stripe/HazardStripe.d.ts +15 -0
  111. package/dist/components/hazard-stripe/HazardStripe.js +2 -0
  112. package/dist/components/hazard-stripe/index.d.ts +3 -0
  113. package/dist/components/hover-card/HoverCard.d.ts +35 -0
  114. package/dist/components/hover-card/HoverCard.js +2 -0
  115. package/dist/components/hover-card/index.d.ts +3 -0
  116. package/dist/components/icon-button/IconButton.d.ts +21 -0
  117. package/dist/components/icon-button/IconButton.js +2 -0
  118. package/dist/components/icon-button/index.d.ts +3 -0
  119. package/dist/components/image-viewer/ImageViewer.d.ts +48 -0
  120. package/dist/components/image-viewer/ImageViewer.js +2 -0
  121. package/dist/components/image-viewer/index.d.ts +3 -0
  122. package/dist/components/input/Input.d.ts +27 -0
  123. package/dist/components/input/Input.js +2 -0
  124. package/dist/components/input/control-box.d.ts +5 -0
  125. package/dist/components/input/control-box.js +2 -0
  126. package/dist/components/input/index.d.ts +3 -0
  127. package/dist/components/input/value-chip.js +2 -0
  128. package/dist/components/item-slot/ItemGrid.d.ts +12 -0
  129. package/dist/components/item-slot/ItemGrid.js +2 -0
  130. package/dist/components/item-slot/ItemSlot.d.ts +54 -0
  131. package/dist/components/item-slot/ItemSlot.js +2 -0
  132. package/dist/components/item-slot/index.d.ts +4 -0
  133. package/dist/components/kbd/Kbd.d.ts +15 -0
  134. package/dist/components/kbd/Kbd.js +2 -0
  135. package/dist/components/kbd/index.d.ts +3 -0
  136. package/dist/components/link-element/LinkElement.d.ts +6 -0
  137. package/dist/components/link-element/LinkElement.js +2 -0
  138. package/dist/components/list/List.d.ts +46 -0
  139. package/dist/components/list/List.js +2 -0
  140. package/dist/components/list/band-style.js +2 -0
  141. package/dist/components/list/index.d.ts +3 -0
  142. package/dist/components/loader/Loader.d.ts +23 -0
  143. package/dist/components/loader/Loader.js +2 -0
  144. package/dist/components/loader/index.d.ts +3 -0
  145. package/dist/components/marquee/Marquee.d.ts +22 -0
  146. package/dist/components/marquee/Marquee.js +2 -0
  147. package/dist/components/marquee/index.d.ts +3 -0
  148. package/dist/components/media-card/MediaCard.d.ts +36 -0
  149. package/dist/components/media-card/MediaCard.js +2 -0
  150. package/dist/components/media-card/index.d.ts +3 -0
  151. package/dist/components/nav-action/NavAction.d.ts +34 -0
  152. package/dist/components/nav-action/NavAction.js +2 -0
  153. package/dist/components/nav-action/index.d.ts +3 -0
  154. package/dist/components/nav-menu/NavMenu.d.ts +57 -0
  155. package/dist/components/nav-menu/NavMenu.js +2 -0
  156. package/dist/components/nav-menu/index.d.ts +3 -0
  157. package/dist/components/navigator/Navigator.d.ts +27 -0
  158. package/dist/components/navigator/Navigator.js +2 -0
  159. package/dist/components/navigator/index.d.ts +3 -0
  160. package/dist/components/otp-input/OtpInput.d.ts +52 -0
  161. package/dist/components/otp-input/OtpInput.js +2 -0
  162. package/dist/components/otp-input/index.d.ts +3 -0
  163. package/dist/components/page-header/PageHeader.d.ts +56 -0
  164. package/dist/components/page-header/PageHeader.js +2 -0
  165. package/dist/components/page-header/index.d.ts +3 -0
  166. package/dist/components/pagination/Pagination.d.ts +29 -0
  167. package/dist/components/pagination/Pagination.js +2 -0
  168. package/dist/components/pagination/index.d.ts +3 -0
  169. package/dist/components/panel/Panel.d.ts +36 -0
  170. package/dist/components/panel/Panel.js +2 -0
  171. package/dist/components/panel/index.d.ts +3 -0
  172. package/dist/components/play-button/PlayButton.d.ts +20 -0
  173. package/dist/components/play-button/PlayButton.js +2 -0
  174. package/dist/components/play-button/index.d.ts +3 -0
  175. package/dist/components/popover/Popover.d.ts +36 -0
  176. package/dist/components/popover/Popover.js +2 -0
  177. package/dist/components/popover/index.d.ts +3 -0
  178. package/dist/components/popover/panel-style.js +2 -0
  179. package/dist/components/progress/Progress.d.ts +27 -0
  180. package/dist/components/progress/Progress.js +2 -0
  181. package/dist/components/progress/ProgressRing.d.ts +23 -0
  182. package/dist/components/progress/ProgressRing.js +2 -0
  183. package/dist/components/progress/index.d.ts +4 -0
  184. package/dist/components/radio/Radio.d.ts +33 -0
  185. package/dist/components/radio/Radio.js +2 -0
  186. package/dist/components/radio/index.d.ts +3 -0
  187. package/dist/components/rec-indicator/RecIndicator.d.ts +16 -0
  188. package/dist/components/rec-indicator/RecIndicator.js +2 -0
  189. package/dist/components/rec-indicator/index.d.ts +3 -0
  190. package/dist/components/registration-strip/RegistrationStrip.d.ts +16 -0
  191. package/dist/components/registration-strip/RegistrationStrip.js +2 -0
  192. package/dist/components/registration-strip/index.d.ts +3 -0
  193. package/dist/components/rolling-number/RollingNumber.d.ts +25 -0
  194. package/dist/components/rolling-number/RollingNumber.js +2 -0
  195. package/dist/components/rolling-number/index.d.ts +3 -0
  196. package/dist/components/schedule/Schedule.d.ts +78 -0
  197. package/dist/components/schedule/Schedule.js +2 -0
  198. package/dist/components/schedule/index.d.ts +3 -0
  199. package/dist/components/scroll-area/ScrollArea.d.ts +26 -0
  200. package/dist/components/scroll-area/ScrollArea.js +2 -0
  201. package/dist/components/scroll-area/index.d.ts +3 -0
  202. package/dist/components/scroll-hint/ScrollHint.d.ts +23 -0
  203. package/dist/components/scroll-hint/ScrollHint.js +2 -0
  204. package/dist/components/scroll-hint/index.d.ts +3 -0
  205. package/dist/components/section-title/SectionTitle.d.ts +33 -0
  206. package/dist/components/section-title/SectionTitle.js +2 -0
  207. package/dist/components/section-title/index.d.ts +3 -0
  208. package/dist/components/segmented-control/SegmentedControl.d.ts +49 -0
  209. package/dist/components/segmented-control/SegmentedControl.js +2 -0
  210. package/dist/components/segmented-control/index.d.ts +3 -0
  211. package/dist/components/select/Select.d.ts +95 -0
  212. package/dist/components/select/Select.js +2 -0
  213. package/dist/components/select/index.d.ts +3 -0
  214. package/dist/components/side-rail/SideRail.d.ts +62 -0
  215. package/dist/components/side-rail/SideRail.js +2 -0
  216. package/dist/components/side-rail/SideRailSub.d.ts +47 -0
  217. package/dist/components/side-rail/SideRailSub.js +2 -0
  218. package/dist/components/side-rail/index.d.ts +4 -0
  219. package/dist/components/skeleton/Skeleton.d.ts +22 -0
  220. package/dist/components/skeleton/Skeleton.js +2 -0
  221. package/dist/components/skeleton/index.d.ts +3 -0
  222. package/dist/components/slider/Slider.d.ts +63 -0
  223. package/dist/components/slider/Slider.js +2 -0
  224. package/dist/components/slider/index.d.ts +3 -0
  225. package/dist/components/sparkline/Sparkline.d.ts +32 -0
  226. package/dist/components/sparkline/Sparkline.js +2 -0
  227. package/dist/components/sparkline/index.d.ts +3 -0
  228. package/dist/components/spinner/Spinner.d.ts +19 -0
  229. package/dist/components/spinner/Spinner.js +2 -0
  230. package/dist/components/spinner/index.d.ts +3 -0
  231. package/dist/components/splash-screen/SplashScreen.d.ts +43 -0
  232. package/dist/components/splash-screen/SplashScreen.js +2 -0
  233. package/dist/components/splash-screen/index.d.ts +3 -0
  234. package/dist/components/stat/Stat.d.ts +22 -0
  235. package/dist/components/stat/Stat.js +2 -0
  236. package/dist/components/stat/index.d.ts +3 -0
  237. package/dist/components/stepper/Stepper.d.ts +29 -0
  238. package/dist/components/stepper/Stepper.js +2 -0
  239. package/dist/components/stepper/index.d.ts +3 -0
  240. package/dist/components/steps/Steps.d.ts +55 -0
  241. package/dist/components/steps/Steps.js +2 -0
  242. package/dist/components/steps/index.d.ts +3 -0
  243. package/dist/components/switch/Switch.d.ts +28 -0
  244. package/dist/components/switch/Switch.js +2 -0
  245. package/dist/components/switch/index.d.ts +3 -0
  246. package/dist/components/table/Table.d.ts +96 -0
  247. package/dist/components/table/Table.js +2 -0
  248. package/dist/components/table/index.d.ts +3 -0
  249. package/dist/components/tabs/Tabs.d.ts +39 -0
  250. package/dist/components/tabs/Tabs.js +2 -0
  251. package/dist/components/tabs/index.d.ts +3 -0
  252. package/dist/components/tag/Tag.d.ts +25 -0
  253. package/dist/components/tag/Tag.js +2 -0
  254. package/dist/components/tag/TagPair.d.ts +16 -0
  255. package/dist/components/tag/TagPair.js +2 -0
  256. package/dist/components/tag/index.d.ts +4 -0
  257. package/dist/components/tag-input/TagInput.d.ts +66 -0
  258. package/dist/components/tag-input/TagInput.js +3 -0
  259. package/dist/components/tag-input/index.d.ts +3 -0
  260. package/dist/components/term/Term.d.ts +19 -0
  261. package/dist/components/term/Term.js +2 -0
  262. package/dist/components/term/index.d.ts +3 -0
  263. package/dist/components/textarea/Textarea.d.ts +17 -0
  264. package/dist/components/textarea/Textarea.js +2 -0
  265. package/dist/components/textarea/index.d.ts +3 -0
  266. package/dist/components/texture/Texture.d.ts +19 -0
  267. package/dist/components/texture/Texture.js +2 -0
  268. package/dist/components/texture/index.d.ts +3 -0
  269. package/dist/components/tick-ring/TickRing.d.ts +22 -0
  270. package/dist/components/tick-ring/TickRing.js +2 -0
  271. package/dist/components/tick-ring/index.d.ts +3 -0
  272. package/dist/components/timeline/Timeline.d.ts +22 -0
  273. package/dist/components/timeline/Timeline.js +2 -0
  274. package/dist/components/timeline/index.d.ts +3 -0
  275. package/dist/components/toast/Toast.d.ts +45 -0
  276. package/dist/components/toast/Toast.js +2 -0
  277. package/dist/components/toast/index.d.ts +3 -0
  278. package/dist/components/toc/Toc.d.ts +46 -0
  279. package/dist/components/toc/Toc.js +2 -0
  280. package/dist/components/toc/index.d.ts +3 -0
  281. package/dist/components/toolbar/Toolbar.d.ts +97 -0
  282. package/dist/components/toolbar/Toolbar.js +2 -0
  283. package/dist/components/toolbar/index.d.ts +3 -0
  284. package/dist/components/tooltip/Tooltip.d.ts +47 -0
  285. package/dist/components/tooltip/Tooltip.js +2 -0
  286. package/dist/components/tooltip/index.d.ts +3 -0
  287. package/dist/components/top-bar/TopBar.d.ts +21 -0
  288. package/dist/components/top-bar/TopBar.js +2 -0
  289. package/dist/components/top-bar/index.d.ts +3 -0
  290. package/dist/components/viewfinder/Viewfinder.d.ts +35 -0
  291. package/dist/components/viewfinder/Viewfinder.js +2 -0
  292. package/dist/components/viewfinder/index.d.ts +3 -0
  293. package/dist/game/animated-dialog/AnimatedDialog.d.ts +53 -0
  294. package/dist/game/animated-dialog/AnimatedDialog.js +2 -0
  295. package/dist/game/animated-dialog/index.d.ts +3 -0
  296. package/dist/game/assets/splash_bg.jpg +0 -0
  297. package/dist/game/assets/splash_bg_portrait.jpg +0 -0
  298. package/dist/game/assets/splash_deco.svg +4 -0
  299. package/dist/game/assets/splash_logo.svg +1 -0
  300. package/dist/game/assets/splash_triangles.svg +4 -0
  301. package/dist/game/banner-alert/AlertIcons.js +2 -0
  302. package/dist/game/banner-alert/AlertModal.js +2 -0
  303. package/dist/game/banner-alert/BannerAlert.d.ts +6 -0
  304. package/dist/game/banner-alert/BannerAlert.js +2 -0
  305. package/dist/game/banner-alert/index.d.ts +3 -0
  306. package/dist/game/banner-alert/types.d.ts +48 -0
  307. package/dist/game/banner-alert/types.js +2 -0
  308. package/dist/game/banner-alert/useAlertActions.js +2 -0
  309. package/dist/game/banner-alert/useAlertGlitch.js +2 -0
  310. package/dist/game/full-width-alert/FullWidthAlert.d.ts +7 -0
  311. package/dist/game/full-width-alert/FullWidthAlert.js +2 -0
  312. package/dist/game/full-width-alert/index.d.ts +3 -0
  313. package/dist/game/item-card/ItemCard.d.ts +48 -0
  314. package/dist/game/item-card/ItemCard.js +2 -0
  315. package/dist/game/item-card/index.d.ts +3 -0
  316. package/dist/game/item-hover-card/ItemHoverCard.d.ts +31 -0
  317. package/dist/game/item-hover-card/ItemHoverCard.js +2 -0
  318. package/dist/game/item-hover-card/events.js +2 -0
  319. package/dist/game/item-hover-card/index.d.ts +3 -0
  320. package/dist/game/item-icon/ItemIcon.d.ts +5 -0
  321. package/dist/game/item-icon/ItemIcon.js +2 -0
  322. package/dist/game/item-icon/helpers.d.ts +22 -0
  323. package/dist/game/item-icon/helpers.js +2 -0
  324. package/dist/game/item-icon/index.d.ts +5 -0
  325. package/dist/game/item-icon/types.d.ts +32 -0
  326. package/dist/game/item-tooltip-card/ItemTooltipCard.d.ts +6 -0
  327. package/dist/game/item-tooltip-card/ItemTooltipCard.js +2 -0
  328. package/dist/game/item-tooltip-card/icons.js +2 -0
  329. package/dist/game/item-tooltip-card/index.d.ts +4 -0
  330. package/dist/game/item-tooltip-card/types.d.ts +40 -0
  331. package/dist/game/lib/core.d.ts +8 -0
  332. package/dist/game/lib/first-focusable.js +2 -0
  333. package/dist/game/resource-provenance.json +70 -1
  334. package/dist/game/rounded-button/RoundedButton.d.ts +22 -0
  335. package/dist/game/rounded-button/RoundedButton.js +2 -0
  336. package/dist/game/rounded-button/RoundedIconButton.d.ts +10 -0
  337. package/dist/game/rounded-button/RoundedIconButton.js +2 -0
  338. package/dist/game/rounded-button/index.d.ts +4 -0
  339. package/dist/game/rounded-select/RoundedSelect.d.ts +43 -0
  340. package/dist/game/rounded-select/RoundedSelect.js +2 -0
  341. package/dist/game/rounded-select/index.d.ts +3 -0
  342. package/dist/game/rounded-switch/RoundedSwitch.d.ts +16 -0
  343. package/dist/game/rounded-switch/RoundedSwitch.js +2 -0
  344. package/dist/game/rounded-switch/index.d.ts +3 -0
  345. package/dist/game/rounded-toggle/RoundedToggle.d.ts +23 -0
  346. package/dist/game/rounded-toggle/RoundedToggle.js +2 -0
  347. package/dist/game/rounded-toggle/index.d.ts +3 -0
  348. package/dist/game/rounded-toggle/keyboard.js +2 -0
  349. package/dist/game/rounded-toggle/spring-highlight.js +2 -0
  350. package/dist/game/splash-screen/EndfieldSplashScreen.d.ts +14 -0
  351. package/dist/game/splash-screen/EndfieldSplashScreen.js +2 -0
  352. package/dist/game/splash-screen/index.d.ts +3 -0
  353. package/dist/game/styles.css +1 -1
  354. package/dist/game.d.ts +29 -371
  355. package/dist/game.js +1 -2041
  356. package/dist/hooks/index.d.ts +7 -0
  357. package/dist/hooks/useAddedKeys.js +2 -0
  358. package/dist/hooks/useControllableState.d.ts +12 -0
  359. package/dist/hooks/useControllableState.js +2 -0
  360. package/dist/hooks/useFlip.js +2 -0
  361. package/dist/hooks/useInView.d.ts +15 -0
  362. package/dist/hooks/useInView.js +2 -0
  363. package/dist/hooks/useIndicator.js +2 -0
  364. package/dist/hooks/useLingering.js +2 -0
  365. package/dist/hooks/useOverflowing.js +2 -0
  366. package/dist/hooks/usePortalScope.d.ts +26 -0
  367. package/dist/hooks/usePortalScope.js +2 -0
  368. package/dist/hooks/usePresence.js +2 -0
  369. package/dist/hooks/useReducedMotion.d.ts +10 -0
  370. package/dist/hooks/useReducedMotion.js +2 -0
  371. package/dist/hooks/useScrollPosition.js +2 -0
  372. package/dist/hooks/useTheme.d.ts +21 -0
  373. package/dist/hooks/useTheme.js +2 -0
  374. package/dist/icons/ArrowCorner.d.ts +9 -0
  375. package/dist/icons/ArrowCorner.js +2 -0
  376. package/dist/icons/ArrowLeft.d.ts +8 -0
  377. package/dist/icons/ArrowLeft.js +2 -0
  378. package/dist/icons/ArrowRight.d.ts +8 -0
  379. package/dist/icons/ArrowRight.js +2 -0
  380. package/dist/icons/CalendarIcon.d.ts +12 -0
  381. package/dist/icons/CalendarIcon.js +2 -0
  382. package/dist/icons/Check.d.ts +9 -0
  383. package/dist/icons/Check.js +2 -0
  384. package/dist/icons/ChevronDown.d.ts +8 -0
  385. package/dist/icons/ChevronDown.js +2 -0
  386. package/dist/icons/ChevronLeft.d.ts +8 -0
  387. package/dist/icons/ChevronLeft.js +2 -0
  388. package/dist/icons/ChevronRight.d.ts +8 -0
  389. package/dist/icons/ChevronRight.js +2 -0
  390. package/dist/icons/Close.d.ts +8 -0
  391. package/dist/icons/Close.js +2 -0
  392. package/dist/icons/Crosshair.d.ts +9 -0
  393. package/dist/icons/Crosshair.js +2 -0
  394. package/dist/icons/Lock.d.ts +8 -0
  395. package/dist/icons/Lock.js +2 -0
  396. package/dist/icons/Menu.d.ts +9 -0
  397. package/dist/icons/Menu.js +2 -0
  398. package/dist/icons/Minus.d.ts +9 -0
  399. package/dist/icons/Minus.js +2 -0
  400. package/dist/icons/Plus.d.ts +8 -0
  401. package/dist/icons/Plus.js +2 -0
  402. package/dist/icons/StatusDanger.d.ts +9 -0
  403. package/dist/icons/StatusDanger.js +2 -0
  404. package/dist/icons/StatusInfo.d.ts +9 -0
  405. package/dist/icons/StatusInfo.js +2 -0
  406. package/dist/icons/StatusSuccess.d.ts +9 -0
  407. package/dist/icons/StatusSuccess.js +2 -0
  408. package/dist/icons/StatusWarning.d.ts +9 -0
  409. package/dist/icons/StatusWarning.js +2 -0
  410. package/dist/icons/TriangleRight.d.ts +9 -0
  411. package/dist/icons/TriangleRight.js +2 -0
  412. package/dist/icons/Upload.d.ts +9 -0
  413. package/dist/icons/Upload.js +2 -0
  414. package/dist/icons/createIcon.d.ts +16 -0
  415. package/dist/icons/createIcon.js +2 -0
  416. package/dist/icons/index.d.ts +23 -0
  417. package/dist/index.d.ts +209 -3505
  418. package/dist/index.js +1 -9625
  419. package/dist/lib/cn.d.ts +5 -0
  420. package/dist/lib/cn.js +2 -0
  421. package/dist/lib/create-lazy-context.js +2 -0
  422. package/dist/lib/date.js +2 -0
  423. package/dist/lib/decor.js +2 -0
  424. package/dist/lib/defined.js +2 -0
  425. package/dist/lib/file.js +2 -0
  426. package/dist/lib/focus-ring.js +2 -0
  427. package/dist/lib/inline-style.js +2 -0
  428. package/dist/lib/merge-refs.js +2 -0
  429. package/dist/lib/motion.js +2 -0
  430. package/dist/styles.css +1 -1
  431. package/package.json +17 -11
  432. package/src/components/accordion/Accordion.tsx +13 -5
  433. package/src/components/alert/Alert.tsx +1 -1
  434. package/src/components/avatar/AvatarSwitcher.tsx +7 -5
  435. package/src/components/carousel/Carousel.tsx +6 -5
  436. package/src/components/context-menu/ContextMenu.tsx +5 -2
  437. package/src/components/data-row/DataRow.tsx +10 -4
  438. package/src/components/date-picker/DateField.tsx +1 -3
  439. package/src/components/dropdown-menu/DropdownMenu.tsx +7 -4
  440. package/src/components/dropdown-menu/menu-style.ts +9 -3
  441. package/src/components/field/Field.tsx +10 -6
  442. package/src/components/file-upload/FileUpload.tsx +5 -2
  443. package/src/components/flyout-bar/FlyoutBar.tsx +1 -1
  444. package/src/components/image-viewer/ImageViewer.tsx +6 -5
  445. package/src/components/input/control-box.ts +30 -10
  446. package/src/components/list/List.tsx +7 -5
  447. package/src/components/nav-action/NavAction.tsx +4 -3
  448. package/src/components/nav-menu/NavMenu.tsx +13 -7
  449. package/src/components/otp-input/OtpInput.tsx +35 -43
  450. package/src/components/radio/Radio.tsx +7 -5
  451. package/src/components/schedule/Schedule.tsx +7 -5
  452. package/src/components/segmented-control/SegmentedControl.tsx +9 -7
  453. package/src/components/select/Select.tsx +11 -11
  454. package/src/components/side-rail/SideRail.tsx +15 -9
  455. package/src/components/side-rail/SideRailSub.tsx +12 -7
  456. package/src/components/splash-screen/SplashScreen.tsx +340 -0
  457. package/src/components/splash-screen/index.ts +1 -0
  458. package/src/components/steps/Steps.tsx +7 -5
  459. package/src/components/table/Table.tsx +23 -17
  460. package/src/components/tabs/Tabs.tsx +7 -5
  461. package/src/components/tag-input/TagInput.tsx +5 -2
  462. package/src/components/toast/Toast.tsx +12 -8
  463. package/src/components/toc/Toc.tsx +5 -4
  464. package/src/components/toolbar/Toolbar.tsx +7 -6
  465. package/src/components/tooltip/Tooltip.tsx +7 -4
  466. package/src/components/top-bar/TopBar.tsx +7 -2
  467. package/src/icons/ArrowCorner.tsx +1 -1
  468. package/src/icons/ArrowLeft.tsx +1 -1
  469. package/src/icons/ArrowRight.tsx +1 -1
  470. package/src/icons/CalendarIcon.tsx +1 -1
  471. package/src/icons/Check.tsx +4 -1
  472. package/src/icons/ChevronDown.tsx +4 -1
  473. package/src/icons/ChevronLeft.tsx +1 -1
  474. package/src/icons/ChevronRight.tsx +1 -1
  475. package/src/icons/Close.tsx +4 -1
  476. package/src/icons/Crosshair.tsx +1 -1
  477. package/src/icons/Lock.tsx +1 -1
  478. package/src/icons/Menu.tsx +4 -1
  479. package/src/icons/Minus.tsx +1 -1
  480. package/src/icons/Plus.tsx +4 -1
  481. package/src/icons/StatusDanger.tsx +1 -1
  482. package/src/icons/StatusInfo.tsx +1 -1
  483. package/src/icons/StatusSuccess.tsx +1 -1
  484. package/src/icons/StatusWarning.tsx +1 -1
  485. package/src/icons/TriangleRight.tsx +1 -1
  486. package/src/icons/Upload.tsx +1 -1
  487. package/src/index.ts +1 -0
  488. package/src/lib/cn.ts +1 -1
  489. package/src/lib/create-lazy-context.ts +6 -0
  490. package/src/styles/theme.css +33 -0
  491. package/src/styles/utilities.css +8 -0
  492. package/src/components/README.md +0 -190
  493. package/src/hooks/README.md +0 -20
  494. package/src/icons/README.md +0 -31
  495. package/src/lib/README.md +0 -19
  496. package/src/styles/README.md +0 -74
@@ -1,6 +1,5 @@
1
1
  import { Toast as BaseToast } from "@base-ui/react/toast";
2
2
  import {
3
- createContext,
4
3
  isValidElement,
5
4
  useContext,
6
5
  useMemo,
@@ -15,6 +14,7 @@ import { StatusSuccess } from "../../icons/StatusSuccess";
15
14
  import { StatusWarning } from "../../icons/StatusWarning";
16
15
  import { cn } from "../../lib/cn";
17
16
  import { focusRing, focusRingInset } from "../../lib/focus-ring";
17
+ import { createLazyContext } from "../../lib/create-lazy-context";
18
18
 
19
19
  export type ToastTone = "neutral" | "info" | "success" | "warning" | "danger";
20
20
  export type ToastPlacement = "bottom" | "center";
@@ -51,11 +51,13 @@ type ToastData = {
51
51
  /* 带操作的提示默认停留的时间:要留出读完再去点的工夫 */
52
52
  const ACTION_DURATION = 8000;
53
53
 
54
- const ToastContext = createContext<ToastApi | null>(null);
54
+ const getToastContext = /* @__PURE__ */ createLazyContext<ToastApi | null>(
55
+ null,
56
+ );
55
57
 
56
58
  /** 弹出轻提示。要在 `ToastProvider` 里面用。 */
57
59
  export function useToast(): ToastApi {
58
- const toast = useContext(ToastContext);
60
+ const toast = useContext(getToastContext());
59
61
  if (!toast) {
60
62
  throw new Error("useToast 要在 <ToastProvider> 里面用");
61
63
  }
@@ -125,6 +127,7 @@ type ToastHostProps = {
125
127
  };
126
128
 
127
129
  function ToastHost({ placement, label, closeLabel, children }: ToastHostProps) {
130
+ const ToastContext = getToastContext();
128
131
  const { toasts, add, close } = BaseToast.useToastManager<ToastData>();
129
132
 
130
133
  const api = useMemo<ToastApi>(() => {
@@ -157,7 +160,7 @@ function ToastHost({ placement, label, closeLabel, children }: ToastHostProps) {
157
160
  }, [add, close]);
158
161
 
159
162
  return (
160
- <ToastContext value={api}>
163
+ <ToastContext.Provider value={api}>
161
164
  {children}
162
165
  <BaseToast.Portal>
163
166
  <BaseToast.Viewport
@@ -178,9 +181,10 @@ function ToastHost({ placement, label, closeLabel, children }: ToastHostProps) {
178
181
  data-theme="dark"
179
182
  className={cn(
180
183
  "pointer-events-auto absolute left-1/2 w-max max-w-full",
181
- // 边线是给暗色页面的:那里黑底和页面几乎一样深,要靠它把提示勾出来。
182
- // 亮色页面上它和提示的底几乎同色,看不出来
183
- "border border-line bg-black/80 text-base leading-[1.4] text-white",
184
+ // 暗色页面上黑底和页面只差一档,靠环境阴影分开
185
+ "bg-black/80 shadow-sm text-base leading-[1.4] text-white",
186
+ // 高对比模式下系统把阴影关掉、底色换成页面色,提示就没有边界了:补一圈线
187
+ "forced-colors:border forced-colors:border-[CanvasText]",
184
188
  // 三样各走各的:淡入淡出 200ms;进场的位移 300ms;没划够就松手,滑回原位 200ms。
185
189
  // 拖动中基元把过渡整个关掉,位置贴着手指
186
190
  "transition-[opacity,translate,transform] duration-[var(--duration-fast),var(--duration-base),var(--duration-fast)] ease-[var(--ease-standard),var(--ease-exit),var(--ease-standard)]",
@@ -233,7 +237,7 @@ function ToastHost({ placement, label, closeLabel, children }: ToastHostProps) {
233
237
  })}
234
238
  </BaseToast.Viewport>
235
239
  </BaseToast.Portal>
236
- </ToastContext>
240
+ </ToastContext.Provider>
237
241
  );
238
242
  }
239
243
 
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  Children,
3
- createContext,
4
3
  useCallback,
5
4
  useContext,
6
5
  useEffect,
@@ -24,10 +23,11 @@ import { dropEmptyStyle } from "../../lib/inline-style";
24
23
  import { mergeRefs } from "../../lib/merge-refs";
25
24
  import { indicator } from "../../lib/motion";
26
25
  import { LinkElement, type LinkRender } from "../link-element/LinkElement";
26
+ import { createLazyContext } from "../../lib/create-lazy-context";
27
27
 
28
28
  export type TocLevel = 1 | 2 | 3;
29
29
 
30
- const TocContext = createContext<{
30
+ const getTocContext = /* @__PURE__ */ createLazyContext<{
31
31
  active: string | null;
32
32
  pick: (section: string) => void;
33
33
  }>({ active: null, pick: () => {} });
@@ -110,6 +110,7 @@ export function Toc({
110
110
  children,
111
111
  ...props
112
112
  }: TocProps) {
113
+ const TocContext = getTocContext();
113
114
  const navRef = useRef<HTMLElement>(null);
114
115
  // 当前项的粗条画在列表上:换一项时是同一段沿引线滑过去
115
116
  const listRef = useIndicator<HTMLUListElement>("[aria-current]");
@@ -262,7 +263,7 @@ export function Toc({
262
263
  "forced-colors:after:bg-[Highlight]",
263
264
  )}
264
265
  >
265
- <TocContext value={context}>{children}</TocContext>
266
+ <TocContext.Provider value={context}>{children}</TocContext.Provider>
266
267
  </ul>
267
268
  </nav>
268
269
  );
@@ -310,7 +311,7 @@ export function TocItem({
310
311
  children,
311
312
  ...props
312
313
  }: TocItemProps) {
313
- const { active, pick } = useContext(TocContext);
314
+ const { active, pick } = useContext(getTocContext());
314
315
  const current = section !== undefined && section === active;
315
316
 
316
317
  return (
@@ -2,7 +2,6 @@ import { Toggle as BaseToggle } from "@base-ui/react/toggle";
2
2
  import { ToggleGroup as BaseToggleGroup } from "@base-ui/react/toggle-group";
3
3
  import { Toolbar as BaseToolbar } from "@base-ui/react/toolbar";
4
4
  import {
5
- createContext,
6
5
  useContext,
7
6
  useMemo,
8
7
  type ComponentProps,
@@ -13,12 +12,13 @@ import {
13
12
  import { cn } from "../../lib/cn";
14
13
  import { focusRing } from "../../lib/focus-ring";
15
14
  import type { LinkRender } from "../link-element/LinkElement";
15
+ import { createLazyContext } from "../../lib/create-lazy-context";
16
16
 
17
17
  export type ToolbarSize = "sm" | "md";
18
18
  export type ToolbarVariant = "sunken" | "outline";
19
19
  export type ToolbarOrientation = "horizontal" | "vertical";
20
20
 
21
- const ToolbarContext = createContext<{
21
+ const getToolbarContext = /* @__PURE__ */ createLazyContext<{
22
22
  size: ToolbarSize;
23
23
  orientation: ToolbarOrientation;
24
24
  }>({ size: "md", orientation: "horizontal" });
@@ -76,6 +76,7 @@ export function Toolbar({
76
76
  onKeyDown,
77
77
  ...props
78
78
  }: ToolbarProps) {
79
+ const ToolbarContext = getToolbarContext();
79
80
  const context = useMemo(() => ({ size, orientation }), [size, orientation]);
80
81
 
81
82
  // 基元只管方向键,Home / End 在这里补上:到第一个、最后一个
@@ -97,7 +98,7 @@ export function Toolbar({
97
98
  };
98
99
 
99
100
  return (
100
- <ToolbarContext value={context}>
101
+ <ToolbarContext.Provider value={context}>
101
102
  <BaseToolbar.Root
102
103
  {...props}
103
104
  orientation={orientation}
@@ -114,7 +115,7 @@ export function Toolbar({
114
115
  className,
115
116
  )}
116
117
  />
117
- </ToolbarContext>
118
+ </ToolbarContext.Provider>
118
119
  );
119
120
  }
120
121
 
@@ -171,7 +172,7 @@ const itemIcon = [
171
172
  ].join(" ");
172
173
 
173
174
  function useItemClass(iconOnly: boolean, className: string | undefined) {
174
- const { size } = useContext(ToolbarContext);
175
+ const { size } = useContext(getToolbarContext());
175
176
  return cn(
176
177
  itemBase,
177
178
  itemSize[size],
@@ -359,7 +360,7 @@ export function ToolbarToggleGroup({
359
360
  className,
360
361
  ...props
361
362
  }: ToolbarToggleGroupProps) {
362
- const { orientation } = useContext(ToolbarContext);
363
+ const { orientation } = useContext(getToolbarContext());
363
364
 
364
365
  return (
365
366
  <BaseToggleGroup
@@ -1,7 +1,6 @@
1
1
  import { Tooltip as BaseTooltip } from "@base-ui/react/tooltip";
2
2
  import {
3
3
  cloneElement,
4
- createContext,
5
4
  useContext,
6
5
  useId,
7
6
  useSyncExternalStore,
@@ -12,6 +11,7 @@ import { createPortal } from "react-dom";
12
11
  import { usePortalScope } from "../../hooks/usePortalScope";
13
12
  import { cn } from "../../lib/cn";
14
13
  import { enterFromSide } from "../../lib/motion";
14
+ import { createLazyContext } from "../../lib/create-lazy-context";
15
15
 
16
16
  export type TooltipSide = "top" | "bottom" | "left" | "right";
17
17
  export type TooltipAlign = "start" | "center" | "end";
@@ -19,7 +19,7 @@ export type TooltipAlign = "start" | "center" | "end";
19
19
  /* 规范:出现前约 300ms,消失不延迟 */
20
20
  const DEFAULT_DELAY = 300;
21
21
 
22
- const InProviderContext = createContext(false);
22
+ const getInProviderContext = /* @__PURE__ */ createLazyContext(false);
23
23
 
24
24
  export type TooltipProviderProps = {
25
25
  /** 这一组提示统一的延迟,毫秒 */
@@ -37,9 +37,12 @@ export function TooltipProvider({
37
37
  timeout,
38
38
  children,
39
39
  }: TooltipProviderProps) {
40
+ const InProviderContext = getInProviderContext();
40
41
  return (
41
42
  <BaseTooltip.Provider delay={delay} timeout={timeout}>
42
- <InProviderContext value={true}>{children}</InProviderContext>
43
+ <InProviderContext.Provider value={true}>
44
+ {children}
45
+ </InProviderContext.Provider>
43
46
  </BaseTooltip.Provider>
44
47
  );
45
48
  }
@@ -107,7 +110,7 @@ export function Tooltip({
107
110
  className,
108
111
  }: TooltipProps) {
109
112
  const descriptionId = useId();
110
- const inProvider = useContext(InProviderContext);
113
+ const inProvider = useContext(getInProviderContext());
111
114
  // 提示是一块和页面相反的颜色。做成相反主题的局部主题,而不是直接用反转色:
112
115
  // 里面的键位提示、着色词因此也按这块底色取值,不会和底融在一起
113
116
  const { anchorRef, portalRef } = usePortalScope({ invertTheme: true });
@@ -1,6 +1,6 @@
1
1
  import type { ComponentProps, ReactNode } from "react";
2
2
  import { cn } from "../../lib/cn";
3
- import { NavActionContext } from "../nav-action/NavAction";
3
+ import { getNavActionContext } from "../nav-action/NavAction";
4
4
 
5
5
  export type TopBarProps = ComponentProps<"header"> & {
6
6
  /** 最左边的标志。本库不带标志,传你自己的 */
@@ -28,6 +28,7 @@ export function TopBar({
28
28
  children,
29
29
  ...props
30
30
  }: TopBarProps) {
31
+ const NavActionContext = getNavActionContext();
31
32
  return (
32
33
  <header
33
34
  {...props}
@@ -40,7 +41,11 @@ export function TopBar({
40
41
  {brand && <div className="flex min-w-0 items-center">{brand}</div>}
41
42
  <div className="min-w-0 flex-1">{children}</div>
42
43
  {tools && <div className="flex shrink-0 items-center gap-1">{tools}</div>}
43
- {action && <NavActionContext value="inline">{action}</NavActionContext>}
44
+ {action && (
45
+ <NavActionContext.Provider value="inline">
46
+ {action}
47
+ </NavActionContext.Provider>
48
+ )}
44
49
  {menu}
45
50
  </header>
46
51
  );
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 斜箭头 ↘:分节引导、"查看详情" */
4
- export const ArrowCorner = createIcon(
4
+ export const ArrowCorner = /* @__PURE__ */ createIcon(
5
5
  "ArrowCorner",
6
6
  <path d="M5 5l14 14M19 7v12H7" />,
7
7
  );
@@ -1,6 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const ArrowLeft = createIcon(
3
+ export const ArrowLeft = /* @__PURE__ */ createIcon(
4
4
  "ArrowLeft",
5
5
  <path d="M20 12H5M11 5l-7 7 7 7" />,
6
6
  );
@@ -1,6 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const ArrowRight = createIcon(
3
+ export const ArrowRight = /* @__PURE__ */ createIcon(
4
4
  "ArrowRight",
5
5
  <path d="M4 12h15M13 5l7 7-7 7" />,
6
6
  );
@@ -4,7 +4,7 @@ import { createIcon } from "./createIcon";
4
4
  * 日历:日期字段右侧的记号。
5
5
  * 名字带 `Icon` 是因为 `Calendar` 已经是月历控件了
6
6
  */
7
- export const CalendarIcon = createIcon(
7
+ export const CalendarIcon = /* @__PURE__ */ createIcon(
8
8
  "CalendarIcon",
9
9
  <path d="M4 6h16v14H4zM4 11h16M8 3v5M16 3v5" />,
10
10
  );
@@ -1,4 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 对勾:已选、已完成 */
4
- export const Check = createIcon("Check", <path d="M4 12l6 6L20 6" />);
4
+ export const Check = /* @__PURE__ */ createIcon(
5
+ "Check",
6
+ <path d="M4 12l6 6L20 6" />,
7
+ );
@@ -1,3 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const ChevronDown = createIcon("ChevronDown", <path d="M4 9l8 8 8-8" />);
3
+ export const ChevronDown = /* @__PURE__ */ createIcon(
4
+ "ChevronDown",
5
+ <path d="M4 9l8 8 8-8" />,
6
+ );
@@ -1,6 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const ChevronLeft = createIcon(
3
+ export const ChevronLeft = /* @__PURE__ */ createIcon(
4
4
  "ChevronLeft",
5
5
  <path d="M15 4l-8 8 8 8" />,
6
6
  );
@@ -1,6 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const ChevronRight = createIcon(
3
+ export const ChevronRight = /* @__PURE__ */ createIcon(
4
4
  "ChevronRight",
5
5
  <path d="M9 4l8 8-8 8" />,
6
6
  );
@@ -1,3 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const Close = createIcon("Close", <path d="M5 5l14 14M19 5L5 19" />);
3
+ export const Close = /* @__PURE__ */ createIcon(
4
+ "Close",
5
+ <path d="M5 5l14 14M19 5L5 19" />,
6
+ );
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 四个取景角加中心的准星:图鉴里"未获得"的占位符 */
4
- export const Crosshair = createIcon(
4
+ export const Crosshair = /* @__PURE__ */ createIcon(
5
5
  "Crosshair",
6
6
  <path d="M3 8V3h5M16 3h5v5M21 16v5h-5M8 21H3v-5M12 9v6M9 12h6" />,
7
7
  );
@@ -1,6 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const Lock = createIcon(
3
+ export const Lock = /* @__PURE__ */ createIcon(
4
4
  "Lock",
5
5
  <path d="M5 11h14v10H5zM8 11V7a4 4 0 0 1 8 0v4" />,
6
6
  );
@@ -1,4 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 三条横线:打开菜单 */
4
- export const Menu = createIcon("Menu", <path d="M3 6h18M3 12h18M3 18h18" />);
4
+ export const Menu = /* @__PURE__ */ createIcon(
5
+ "Menu",
6
+ <path d="M3 6h18M3 12h18M3 18h18" />,
7
+ );
@@ -1,4 +1,4 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 短横:半选、减少 */
4
- export const Minus = createIcon("Minus", <path d="M4 12h16" />);
4
+ export const Minus = /* @__PURE__ */ createIcon("Minus", <path d="M4 12h16" />);
@@ -1,3 +1,6 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
- export const Plus = createIcon("Plus", <path d="M12 4v16M4 12h16" />);
3
+ export const Plus = /* @__PURE__ */ createIcon(
4
+ "Plus",
5
+ <path d="M12 4v16M4 12h16" />,
6
+ );
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 菱形:危险、错误 */
4
- export const StatusDanger = createIcon(
4
+ export const StatusDanger = /* @__PURE__ */ createIcon(
5
5
  "StatusDanger",
6
6
  <path d="M12 2.5l9.5 9.5-9.5 9.5L2.5 12zM12 7v6M12 15v2" />,
7
7
  );
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 方框:说明。四种状态图标各用一种外形,不只靠颜色区分 */
4
- export const StatusInfo = createIcon(
4
+ export const StatusInfo = /* @__PURE__ */ createIcon(
5
5
  "StatusInfo",
6
6
  <path d="M4 4h16v16H4zM12 11v6M12 7v2" />,
7
7
  );
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 圆 + 对勾:成功 */
4
- export const StatusSuccess = createIcon(
4
+ export const StatusSuccess = /* @__PURE__ */ createIcon(
5
5
  "StatusSuccess",
6
6
  <>
7
7
  <circle cx="12" cy="12" r="9" />
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 三角:警告 */
4
- export const StatusWarning = createIcon(
4
+ export const StatusWarning = /* @__PURE__ */ createIcon(
5
5
  "StatusWarning",
6
6
  <path d="M12 4l9 16H3zM12 10v5M12 16.5v2" />,
7
7
  );
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 实心三角 ▶:前往、展开 */
4
- export const TriangleRight = createIcon(
4
+ export const TriangleRight = /* @__PURE__ */ createIcon(
5
5
  "TriangleRight",
6
6
  <path d="M7 4l12 8-12 8z" fill="currentColor" stroke="none" />,
7
7
  );
@@ -1,7 +1,7 @@
1
1
  import { createIcon } from "./createIcon";
2
2
 
3
3
  /** 上传:一个托盘,上面一支朝上的箭头 */
4
- export const Upload = createIcon(
4
+ export const Upload = /* @__PURE__ */ createIcon(
5
5
  "Upload",
6
6
  <path d="M12 16V4M7 9l5-5 5 5M4 15v5h16v-5" />,
7
7
  );
package/src/index.ts CHANGED
@@ -63,6 +63,7 @@ export * from "./components/skeleton";
63
63
  export * from "./components/slider";
64
64
  export * from "./components/sparkline";
65
65
  export * from "./components/spinner";
66
+ export * from "./components/splash-screen";
66
67
  export * from "./components/stat";
67
68
  export * from "./components/stepper";
68
69
  export * from "./components/steps";
package/src/lib/cn.ts CHANGED
@@ -5,7 +5,7 @@ import { extendTailwindMerge } from "tailwind-merge";
5
5
  * theme.css 里的自定义令牌名需要登记,否则 tailwind-merge 会把 `text-micro`
6
6
  * 当成颜色,与 `text-ink` 互相覆盖。改动 theme.css 的令牌名时同步改这里。
7
7
  */
8
- const twMerge = extendTailwindMerge({
8
+ const twMerge = /* @__PURE__ */ extendTailwindMerge({
9
9
  extend: {
10
10
  theme: {
11
11
  text: ["micro", "ghost"],
@@ -0,0 +1,6 @@
1
+ import { createContext, type Context } from "react";
2
+
3
+ export function createLazyContext<T>(defaultValue: T) {
4
+ let context: Context<T> | undefined;
5
+ return () => (context ??= createContext(defaultValue));
6
+ }
@@ -374,6 +374,7 @@
374
374
  --animate-turn-in: ef-turn-in 300ms ease-out both;
375
375
  --animate-fade-in: ef-fade-in 300ms ease-out both;
376
376
  --animate-indeterminate: ef-indeterminate 1.2s linear infinite alternate;
377
+ --animate-indeterminate-y: ef-indeterminate-y 1.2s linear infinite alternate;
377
378
  --animate-pulse: ef-pulse 2s ease-in-out infinite;
378
379
  --animate-bracket-in: ef-bracket-in 200ms ease-out both;
379
380
  --animate-shift-in: ef-shift-in 300ms ease-out both;
@@ -507,6 +508,16 @@
507
508
  }
508
509
  }
509
510
 
511
+ /* 同上,竖着的轨道:开屏页贴左缘的那根条 */
512
+ @keyframes ef-indeterminate-y {
513
+ from {
514
+ transform: translateY(0);
515
+ }
516
+ to {
517
+ transform: translateY(150%);
518
+ }
519
+ }
520
+
510
521
  /* 骨架:很轻的明度往返,不是扫光 */
511
522
  @keyframes ef-pulse {
512
523
  0%,
@@ -610,6 +621,28 @@
610
621
  --color-info: var(--ef-info);
611
622
  }
612
623
 
624
+ /* ------------------------------------------------------------------ */
625
+ /* 开屏页的进度 */
626
+ /* ------------------------------------------------------------------ */
627
+
628
+ /*
629
+ * SplashScreen 把进度写成根上的这两个变量,注册成数值之后才能过渡:条长、读数的位置、
630
+ * 底图的模糊都由第一个算,读数的数字是第二个(整数,经计数器显示)。两个一起过渡,
631
+ * 所以这四样天然同拍,半路改值也是从当前的位置折过去。
632
+ * 不认 @property 的浏览器里它们只是普通变量:值照样对,只是不补间、直接到位。
633
+ */
634
+ @property --ef-splash-progress {
635
+ syntax: "<number>";
636
+ inherits: true;
637
+ initial-value: 0;
638
+ }
639
+
640
+ @property --ef-splash-percent {
641
+ syntax: "<integer>";
642
+ inherits: true;
643
+ initial-value: 0;
644
+ }
645
+
613
646
  /* ------------------------------------------------------------------ */
614
647
  /* 主题切换 */
615
648
  /* ------------------------------------------------------------------ */
@@ -240,3 +240,11 @@
240
240
  /* ------------------------------------------------------------------ */
241
241
 
242
242
  @custom-variant choice-diamond (&:where([data-choice="diamond"], [data-choice="diamond"] *));
243
+
244
+ /* ------------------------------------------------------------------ */
245
+ /* 所在的容器是竖着的(高大于宽):开屏页据此换成竖排。 */
246
+ /* 看的是最近的尺寸容器(container-type: size),不是视口—— */
247
+ /* 放进一个框里的开屏页,横竖由那个框说了算 */
248
+ /* ------------------------------------------------------------------ */
249
+
250
+ @custom-variant cq-portrait (@container (orientation: portrait));