@duongthiu/onex-core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/README.md +44 -65
  2. package/THEME_API.md +36 -33
  3. package/dist/api.js +14 -0
  4. package/dist/api.js.map +1 -0
  5. package/dist/api.mjs +5 -0
  6. package/dist/api.mjs.map +1 -0
  7. package/dist/auth.js +23 -0
  8. package/dist/auth.js.map +1 -0
  9. package/dist/auth.mjs +6 -0
  10. package/dist/auth.mjs.map +1 -0
  11. package/dist/blog.js +22 -0
  12. package/dist/blog.js.map +1 -0
  13. package/dist/blog.mjs +5 -0
  14. package/dist/blog.mjs.map +1 -0
  15. package/dist/cart.js +27 -0
  16. package/dist/cart.js.map +1 -0
  17. package/dist/cart.mjs +6 -0
  18. package/dist/cart.mjs.map +1 -0
  19. package/dist/chunk-2CSWHI3L.js +210 -0
  20. package/dist/chunk-2CSWHI3L.js.map +1 -0
  21. package/dist/chunk-2FGHIDUV.js +99 -0
  22. package/dist/chunk-2FGHIDUV.js.map +1 -0
  23. package/dist/chunk-2NMEKWO5.js +40 -0
  24. package/dist/chunk-2NMEKWO5.js.map +1 -0
  25. package/dist/chunk-43BVHGDT.mjs +131 -0
  26. package/dist/chunk-43BVHGDT.mjs.map +1 -0
  27. package/dist/chunk-4JVQJI3I.mjs +290 -0
  28. package/dist/chunk-4JVQJI3I.mjs.map +1 -0
  29. package/dist/chunk-5N2EKK5O.js +9550 -0
  30. package/dist/chunk-5N2EKK5O.js.map +1 -0
  31. package/dist/chunk-5T6NDVSN.js +76 -0
  32. package/dist/chunk-5T6NDVSN.js.map +1 -0
  33. package/dist/chunk-73AINNCI.mjs +201 -0
  34. package/dist/chunk-73AINNCI.mjs.map +1 -0
  35. package/dist/chunk-AIXBDAVP.mjs +61 -0
  36. package/dist/chunk-AIXBDAVP.mjs.map +1 -0
  37. package/dist/chunk-ALYN5HAC.js +210 -0
  38. package/dist/chunk-ALYN5HAC.js.map +1 -0
  39. package/dist/chunk-AREMJR3Q.js +36 -0
  40. package/dist/chunk-AREMJR3Q.js.map +1 -0
  41. package/dist/chunk-DXAI6XOI.mjs +33 -0
  42. package/dist/chunk-DXAI6XOI.mjs.map +1 -0
  43. package/dist/chunk-F5TFNWFJ.mjs +257 -0
  44. package/dist/chunk-F5TFNWFJ.mjs.map +1 -0
  45. package/dist/chunk-FQ7FWUZN.js +265 -0
  46. package/dist/chunk-FQ7FWUZN.js.map +1 -0
  47. package/dist/{chunk-3SZX6LHT.js → chunk-J27VGXJH.js} +2 -24
  48. package/dist/chunk-J27VGXJH.js.map +1 -0
  49. package/dist/chunk-JZ46LLTZ.js +121 -0
  50. package/dist/chunk-JZ46LLTZ.js.map +1 -0
  51. package/dist/chunk-K24UHN6G.mjs +76 -0
  52. package/dist/chunk-K24UHN6G.mjs.map +1 -0
  53. package/dist/chunk-KCQGGU5R.mjs +344 -0
  54. package/dist/chunk-KCQGGU5R.mjs.map +1 -0
  55. package/dist/chunk-MT22NYKT.mjs +117 -0
  56. package/dist/chunk-MT22NYKT.mjs.map +1 -0
  57. package/dist/chunk-NDD472IZ.js +85 -0
  58. package/dist/chunk-NDD472IZ.js.map +1 -0
  59. package/dist/chunk-NHOIGGYU.mjs +833 -0
  60. package/dist/chunk-NHOIGGYU.mjs.map +1 -0
  61. package/dist/chunk-O3XR7TW3.mjs +12 -0
  62. package/dist/chunk-O3XR7TW3.mjs.map +1 -0
  63. package/dist/chunk-OAPYSC2X.mjs +206 -0
  64. package/dist/chunk-OAPYSC2X.mjs.map +1 -0
  65. package/dist/{chunk-XE4EOKS4.mjs → chunk-ONJREDYY.mjs} +3 -23
  66. package/dist/chunk-ONJREDYY.mjs.map +1 -0
  67. package/dist/chunk-OVT2LUAM.js +197 -0
  68. package/dist/chunk-OVT2LUAM.js.map +1 -0
  69. package/dist/chunk-OWNGNGKL.js +331 -0
  70. package/dist/chunk-OWNGNGKL.js.map +1 -0
  71. package/dist/chunk-P7SXNZSV.js +298 -0
  72. package/dist/chunk-P7SXNZSV.js.map +1 -0
  73. package/dist/chunk-PFJOL3HI.mjs +71 -0
  74. package/dist/chunk-PFJOL3HI.mjs.map +1 -0
  75. package/dist/chunk-PPULMWJ6.js +295 -0
  76. package/dist/chunk-PPULMWJ6.js.map +1 -0
  77. package/dist/chunk-RGIVKACG.js +359 -0
  78. package/dist/chunk-RGIVKACG.js.map +1 -0
  79. package/dist/chunk-RPP5K2LP.js +870 -0
  80. package/dist/chunk-RPP5K2LP.js.map +1 -0
  81. package/dist/{chunk-7EON6Q4L.mjs → chunk-RUCHWUD7.mjs} +7651 -6370
  82. package/dist/chunk-RUCHWUD7.mjs.map +1 -0
  83. package/dist/chunk-SEVUIX4H.js +137 -0
  84. package/dist/chunk-SEVUIX4H.js.map +1 -0
  85. package/dist/chunk-SK2FSHFM.mjs +208 -0
  86. package/dist/chunk-SK2FSHFM.mjs.map +1 -0
  87. package/dist/chunk-T6EJ2GAV.mjs +294 -0
  88. package/dist/chunk-T6EJ2GAV.mjs.map +1 -0
  89. package/dist/chunk-ULBDOFZI.mjs +302 -0
  90. package/dist/chunk-ULBDOFZI.mjs.map +1 -0
  91. package/dist/chunk-V3JIELNV.js +241 -0
  92. package/dist/chunk-V3JIELNV.js.map +1 -0
  93. package/dist/chunk-V5E2KWMA.mjs +238 -0
  94. package/dist/chunk-V5E2KWMA.mjs.map +1 -0
  95. package/dist/chunk-VJA3ER6A.js +14 -0
  96. package/dist/chunk-VJA3ER6A.js.map +1 -0
  97. package/dist/chunk-VLI7ULX5.js +66 -0
  98. package/dist/chunk-VLI7ULX5.js.map +1 -0
  99. package/dist/chunk-WFGS5OFH.mjs +189 -0
  100. package/dist/chunk-WFGS5OFH.mjs.map +1 -0
  101. package/dist/chunk-WVC5GP24.mjs +96 -0
  102. package/dist/chunk-WVC5GP24.mjs.map +1 -0
  103. package/dist/chunk-YOSPWY5K.mjs +36 -0
  104. package/dist/chunk-YOSPWY5K.mjs.map +1 -0
  105. package/dist/chunk-ZFFXXLX7.js +205 -0
  106. package/dist/chunk-ZFFXXLX7.js.map +1 -0
  107. package/dist/client.js +512 -249
  108. package/dist/client.mjs +21 -2
  109. package/dist/components.js +393 -0
  110. package/dist/components.js.map +1 -0
  111. package/dist/components.mjs +8 -0
  112. package/dist/components.mjs.map +1 -0
  113. package/dist/config.js +17 -0
  114. package/dist/config.js.map +1 -0
  115. package/dist/config.mjs +4 -0
  116. package/dist/config.mjs.map +1 -0
  117. package/dist/contact.js +22 -0
  118. package/dist/contact.js.map +1 -0
  119. package/dist/contact.mjs +5 -0
  120. package/dist/contact.mjs.map +1 -0
  121. package/dist/contexts.js +51 -0
  122. package/dist/contexts.js.map +1 -0
  123. package/dist/contexts.mjs +6 -0
  124. package/dist/contexts.mjs.map +1 -0
  125. package/dist/finance.js +26 -0
  126. package/dist/finance.js.map +1 -0
  127. package/dist/finance.mjs +5 -0
  128. package/dist/finance.mjs.map +1 -0
  129. package/dist/icons.js +15 -0
  130. package/dist/icons.js.map +1 -0
  131. package/dist/icons.mjs +4 -0
  132. package/dist/icons.mjs.map +1 -0
  133. package/dist/index.js +512 -249
  134. package/dist/index.js.map +1 -1
  135. package/dist/index.mjs +21 -2
  136. package/dist/index.mjs.map +1 -1
  137. package/dist/internal.js +1437 -0
  138. package/dist/internal.js.map +1 -0
  139. package/dist/internal.mjs +1404 -0
  140. package/dist/internal.mjs.map +1 -0
  141. package/dist/motion.js +51 -0
  142. package/dist/motion.js.map +1 -0
  143. package/dist/motion.mjs +38 -0
  144. package/dist/motion.mjs.map +1 -0
  145. package/dist/orders.js +22 -0
  146. package/dist/orders.js.map +1 -0
  147. package/dist/orders.mjs +5 -0
  148. package/dist/orders.mjs.map +1 -0
  149. package/dist/products.js +27 -0
  150. package/dist/products.js.map +1 -0
  151. package/dist/products.mjs +6 -0
  152. package/dist/products.mjs.map +1 -0
  153. package/dist/registry.js +44 -0
  154. package/dist/registry.js.map +1 -0
  155. package/dist/registry.mjs +7 -0
  156. package/dist/registry.mjs.map +1 -0
  157. package/dist/renderers.js +51 -0
  158. package/dist/renderers.js.map +1 -0
  159. package/dist/renderers.mjs +6 -0
  160. package/dist/renderers.mjs.map +1 -0
  161. package/dist/server.js +11 -189
  162. package/dist/server.js.map +1 -1
  163. package/dist/server.mjs +3 -186
  164. package/dist/server.mjs.map +1 -1
  165. package/dist/types.js +37 -0
  166. package/dist/types.js.map +1 -0
  167. package/dist/types.mjs +4 -0
  168. package/dist/types.mjs.map +1 -0
  169. package/dist/utils.js +160 -0
  170. package/dist/utils.js.map +1 -0
  171. package/dist/utils.mjs +7 -0
  172. package/dist/utils.mjs.map +1 -0
  173. package/dist/wrappers.js +104 -0
  174. package/dist/wrappers.js.map +1 -0
  175. package/dist/wrappers.mjs +96 -0
  176. package/dist/wrappers.mjs.map +1 -0
  177. package/package.json +112 -9
  178. package/dist/api-vuL1Eg5L.d.mts +0 -2961
  179. package/dist/api-vuL1Eg5L.d.ts +0 -2961
  180. package/dist/chunk-3SZX6LHT.js.map +0 -1
  181. package/dist/chunk-7EON6Q4L.mjs.map +0 -1
  182. package/dist/chunk-WDY773GJ.js +0 -8308
  183. package/dist/chunk-WDY773GJ.js.map +0 -1
  184. package/dist/chunk-XE4EOKS4.mjs.map +0 -1
  185. package/dist/client.d.mts +0 -1461
  186. package/dist/client.d.ts +0 -1461
  187. package/dist/index.d.mts +0 -125
  188. package/dist/index.d.ts +0 -125
  189. package/dist/server.d.mts +0 -70
  190. package/dist/server.d.ts +0 -70
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ // src/contexts/theme-context.tsx
8
+ var ThemeContext = react.createContext({
9
+ themeId: "default",
10
+ setThemeId: () => {
11
+ }
12
+ });
13
+ function ThemeContextProvider({
14
+ children,
15
+ themeId: initialThemeId
16
+ }) {
17
+ const [themeId, setThemeId] = react.useState(initialThemeId);
18
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, { value: { themeId, setThemeId }, children });
19
+ }
20
+ function useThemeContext() {
21
+ const context = react.useContext(ThemeContext);
22
+ if (!context) {
23
+ throw new Error("useThemeContext must be used within ThemeContextProvider");
24
+ }
25
+ return context;
26
+ }
27
+ var ViewportContext = react.createContext({
28
+ isEditing: false,
29
+ viewportMode: "desktop"
30
+ });
31
+ function ViewportProvider({
32
+ children,
33
+ isEditing,
34
+ viewportMode
35
+ }) {
36
+ return /* @__PURE__ */ jsxRuntime.jsx(ViewportContext.Provider, { value: { isEditing, viewportMode }, children });
37
+ }
38
+ function useViewport() {
39
+ return react.useContext(ViewportContext);
40
+ }
41
+ function useResponsiveClass(classes) {
42
+ const { isEditing, viewportMode } = useViewport();
43
+ if (!isEditing) {
44
+ return classes.desktop;
45
+ }
46
+ switch (viewportMode) {
47
+ case "mobile":
48
+ return classes.mobile;
49
+ case "tablet":
50
+ return classes.tablet;
51
+ case "desktop":
52
+ default:
53
+ return classes.desktop;
54
+ }
55
+ }
56
+ var PageDataContext = react.createContext(void 0);
57
+ function PageDataProvider({
58
+ data = {},
59
+ children
60
+ }) {
61
+ const value = react.useMemo(() => data, [data]);
62
+ return /* @__PURE__ */ jsxRuntime.jsx(PageDataContext.Provider, { value, children });
63
+ }
64
+ function usePageData() {
65
+ const context = react.useContext(PageDataContext);
66
+ if (context === void 0) {
67
+ throw new Error("usePageData must be used within a PageDataProvider");
68
+ }
69
+ return context;
70
+ }
71
+ function useWebsiteSettings() {
72
+ const pageData = usePageData();
73
+ return pageData.websiteSettings || {};
74
+ }
75
+
76
+ exports.PageDataProvider = PageDataProvider;
77
+ exports.ThemeContextProvider = ThemeContextProvider;
78
+ exports.ViewportProvider = ViewportProvider;
79
+ exports.usePageData = usePageData;
80
+ exports.useResponsiveClass = useResponsiveClass;
81
+ exports.useThemeContext = useThemeContext;
82
+ exports.useViewport = useViewport;
83
+ exports.useWebsiteSettings = useWebsiteSettings;
84
+ //# sourceMappingURL=chunk-NDD472IZ.js.map
85
+ //# sourceMappingURL=chunk-NDD472IZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/contexts/theme-context.tsx","../src/contexts/viewport-context.tsx","../src/contexts/page-data-context.tsx"],"names":["createContext","useState","jsx","useContext","useMemo"],"mappings":";;;;;;AAcA,IAAM,eAAeA,mBAAA,CAAiC;AAAA,EACpD,OAAA,EAAS,SAAA;AAAA,EACT,YAAY,MAAM;AAAA,EAAC;AACrB,CAAC,CAAA;AAOM,SAAS,oBAAA,CAAqB;AAAA,EACnC,QAAA;AAAA,EACA,OAAA,EAAS;AACX,CAAA,EAA8B;AAC5B,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAAS,cAAc,CAAA;AAErD,EAAA,uBACEC,cAAA,CAAC,aAAa,QAAA,EAAb,EAAsB,OAAO,EAAE,OAAA,EAAS,UAAA,EAAW,EACjD,QAAA,EACH,CAAA;AAEJ;AAEO,SAAS,eAAA,GAAkB;AAChC,EAAA,MAAM,OAAA,GAAUC,iBAAW,YAAY,CAAA;AAEvC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,0DAA0D,CAAA;AAAA,EAC5E;AAEA,EAAA,OAAO,OAAA;AACT;AC3BA,IAAM,kBAAkBH,mBAAAA,CAAmC;AAAA,EACzD,SAAA,EAAW,KAAA;AAAA,EACX,YAAA,EAAc;AAChB,CAAC,CAAA;AAEM,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,uBACEE,cAAAA,CAAC,eAAA,CAAgB,QAAA,EAAhB,EAAyB,OAAO,EAAE,SAAA,EAAW,YAAA,EAAa,EACxD,QAAA,EACH,CAAA;AAEJ;AAEO,SAAS,WAAA,GAAc;AAC5B,EAAA,OAAOC,iBAAW,eAAe,CAAA;AACnC;AAMO,SAAS,mBAAmB,OAAA,EAIxB;AACT,EAAA,MAAM,EAAE,SAAA,EAAW,YAAA,EAAa,GAAI,WAAA,EAAY;AAEhD,EAAA,IAAI,CAAC,SAAA,EAAW;AAEd,IAAA,OAAO,OAAA,CAAQ,OAAA;AAAA,EACjB;AAGA,EAAA,QAAQ,YAAA;AAAc,IACpB,KAAK,QAAA;AACH,MAAA,OAAO,OAAA,CAAQ,MAAA;AAAA,IACjB,KAAK,QAAA;AACH,MAAA,OAAO,OAAA,CAAQ,MAAA;AAAA,IACjB,KAAK,SAAA;AAAA,IACL;AACE,MAAA,OAAO,OAAA,CAAQ,OAAA;AAAA;AAErB;AC7CA,IAAM,eAAA,GAAkBH,oBAAoC,MAAS,CAAA;AAuB9D,SAAS,gBAAA,CAAiB;AAAA,EAC/B,OAAO,EAAC;AAAA,EACR;AACF,CAAA,EAA0B;AAExB,EAAA,MAAM,QAAQI,aAAA,CAAQ,MAAM,IAAA,EAAM,CAAC,IAAI,CAAC,CAAA;AAExC,EAAA,uBACEF,cAAAA,CAAC,eAAA,CAAgB,QAAA,EAAhB,EAAyB,OACvB,QAAA,EACH,CAAA;AAEJ;AAcO,SAAS,WAAA,GAAwB;AACtC,EAAA,MAAM,OAAA,GAAUC,iBAAW,eAAe,CAAA;AAE1C,EAAA,IAAI,YAAY,MAAA,EAAW;AACzB,IAAA,MAAM,IAAI,MAAM,oDAAoD,CAAA;AAAA,EACtE;AAEA,EAAA,OAAO,OAAA;AACT;AAiBO,SAAS,kBAAA,GAAsC;AACpD,EAAA,MAAM,WAAW,WAAA,EAAY;AAC7B,EAAA,OAAQ,QAAA,CAAS,mBAAmB,EAAC;AACvC","file":"chunk-NDD472IZ.js","sourcesContent":["/**\n * Theme Context\n * Provides theme ID to component tree without prop drilling\n */\n\n\"use client\";\n\nimport React, { createContext, useContext, useState } from \"react\";\n\ninterface ThemeContextValue {\n themeId: string;\n setThemeId: (id: string) => void;\n}\n\nconst ThemeContext = createContext<ThemeContextValue>({\n themeId: \"default\",\n setThemeId: () => {},\n});\n\nexport interface ThemeContextProviderProps {\n children: React.ReactNode;\n themeId: string;\n}\n\nexport function ThemeContextProvider({\n children,\n themeId: initialThemeId,\n}: ThemeContextProviderProps) {\n const [themeId, setThemeId] = useState(initialThemeId);\n\n return (\n <ThemeContext.Provider value={{ themeId, setThemeId }}>\n {children}\n </ThemeContext.Provider>\n );\n}\n\nexport function useThemeContext() {\n const context = useContext(ThemeContext);\n\n if (!context) {\n throw new Error(\"useThemeContext must be used within ThemeContextProvider\");\n }\n\n return context;\n}\n","/**\n * Viewport Context\n * Provides viewport mode for editor preview responsiveness\n */\n\n\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport type ViewportMode = \"desktop\" | \"tablet\" | \"mobile\";\n\ninterface ViewportContextType {\n /** Whether in editor mode */\n isEditing: boolean;\n /** Current viewport mode */\n viewportMode: ViewportMode;\n}\n\nconst ViewportContext = createContext<ViewportContextType>({\n isEditing: false,\n viewportMode: \"desktop\",\n});\n\nexport function ViewportProvider({\n children,\n isEditing,\n viewportMode,\n}: {\n children: React.ReactNode;\n isEditing: boolean;\n viewportMode: ViewportMode;\n}) {\n return (\n <ViewportContext.Provider value={{ isEditing, viewportMode }}>\n {children}\n </ViewportContext.Provider>\n );\n}\n\nexport function useViewport() {\n return useContext(ViewportContext);\n}\n\n/**\n * Hook to get responsive class based on viewport mode\n * Returns mobile class when in mobile preview, tablet class when in tablet preview, etc.\n */\nexport function useResponsiveClass(classes: {\n mobile: string;\n tablet: string;\n desktop: string;\n}): string {\n const { isEditing, viewportMode } = useViewport();\n\n if (!isEditing) {\n // On live site, return desktop class (CSS media queries will handle responsiveness)\n return classes.desktop;\n }\n\n // In editor, return class based on viewport mode\n switch (viewportMode) {\n case \"mobile\":\n return classes.mobile;\n case \"tablet\":\n return classes.tablet;\n case \"desktop\":\n default:\n return classes.desktop;\n }\n}\n","/**\n * Page Data Context\n * Generic context provider for sharing server-fetched data throughout the component tree\n * Provides access to websiteSettings, pageData, and any other server-side data\n */\n\n\"use client\";\n\nimport React, { createContext, useContext, useMemo } from \"react\";\nimport type { WebsiteSettings } from \"../types\";\n\n/**\n * Generic page data structure\n */\nexport interface PageData {\n /** Website settings (social connections, hotlines, etc.) */\n websiteSettings?: WebsiteSettings;\n /** Any other dynamic data needed by the page */\n [key: string]: unknown;\n}\n\n/**\n * Page Data Context\n */\nconst PageDataContext = createContext<PageData | undefined>(undefined);\n\n/**\n * Page Data Provider Props\n */\nexport interface PageDataProviderProps {\n /** Server-fetched data to provide to children */\n data?: PageData;\n /** Child components */\n children: React.ReactNode;\n}\n\n/**\n * Page Data Provider Component\n * Wraps pages/components to provide server-fetched data via context\n *\n * @example\n * ```tsx\n * <PageDataProvider data={{ websiteSettings }}>\n * <YourPage />\n * </PageDataProvider>\n * ```\n */\nexport function PageDataProvider({\n data = {},\n children,\n}: PageDataProviderProps) {\n // Memoize data to prevent unnecessary re-renders\n const value = useMemo(() => data, [data]);\n\n return (\n <PageDataContext.Provider value={value}>\n {children}\n </PageDataContext.Provider>\n );\n}\n\n/**\n * Hook to access page data\n * Returns all page data provided by PageDataProvider\n *\n * @throws Error if used outside PageDataProvider\n *\n * @example\n * ```tsx\n * const pageData = usePageData();\n * const customData = pageData.myCustomField;\n * ```\n */\nexport function usePageData(): PageData {\n const context = useContext(PageDataContext);\n\n if (context === undefined) {\n throw new Error(\"usePageData must be used within a PageDataProvider\");\n }\n\n return context;\n}\n\n/**\n * Hook to access website settings from page data\n * Convenience hook that extracts websiteSettings from page data\n *\n * @returns WebsiteSettings object (empty object if not available)\n *\n * @example\n * ```tsx\n * function MyBlock() {\n * const websiteSettings = useWebsiteSettings();\n * const socials = useSocialConnections(websiteSettings);\n * // ...\n * }\n * ```\n */\nexport function useWebsiteSettings(): WebsiteSettings {\n const pageData = usePageData();\n return (pageData.websiteSettings || {}) as WebsiteSettings;\n}\n"]}