@aaspai/react 0.0.0 → 0.0.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 (55) hide show
  1. package/README.md +720 -8
  2. package/dist/atoms.cjs +3565 -0
  3. package/dist/atoms.cjs.map +1 -0
  4. package/dist/atoms.d.cts +255 -0
  5. package/dist/atoms.d.ts +255 -0
  6. package/dist/atoms.js +3530 -0
  7. package/dist/atoms.js.map +1 -0
  8. package/dist/components.cjs +5397 -0
  9. package/dist/components.cjs.map +1 -0
  10. package/dist/components.d.cts +362 -0
  11. package/dist/components.d.ts +362 -0
  12. package/dist/components.js +5344 -0
  13. package/dist/components.js.map +1 -0
  14. package/dist/forms.cjs +3928 -0
  15. package/dist/forms.cjs.map +1 -0
  16. package/dist/forms.d.cts +135 -0
  17. package/dist/forms.d.ts +135 -0
  18. package/dist/forms.js +3903 -0
  19. package/dist/forms.js.map +1 -0
  20. package/dist/hooks.cjs +74 -0
  21. package/dist/hooks.cjs.map +1 -0
  22. package/dist/hooks.d.cts +138 -0
  23. package/dist/hooks.d.ts +138 -0
  24. package/dist/hooks.js +70 -0
  25. package/dist/hooks.js.map +1 -0
  26. package/dist/index.cjs +6030 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/index.d.cts +248 -0
  29. package/dist/index.d.ts +248 -0
  30. package/dist/index.js +5952 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/lib.cjs +139 -0
  33. package/dist/lib.cjs.map +1 -0
  34. package/dist/lib.d.cts +111 -0
  35. package/dist/lib.d.ts +111 -0
  36. package/dist/lib.js +128 -0
  37. package/dist/lib.js.map +1 -0
  38. package/dist/navigation.cjs +56 -0
  39. package/dist/navigation.cjs.map +1 -0
  40. package/dist/navigation.d.cts +65 -0
  41. package/dist/navigation.d.ts +65 -0
  42. package/dist/navigation.js +51 -0
  43. package/dist/navigation.js.map +1 -0
  44. package/dist/styles.css +839 -0
  45. package/dist/types.cjs +4 -0
  46. package/dist/types.cjs.map +1 -0
  47. package/dist/types.d.cts +17 -0
  48. package/dist/types.d.ts +17 -0
  49. package/dist/types.js +3 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +67 -28
  52. package/index.cjs +0 -10
  53. package/index.d.ts +0 -6
  54. package/index.js +0 -5
  55. package/styles.css +0 -1
@@ -0,0 +1,65 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentType, ReactNode } from 'react';
3
+
4
+ /**
5
+ * Navigation adapter interface
6
+ * Allows different routing implementations (browser, react-router, next.js)
7
+ */
8
+ interface NavigationAdapter {
9
+ /**
10
+ * Hook to get URL search parameters
11
+ * Returns URLSearchParams for consistent API across adapters
12
+ */
13
+ useSearchParams(): URLSearchParams;
14
+ /**
15
+ * Link component for navigation
16
+ * Each adapter provides its own implementation (native <a>, React Router Link, Next.js Link, etc.)
17
+ */
18
+ Link: ComponentType<{
19
+ href: string;
20
+ className?: string;
21
+ children: ReactNode;
22
+ }>;
23
+ }
24
+
25
+ interface NavigationProviderProps {
26
+ adapter: NavigationAdapter;
27
+ children: ReactNode;
28
+ }
29
+ /**
30
+ * Navigation Provider
31
+ * Injects navigation adapter into the component tree
32
+ */
33
+ declare function NavigationProvider({ adapter, children }: NavigationProviderProps): react_jsx_runtime.JSX.Element;
34
+ /**
35
+ * Hook to access navigation adapter
36
+ * @throws Error if used outside NavigationProvider
37
+ */
38
+ declare function useNavigationAdapter(): NavigationAdapter;
39
+
40
+ /**
41
+ * Browser native navigation adapter
42
+ * Uses browser's native URLSearchParams and <a> tags
43
+ * Suitable for vanilla React apps without a routing library
44
+ */
45
+ declare const BrowserNavigationAdapter: NavigationAdapter;
46
+
47
+ /**
48
+ * Hook to get URL search parameters
49
+ * Uses the navigation adapter injected by NavigationProvider
50
+ *
51
+ * @returns URLSearchParams object
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * function MyComponent() {
56
+ * const searchParams = useSearchParams();
57
+ * const redirectUrl = searchParams.get('redirect') || '/';
58
+ * // ...
59
+ * }
60
+ * ```
61
+ */
62
+ declare function useSearchParams(): URLSearchParams;
63
+
64
+ export { BrowserNavigationAdapter, type NavigationAdapter, NavigationProvider, type NavigationProviderProps, useNavigationAdapter, useSearchParams };
65
+
@@ -0,0 +1,65 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentType, ReactNode } from 'react';
3
+
4
+ /**
5
+ * Navigation adapter interface
6
+ * Allows different routing implementations (browser, react-router, next.js)
7
+ */
8
+ interface NavigationAdapter {
9
+ /**
10
+ * Hook to get URL search parameters
11
+ * Returns URLSearchParams for consistent API across adapters
12
+ */
13
+ useSearchParams(): URLSearchParams;
14
+ /**
15
+ * Link component for navigation
16
+ * Each adapter provides its own implementation (native <a>, React Router Link, Next.js Link, etc.)
17
+ */
18
+ Link: ComponentType<{
19
+ href: string;
20
+ className?: string;
21
+ children: ReactNode;
22
+ }>;
23
+ }
24
+
25
+ interface NavigationProviderProps {
26
+ adapter: NavigationAdapter;
27
+ children: ReactNode;
28
+ }
29
+ /**
30
+ * Navigation Provider
31
+ * Injects navigation adapter into the component tree
32
+ */
33
+ declare function NavigationProvider({ adapter, children }: NavigationProviderProps): react_jsx_runtime.JSX.Element;
34
+ /**
35
+ * Hook to access navigation adapter
36
+ * @throws Error if used outside NavigationProvider
37
+ */
38
+ declare function useNavigationAdapter(): NavigationAdapter;
39
+
40
+ /**
41
+ * Browser native navigation adapter
42
+ * Uses browser's native URLSearchParams and <a> tags
43
+ * Suitable for vanilla React apps without a routing library
44
+ */
45
+ declare const BrowserNavigationAdapter: NavigationAdapter;
46
+
47
+ /**
48
+ * Hook to get URL search parameters
49
+ * Uses the navigation adapter injected by NavigationProvider
50
+ *
51
+ * @returns URLSearchParams object
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * function MyComponent() {
56
+ * const searchParams = useSearchParams();
57
+ * const redirectUrl = searchParams.get('redirect') || '/';
58
+ * // ...
59
+ * }
60
+ * ```
61
+ */
62
+ declare function useSearchParams(): URLSearchParams;
63
+
64
+ export { BrowserNavigationAdapter, type NavigationAdapter, NavigationProvider, type NavigationProviderProps, useNavigationAdapter, useSearchParams };
65
+
@@ -0,0 +1,51 @@
1
+ import { createContext, useContext, useState } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ // src/navigation/NavigationContext.tsx
5
+ var NavigationContext = createContext(null);
6
+ function NavigationProvider({ adapter, children }) {
7
+ return /* @__PURE__ */ jsx(NavigationContext.Provider, { value: adapter, children });
8
+ }
9
+ function useNavigationAdapter() {
10
+ const adapter = useContext(NavigationContext);
11
+ if (!adapter) {
12
+ return {
13
+ useSearchParams: () => new URLSearchParams(),
14
+ Link: ({ href, children, className }) => /* @__PURE__ */ jsx("a", { href, className, children })
15
+ };
16
+ }
17
+ return adapter;
18
+ }
19
+ var BrowserNavigationAdapter = {
20
+ /**
21
+ * Returns URLSearchParams from current window.location.search
22
+ * Note: Not reactive - reads once on component mount
23
+ * This is sufficient for auth flows where we read initial URL params
24
+ */
25
+ useSearchParams() {
26
+ const [searchParams] = useState(() => {
27
+ if (typeof window === "undefined") {
28
+ return new URLSearchParams();
29
+ }
30
+ return new URLSearchParams(window.location.search);
31
+ });
32
+ return searchParams;
33
+ },
34
+ /**
35
+ * Native <a> tag for navigation
36
+ * Uses full page reload
37
+ */
38
+ Link({ href, className, children }) {
39
+ return /* @__PURE__ */ jsx("a", { href, className, children });
40
+ }
41
+ };
42
+
43
+ // src/navigation/useSearchParams.ts
44
+ function useSearchParams() {
45
+ const adapter = useNavigationAdapter();
46
+ return adapter.useSearchParams();
47
+ }
48
+
49
+ export { BrowserNavigationAdapter, NavigationProvider, useNavigationAdapter, useSearchParams };
50
+ //# sourceMappingURL=navigation.js.map
51
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/navigation/NavigationContext.tsx","../src/navigation/BrowserNavigationAdapter.tsx","../src/navigation/useSearchParams.ts"],"names":["jsx"],"mappings":";;;;AAGA,IAAM,iBAAA,GAAoB,cAAwC,IAAI,CAAA;AAW/D,SAAS,kBAAA,CAAmB,EAAE,OAAA,EAAS,QAAA,EAAS,EAA4B;AACjF,EAAA,2BAAQ,iBAAA,CAAkB,QAAA,EAAlB,EAA2B,KAAA,EAAO,SAAU,QAAA,EAAS,CAAA;AAC/D;AAMO,SAAS,oBAAA,GAA0C;AACxD,EAAA,MAAM,OAAA,GAAU,WAAW,iBAAiB,CAAA;AAE5C,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO;AAAA,MACL,eAAA,EAAiB,MAAM,IAAI,eAAA,EAAgB;AAAA,MAC3C,IAAA,EAAM,CAAC,EAAE,IAAA,EAAM,QAAA,EAAU,SAAA,EAAU,qBACjC,GAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAY,SAAA,EACZ,QAAA,EACH;AAAA,KAEJ;AAAA,EACF;AAEA,EAAA,OAAO,OAAA;AACT;AC7BO,IAAM,wBAAA,GAA8C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMzD,eAAA,GAAkB;AAChB,IAAA,MAAM,CAAC,YAAY,CAAA,GAAI,QAAA,CAAS,MAAM;AACpC,MAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AACjC,QAAA,OAAO,IAAI,eAAA,EAAgB;AAAA,MAC7B;AACA,MAAA,OAAO,IAAI,eAAA,CAAgB,MAAA,CAAO,QAAA,CAAS,MAAM,CAAA;AAAA,IACnD,CAAC,CAAA;AAED,IAAA,OAAO,YAAA;AAAA,EACT,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAA,CAAK,EAAE,IAAA,EAAM,SAAA,EAAW,UAAS,EAAG;AAClC,IAAA,uBACEA,GAAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAY,WACZ,QAAA,EACH,CAAA;AAAA,EAEJ;AACF;;;ACnBO,SAAS,eAAA,GAAmC;AACjD,EAAA,MAAM,UAAU,oBAAA,EAAqB;AACrC,EAAA,OAAO,QAAQ,eAAA,EAAgB;AACjC","file":"navigation.js","sourcesContent":["import { createContext, useContext, ReactNode } from 'react';\r\nimport type { NavigationAdapter } from './types';\r\n\r\nconst NavigationContext = createContext<NavigationAdapter | null>(null);\r\n\r\nexport interface NavigationProviderProps {\r\n adapter: NavigationAdapter;\r\n children: ReactNode;\r\n}\r\n\r\n/**\r\n * Navigation Provider\r\n * Injects navigation adapter into the component tree\r\n */\r\nexport function NavigationProvider({ adapter, children }: NavigationProviderProps) {\r\n return <NavigationContext.Provider value={adapter}>{children}</NavigationContext.Provider>;\r\n}\r\n\r\n/**\r\n * Hook to access navigation adapter\r\n * @throws Error if used outside NavigationProvider\r\n */\r\nexport function useNavigationAdapter(): NavigationAdapter {\r\n const adapter = useContext(NavigationContext);\r\n\r\n if (!adapter) {\r\n return {\r\n useSearchParams: () => new URLSearchParams(),\r\n Link: ({ href, children, className }) => (\r\n <a href={href} className={className}>\r\n {children}\r\n </a>\r\n ),\r\n };\r\n }\r\n\r\n return adapter;\r\n}\r\n","import { useState } from 'react';\r\nimport type { NavigationAdapter } from './types';\r\n\r\n/**\r\n * Browser native navigation adapter\r\n * Uses browser's native URLSearchParams and <a> tags\r\n * Suitable for vanilla React apps without a routing library\r\n */\r\nexport const BrowserNavigationAdapter: NavigationAdapter = {\r\n /**\r\n * Returns URLSearchParams from current window.location.search\r\n * Note: Not reactive - reads once on component mount\r\n * This is sufficient for auth flows where we read initial URL params\r\n */\r\n useSearchParams() {\r\n const [searchParams] = useState(() => {\r\n if (typeof window === 'undefined') {\r\n return new URLSearchParams();\r\n }\r\n return new URLSearchParams(window.location.search);\r\n });\r\n\r\n return searchParams;\r\n },\r\n\r\n /**\r\n * Native <a> tag for navigation\r\n * Uses full page reload\r\n */\r\n Link({ href, className, children }) {\r\n return (\r\n <a href={href} className={className}>\r\n {children}\r\n </a>\r\n );\r\n },\r\n};\r\n","import { useNavigationAdapter } from './NavigationContext';\r\n\r\n/**\r\n * Hook to get URL search parameters\r\n * Uses the navigation adapter injected by NavigationProvider\r\n *\r\n * @returns URLSearchParams object\r\n *\r\n * @example\r\n * ```tsx\r\n * function MyComponent() {\r\n * const searchParams = useSearchParams();\r\n * const redirectUrl = searchParams.get('redirect') || '/';\r\n * // ...\r\n * }\r\n * ```\r\n */\r\nexport function useSearchParams(): URLSearchParams {\r\n const adapter = useNavigationAdapter();\r\n return adapter.useSearchParams();\r\n}\r\n"]}