nfx-ui 0.9.0 → 0.10.2

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 (283) hide show
  1. package/dist/events.cjs.map +1 -1
  2. package/dist/events.mjs.map +1 -1
  3. package/dist/src/apis/index.d.ts +2 -1
  4. package/dist/src/apis/index.d.ts.map +1 -0
  5. package/dist/src/apis/ip.d.ts +1 -0
  6. package/dist/src/apis/ip.d.ts.map +1 -0
  7. package/dist/src/constants/caches.d.ts +1 -0
  8. package/dist/src/constants/caches.d.ts.map +1 -0
  9. package/dist/src/constants/enums.d.ts +1 -0
  10. package/dist/src/constants/enums.d.ts.map +1 -0
  11. package/dist/src/constants/index.d.ts +6 -5
  12. package/dist/src/constants/index.d.ts.map +1 -0
  13. package/dist/src/constants/query.itemkeys.d.ts +6 -1
  14. package/dist/src/constants/query.itemkeys.d.ts.map +1 -0
  15. package/dist/src/constants/query.listkeys.d.ts +6 -1
  16. package/dist/src/constants/query.listkeys.d.ts.map +1 -0
  17. package/dist/src/constants/querykeys.d.ts +19 -3
  18. package/dist/src/constants/querykeys.d.ts.map +1 -0
  19. package/dist/src/designs/animations/BounceLoading/index.d.ts +2 -1
  20. package/dist/src/designs/animations/BounceLoading/index.d.ts.map +1 -0
  21. package/dist/src/designs/animations/ECGLoading/index.d.ts +2 -1
  22. package/dist/src/designs/animations/ECGLoading/index.d.ts.map +1 -0
  23. package/dist/src/designs/animations/LetterGlitch/index.d.ts +1 -0
  24. package/dist/src/designs/animations/LetterGlitch/index.d.ts.map +1 -0
  25. package/dist/src/designs/animations/PixelBlast/index.d.ts +2 -1
  26. package/dist/src/designs/animations/PixelBlast/index.d.ts.map +1 -0
  27. package/dist/src/designs/animations/Squares/index.d.ts +2 -1
  28. package/dist/src/designs/animations/Squares/index.d.ts.map +1 -0
  29. package/dist/src/designs/animations/TruckLoading/index.d.ts +2 -1
  30. package/dist/src/designs/animations/TruckLoading/index.d.ts.map +1 -0
  31. package/dist/src/designs/animations/Waves/index.d.ts +3 -1
  32. package/dist/src/designs/animations/Waves/index.d.ts.map +1 -0
  33. package/dist/src/designs/animations/index.d.ts +7 -6
  34. package/dist/src/designs/animations/index.d.ts.map +1 -0
  35. package/dist/src/designs/components/Button/index.d.ts +14 -2
  36. package/dist/src/designs/components/Button/index.d.ts.map +1 -0
  37. package/dist/src/designs/components/Dropdown/index.d.ts +2 -1
  38. package/dist/src/designs/components/Dropdown/index.d.ts.map +1 -0
  39. package/dist/src/designs/components/Icon/index.d.ts +14 -2
  40. package/dist/src/designs/components/Icon/index.d.ts.map +1 -0
  41. package/dist/src/designs/components/Input/index.d.ts +14 -2
  42. package/dist/src/designs/components/Input/index.d.ts.map +1 -0
  43. package/dist/src/designs/components/KeyValueEditor/index.d.ts +2 -1
  44. package/dist/src/designs/components/KeyValueEditor/index.d.ts.map +1 -0
  45. package/dist/src/designs/components/LayoutSwitcher/index.d.ts +3 -2
  46. package/dist/src/designs/components/LayoutSwitcher/index.d.ts.map +1 -0
  47. package/dist/src/designs/components/SearchInput/index.d.ts +2 -1
  48. package/dist/src/designs/components/SearchInput/index.d.ts.map +1 -0
  49. package/dist/src/designs/components/ShowFilter/index.d.ts +2 -1
  50. package/dist/src/designs/components/ShowFilter/index.d.ts.map +1 -0
  51. package/dist/src/designs/components/SlideDownSwitcher/index.d.ts +1 -0
  52. package/dist/src/designs/components/SlideDownSwitcher/index.d.ts.map +1 -0
  53. package/dist/src/designs/components/Slider/index.d.ts +2 -1
  54. package/dist/src/designs/components/Slider/index.d.ts.map +1 -0
  55. package/dist/src/designs/components/Suspense/SuspenseErrorBoundary.d.ts +3 -1
  56. package/dist/src/designs/components/Suspense/SuspenseErrorBoundary.d.ts.map +1 -0
  57. package/dist/src/designs/components/Suspense/index.d.ts +17 -3
  58. package/dist/src/designs/components/Suspense/index.d.ts.map +1 -0
  59. package/dist/src/designs/components/Textarea/index.d.ts +14 -2
  60. package/dist/src/designs/components/Textarea/index.d.ts.map +1 -0
  61. package/dist/src/designs/components/ThemeSwitcher/index.d.ts +3 -2
  62. package/dist/src/designs/components/ThemeSwitcher/index.d.ts.map +1 -0
  63. package/dist/src/designs/components/VirtualList/index.d.ts +12 -2
  64. package/dist/src/designs/components/VirtualList/index.d.ts.map +1 -0
  65. package/dist/src/designs/components/VirtualWindowList/index.d.ts +18 -2
  66. package/dist/src/designs/components/VirtualWindowList/index.d.ts.map +1 -0
  67. package/dist/src/designs/components/index.d.ts +31 -30
  68. package/dist/src/designs/components/index.d.ts.map +1 -0
  69. package/dist/src/designs/layouts/components/Background/index.d.ts +4 -3
  70. package/dist/src/designs/layouts/components/Background/index.d.ts.map +1 -0
  71. package/dist/src/designs/layouts/components/Footer/index.d.ts +4 -3
  72. package/dist/src/designs/layouts/components/Footer/index.d.ts.map +1 -0
  73. package/dist/src/designs/layouts/components/Header/index.d.ts +3 -2
  74. package/dist/src/designs/layouts/components/Header/index.d.ts.map +1 -0
  75. package/dist/src/designs/layouts/components/LayoutFrame/index.d.ts +3 -2
  76. package/dist/src/designs/layouts/components/LayoutFrame/index.d.ts.map +1 -0
  77. package/dist/src/designs/layouts/components/MainWrapper/index.d.ts +3 -2
  78. package/dist/src/designs/layouts/components/MainWrapper/index.d.ts.map +1 -0
  79. package/dist/src/designs/layouts/components/SideHideLayout/index.d.ts +3 -2
  80. package/dist/src/designs/layouts/components/SideHideLayout/index.d.ts.map +1 -0
  81. package/dist/src/designs/layouts/components/SideShowLayout/index.d.ts +3 -2
  82. package/dist/src/designs/layouts/components/SideShowLayout/index.d.ts.map +1 -0
  83. package/dist/src/designs/layouts/components/Sidebar/index.d.ts +3 -2
  84. package/dist/src/designs/layouts/components/Sidebar/index.d.ts.map +1 -0
  85. package/dist/src/designs/layouts/components/index.d.ts +9 -8
  86. package/dist/src/designs/layouts/components/index.d.ts.map +1 -0
  87. package/dist/src/designs/layouts/hooks/index.d.ts +4 -3
  88. package/dist/src/designs/layouts/hooks/index.d.ts.map +1 -0
  89. package/dist/src/designs/layouts/hooks/useAction.d.ts +1 -0
  90. package/dist/src/designs/layouts/hooks/useAction.d.ts.map +1 -0
  91. package/dist/src/designs/layouts/hooks/useLayout.d.ts +7 -2
  92. package/dist/src/designs/layouts/hooks/useLayout.d.ts.map +1 -0
  93. package/dist/src/designs/layouts/hooks/useSet.d.ts +2 -1
  94. package/dist/src/designs/layouts/hooks/useSet.d.ts.map +1 -0
  95. package/dist/src/designs/layouts/index.d.ts +6 -5
  96. package/dist/src/designs/layouts/index.d.ts.map +1 -0
  97. package/dist/src/designs/layouts/providers/index.d.ts +7 -2
  98. package/dist/src/designs/layouts/providers/index.d.ts.map +1 -0
  99. package/dist/src/designs/layouts/types/components.d.ts +7 -3
  100. package/dist/src/designs/layouts/types/components.d.ts.map +1 -0
  101. package/dist/src/designs/layouts/types/context.d.ts +5 -1
  102. package/dist/src/designs/layouts/types/context.d.ts.map +1 -0
  103. package/dist/src/designs/layouts/types/index.d.ts +4 -3
  104. package/dist/src/designs/layouts/types/index.d.ts.map +1 -0
  105. package/dist/src/designs/layouts/types/layout.d.ts +1 -0
  106. package/dist/src/designs/layouts/types/layout.d.ts.map +1 -0
  107. package/dist/src/designs/layouts/utils/index.d.ts +2 -1
  108. package/dist/src/designs/layouts/utils/index.d.ts.map +1 -0
  109. package/dist/src/designs/layouts/utils/layoutStorage.d.ts +6 -1
  110. package/dist/src/designs/layouts/utils/layoutStorage.d.ts.map +1 -0
  111. package/dist/src/events/EventEmitter.d.ts +33 -3
  112. package/dist/src/events/EventEmitter.d.ts.map +1 -0
  113. package/dist/src/events/index.d.ts +2 -1
  114. package/dist/src/events/index.d.ts.map +1 -0
  115. package/dist/src/hooks/index.d.ts +5 -4
  116. package/dist/src/hooks/index.d.ts.map +1 -0
  117. package/dist/src/hooks/makeCursorFetchFunction.d.ts +3 -2
  118. package/dist/src/hooks/makeCursorFetchFunction.d.ts.map +1 -0
  119. package/dist/src/hooks/makeUnifiedInfiniteQuery.d.ts +5 -4
  120. package/dist/src/hooks/makeUnifiedInfiniteQuery.d.ts.map +1 -0
  121. package/dist/src/hooks/makeUnifiedQuery.d.ts +3 -2
  122. package/dist/src/hooks/makeUnifiedQuery.d.ts.map +1 -0
  123. package/dist/src/hooks/type.d.ts +8 -3
  124. package/dist/src/hooks/type.d.ts.map +1 -0
  125. package/dist/src/icons/index.d.ts +2 -1
  126. package/dist/src/icons/index.d.ts.map +1 -0
  127. package/dist/src/icons/lucide.d.ts +3 -2
  128. package/dist/src/icons/lucide.d.ts.map +1 -0
  129. package/dist/src/languages/hooks/index.d.ts +5 -4
  130. package/dist/src/languages/hooks/index.d.ts.map +1 -0
  131. package/dist/src/languages/hooks/useLanguageLabel.d.ts +6 -1
  132. package/dist/src/languages/hooks/useLanguageLabel.d.ts.map +1 -0
  133. package/dist/src/languages/hooks/useLayoutLabel.d.ts +6 -1
  134. package/dist/src/languages/hooks/useLayoutLabel.d.ts.map +1 -0
  135. package/dist/src/languages/hooks/usePreferenceLabel.d.ts +6 -1
  136. package/dist/src/languages/hooks/usePreferenceLabel.d.ts.map +1 -0
  137. package/dist/src/languages/hooks/useThemeLabel.d.ts +6 -1
  138. package/dist/src/languages/hooks/useThemeLabel.d.ts.map +1 -0
  139. package/dist/src/languages/index.d.ts +9 -8
  140. package/dist/src/languages/index.d.ts.map +1 -0
  141. package/dist/src/languages/languages/i18n.d.ts +8 -2
  142. package/dist/src/languages/languages/i18n.d.ts.map +1 -0
  143. package/dist/src/languages/languages/i18nResources.d.ts +7 -2
  144. package/dist/src/languages/languages/i18nResources.d.ts.map +1 -0
  145. package/dist/src/languages/languages/index.d.ts +3 -2
  146. package/dist/src/languages/languages/index.d.ts.map +1 -0
  147. package/dist/src/languages/providers/index.d.ts +7 -2
  148. package/dist/src/languages/providers/index.d.ts.map +1 -0
  149. package/dist/src/languages/resources/index.d.ts +9 -1
  150. package/dist/src/languages/resources/index.d.ts.map +1 -0
  151. package/dist/src/languages/types/components.d.ts +8 -3
  152. package/dist/src/languages/types/components.d.ts.map +1 -0
  153. package/dist/src/languages/types/i18n.d.ts +6 -1
  154. package/dist/src/languages/types/i18n.d.ts.map +1 -0
  155. package/dist/src/languages/types/index.d.ts +4 -3
  156. package/dist/src/languages/types/index.d.ts.map +1 -0
  157. package/dist/src/languages/types/language.d.ts +1 -0
  158. package/dist/src/languages/types/language.d.ts.map +1 -0
  159. package/dist/src/languages/utils/getLocalLanguage.d.ts +2 -1
  160. package/dist/src/languages/utils/getLocalLanguage.d.ts.map +1 -0
  161. package/dist/src/languages/utils/index.d.ts +3 -2
  162. package/dist/src/languages/utils/index.d.ts.map +1 -0
  163. package/dist/src/languages/utils/languageStorage.d.ts +7 -2
  164. package/dist/src/languages/utils/languageStorage.d.ts.map +1 -0
  165. package/dist/src/navigations/index.d.ts +2 -1
  166. package/dist/src/navigations/index.d.ts.map +1 -0
  167. package/dist/src/navigations/navigation.d.ts +2 -1
  168. package/dist/src/navigations/navigation.d.ts.map +1 -0
  169. package/dist/src/preference/constants.d.ts +6 -1
  170. package/dist/src/preference/constants.d.ts.map +1 -0
  171. package/dist/src/preference/index.d.ts +10 -5
  172. package/dist/src/preference/index.d.ts.map +1 -0
  173. package/dist/src/services/imageService.d.ts +1 -0
  174. package/dist/src/services/imageService.d.ts.map +1 -0
  175. package/dist/src/services/index.d.ts +2 -1
  176. package/dist/src/services/index.d.ts.map +1 -0
  177. package/dist/src/stores/index.d.ts +2 -1
  178. package/dist/src/stores/index.d.ts.map +1 -0
  179. package/dist/src/stores/makeStore.d.ts +5 -4
  180. package/dist/src/stores/makeStore.d.ts.map +1 -0
  181. package/dist/src/themes/hooks/index.d.ts +3 -2
  182. package/dist/src/themes/hooks/index.d.ts.map +1 -0
  183. package/dist/src/themes/hooks/useTheme.d.ts +8 -3
  184. package/dist/src/themes/hooks/useTheme.d.ts.map +1 -0
  185. package/dist/src/themes/hooks/useThemeVariables.d.ts +2 -1
  186. package/dist/src/themes/hooks/useThemeVariables.d.ts.map +1 -0
  187. package/dist/src/themes/index.d.ts +6 -5
  188. package/dist/src/themes/index.d.ts.map +1 -0
  189. package/dist/src/themes/providers/index.d.ts +7 -2
  190. package/dist/src/themes/providers/index.d.ts.map +1 -0
  191. package/dist/src/themes/themes/bases/android.d.ts +2 -1
  192. package/dist/src/themes/themes/bases/android.d.ts.map +1 -0
  193. package/dist/src/themes/themes/bases/default.d.ts +2 -1
  194. package/dist/src/themes/themes/bases/default.d.ts.map +1 -0
  195. package/dist/src/themes/themes/bases/index.d.ts +8 -6
  196. package/dist/src/themes/themes/bases/index.d.ts.map +1 -0
  197. package/dist/src/themes/themes/bases/ios.d.ts +2 -1
  198. package/dist/src/themes/themes/bases/ios.d.ts.map +1 -0
  199. package/dist/src/themes/themes/bases/linux.d.ts +2 -1
  200. package/dist/src/themes/themes/bases/linux.d.ts.map +1 -0
  201. package/dist/src/themes/themes/bases/windows.d.ts +2 -1
  202. package/dist/src/themes/themes/bases/windows.d.ts.map +1 -0
  203. package/dist/src/themes/themes/colors/coffee.d.ts +2 -1
  204. package/dist/src/themes/themes/colors/coffee.d.ts.map +1 -0
  205. package/dist/src/themes/themes/colors/corporate.d.ts +2 -1
  206. package/dist/src/themes/themes/colors/corporate.d.ts.map +1 -0
  207. package/dist/src/themes/themes/colors/cosmic.d.ts +2 -1
  208. package/dist/src/themes/themes/colors/cosmic.d.ts.map +1 -0
  209. package/dist/src/themes/themes/colors/dark.d.ts +2 -1
  210. package/dist/src/themes/themes/colors/dark.d.ts.map +1 -0
  211. package/dist/src/themes/themes/colors/default.d.ts +2 -1
  212. package/dist/src/themes/themes/colors/default.d.ts.map +1 -0
  213. package/dist/src/themes/themes/colors/forest.d.ts +2 -1
  214. package/dist/src/themes/themes/colors/forest.d.ts.map +1 -0
  215. package/dist/src/themes/themes/colors/index.d.ts +3 -1
  216. package/dist/src/themes/themes/colors/index.d.ts.map +1 -0
  217. package/dist/src/themes/themes/colors/light.d.ts +2 -1
  218. package/dist/src/themes/themes/colors/light.d.ts.map +1 -0
  219. package/dist/src/themes/themes/colors/wheat.d.ts +2 -1
  220. package/dist/src/themes/themes/colors/wheat.d.ts.map +1 -0
  221. package/dist/src/themes/themes/colors/wine.d.ts +2 -1
  222. package/dist/src/themes/themes/colors/wine.d.ts.map +1 -0
  223. package/dist/src/themes/themes/index.d.ts +3 -2
  224. package/dist/src/themes/themes/index.d.ts.map +1 -0
  225. package/dist/src/themes/types/components.d.ts +7 -2
  226. package/dist/src/themes/types/components.d.ts.map +1 -0
  227. package/dist/src/themes/types/context.d.ts +5 -1
  228. package/dist/src/themes/types/context.d.ts.map +1 -0
  229. package/dist/src/themes/types/index.d.ts +4 -3
  230. package/dist/src/themes/types/index.d.ts.map +1 -0
  231. package/dist/src/themes/types/theme.d.ts +1 -0
  232. package/dist/src/themes/types/theme.d.ts.map +1 -0
  233. package/dist/src/themes/utils/index.d.ts +2 -1
  234. package/dist/src/themes/utils/index.d.ts.map +1 -0
  235. package/dist/src/themes/utils/themeStorage.d.ts +7 -2
  236. package/dist/src/themes/utils/themeStorage.d.ts.map +1 -0
  237. package/dist/src/types/api.d.ts +2 -1
  238. package/dist/src/types/api.d.ts.map +1 -0
  239. package/dist/src/types/index.d.ts +3 -2
  240. package/dist/src/types/index.d.ts.map +1 -0
  241. package/dist/src/types/utils.d.ts +1 -0
  242. package/dist/src/types/utils.d.ts.map +1 -0
  243. package/dist/src/utils/address.d.ts +1 -0
  244. package/dist/src/utils/address.d.ts.map +1 -0
  245. package/dist/src/utils/apiError.d.ts +7 -1
  246. package/dist/src/utils/apiError.d.ts.map +1 -0
  247. package/dist/src/utils/array.d.ts +2 -1
  248. package/dist/src/utils/array.d.ts.map +1 -0
  249. package/dist/src/utils/colors.d.ts +1 -0
  250. package/dist/src/utils/colors.d.ts.map +1 -0
  251. package/dist/src/utils/email.d.ts +1 -0
  252. package/dist/src/utils/email.d.ts.map +1 -0
  253. package/dist/src/utils/form.d.ts +1 -0
  254. package/dist/src/utils/form.d.ts.map +1 -0
  255. package/dist/src/utils/index.d.ts +20 -19
  256. package/dist/src/utils/index.d.ts.map +1 -0
  257. package/dist/src/utils/lstorage.d.ts +6 -1
  258. package/dist/src/utils/lstorage.d.ts.map +1 -0
  259. package/dist/src/utils/object.d.ts +1 -0
  260. package/dist/src/utils/object.d.ts.map +1 -0
  261. package/dist/src/utils/polling.d.ts +3 -2
  262. package/dist/src/utils/polling.d.ts.map +1 -0
  263. package/dist/src/utils/price.d.ts +1 -0
  264. package/dist/src/utils/price.d.ts.map +1 -0
  265. package/dist/src/utils/promise.d.ts +1 -0
  266. package/dist/src/utils/promise.d.ts.map +1 -0
  267. package/dist/src/utils/random.d.ts +1 -0
  268. package/dist/src/utils/random.d.ts.map +1 -0
  269. package/dist/src/utils/result.d.ts +1 -0
  270. package/dist/src/utils/result.d.ts.map +1 -0
  271. package/dist/src/utils/retry.d.ts +3 -2
  272. package/dist/src/utils/retry.d.ts.map +1 -0
  273. package/dist/src/utils/safe.d.ts +6 -1
  274. package/dist/src/utils/safe.d.ts.map +1 -0
  275. package/dist/src/utils/singleton.d.ts +1 -0
  276. package/dist/src/utils/singleton.d.ts.map +1 -0
  277. package/dist/src/utils/suspense.d.ts +2 -1
  278. package/dist/src/utils/suspense.d.ts.map +1 -0
  279. package/dist/src/utils/time.d.ts +1 -0
  280. package/dist/src/utils/time.d.ts.map +1 -0
  281. package/dist/src/utils/types.d.ts +1 -0
  282. package/dist/src/utils/types.d.ts.map +1 -0
  283. package/package.json +4 -9
@@ -1 +1 @@
1
- {"version":3,"file":"events.cjs","names":[],"sources":["../src/events/EventEmitter.ts"],"sourcesContent":["/**\n * 通用事件发射器(按事件名注册/注销/触发)\n * Generic event emitter: subscribe, unsubscribe, and emit by event name.\n *\n * 不传 PayloadMap 时默认 PayloadMap = Record<E, unknown>,每个事件可无参或单参 (unknown),通用。\n * 传 PayloadMap 时可精确到:void(无参)、单类型(单参)、元组(多参)。\n *\n * @example 不传 PayloadMap(通用:无参或单参均可)\n * ```ts\n * const events = defineEvents({ A: \"a\", B: \"b\" });\n * class Em extends EventEmitter<EventNamesOf<typeof events>> { constructor() { super(events); } }\n * const em = new Em();\n * em.on(events.A, () => {}); em.emit(events.A);\n * em.on(events.B, (x) => console.log(x)); em.emit(events.B, data);\n * ```\n * @example 传 PayloadMap(严格单参/多参)\n * ```ts\n * type Map = { FOO: string; LOG: [string, number] };\n * class Em extends EventEmitter<\"FOO\"|\"LOG\", Map> { ... }\n * em.on(events.FOO, (x) => {}); em.emit(events.FOO, \"hi\");\n * em.on(events.LOG, (msg, level) => {}); em.emit(events.LOG, \"ok\", 1);\n * ```\n */\n\nimport type { Defined } from \"@/types\";\n\n/** 回调类型:内部存储与 on/off 默认(unknown)时均用此,任意函数即可,无需 as 断言。 */\ntype EventCallback = (...args: any[]) => void;\n\n/**\n * 将 PayloadMap[K] 规范为参数元组。\n * void→[];unknown(默认)→ [] | [unknown];单类型 T→[T];元组→不变。\n */\ntype ToArgs<P> = P extends void\n ? []\n : unknown extends P\n ? [] | [P]\n : P extends unknown[]\n ? P\n : [P];\n\n/** 由 defineEvents 返回的「已规范事件名对象」类型;constructor 只接受此类型。 */\ntype DefinedEvents<T extends Record<string, string>> = Defined<T, \"events\">;\n\n/** 从 events 对象推导出事件名联合类型。Event name union from an events key-value object. */\ntype EventNamesOf<T> = T extends Defined<infer O, \"events\"> ? O[keyof O] : T extends Record<string, string> ? T[keyof T] : never;\n\n/**\n * 规范创建「一级 key-value」事件名对象:仅允许 key → 字符串 value,禁止嵌套(类型约束)。\n * 返回 DefinedEvents<T>,供 EventEmitter 构造使用。\n * Define events object: one-level key-value (string values), no nested objects (type-only). Returns DefinedEvents<T> for EventEmitter.\n *\n * @param events - 事件名 key-value 对象。Event name key-value object (e.g. { FOO: \"DOMAIN:FOO\" }).\n * @returns DefinedEvents<E>,仅此类型可传入 EventEmitter 构造。DefinedEvents<E>; only this type is accepted by EventEmitter constructor.\n * @example\n * ```ts\n * const routerEvents = defineEvents({ NAVIGATE: \"ROUTER:NAVIGATE\", NAVIGATE_BACK: \"ROUTER:NAVIGATE_BACK\" });\n * class RouterEmitter extends EventEmitter<EventNamesOf<typeof routerEvents>> { constructor() { super(routerEvents); } }\n * ```\n */\nfunction defineEvents<E extends Record<string, string>>(events: E): DefinedEvents<E> {\n return events as DefinedEvents<E>;\n}\n\nfunction createListenersMap<E extends string>(eventNames: readonly E[]): Record<E, Set<EventCallback>> {\n const map = {} as Record<E, Set<EventCallback>>;\n for (const e of eventNames) {\n map[e] = new Set();\n }\n return map;\n}\n\n/**\n * 泛型 EventEmitter:构造函数仅接受 defineEvents 返回的 DefinedEvents 类型,提供 on / off / emit。\n * PayloadMap[K] 可为 void(无参)、单类型 T(单参)、或元组 [A, B, ...](多参),统一规范为参数列表。\n * PayloadMap[K] can be void (no args), single type T (one arg), or tuple [A, B, ...] (multi arg).\n *\n * @param events - 须为 defineEvents(...) 的返回值(DefinedEvents)。Must be the return value of defineEvents(...) (DefinedEvents).\n */\nclass EventEmitter<E extends string, PayloadMap extends Record<E, unknown> = Record<E, unknown>> {\n private listeners: Record<E, Set<EventCallback>>;\n\n constructor(events: DefinedEvents<Record<string, E>>) {\n this.listeners = createListenersMap(Object.values(events as Record<string, E>));\n }\n\n /** 注册事件监听;回调为任意函数,由 emit 时传入的参数决定实际类型。 */\n on<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].add(callback);\n }\n\n /** 移除事件监听(需与 on 时同一引用)。 */\n off<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].delete(callback);\n }\n\n /**\n * 触发事件;参数与 PayloadMap[K] 一致:void 无参,T 单参,[A,B] 多参。\n * Emit an event; args match PayloadMap[K]: void → no args, T → one arg, [A,B] → spread.\n */\n emit<K extends E>(event: K, ...args: ToArgs<PayloadMap[K]>): void {\n this.listeners[event].forEach((cb) => cb(...args));\n }\n}\n\nexport { EventEmitter, defineEvents };\nexport type { EventCallback, DefinedEvents, EventNamesOf };\n"],"mappings":"mEA4DA,SAAS,EAA+C,EAA6B,CACnF,OAAO,EAGT,SAAS,EAAqC,EAAyD,CACrG,MAAM,EAAM,CAAA,EACZ,UAAW,KAAK,EACd,EAAI,CAAA,EAAK,IAAI,IAEf,OAAO,EAUT,IAAM,EAAN,KAAiG,CAC/F,UAEA,YAAY,EAA0C,CACpD,KAAK,UAAY,EAAmB,OAAO,OAAO,CAAA,CAA4B,EAIhF,GAAgB,EAAU,EAA+B,CACvD,KAAK,UAAU,CAAA,EAAO,IAAI,CAAA,EAI5B,IAAiB,EAAU,EAA+B,CACxD,KAAK,UAAU,CAAA,EAAO,OAAO,CAAA,EAO/B,KAAkB,KAAa,EAAmC,CAChE,KAAK,UAAU,CAAA,EAAO,QAAS,GAAO,EAAG,GAAG,CAAA,CAAK"}
1
+ {"version":3,"file":"events.cjs","names":[],"sources":["../src/events/EventEmitter.ts"],"sourcesContent":["/**\n * 通用事件发射器(按事件名注册/注销/触发)\n * Generic event emitter: subscribe, unsubscribe, and emit by event name.\n *\n * 不传 PayloadMap 时默认 PayloadMap = Record<E, unknown>,每个事件可无参或单参 (unknown),通用。\n * 传 PayloadMap 时可精确到:void(无参)、单类型(单参)、元组(多参)。\n *\n * @example 不传 PayloadMap(通用:无参或单参均可)\n * ```ts\n * const events = defineEvents({ A: \"a\", B: \"b\" });\n * class Em extends EventEmitter<EventNamesOf<typeof events>> { constructor() { super(events); } }\n * const em = new Em();\n * em.on(events.A, () => {}); em.emit(events.A);\n * em.on(events.B, (x) => console.log(x)); em.emit(events.B, data);\n * ```\n * @example 传 PayloadMap(严格单参/多参)\n * ```ts\n * type Map = { FOO: string; LOG: [string, number] };\n * class Em extends EventEmitter<\"FOO\"|\"LOG\", Map> { ... }\n * em.on(events.FOO, (x) => {}); em.emit(events.FOO, \"hi\");\n * em.on(events.LOG, (msg, level) => {}); em.emit(events.LOG, \"ok\", 1);\n * ```\n */\n\nimport type { Defined, ValueOf } from \"@/types\";\n\n/** 回调类型:内部存储与 on/off 默认(unknown)时均用此,任意函数即可,无需 as 断言。 */\ntype EventCallback = (...args: any[]) => void;\n\n/**\n * 将 PayloadMap[K] 规范为参数元组。\n * void→[];unknown(默认)→ [] | [unknown];单类型 T→[T];元组→不变。\n */\ntype ToArgs<P> = P extends void\n ? []\n : unknown extends P\n ? [] | [P]\n : P extends unknown[]\n ? P\n : [P];\n\n/** 由 defineEvents 返回的「已规范事件名对象」类型;constructor 只接受此类型。 */\ntype DefinedEvents<T extends Record<string, string>> = Defined<T, \"events\">;\n\n/**\n * 从 events 对象推导出事件名字符串联合。\n * - 使用 `[T] extends [Defined<...>]` 稳定 `infer O`,避免部分 TS 版本下 `T extends Defined<infer O>` 推断失败得到 `never`。\n * - 排除 `__defineBrand`,避免 `keyof O` 混入品牌键导致值联合含 `\"events\"` 或推断异常。\n */\ntype EventNamesOf<T> = [T] extends [Defined<infer O, \"events\">]\n ? ValueOf<{ [K in keyof O as K extends \"__defineBrand\" ? never : K]: O[K] }>\n : T extends Record<string, string>\n ? T[keyof T]\n : never;\n\n/**\n * 规范创建「一级 key-value」事件名对象:仅允许 key → 字符串 value,禁止嵌套(类型约束)。\n * 返回 DefinedEvents<T>,供 EventEmitter 构造使用。\n * Define events object: one-level key-value (string values), no nested objects (type-only). Returns DefinedEvents<T> for EventEmitter.\n *\n * @param events - 事件名 key-value 对象。Event name key-value object (e.g. { FOO: \"DOMAIN:FOO\" }).\n * @returns DefinedEvents<E>,仅此类型可传入 EventEmitter 构造。DefinedEvents<E>; only this type is accepted by EventEmitter constructor.\n * @example\n * ```ts\n * const routerEvents = defineEvents({ NAVIGATE: \"ROUTER:NAVIGATE\", NAVIGATE_BACK: \"ROUTER:NAVIGATE_BACK\" });\n * class RouterEmitter extends EventEmitter<EventNamesOf<typeof routerEvents>> { constructor() { super(routerEvents); } }\n * ```\n */\nfunction defineEvents<E extends Record<string, string>>(events: E): DefinedEvents<E> {\n return events as DefinedEvents<E>;\n}\n\nfunction createListenersMap<E extends string>(eventNames: readonly E[]): Record<E, Set<EventCallback>> {\n const map = {} as Record<E, Set<EventCallback>>;\n for (const e of eventNames) {\n map[e] = new Set();\n }\n return map;\n}\n\n/**\n * 泛型 EventEmitter:构造函数仅接受 defineEvents 返回的 DefinedEvents 类型,提供 on / off / emit。\n * PayloadMap[K] 可为 void(无参)、单类型 T(单参)、或元组 [A, B, ...](多参),统一规范为参数列表。\n * PayloadMap[K] can be void (no args), single type T (one arg), or tuple [A, B, ...] (multi arg).\n *\n * @param events - 须为 defineEvents(...) 的返回值(DefinedEvents)。Must be the return value of defineEvents(...) (DefinedEvents).\n */\nclass EventEmitter<E extends string, PayloadMap extends Record<E, unknown> = Record<E, unknown>> {\n private listeners: Record<E, Set<EventCallback>>;\n\n constructor(events: DefinedEvents<Record<string, E>>) {\n this.listeners = createListenersMap(Object.values(events as Record<string, E>));\n }\n\n /** 注册事件监听;回调为任意函数,由 emit 时传入的参数决定实际类型。 */\n on<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].add(callback);\n }\n\n /** 移除事件监听(需与 on 时同一引用)。 */\n off<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].delete(callback);\n }\n\n /**\n * 触发事件;参数与 PayloadMap[K] 一致:void 无参,T 单参,[A,B] 多参。\n * Emit an event; args match PayloadMap[K]: void → no args, T → one arg, [A,B] → spread.\n */\n emit<K extends E>(event: K, ...args: ToArgs<PayloadMap[K]>): void {\n this.listeners[event].forEach((cb) => cb(...args));\n }\n}\n\nexport { EventEmitter, defineEvents };\nexport type { EventCallback, DefinedEvents, EventNamesOf };\n"],"mappings":"mEAoEA,SAAS,EAA+C,EAA6B,CACnF,OAAO,EAGT,SAAS,EAAqC,EAAyD,CACrG,MAAM,EAAM,CAAA,EACZ,UAAW,KAAK,EACd,EAAI,CAAA,EAAK,IAAI,IAEf,OAAO,EAUT,IAAM,EAAN,KAAiG,CAC/F,UAEA,YAAY,EAA0C,CACpD,KAAK,UAAY,EAAmB,OAAO,OAAO,CAAA,CAA4B,EAIhF,GAAgB,EAAU,EAA+B,CACvD,KAAK,UAAU,CAAA,EAAO,IAAI,CAAA,EAI5B,IAAiB,EAAU,EAA+B,CACxD,KAAK,UAAU,CAAA,EAAO,OAAO,CAAA,EAO/B,KAAkB,KAAa,EAAmC,CAChE,KAAK,UAAU,CAAA,EAAO,QAAS,GAAO,EAAG,GAAG,CAAA,CAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.mjs","names":[],"sources":["../src/events/EventEmitter.ts"],"sourcesContent":["/**\n * 通用事件发射器(按事件名注册/注销/触发)\n * Generic event emitter: subscribe, unsubscribe, and emit by event name.\n *\n * 不传 PayloadMap 时默认 PayloadMap = Record<E, unknown>,每个事件可无参或单参 (unknown),通用。\n * 传 PayloadMap 时可精确到:void(无参)、单类型(单参)、元组(多参)。\n *\n * @example 不传 PayloadMap(通用:无参或单参均可)\n * ```ts\n * const events = defineEvents({ A: \"a\", B: \"b\" });\n * class Em extends EventEmitter<EventNamesOf<typeof events>> { constructor() { super(events); } }\n * const em = new Em();\n * em.on(events.A, () => {}); em.emit(events.A);\n * em.on(events.B, (x) => console.log(x)); em.emit(events.B, data);\n * ```\n * @example 传 PayloadMap(严格单参/多参)\n * ```ts\n * type Map = { FOO: string; LOG: [string, number] };\n * class Em extends EventEmitter<\"FOO\"|\"LOG\", Map> { ... }\n * em.on(events.FOO, (x) => {}); em.emit(events.FOO, \"hi\");\n * em.on(events.LOG, (msg, level) => {}); em.emit(events.LOG, \"ok\", 1);\n * ```\n */\n\nimport type { Defined } from \"@/types\";\n\n/** 回调类型:内部存储与 on/off 默认(unknown)时均用此,任意函数即可,无需 as 断言。 */\ntype EventCallback = (...args: any[]) => void;\n\n/**\n * 将 PayloadMap[K] 规范为参数元组。\n * void→[];unknown(默认)→ [] | [unknown];单类型 T→[T];元组→不变。\n */\ntype ToArgs<P> = P extends void\n ? []\n : unknown extends P\n ? [] | [P]\n : P extends unknown[]\n ? P\n : [P];\n\n/** 由 defineEvents 返回的「已规范事件名对象」类型;constructor 只接受此类型。 */\ntype DefinedEvents<T extends Record<string, string>> = Defined<T, \"events\">;\n\n/** 从 events 对象推导出事件名联合类型。Event name union from an events key-value object. */\ntype EventNamesOf<T> = T extends Defined<infer O, \"events\"> ? O[keyof O] : T extends Record<string, string> ? T[keyof T] : never;\n\n/**\n * 规范创建「一级 key-value」事件名对象:仅允许 key → 字符串 value,禁止嵌套(类型约束)。\n * 返回 DefinedEvents<T>,供 EventEmitter 构造使用。\n * Define events object: one-level key-value (string values), no nested objects (type-only). Returns DefinedEvents<T> for EventEmitter.\n *\n * @param events - 事件名 key-value 对象。Event name key-value object (e.g. { FOO: \"DOMAIN:FOO\" }).\n * @returns DefinedEvents<E>,仅此类型可传入 EventEmitter 构造。DefinedEvents<E>; only this type is accepted by EventEmitter constructor.\n * @example\n * ```ts\n * const routerEvents = defineEvents({ NAVIGATE: \"ROUTER:NAVIGATE\", NAVIGATE_BACK: \"ROUTER:NAVIGATE_BACK\" });\n * class RouterEmitter extends EventEmitter<EventNamesOf<typeof routerEvents>> { constructor() { super(routerEvents); } }\n * ```\n */\nfunction defineEvents<E extends Record<string, string>>(events: E): DefinedEvents<E> {\n return events as DefinedEvents<E>;\n}\n\nfunction createListenersMap<E extends string>(eventNames: readonly E[]): Record<E, Set<EventCallback>> {\n const map = {} as Record<E, Set<EventCallback>>;\n for (const e of eventNames) {\n map[e] = new Set();\n }\n return map;\n}\n\n/**\n * 泛型 EventEmitter:构造函数仅接受 defineEvents 返回的 DefinedEvents 类型,提供 on / off / emit。\n * PayloadMap[K] 可为 void(无参)、单类型 T(单参)、或元组 [A, B, ...](多参),统一规范为参数列表。\n * PayloadMap[K] can be void (no args), single type T (one arg), or tuple [A, B, ...] (multi arg).\n *\n * @param events - 须为 defineEvents(...) 的返回值(DefinedEvents)。Must be the return value of defineEvents(...) (DefinedEvents).\n */\nclass EventEmitter<E extends string, PayloadMap extends Record<E, unknown> = Record<E, unknown>> {\n private listeners: Record<E, Set<EventCallback>>;\n\n constructor(events: DefinedEvents<Record<string, E>>) {\n this.listeners = createListenersMap(Object.values(events as Record<string, E>));\n }\n\n /** 注册事件监听;回调为任意函数,由 emit 时传入的参数决定实际类型。 */\n on<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].add(callback);\n }\n\n /** 移除事件监听(需与 on 时同一引用)。 */\n off<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].delete(callback);\n }\n\n /**\n * 触发事件;参数与 PayloadMap[K] 一致:void 无参,T 单参,[A,B] 多参。\n * Emit an event; args match PayloadMap[K]: void → no args, T → one arg, [A,B] → spread.\n */\n emit<K extends E>(event: K, ...args: ToArgs<PayloadMap[K]>): void {\n this.listeners[event].forEach((cb) => cb(...args));\n }\n}\n\nexport { EventEmitter, defineEvents };\nexport type { EventCallback, DefinedEvents, EventNamesOf };\n"],"mappings":"AA4DA,SAAS,EAA+C,GAA6B;AACnF,SAAO;;AAGT,SAAS,EAAqC,GAAyD;AACrG,QAAM,IAAM,CAAA;AACZ,aAAW,KAAK,EACd,CAAA,EAAI,CAAA,IAAK,oBAAI,IAAA;AAEf,SAAO;;AAUT,IAAM,IAAN,MAAiG;AAAA,EAC/F;AAAA,EAEA,YAAY,GAA0C;AACpD,SAAK,YAAY,EAAmB,OAAO,OAAO,CAAA,CAA4B;AAAA;EAIhF,GAAgB,GAAU,GAA+B;AACvD,SAAK,UAAU,CAAA,EAAO,IAAI,CAAA;AAAA;EAI5B,IAAiB,GAAU,GAA+B;AACxD,SAAK,UAAU,CAAA,EAAO,OAAO,CAAA;AAAA;EAO/B,KAAkB,MAAa,GAAmC;AAChE,SAAK,UAAU,CAAA,EAAO,QAAA,CAAS,MAAO,EAAG,GAAG,CAAA,CAAK;AAAA"}
1
+ {"version":3,"file":"events.mjs","names":[],"sources":["../src/events/EventEmitter.ts"],"sourcesContent":["/**\n * 通用事件发射器(按事件名注册/注销/触发)\n * Generic event emitter: subscribe, unsubscribe, and emit by event name.\n *\n * 不传 PayloadMap 时默认 PayloadMap = Record<E, unknown>,每个事件可无参或单参 (unknown),通用。\n * 传 PayloadMap 时可精确到:void(无参)、单类型(单参)、元组(多参)。\n *\n * @example 不传 PayloadMap(通用:无参或单参均可)\n * ```ts\n * const events = defineEvents({ A: \"a\", B: \"b\" });\n * class Em extends EventEmitter<EventNamesOf<typeof events>> { constructor() { super(events); } }\n * const em = new Em();\n * em.on(events.A, () => {}); em.emit(events.A);\n * em.on(events.B, (x) => console.log(x)); em.emit(events.B, data);\n * ```\n * @example 传 PayloadMap(严格单参/多参)\n * ```ts\n * type Map = { FOO: string; LOG: [string, number] };\n * class Em extends EventEmitter<\"FOO\"|\"LOG\", Map> { ... }\n * em.on(events.FOO, (x) => {}); em.emit(events.FOO, \"hi\");\n * em.on(events.LOG, (msg, level) => {}); em.emit(events.LOG, \"ok\", 1);\n * ```\n */\n\nimport type { Defined, ValueOf } from \"@/types\";\n\n/** 回调类型:内部存储与 on/off 默认(unknown)时均用此,任意函数即可,无需 as 断言。 */\ntype EventCallback = (...args: any[]) => void;\n\n/**\n * 将 PayloadMap[K] 规范为参数元组。\n * void→[];unknown(默认)→ [] | [unknown];单类型 T→[T];元组→不变。\n */\ntype ToArgs<P> = P extends void\n ? []\n : unknown extends P\n ? [] | [P]\n : P extends unknown[]\n ? P\n : [P];\n\n/** 由 defineEvents 返回的「已规范事件名对象」类型;constructor 只接受此类型。 */\ntype DefinedEvents<T extends Record<string, string>> = Defined<T, \"events\">;\n\n/**\n * 从 events 对象推导出事件名字符串联合。\n * - 使用 `[T] extends [Defined<...>]` 稳定 `infer O`,避免部分 TS 版本下 `T extends Defined<infer O>` 推断失败得到 `never`。\n * - 排除 `__defineBrand`,避免 `keyof O` 混入品牌键导致值联合含 `\"events\"` 或推断异常。\n */\ntype EventNamesOf<T> = [T] extends [Defined<infer O, \"events\">]\n ? ValueOf<{ [K in keyof O as K extends \"__defineBrand\" ? never : K]: O[K] }>\n : T extends Record<string, string>\n ? T[keyof T]\n : never;\n\n/**\n * 规范创建「一级 key-value」事件名对象:仅允许 key → 字符串 value,禁止嵌套(类型约束)。\n * 返回 DefinedEvents<T>,供 EventEmitter 构造使用。\n * Define events object: one-level key-value (string values), no nested objects (type-only). Returns DefinedEvents<T> for EventEmitter.\n *\n * @param events - 事件名 key-value 对象。Event name key-value object (e.g. { FOO: \"DOMAIN:FOO\" }).\n * @returns DefinedEvents<E>,仅此类型可传入 EventEmitter 构造。DefinedEvents<E>; only this type is accepted by EventEmitter constructor.\n * @example\n * ```ts\n * const routerEvents = defineEvents({ NAVIGATE: \"ROUTER:NAVIGATE\", NAVIGATE_BACK: \"ROUTER:NAVIGATE_BACK\" });\n * class RouterEmitter extends EventEmitter<EventNamesOf<typeof routerEvents>> { constructor() { super(routerEvents); } }\n * ```\n */\nfunction defineEvents<E extends Record<string, string>>(events: E): DefinedEvents<E> {\n return events as DefinedEvents<E>;\n}\n\nfunction createListenersMap<E extends string>(eventNames: readonly E[]): Record<E, Set<EventCallback>> {\n const map = {} as Record<E, Set<EventCallback>>;\n for (const e of eventNames) {\n map[e] = new Set();\n }\n return map;\n}\n\n/**\n * 泛型 EventEmitter:构造函数仅接受 defineEvents 返回的 DefinedEvents 类型,提供 on / off / emit。\n * PayloadMap[K] 可为 void(无参)、单类型 T(单参)、或元组 [A, B, ...](多参),统一规范为参数列表。\n * PayloadMap[K] can be void (no args), single type T (one arg), or tuple [A, B, ...] (multi arg).\n *\n * @param events - 须为 defineEvents(...) 的返回值(DefinedEvents)。Must be the return value of defineEvents(...) (DefinedEvents).\n */\nclass EventEmitter<E extends string, PayloadMap extends Record<E, unknown> = Record<E, unknown>> {\n private listeners: Record<E, Set<EventCallback>>;\n\n constructor(events: DefinedEvents<Record<string, E>>) {\n this.listeners = createListenersMap(Object.values(events as Record<string, E>));\n }\n\n /** 注册事件监听;回调为任意函数,由 emit 时传入的参数决定实际类型。 */\n on<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].add(callback);\n }\n\n /** 移除事件监听(需与 on 时同一引用)。 */\n off<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].delete(callback);\n }\n\n /**\n * 触发事件;参数与 PayloadMap[K] 一致:void 无参,T 单参,[A,B] 多参。\n * Emit an event; args match PayloadMap[K]: void → no args, T → one arg, [A,B] → spread.\n */\n emit<K extends E>(event: K, ...args: ToArgs<PayloadMap[K]>): void {\n this.listeners[event].forEach((cb) => cb(...args));\n }\n}\n\nexport { EventEmitter, defineEvents };\nexport type { EventCallback, DefinedEvents, EventNamesOf };\n"],"mappings":"AAoEA,SAAS,EAA+C,GAA6B;AACnF,SAAO;;AAGT,SAAS,EAAqC,GAAyD;AACrG,QAAM,IAAM,CAAA;AACZ,aAAW,KAAK,EACd,CAAA,EAAI,CAAA,IAAK,oBAAI,IAAA;AAEf,SAAO;;AAUT,IAAM,IAAN,MAAiG;AAAA,EAC/F;AAAA,EAEA,YAAY,GAA0C;AACpD,SAAK,YAAY,EAAmB,OAAO,OAAO,CAAA,CAA4B;AAAA;EAIhF,GAAgB,GAAU,GAA+B;AACvD,SAAK,UAAU,CAAA,EAAO,IAAI,CAAA;AAAA;EAI5B,IAAiB,GAAU,GAA+B;AACxD,SAAK,UAAU,CAAA,EAAO,OAAO,CAAA;AAAA;EAO/B,KAAkB,MAAa,GAAmC;AAChE,SAAK,UAAU,CAAA,EAAO,QAAA,CAAS,MAAO,EAAG,GAAG,CAAA,CAAK;AAAA"}
@@ -1,2 +1,3 @@
1
1
  /** API 通用:path 树与 base URL(只保留 ip 通用文件) / API path tree & base URL (ip only) */
2
- export * from './ip';
2
+ export * from "./ip";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apis/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,cAAc,MAAM,CAAC"}
@@ -2,3 +2,4 @@ export type PathNode<T> = string & {
2
2
  [K in keyof T]: T[K] extends (...args: infer A) => infer R ? R extends object ? (...args: A) => PathNode<R> : (...args: A) => string : T[K] extends object ? PathNode<T[K]> : string;
3
3
  };
4
4
  export declare const path: <T extends Record<string, unknown>>(base: string, children: T) => PathNode<T>;
5
+ //# sourceMappingURL=ip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../../src/apis/ip.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,GAAG;KAChC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACtD,CAAC,SAAS,MAAM,GACd,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAC3B,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,GACxB,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACd,MAAM;CACb,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,MAAM,EAAE,UAAU,CAAC,KAAG,QAAQ,CAAC,CAAC,CAwB5E,CAAC"}
@@ -3,3 +3,4 @@ declare const CACHE_LIST = "list";
3
3
  /** 单条 key 片段。Item key segment. */
4
4
  declare const CACHE_ITEM = "item";
5
5
  export { CACHE_LIST, CACHE_ITEM };
6
+ //# sourceMappingURL=caches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caches.d.ts","sourceRoot":"","sources":["../../../src/constants/caches.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,QAAA,MAAM,UAAU,SAAS,CAAC;AAE1B,kCAAkC;AAClC,QAAA,MAAM,UAAU,SAAS,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
@@ -16,3 +16,4 @@ declare function enumPickMap<M extends EnumMetaMap, P extends keyof M[keyof M]>(
16
16
  };
17
17
  export { defineEnum, enumPickMap };
18
18
  export type { EnumMetaMap, DefinedEnum, EnumInferMeta, EnumValue };
19
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/constants/enums.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhE,KAAK,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI;IACxC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAC1E,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEnE,KAAK,SAAS,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF,iBAAS,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAY3E;AAED,iBAAS,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAE/H;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC"}
@@ -2,8 +2,9 @@
2
2
  * 公用常量:query key 工厂、domain 片段、cache 片段、catalog 限制等
3
3
  * Shared constants: query key factories, domain segments, cache segments, catalog limits.
4
4
  */
5
- export * from './caches';
6
- export * from './enums';
7
- export * from './query.itemkeys';
8
- export * from './query.listkeys';
9
- export * from './querykeys';
5
+ export * from "./caches";
6
+ export * from "./enums";
7
+ export * from "./query.itemkeys";
8
+ export * from "./query.listkeys";
9
+ export * from "./querykeys";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
@@ -1,4 +1,8 @@
1
- import { QueryKey } from '@tanstack/react-query';
1
+ /**
2
+ * 单条 query key 工厂(支持一个或多个 id,可链式 .withPrefix)
3
+ * Item query key factories (one or more ids, chainable .withPrefix).
4
+ */
5
+ import type { QueryKey } from "@tanstack/react-query";
2
6
  /**
3
7
  * 链式单条 key 类型:可调用 (...ids) => QueryKey,且带 withPrefix、getPrefix。
4
8
  * Chainable item key type: callable (...ids) => QueryKey, with withPrefix() and getPrefix.
@@ -29,3 +33,4 @@ type ItemKeyChainable = ((...ids: string[]) => QueryKey) & {
29
33
  declare function createItemKey(domain: string, subDomain: string): ItemKeyChainable;
30
34
  export { createItemKey };
31
35
  export type { ItemKeyChainable };
36
+ //# sourceMappingURL=query.itemkeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.itemkeys.d.ts","sourceRoot":"","sources":["../../../src/constants/query.itemkeys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD;;;GAGG;AACH,KAAK,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,KAAK,QAAQ,CAAC,GAAG;IACzD,UAAU,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC;IACnD,6EAA6E;IAC7E,SAAS,EAAE,QAAQ,CAAC;CACrB,CAAC;AAeF;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAE1E;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,4 +1,8 @@
1
- import { QueryKey } from '@tanstack/react-query';
1
+ /**
2
+ * 列表 query key 工厂(可链式 .withPrefix)
3
+ * List query key factories (chainable .withPrefix).
4
+ */
5
+ import type { QueryKey } from "@tanstack/react-query";
2
6
  /**
3
7
  * 链式列表 key 类型:本身即 QueryKey(数组),且带 withPrefix、getPrefix。
4
8
  * Chainable list key type: is a QueryKey (array) and has withPrefix(), getPrefix.
@@ -28,3 +32,4 @@ type ListKeyChainable = QueryKey & {
28
32
  declare function createListKey(domain: string, subDomain: string): ListKeyChainable;
29
33
  export { createListKey };
30
34
  export type { ListKeyChainable };
35
+ //# sourceMappingURL=query.listkeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.listkeys.d.ts","sourceRoot":"","sources":["../../../src/constants/query.listkeys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD;;;GAGG;AACH,KAAK,gBAAgB,GAAG,QAAQ,GAAG;IACjC,UAAU,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC;IACnD,0FAA0F;IAC1F,SAAS,EAAE,QAAQ,CAAC;CACrB,CAAC;AAcF;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAE1E;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,6 +1,21 @@
1
- import { QueryKey } from '@tanstack/react-query';
2
- import { ItemKeyChainable } from './query.itemkeys';
3
- import { ListKeyChainable } from './query.listkeys';
1
+ /**
2
+ * 通用 React Query key 工厂(公用包层)
3
+ * Universal React Query key factories for shared use.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { createListKey, createItemKey } from "@/constants";
8
+ *
9
+ * const CATALOG_CATEGORY_LIST = createListKey("catalog", "category");
10
+ * const CATALOG_CATEGORY = createItemKey("catalog", "category");
11
+ *
12
+ * useQuery({ queryKey: CATALOG_CATEGORY_LIST, queryFn: ... });
13
+ * useQuery({ queryKey: CATALOG_CATEGORY(id), queryFn: ... });
14
+ * ```
15
+ */
16
+ import type { QueryKey } from "@tanstack/react-query";
17
+ import type { ItemKeyChainable } from "./query.itemkeys";
18
+ import type { ListKeyChainable } from "./query.listkeys";
4
19
  /** 含 list / item 且可链式 withPrefix 的 bundle 类型 */
5
20
  type QueryKeysBundle = {
6
21
  list: ListKeyChainable;
@@ -40,3 +55,4 @@ declare function createKey(...segments: unknown[]): QueryKey;
40
55
  declare function createQueryKeys(domain: string, subDomain: string): QueryKeysBundle;
41
56
  export { createKey, createQueryKeys };
42
57
  export type { QueryKeysBundle };
58
+ //# sourceMappingURL=querykeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"querykeys.d.ts","sourceRoot":"","sources":["../../../src/constants/querykeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,gDAAgD;AAChD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;CACnD,CAAC;AAYF;;;;;;;;;;;GAWG;AACH,iBAAS,SAAS,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,CAEnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAE3E;AAED,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -3,5 +3,6 @@ interface BounceLoadingProps {
3
3
  shape?: "square" | "circle";
4
4
  className?: string;
5
5
  }
6
- declare const BounceLoading: import('react').MemoExoticComponent<({ size, shape, className }: BounceLoadingProps) => import("react/jsx-runtime").JSX.Element>;
6
+ declare const BounceLoading: import("react").MemoExoticComponent<({ size, shape, className }: BounceLoadingProps) => import("react/jsx-runtime").JSX.Element>;
7
7
  export default BounceLoading;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/animations/BounceLoading/index.tsx"],"names":[],"mappings":"AAIA,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,mEAA2D,kBAAkB,6CAU9F,CAAC;AAIH,eAAe,aAAa,CAAC"}
@@ -2,5 +2,6 @@ interface ECGLoadingProps {
2
2
  size?: "small" | "medium" | "large";
3
3
  className?: string;
4
4
  }
5
- declare const ECGLoading: import('react').MemoExoticComponent<({ size, className }: ECGLoadingProps) => import("react/jsx-runtime").JSX.Element>;
5
+ declare const ECGLoading: import("react").MemoExoticComponent<({ size, className }: ECGLoadingProps) => import("react/jsx-runtime").JSX.Element>;
6
6
  export default ECGLoading;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/animations/ECGLoading/index.tsx"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,UAAU,4DAAyC,eAAe,6CAiBtE,CAAC;AAIH,eAAe,UAAU,CAAC"}
@@ -10,3 +10,4 @@ interface LetterGlitchProps {
10
10
  }
11
11
  declare const LetterGlitchBackground: React.FC<Omit<LetterGlitchProps, "glitchColors">>;
12
12
  export default LetterGlitchBackground;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/animations/LetterGlitch/index.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAwPD,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAoC5E,CAAC;AAIH,eAAe,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { default as React } from 'react';
1
+ import React from "react";
2
2
  type PixelBlastVariant = "square" | "circle" | "triangle" | "diamond";
3
3
  type PixelBlastProps = {
4
4
  variant?: PixelBlastVariant;
@@ -26,3 +26,4 @@ type PixelBlastProps = {
26
26
  };
27
27
  declare const PixelBlastBackground: React.FC<Omit<PixelBlastProps, "color">>;
28
28
  export default PixelBlastBackground;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/animations/PixelBlast/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAsBhE,KAAK,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AA0BtE,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAmpBF,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CA+CjE,CAAC;AAIH,eAAe,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { default as React } from 'react';
1
+ import React from "react";
2
2
  type CanvasStrokeStyle = string | CanvasGradient | CanvasPattern;
3
3
  interface SquaresProps {
4
4
  direction?: "diagonal" | "up" | "right" | "down" | "left";
@@ -11,3 +11,4 @@ interface SquaresProps {
11
11
  }
12
12
  declare const SquareBackground: React.FC<Omit<SquaresProps, "borderColor" | "hoverFillColor">>;
13
13
  export default SquareBackground;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/animations/Squares/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAM1D,KAAK,iBAAiB,GAAG,MAAM,GAAG,cAAc,GAAG,aAAa,CAAC;AAOjE,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAwID,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,gBAAgB,CAAC,CAgDpF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -2,5 +2,6 @@ interface TruckLoadingProps {
2
2
  size?: "small" | "medium" | "large";
3
3
  className?: string;
4
4
  }
5
- declare const TruckLoading: import('react').MemoExoticComponent<({ size, className }: TruckLoadingProps) => import("react/jsx-runtime").JSX.Element>;
5
+ declare const TruckLoading: import("react").MemoExoticComponent<({ size, className }: TruckLoadingProps) => import("react/jsx-runtime").JSX.Element>;
6
6
  export default TruckLoading;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/animations/TruckLoading/index.tsx"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,YAAY,4DAAyC,iBAAiB,6CAyE1E,CAAC;AAIH,eAAe,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
- import { default as React, CSSProperties } from 'react';
1
+ import React from "react";
2
+ import type { CSSProperties } from "react";
2
3
  interface WavesProps {
3
4
  lineColor?: string;
4
5
  backgroundColor?: string;
@@ -16,3 +17,4 @@ interface WavesProps {
16
17
  }
17
18
  declare const WaveBackground: React.FC<Omit<WavesProps, "lineColor" | "backgroundColor">>;
18
19
  export default WaveBackground;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/animations/Waves/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAwH3C,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwQD,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,iBAAiB,CAAC,CA6C/E,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,6 +1,7 @@
1
- export { default as ECGLoading } from './ECGLoading';
2
- export { default as TruckLoading } from './TruckLoading';
3
- export { default as BounceLoading } from './BounceLoading';
4
- export { default as WaveBackground } from './Waves';
5
- export { default as SquareBackground } from './Squares';
6
- export { default as LetterGlitchBackground } from './LetterGlitch';
1
+ export { default as ECGLoading } from "./ECGLoading";
2
+ export { default as TruckLoading } from "./TruckLoading";
3
+ export { default as BounceLoading } from "./BounceLoading";
4
+ export { default as WaveBackground } from "./Waves";
5
+ export { default as SquareBackground } from "./Squares";
6
+ export { default as LetterGlitchBackground } from "./LetterGlitch";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/designs/animations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,4 +1,15 @@
1
- import { ButtonHTMLAttributes, ReactNode } from 'react';
1
+ /**
2
+ * 按钮组件:支持 variant、size、四向图标、iconOnly、loading、fullWidth。
3
+ * Button with variant, size, top/right/bottom/left icon, iconOnly, loading, fullWidth.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * <Button>保存</Button>
8
+ * <Button leftIcon={<Save size={16} />} loading={isSubmitting}>提交</Button>
9
+ * <Button leftIcon={<Trash2 size={16} />} iconOnly aria-label="删除" />
10
+ * ```
11
+ */
12
+ import type { ButtonHTMLAttributes, ReactNode } from "react";
2
13
  export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> {
3
14
  variant?: "primary" | "secondary" | "outline" | "ghost" | "danger";
4
15
  size?: "small" | "medium" | "large";
@@ -16,5 +27,6 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
16
27
  loading?: boolean;
17
28
  children?: ReactNode;
18
29
  }
19
- declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
30
+ declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
20
31
  export default Button;
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/Button/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAM7D,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACxF,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnE,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,wBAAwB;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,QAAA,MAAM,MAAM,2GA8EX,CAAC;AAIF,eAAe,MAAM,CAAC"}
@@ -20,5 +20,6 @@ export interface DropdownProps {
20
20
  /** 容器 className。Container className. */
21
21
  className?: string;
22
22
  }
23
- declare const Dropdown: import('react').NamedExoticComponent<DropdownProps>;
23
+ declare const Dropdown: import("react").NamedExoticComponent<DropdownProps>;
24
24
  export default Dropdown;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/Dropdown/index.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,QAAQ,qDA2DZ,CAAC;AAIH,eAAe,QAAQ,CAAC"}
@@ -1,9 +1,21 @@
1
- import { LucideProps } from 'lucide-react';
1
+ /**
2
+ * 图标组件:基于 lucide-react,通过 name 渲染对应图标。Icon component; renders lucide icon by name.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * * 使用已注册的图标名
7
+ * <Icon name="ChevronDown" size={20} />
8
+ * * 带 className
9
+ * <Icon name="Search" className={styles.searchIcon} />
10
+ * ```
11
+ */
12
+ import type { LucideProps } from "lucide-react";
2
13
  import * as LucideIcons from "@/icons/lucide";
3
14
  export type IconName = keyof Omit<typeof LucideIcons, "LucideIcon">;
4
15
  export interface IconProps extends LucideProps {
5
16
  /** 图标名(lucide 注册名)。Icon name (lucide registered name). */
6
17
  name: IconName;
7
18
  }
8
- declare const Icon: import('react').MemoExoticComponent<({ name, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element | null>;
19
+ declare const Icon: import("react").MemoExoticComponent<({ name, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element | null>;
9
20
  export default Icon;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/Icon/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,WAAW,EAAE,YAAY,CAAC,CAAC;AAEpE,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,0DAA0D;IAC1D,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,QAAA,MAAM,IAAI,2DAA6B,SAAS,oDAS9C,CAAC;AAIH,eAAe,IAAI,CAAC"}
@@ -1,4 +1,15 @@
1
- import { InputHTMLAttributes, ReactNode } from 'react';
1
+ /**
2
+ * 输入框:支持 label、error、helperText、左右图标与 rightIconInteractive。Input with label, error, helperText, left/right icon.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * * 带标签与错误态
7
+ * <Input label="用户名" error={errors.name} value={name} onChange={(e) => setName(e.target.value)} />
8
+ * * 右侧可点击图标(如清除)
9
+ * <Input rightIcon={<X size={16} />} rightIconInteractive onRightIconClick={clear} />
10
+ * ```
11
+ */
12
+ import type { InputHTMLAttributes, ReactNode } from "react";
2
13
  export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size"> {
3
14
  /** 标签文案。Label text. */
4
15
  label?: string;
@@ -19,5 +30,6 @@ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
19
30
  /** 是否占满宽度。Full width. */
20
31
  fullWidth?: boolean;
21
32
  }
22
- declare const Input: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLInputElement>>;
33
+ declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
23
34
  export default Input;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/Input/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAM5D,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACrF,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uBAAuB;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2GAA2G;IAC3G,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe;IACf,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,yGAiDV,CAAC;AAIF,eAAe,KAAK,CAAC"}
@@ -26,5 +26,6 @@ export interface KeyValueEditorProps {
26
26
  /** 错误信息。Error message. */
27
27
  error?: string;
28
28
  }
29
- declare const KeyValueEditor: import('react').MemoExoticComponent<({ label, pairs, onChange, valueType, keyPlaceholder, valuePlaceholder, valueArrayPlaceholder, removeAriaLabel, addLabel, error, }: KeyValueEditorProps) => import("react/jsx-runtime").JSX.Element>;
29
+ declare const KeyValueEditor: import("react").MemoExoticComponent<({ label, pairs, onChange, valueType, keyPlaceholder, valuePlaceholder, valueArrayPlaceholder, removeAriaLabel, addLabel, error, }: KeyValueEditorProps) => import("react/jsx-runtime").JSX.Element>;
30
30
  export default KeyValueEditor;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/KeyValueEditor/index.tsx"],"names":[],"mappings":"AAoBA,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC1C,sDAAsD;IACtD,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/B,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,cAAc,0KAYf,mBAAmB,6CA8EvB,CAAC;AAIF,eAAe,cAAc,CAAC"}
@@ -1,3 +1,4 @@
1
- import { LayoutSwitcherProps } from '../../../../designs/layouts/types';
2
- declare const LayoutSwitcher: import('react').MemoExoticComponent<({ status, getLayoutDisplayName, handleChangeLayoutMode }: LayoutSwitcherProps) => import("react/jsx-runtime").JSX.Element>;
1
+ import type { LayoutSwitcherProps } from "@/designs/layouts/types";
2
+ declare const LayoutSwitcher: import("react").MemoExoticComponent<({ status, getLayoutDisplayName, handleChangeLayoutMode }: LayoutSwitcherProps) => import("react/jsx-runtime").JSX.Element>;
3
3
  export default LayoutSwitcher;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/LayoutSwitcher/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AASnE,QAAA,MAAM,cAAc,iGAA+E,mBAAmB,6CAWpH,CAAC;AAIH,eAAe,cAAc,CAAC"}
@@ -8,5 +8,6 @@ export interface SearchInputProps {
8
8
  /** 清除按钮 aria-label;由调用方传入(可来自 i18n)。Clear button aria-label; pass from caller. */
9
9
  clearButtonAriaLabel?: string;
10
10
  }
11
- declare const SearchInput: import('react').MemoExoticComponent<({ value, onChange, placeholder, clearButtonAriaLabel }: SearchInputProps) => import("react/jsx-runtime").JSX.Element>;
11
+ declare const SearchInput: import("react").MemoExoticComponent<({ value, onChange, placeholder, clearButtonAriaLabel }: SearchInputProps) => import("react/jsx-runtime").JSX.Element>;
12
12
  export default SearchInput;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/SearchInput/index.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,QAAA,MAAM,WAAW,+FAAkF,gBAAgB,6CAcjH,CAAC;AAIH,eAAe,WAAW,CAAC"}
@@ -24,5 +24,6 @@ export interface ShowFilterProps {
24
24
  /** 「隐藏」选项文案。Label for "hide" option. */
25
25
  hide?: string;
26
26
  }
27
- declare const ShowFilter: import('react').MemoExoticComponent<({ value, onChange, filterEnabled, filterDisabled, enableFilterAriaLabel, disableFilterAriaLabel, all, show, hide, }: ShowFilterProps) => import("react/jsx-runtime").JSX.Element>;
27
+ declare const ShowFilter: import("react").MemoExoticComponent<({ value, onChange, filterEnabled, filterDisabled, enableFilterAriaLabel, disableFilterAriaLabel, all, show, hide, }: ShowFilterProps) => import("react/jsx-runtime").JSX.Element>;
28
28
  export default ShowFilter;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/ShowFilter/index.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,UAAU,4JAWX,eAAe,6CAyCnB,CAAC;AAIF,eAAe,UAAU,CAAC"}
@@ -14,3 +14,4 @@ declare const SlideDownSwitcher: typeof SlideDownSwitcherInner & {
14
14
  displayName?: string;
15
15
  };
16
16
  export default SlideDownSwitcher;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/SlideDownSwitcher/index.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM;IACtD,4BAA4B;IAC5B,KAAK,EAAE,CAAC,CAAC;IACT,uCAAuC;IACvC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IACtB,aAAa;IACb,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IACrC,YAAY;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC;AAED,QAAA,MAAM,sBAAsB,GAAI,CAAC,SAAS,MAAM,EAAE,sDAAkE,sBAAsB,CAAC,CAAC,CAAC,4CAgE5I,CAAC;AAEF,QAAA,MAAM,iBAAiB,EAAmC,OAAO,sBAAsB,GAAG;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,eAAe,iBAAiB,CAAC"}
@@ -22,5 +22,6 @@ export interface SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
22
22
  /** 是否必填。Required. */
23
23
  required?: boolean;
24
24
  }
25
- declare const Slider: import('react').NamedExoticComponent<SliderProps & import('react').RefAttributes<HTMLDivElement>>;
25
+ declare const Slider: import("react").NamedExoticComponent<SliderProps & import("react").RefAttributes<HTMLDivElement>>;
26
26
  export default Slider;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/Slider/index.tsx"],"names":[],"mappings":"AAoBA,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACzF,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,MAAM,mGAiKX,CAAC;AAaF,eAAe,MAAM,CAAC"}
@@ -1,4 +1,5 @@
1
- import { ReactNode, Component } from 'react';
1
+ import type { ReactNode } from "react";
2
+ import { Component } from "react";
2
3
  interface SuspenseErrorBoundaryProps {
3
4
  children: ReactNode;
4
5
  fallbackRender: (args: {
@@ -19,3 +20,4 @@ declare class SuspenseErrorBoundary extends Component<SuspenseErrorBoundaryProps
19
20
  render(): ReactNode;
20
21
  }
21
22
  export default SuspenseErrorBoundary;
23
+ //# sourceMappingURL=SuspenseErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuspenseErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/Suspense/SuspenseErrorBoundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,UAAU,0BAA0B;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;IAChF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,UAAU,0BAA0B;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,cAAM,qBAAsB,SAAQ,SAAS,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IACnG,KAAK,EAAE,0BAA0B,CAG/B;IAEF,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,0BAA0B;IAIzE,iBAAiB,CAAC,KAAK,EAAE,KAAK;IAM9B,OAAO,CAAC,WAAW,CAIjB;IAEF,MAAM;CAOP;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,5 +1,18 @@
1
- import { QueryErrorResetBoundaryProps } from '@tanstack/react-query';
2
- import { ReactNode, SuspenseProps as ReactSuspenseProps } from 'react';
1
+ /**
2
+ * 统一 Suspense 包装:QueryErrorResetBoundary + 自定义 Loading/Error 样式,支持 loadingType、errorFallback。Suspense wrapper with QueryErrorResetBoundary, custom loading/error UI.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * * 包裹懒加载内容
7
+ * <Suspense fallback={null}>
8
+ * <LazyPage />
9
+ * </Suspense>
10
+ * * 自定义 loading 类型
11
+ * <Suspense loadingType="bounce" loadingShape="circle">...</Suspense>
12
+ * ```
13
+ */
14
+ import type { QueryErrorResetBoundaryProps } from "@tanstack/react-query";
15
+ import type { ReactNode, SuspenseProps as ReactSuspenseProps } from "react";
3
16
  export interface SuspenseProps extends Omit<ReactSuspenseProps, "fallback">, Omit<QueryErrorResetBoundaryProps, "children"> {
4
17
  /** 自定义 fallback。Custom fallback. */
5
18
  fallback?: ReactNode;
@@ -43,5 +56,6 @@ export interface SuspenseProps extends Omit<ReactSuspenseProps, "fallback">, Omi
43
56
  /** 是否展示错误详情。Show error details. */
44
57
  showErrorDetails?: boolean;
45
58
  }
46
- declare const Suspense: import('react').MemoExoticComponent<({ fallback, test, loadingType, loadingShape, loadingClassName, loadingText, loadingSize, loadingContainerClassName, loadingTextClassName, children, errorFallback, errorTitle, errorDescription, retryText, errorDetailsText, clearLocalDataText, onClearLocalData, errorContainerClassName, errorDetailsClassName, showErrorDetails, ...restProps }: SuspenseProps) => import("react/jsx-runtime").JSX.Element>;
59
+ declare const Suspense: import("react").MemoExoticComponent<({ fallback, test, loadingType, loadingShape, loadingClassName, loadingText, loadingSize, loadingContainerClassName, loadingTextClassName, children, errorFallback, errorTitle, errorDescription, retryText, errorDetailsText, clearLocalDataText, onClearLocalData, errorContainerClassName, errorDetailsClassName, showErrorDetails, ...restProps }: SuspenseProps) => import("react/jsx-runtime").JSX.Element>;
47
60
  export default Suspense;
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/designs/components/Suspense/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,OAAO,CAAC;AA2D5E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,UAAU,CAAC;IACzH,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qCAAqC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2BAA2B;IAC3B,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,kDAAkD;IAClD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,6CAA6C;IAC7C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;IAChF,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6GAA6G;IAC7G,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gDAAgD;IAChD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8CAA8C;IAC9C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAuGD,QAAA,MAAM,QAAQ,6XAuBT,aAAa,6CA6CjB,CAAC;AAGF,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,15 @@
1
- import { ReactNode, TextareaHTMLAttributes } from 'react';
1
+ /**
2
+ * 多行文本框:支持 label、error、helperText、左右图标与 size/variant。Textarea with label, error, helperText, left/right icon.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * * 基础用法
7
+ * <Textarea label="备注" value={note} onChange={(e) => setNote(e.target.value)} rows={4} />
8
+ * * 错误态
9
+ * <Textarea error={errors.note} helperText="选填" />
10
+ * ```
11
+ */
12
+ import type { ReactNode, TextareaHTMLAttributes } from "react";
2
13
  export interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> {
3
14
  /** 标签文案。Label text. */
4
15
  label?: string;
@@ -17,5 +28,6 @@ export interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaE
17
28
  /** 是否占满宽度。Full width. */
18
29
  fullWidth?: boolean;
19
30
  }
20
- declare const Textarea: import('react').ForwardRefExoticComponent<TextareaProps & import('react').RefAttributes<HTMLTextAreaElement>>;
31
+ declare const Textarea: import("react").ForwardRefExoticComponent<TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
21
32
  export default Textarea;
33
+ //# sourceMappingURL=index.d.ts.map