@jigowatts/jigowatts-ui 2.2.0 → 2.3.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 (108) hide show
  1. package/README.md +31 -0
  2. package/dist/assets/index11.css +1 -1
  3. package/dist/assets/index17.css +1 -1
  4. package/dist/assets/index19.css +1 -1
  5. package/dist/assets/index2.css +1 -1
  6. package/dist/assets/index20.css +1 -1
  7. package/dist/assets/index21.css +1 -1
  8. package/dist/assets/index25.css +1 -1
  9. package/dist/assets/index28.css +1 -1
  10. package/dist/assets/index33.css +1 -1
  11. package/dist/assets/index4.css +1 -1
  12. package/dist/assets/index6.css +1 -1
  13. package/dist/components/Button/index.cjs.js +1 -1
  14. package/dist/components/Button/index.cjs.js.map +1 -1
  15. package/dist/components/Button/index.d.ts +2 -23
  16. package/dist/components/Button/index.es.js +7 -13
  17. package/dist/components/Button/index.es.js.map +1 -1
  18. package/dist/components/ErrorMessage/index.cjs.js +1 -1
  19. package/dist/components/ErrorMessage/index.es.js +2 -2
  20. package/dist/components/Input/index.cjs.js +1 -1
  21. package/dist/components/Input/index.es.js +17 -17
  22. package/dist/components/InputController/index.cjs.js +1 -1
  23. package/dist/components/InputController/index.cjs.js.map +1 -1
  24. package/dist/components/InputController/index.es.js +38 -38
  25. package/dist/components/InputController/index.es.js.map +1 -1
  26. package/dist/components/Label/index.cjs.js +1 -1
  27. package/dist/components/Label/index.es.js +1 -1
  28. package/dist/components/LabeledContent/index.cjs.js +1 -1
  29. package/dist/components/LabeledContent/index.es.js +6 -6
  30. package/dist/components/LoadingOverlay/index.cjs.js +1 -1
  31. package/dist/components/LoadingOverlay/index.cjs.js.map +1 -1
  32. package/dist/components/LoadingOverlay/index.es.js +10 -4
  33. package/dist/components/LoadingOverlay/index.es.js.map +1 -1
  34. package/dist/components/NumericFieldController/index.cjs.js +1 -1
  35. package/dist/components/NumericFieldController/index.cjs.js.map +1 -1
  36. package/dist/components/NumericFieldController/index.d.ts +5 -0
  37. package/dist/components/NumericFieldController/index.es.js +54 -50
  38. package/dist/components/NumericFieldController/index.es.js.map +1 -1
  39. package/dist/components/NumericFieldController/index.test.cjs.js +1 -1
  40. package/dist/components/NumericFieldController/index.test.cjs.js.map +1 -1
  41. package/dist/components/NumericFieldController/index.test.es.js +113 -11
  42. package/dist/components/NumericFieldController/index.test.es.js.map +1 -1
  43. package/dist/components/PageSizeSelector/index.cjs.js +1 -1
  44. package/dist/components/PageSizeSelector/index.es.js +1 -1
  45. package/dist/components/Pagination/index.cjs.js +2 -2
  46. package/dist/components/Pagination/index.es.js +15 -15
  47. package/dist/components/PasswordInputController/index.cjs.js +1 -1
  48. package/dist/components/PasswordInputController/index.cjs.js.map +1 -1
  49. package/dist/components/PasswordInputController/index.es.js +25 -25
  50. package/dist/components/PasswordInputController/index.es.js.map +1 -1
  51. package/dist/components/RadioButton/index.cjs.js +1 -1
  52. package/dist/components/RadioButton/index.es.js +1 -1
  53. package/dist/components/RadioButton/index.test.cjs.js +1 -1
  54. package/dist/components/RadioButton/index.test.es.js +1 -1
  55. package/dist/components/SearchForm/index.cjs.js +1 -1
  56. package/dist/components/SearchForm/index.cjs.js.map +1 -1
  57. package/dist/components/SearchForm/index.es.js +37 -43
  58. package/dist/components/SearchForm/index.es.js.map +1 -1
  59. package/dist/components/SelectBox/index.cjs.js +1 -1
  60. package/dist/components/SelectBox/index.es.js +1 -1
  61. package/dist/components/SelectBox/index.test.cjs.js +1 -1
  62. package/dist/components/SelectBox/index.test.es.js +1 -1
  63. package/dist/components/SelectBoxController/index.cjs.js +1 -1
  64. package/dist/components/SelectBoxController/index.cjs.js.map +1 -1
  65. package/dist/components/SelectBoxController/index.es.js +24 -24
  66. package/dist/components/SelectBoxController/index.es.js.map +1 -1
  67. package/dist/components/SideMenu/index.cjs.js +1 -1
  68. package/dist/components/SideMenu/index.es.js +28 -28
  69. package/dist/components/Tabs/index.cjs.js +1 -1
  70. package/dist/components/Tabs/index.cjs.js.map +1 -1
  71. package/dist/components/Tabs/index.es.js +16 -16
  72. package/dist/components/Tabs/index.es.js.map +1 -1
  73. package/dist/components/Textarea/index.cjs.js +1 -1
  74. package/dist/components/Textarea/index.es.js +8 -8
  75. package/dist/components/TwoFaLabel/index.cjs.js +1 -1
  76. package/dist/components/TwoFaLabel/index.cjs.js.map +1 -1
  77. package/dist/components/TwoFaLabel/index.es.js +32 -20
  78. package/dist/components/TwoFaLabel/index.es.js.map +1 -1
  79. package/dist/{index-CogWL0bN.js → index-CqVxO31c.js} +10 -10
  80. package/dist/{index-CogWL0bN.js.map → index-CqVxO31c.js.map} +1 -1
  81. package/dist/index-DNu4-rkL.cjs +2 -0
  82. package/dist/{index-SHLzSoKB.cjs.map → index-DNu4-rkL.cjs.map} +1 -1
  83. package/dist/{index-BM3CSrls.cjs → index-c8cvlwzF.cjs} +2 -2
  84. package/dist/{index-BM3CSrls.cjs.map → index-c8cvlwzF.cjs.map} +1 -1
  85. package/dist/index-omG0Vz2u.js +51 -0
  86. package/dist/{index-D7VNQwOv.js.map → index-omG0Vz2u.js.map} +1 -1
  87. package/dist/index.cjs.js +1 -1
  88. package/dist/index.d.ts +1 -0
  89. package/dist/index.es.js +82 -76
  90. package/dist/index.es.js.map +1 -1
  91. package/dist/theme/index.cjs.js +2 -0
  92. package/dist/theme/index.cjs.js.map +1 -0
  93. package/dist/theme/index.d.ts +86 -0
  94. package/dist/theme/index.es.js +123 -0
  95. package/dist/theme/index.es.js.map +1 -0
  96. package/dist/theme/index.test.cjs.js +2 -0
  97. package/dist/theme/index.test.cjs.js.map +1 -0
  98. package/dist/theme/index.test.d.ts +1 -0
  99. package/dist/theme/index.test.es.js +41 -0
  100. package/dist/theme/index.test.es.js.map +1 -0
  101. package/dist/theme/themeStoryUtils.cjs.js +54 -0
  102. package/dist/theme/themeStoryUtils.cjs.js.map +1 -0
  103. package/dist/theme/themeStoryUtils.d.ts +195 -0
  104. package/dist/theme/themeStoryUtils.es.js +172 -0
  105. package/dist/theme/themeStoryUtils.es.js.map +1 -0
  106. package/package.json +6 -1
  107. package/dist/index-D7VNQwOv.js +0 -51
  108. package/dist/index-SHLzSoKB.cjs +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../src/theme/index.tsx"],"sourcesContent":["import {\n createTheme,\n type PaletteColor,\n type PaletteColorOptions,\n type PaletteOptions,\n ThemeProvider as MuiThemeProvider,\n type Theme,\n} from \"@mui/material/styles\";\nimport {\n createContext,\n type CSSProperties,\n type ReactNode,\n useContext,\n useMemo,\n} from \"react\";\n\ndeclare module \"@mui/material/styles\" {\n interface Palette {\n thirdly: PaletteColor;\n normal: PaletteColor;\n negative: PaletteColor;\n }\n interface PaletteOptions {\n thirdly?: PaletteColorOptions;\n normal?: PaletteColorOptions;\n negative?: PaletteColorOptions;\n }\n}\n\ndeclare module \"@mui/material/Button\" {\n interface ButtonPropsColorOverrides {\n thirdly: true;\n normal: true;\n negative: true;\n }\n}\n\ntype DeepPartial<T> = {\n [K in keyof T]?: T[K] extends Record<string, unknown>\n ? DeepPartial<T[K]>\n : T[K];\n};\n\nexport type JigowattsPaletteColor = {\n main: string;\n contrastText: string;\n};\n\nexport type JigowattsPalette = {\n primary: JigowattsPaletteColor;\n secondary: JigowattsPaletteColor;\n thirdly: JigowattsPaletteColor;\n normal: JigowattsPaletteColor;\n negative: JigowattsPaletteColor;\n};\n\nexport type JigowattsSemanticTheme = {\n surface: {\n base: string;\n subtle: string;\n border: string;\n };\n text: {\n primary: string;\n secondary: string;\n muted: string;\n };\n overlay: {\n background: string;\n };\n loader: {\n color: string;\n };\n pagination: {\n selected: string;\n contrastText: string;\n };\n input: {\n border: string;\n placeholder: string;\n };\n radio: {\n checked: string;\n };\n interaction: {\n primaryHover: string;\n };\n};\n\nexport type JigowattsThemeOptions = {\n palette?: DeepPartial<JigowattsPalette>;\n semantic?: DeepPartial<JigowattsSemanticTheme>;\n};\n\nexport type JigowattsTheme = {\n palette: JigowattsPalette;\n semantic: JigowattsSemanticTheme;\n muiTheme: Theme;\n};\n\nconst defaultThemeValues: JigowattsTheme = {\n palette: {\n primary: { main: \"#6672E8\", contrastText: \"#FFFFFF\" },\n secondary: { main: \"#00AD79\", contrastText: \"#FFFFFF\" },\n thirdly: { main: \"#1E2D50\", contrastText: \"#FFFFFF\" },\n normal: { main: \"#808181\", contrastText: \"#FFFFFF\" },\n negative: { main: \"#CA0000\", contrastText: \"#FFFFFF\" },\n },\n semantic: {\n surface: {\n base: \"#FFFFFF\",\n subtle: \"#F7F8FA\",\n border: \"#CCCCCC\",\n },\n text: {\n primary: \"#000000\",\n secondary: \"#363636\",\n muted: \"#808181\",\n },\n overlay: {\n background: \"rgba(0, 0, 0, 0.5)\",\n },\n loader: {\n color: \"#071D2E\",\n },\n pagination: {\n selected: \"#071D2E\",\n contrastText: \"#FFFFFF\",\n },\n input: {\n border: \"#C4C4C4\",\n placeholder: \"#C4C4C4\",\n },\n radio: {\n checked: \"#354E57\",\n },\n interaction: {\n primaryHover: \"rgba(100, 113, 232, 0.2)\",\n },\n },\n muiTheme: createTheme({\n palette: {\n primary: { main: \"#6672E8\", contrastText: \"#FFFFFF\" },\n secondary: { main: \"#00AD79\", contrastText: \"#FFFFFF\" },\n thirdly: { main: \"#1E2D50\", contrastText: \"#FFFFFF\" },\n normal: { main: \"#808181\", contrastText: \"#FFFFFF\" },\n negative: { main: \"#CA0000\", contrastText: \"#FFFFFF\" },\n },\n }),\n};\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst deepMerge = <T,>(base: T, override?: DeepPartial<T>): T => {\n if (!override) {\n return base;\n }\n\n if (!isPlainObject(base) || !isPlainObject(override)) {\n return (override as T) ?? base;\n }\n\n const result: Record<string, unknown> = { ...base };\n\n for (const [key, value] of Object.entries(override)) {\n if (value === undefined) {\n continue;\n }\n\n const current = result[key];\n if (isPlainObject(current) && isPlainObject(value)) {\n result[key] = deepMerge(current, value);\n } else {\n result[key] = value;\n }\n }\n\n return result as T;\n};\n\nconst createMuiThemeFromPalette = (palette: JigowattsPalette): Theme =>\n createTheme({\n palette: {\n primary: palette.primary,\n secondary: palette.secondary,\n ...{\n thirdly: palette.thirdly,\n normal: palette.normal,\n negative: palette.negative,\n },\n } as PaletteOptions,\n });\n\nconst createResolvedTheme = (\n options?: JigowattsThemeOptions,\n): JigowattsTheme => {\n const palette = deepMerge(defaultThemeValues.palette, options?.palette);\n const semantic = deepMerge(defaultThemeValues.semantic, options?.semantic);\n\n return {\n palette,\n semantic,\n muiTheme: createMuiThemeFromPalette(palette),\n };\n};\n\nexport const defaultJigowattsTheme = createResolvedTheme();\n\nconst JigowattsThemeContext = createContext<JigowattsTheme>(\n defaultJigowattsTheme,\n);\n\nexport const useJigowattsTheme = () => useContext(JigowattsThemeContext);\n\nconst getCssVariables = (theme: JigowattsTheme): CSSProperties =>\n ({\n display: \"contents\",\n \"--jigowatts-color-primary\": theme.palette.primary.main,\n \"--jigowatts-color-primary-contrast\": theme.palette.primary.contrastText,\n \"--jigowatts-color-secondary\": theme.palette.secondary.main,\n \"--jigowatts-color-secondary-contrast\":\n theme.palette.secondary.contrastText,\n \"--jigowatts-color-thirdly\": theme.palette.thirdly.main,\n \"--jigowatts-color-thirdly-contrast\": theme.palette.thirdly.contrastText,\n \"--jigowatts-color-normal\": theme.palette.normal.main,\n \"--jigowatts-color-normal-contrast\": theme.palette.normal.contrastText,\n \"--jigowatts-color-negative\": theme.palette.negative.main,\n \"--jigowatts-color-negative-contrast\": theme.palette.negative.contrastText,\n \"--jigowatts-color-surface\": theme.semantic.surface.base,\n \"--jigowatts-color-surface-subtle\": theme.semantic.surface.subtle,\n \"--jigowatts-color-border\": theme.semantic.surface.border,\n \"--jigowatts-color-text\": theme.semantic.text.primary,\n \"--jigowatts-color-text-secondary\": theme.semantic.text.secondary,\n \"--jigowatts-color-text-muted\": theme.semantic.text.muted,\n \"--jigowatts-color-overlay\": theme.semantic.overlay.background,\n \"--jigowatts-color-loader\": theme.semantic.loader.color,\n \"--jigowatts-color-pagination-selected\": theme.semantic.pagination.selected,\n \"--jigowatts-color-pagination-contrast-text\":\n theme.semantic.pagination.contrastText,\n \"--jigowatts-color-input-border\": theme.semantic.input.border,\n \"--jigowatts-color-input-placeholder\": theme.semantic.input.placeholder,\n \"--jigowatts-color-radio-checked\": theme.semantic.radio.checked,\n \"--jigowatts-color-primary-hover\": theme.semantic.interaction.primaryHover,\n }) as CSSProperties;\n\nexport type ThemeProviderProps = {\n children: ReactNode;\n theme?: JigowattsThemeOptions;\n};\n\nexport const ThemeProvider = ({ children, theme }: ThemeProviderProps) => {\n const resolvedTheme = useMemo(\n () => (theme ? createResolvedTheme(theme) : defaultJigowattsTheme),\n [theme],\n );\n\n return (\n <JigowattsThemeContext.Provider value={resolvedTheme}>\n <MuiThemeProvider theme={resolvedTheme.muiTheme}>\n <div style={getCssVariables(resolvedTheme)}>{children}</div>\n </MuiThemeProvider>\n </JigowattsThemeContext.Provider>\n );\n};\n\nexport { ThemeProvider as JigowattsThemeProvider };\n\nexport const createJigowattsTheme = createResolvedTheme;\n"],"names":["defaultThemeValues","createTheme","isPlainObject","value","deepMerge","base","override","result","key","current","createMuiThemeFromPalette","palette","createResolvedTheme","options","semantic","defaultJigowattsTheme","JigowattsThemeContext","createContext","useJigowattsTheme","useContext","getCssVariables","theme","ThemeProvider","children","resolvedTheme","useMemo","MuiThemeProvider","jsx","createJigowattsTheme"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),t=require("../react.esm-DGuy6Rn3.cjs"),s=require("./index.cjs.js"),o=()=>{const r=s.useJigowattsTheme();return e.jsx("span",{children:r.palette.primary.main})};describe("ThemeProvider",()=>{it("uses default colors when no override is provided",()=>{t.render(e.jsx(s.ThemeProvider,{children:e.jsx(o,{})})),expect(t.screen.getByText("#6672E8")).toBeInTheDocument()}),it("merges partial overrides and exposes css variables",()=>{const{container:r}=t.render(e.jsx(s.ThemeProvider,{theme:{palette:{primary:{main:"#123456",contrastText:"#abcdef"}},semantic:{surface:{base:"#f0f0f0"}}},children:e.jsx(o,{})}));expect(t.screen.getByText("#123456")).toBeInTheDocument();const i=r.firstElementChild;expect(i).toHaveStyle("--jigowatts-color-primary: #123456"),expect(i).toHaveStyle("--jigowatts-color-surface: #f0f0f0")})});
2
+ //# sourceMappingURL=index.test.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.cjs.js","sources":["../../src/theme/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport {\n ThemeProvider,\n useJigowattsTheme,\n} from \".\";\n\nconst ThemeProbe = () => {\n const theme = useJigowattsTheme();\n\n return <span>{theme.palette.primary.main}</span>;\n};\n\ndescribe(\"ThemeProvider\", () => {\n it(\"uses default colors when no override is provided\", () => {\n render(\n <ThemeProvider>\n <ThemeProbe />\n </ThemeProvider>,\n );\n\n expect(screen.getByText(\"#6672E8\")).toBeInTheDocument();\n });\n\n it(\"merges partial overrides and exposes css variables\", () => {\n const { container } = render(\n <ThemeProvider\n theme={{\n palette: {\n primary: { main: \"#123456\", contrastText: \"#abcdef\" },\n },\n semantic: {\n surface: {\n base: \"#f0f0f0\",\n },\n },\n }}\n >\n <ThemeProbe />\n </ThemeProvider>,\n );\n\n expect(screen.getByText(\"#123456\")).toBeInTheDocument();\n const wrapper = container.firstElementChild as HTMLElement;\n\n expect(wrapper).toHaveStyle(\n \"--jigowatts-color-primary: #123456\",\n );\n expect(wrapper).toHaveStyle(\n \"--jigowatts-color-surface: #f0f0f0\",\n );\n });\n});\n"],"names":["ThemeProbe","theme","useJigowattsTheme","jsx","render","ThemeProvider","screen","container","wrapper"],"mappings":"qHAOMA,EAAa,IAAM,CACvB,MAAMC,EAAQC,EAAAA,kBAAA,EAEd,OAAOC,EAAAA,IAAC,OAAA,CAAM,SAAAF,EAAM,QAAQ,QAAQ,KAAK,CAC3C,EAEA,SAAS,gBAAiB,IAAM,CAC9B,GAAG,mDAAoD,IAAM,CAC3DG,EAAAA,OACED,EAAAA,IAACE,EAAAA,cAAA,CACC,SAAAF,EAAAA,IAACH,EAAA,CAAA,CAAW,CAAA,CACd,CAAA,EAGF,OAAOM,EAAAA,OAAO,UAAU,SAAS,CAAC,EAAE,kBAAA,CACtC,CAAC,EAED,GAAG,qDAAsD,IAAM,CAC7D,KAAM,CAAE,UAAAC,GAAcH,EAAAA,OACpBD,EAAAA,IAACE,EAAAA,cAAA,CACC,MAAO,CACL,QAAS,CACP,QAAS,CAAE,KAAM,UAAW,aAAc,SAAA,CAAU,EAEtD,SAAU,CACR,QAAS,CACP,KAAM,SAAA,CACR,CACF,EAGF,eAACL,EAAA,CAAA,CAAW,CAAA,CAAA,CACd,EAGF,OAAOM,EAAAA,OAAO,UAAU,SAAS,CAAC,EAAE,kBAAA,EACpC,MAAME,EAAUD,EAAU,kBAE1B,OAAOC,CAAO,EAAE,YACd,oCAAA,EAEF,OAAOA,CAAO,EAAE,YACd,oCAAA,CAEJ,CAAC,CACH,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { r as o, s } from "../react.esm-BBESb8eI.js";
3
+ import { ThemeProvider as a, useJigowattsTheme as c } from "./index.es.js";
4
+ const i = () => {
5
+ const t = c();
6
+ return /* @__PURE__ */ e("span", { children: t.palette.primary.main });
7
+ };
8
+ describe("ThemeProvider", () => {
9
+ it("uses default colors when no override is provided", () => {
10
+ o(
11
+ /* @__PURE__ */ e(a, { children: /* @__PURE__ */ e(i, {}) })
12
+ ), expect(s.getByText("#6672E8")).toBeInTheDocument();
13
+ }), it("merges partial overrides and exposes css variables", () => {
14
+ const { container: t } = o(
15
+ /* @__PURE__ */ e(
16
+ a,
17
+ {
18
+ theme: {
19
+ palette: {
20
+ primary: { main: "#123456", contrastText: "#abcdef" }
21
+ },
22
+ semantic: {
23
+ surface: {
24
+ base: "#f0f0f0"
25
+ }
26
+ }
27
+ },
28
+ children: /* @__PURE__ */ e(i, {})
29
+ }
30
+ )
31
+ );
32
+ expect(s.getByText("#123456")).toBeInTheDocument();
33
+ const r = t.firstElementChild;
34
+ expect(r).toHaveStyle(
35
+ "--jigowatts-color-primary: #123456"
36
+ ), expect(r).toHaveStyle(
37
+ "--jigowatts-color-surface: #f0f0f0"
38
+ );
39
+ });
40
+ });
41
+ //# sourceMappingURL=index.test.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.es.js","sources":["../../src/theme/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport {\n ThemeProvider,\n useJigowattsTheme,\n} from \".\";\n\nconst ThemeProbe = () => {\n const theme = useJigowattsTheme();\n\n return <span>{theme.palette.primary.main}</span>;\n};\n\ndescribe(\"ThemeProvider\", () => {\n it(\"uses default colors when no override is provided\", () => {\n render(\n <ThemeProvider>\n <ThemeProbe />\n </ThemeProvider>,\n );\n\n expect(screen.getByText(\"#6672E8\")).toBeInTheDocument();\n });\n\n it(\"merges partial overrides and exposes css variables\", () => {\n const { container } = render(\n <ThemeProvider\n theme={{\n palette: {\n primary: { main: \"#123456\", contrastText: \"#abcdef\" },\n },\n semantic: {\n surface: {\n base: \"#f0f0f0\",\n },\n },\n }}\n >\n <ThemeProbe />\n </ThemeProvider>,\n );\n\n expect(screen.getByText(\"#123456\")).toBeInTheDocument();\n const wrapper = container.firstElementChild as HTMLElement;\n\n expect(wrapper).toHaveStyle(\n \"--jigowatts-color-primary: #123456\",\n );\n expect(wrapper).toHaveStyle(\n \"--jigowatts-color-surface: #f0f0f0\",\n );\n });\n});\n"],"names":["ThemeProbe","theme","useJigowattsTheme","jsx","render","ThemeProvider","screen","container","wrapper"],"mappings":";;;AAOA,MAAMA,IAAa,MAAM;AACvB,QAAMC,IAAQC,EAAA;AAEd,SAAO,gBAAAC,EAAC,QAAA,EAAM,UAAAF,EAAM,QAAQ,QAAQ,MAAK;AAC3C;AAEA,SAAS,iBAAiB,MAAM;AAC9B,KAAG,oDAAoD,MAAM;AAC3D,IAAAG;AAAA,MACE,gBAAAD,EAACE,GAAA,EACC,UAAA,gBAAAF,EAACH,GAAA,CAAA,CAAW,EAAA,CACd;AAAA,IAAA,GAGF,OAAOM,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAA;AAAA,EACtC,CAAC,GAED,GAAG,sDAAsD,MAAM;AAC7D,UAAM,EAAE,WAAAC,MAAcH;AAAA,MACpB,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAO;AAAA,YACL,SAAS;AAAA,cACP,SAAS,EAAE,MAAM,WAAW,cAAc,UAAA;AAAA,YAAU;AAAA,YAEtD,UAAU;AAAA,cACR,SAAS;AAAA,gBACP,MAAM;AAAA,cAAA;AAAA,YACR;AAAA,UACF;AAAA,UAGF,4BAACL,GAAA,CAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACd;AAGF,WAAOM,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAA;AACpC,UAAME,IAAUD,EAAU;AAE1B,WAAOC,CAAO,EAAE;AAAA,MACd;AAAA,IAAA,GAEF,OAAOA,CAAO,EAAE;AAAA,MACd;AAAA,IAAA;AAAA,EAEJ,CAAC;AACH,CAAC;"}
@@ -0,0 +1,54 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),t=require("./index.cjs.js"),a={primary:t.defaultJigowattsTheme.palette.primary.main,secondary:t.defaultJigowattsTheme.palette.secondary.main,thirdly:t.defaultJigowattsTheme.palette.thirdly.main,negative:t.defaultJigowattsTheme.palette.negative.main,surface:t.defaultJigowattsTheme.semantic.surface.base,subtleSurface:t.defaultJigowattsTheme.semantic.surface.subtle,border:t.defaultJigowattsTheme.semantic.surface.border,loader:t.defaultJigowattsTheme.semantic.loader.color,overlay:t.defaultJigowattsTheme.semantic.overlay.background,text:t.defaultJigowattsTheme.semantic.text.primary,textSecondary:t.defaultJigowattsTheme.semantic.text.secondary,inputBorder:t.defaultJigowattsTheme.semantic.input.border,inputPlaceholder:t.defaultJigowattsTheme.semantic.input.placeholder,radioChecked:t.defaultJigowattsTheme.semantic.radio.checked,paginationSelected:t.defaultJigowattsTheme.semantic.pagination.selected,paginationContrastText:t.defaultJigowattsTheme.semantic.pagination.contrastText,primaryHover:t.defaultJigowattsTheme.semantic.interaction.primaryHover},n={primary:a.primary,secondary:a.secondary,thirdly:a.thirdly,negative:a.negative},d={surface:a.surface,subtleSurface:a.subtleSurface,border:a.border,loader:a.loader,overlay:a.overlay,text:a.text,textSecondary:a.textSecondary,inputBorder:a.inputBorder,inputPlaceholder:a.inputPlaceholder,radioChecked:a.radioChecked,paginationSelected:a.paginationSelected,paginationContrastText:a.paginationContrastText,primaryHover:a.primaryHover},r=e=>({palette:{primary:{main:e.primary,contrastText:"#FFFFFF"},secondary:{main:e.secondary,contrastText:"#FFFFFF"},thirdly:{main:e.thirdly,contrastText:"#FFFFFF"},normal:{main:"#808181",contrastText:"#FFFFFF"},negative:{main:e.negative,contrastText:"#FFFFFF"}},semantic:{surface:{base:e.surface,subtle:e.subtleSurface,border:e.border},text:{primary:e.text,secondary:e.textSecondary,inverse:"#FFFFFF",muted:"#808181"},overlay:{background:e.overlay},loader:{color:e.loader},pagination:{selected:e.paginationSelected,contrastText:e.paginationContrastText},input:{border:e.inputBorder,placeholder:e.inputPlaceholder},radio:{checked:e.radioChecked},interaction:{primaryHover:e.primaryHover}}}),c={primary:{control:{type:"text"}},secondary:{control:{type:"text"}},thirdly:{control:{type:"text"}},negative:{control:{type:"text"}}},l={surface:{control:{type:"text"}},subtleSurface:{control:{type:"text"}},border:{control:{type:"text"}},loader:{control:{type:"text"}},overlay:{control:{type:"text"}},text:{control:{type:"text"}},textSecondary:{control:{type:"text"}},inputBorder:{control:{type:"text"}},inputPlaceholder:{control:{type:"text"}},radioChecked:{control:{type:"text"}},paginationSelected:{control:{type:"text"}},paginationContrastText:{control:{type:"text"}},primaryHover:{control:{type:"text"}}},s=`
2
+ .theme-preview-card {
3
+ padding: 20px;
4
+ border-radius: 20px;
5
+ background: var(--jigowatts-color-surface, white);
6
+ box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
7
+ }
8
+
9
+ .theme-token-label {
10
+ font-size: 13px;
11
+ font-weight: 700;
12
+ letter-spacing: 0.02em;
13
+ text-transform: capitalize;
14
+ }
15
+
16
+ .theme-token-note {
17
+ font-size: 12px;
18
+ line-height: 1.4;
19
+ opacity: 0.85;
20
+ }
21
+
22
+ .theme-visual-surface {
23
+ border-radius: 16px;
24
+ padding: 16px;
25
+ background: var(--jigowatts-color-surface, white);
26
+ border: 1px solid var(--jigowatts-color-border, #e5e7eb);
27
+ }
28
+
29
+ .theme-visual-surface-subtle {
30
+ border-radius: 16px;
31
+ padding: 16px;
32
+ background: var(--jigowatts-color-surface-subtle, #f7f8fa);
33
+ border: 1px solid var(--jigowatts-color-border, #e5e7eb);
34
+ }
35
+
36
+ .theme-text-sample {
37
+ display: grid;
38
+ gap: 8px;
39
+ }
40
+
41
+ .theme-token-pills {
42
+ display: flex;
43
+ flex-wrap: wrap;
44
+ gap: 8px;
45
+ }
46
+
47
+ .theme-token-pill {
48
+ padding: 8px 12px;
49
+ border-radius: 9999px;
50
+ font-size: 13px;
51
+ font-weight: 700;
52
+ }
53
+ `,p=({themeState:e,children:o})=>i.jsx(t.ThemeProvider,{theme:r(e),children:o}),u={padding:20,borderRadius:20,background:"var(--jigowatts-color-surface, white)",boxShadow:"0 20px 50px rgba(15, 23, 42, 0.08)"};exports.ThemeStoryProvider=p;exports.createThemeOptions=r;exports.defaultPaletteThemeState=n;exports.defaultSemanticThemeState=d;exports.defaultThemeState=a;exports.themeArgTypesPalette=c;exports.themeArgTypesSemantic=l;exports.themeCardStyle=u;exports.themePreviewStyles=s;
54
+ //# sourceMappingURL=themeStoryUtils.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeStoryUtils.cjs.js","sources":["../../src/theme/themeStoryUtils.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\n\nimport { defaultJigowattsTheme, ThemeProvider } from \".\";\n\nexport type ThemeState = {\n primary: string;\n secondary: string;\n thirdly: string;\n negative: string;\n surface: string;\n subtleSurface: string;\n border: string;\n loader: string;\n overlay: string;\n text: string;\n textSecondary: string;\n inputBorder: string;\n inputPlaceholder: string;\n radioChecked: string;\n paginationSelected: string;\n paginationContrastText: string;\n primaryHover: string;\n};\n\nexport const defaultThemeState: ThemeState = {\n primary: defaultJigowattsTheme.palette.primary.main,\n secondary: defaultJigowattsTheme.palette.secondary.main,\n thirdly: defaultJigowattsTheme.palette.thirdly.main,\n negative: defaultJigowattsTheme.palette.negative.main,\n surface: defaultJigowattsTheme.semantic.surface.base,\n subtleSurface: defaultJigowattsTheme.semantic.surface.subtle,\n border: defaultJigowattsTheme.semantic.surface.border,\n loader: defaultJigowattsTheme.semantic.loader.color,\n overlay: defaultJigowattsTheme.semantic.overlay.background,\n text: defaultJigowattsTheme.semantic.text.primary,\n textSecondary: defaultJigowattsTheme.semantic.text.secondary,\n inputBorder: defaultJigowattsTheme.semantic.input.border,\n inputPlaceholder: defaultJigowattsTheme.semantic.input.placeholder,\n radioChecked: defaultJigowattsTheme.semantic.radio.checked,\n paginationSelected: defaultJigowattsTheme.semantic.pagination.selected,\n paginationContrastText:\n defaultJigowattsTheme.semantic.pagination.contrastText,\n primaryHover: defaultJigowattsTheme.semantic.interaction.primaryHover,\n};\n\nexport const defaultPaletteThemeState = {\n primary: defaultThemeState.primary,\n secondary: defaultThemeState.secondary,\n thirdly: defaultThemeState.thirdly,\n negative: defaultThemeState.negative,\n} satisfies Pick<ThemeState, \"primary\" | \"secondary\" | \"thirdly\" | \"negative\">;\n\nexport const defaultSemanticThemeState = {\n surface: defaultThemeState.surface,\n subtleSurface: defaultThemeState.subtleSurface,\n border: defaultThemeState.border,\n loader: defaultThemeState.loader,\n overlay: defaultThemeState.overlay,\n text: defaultThemeState.text,\n textSecondary: defaultThemeState.textSecondary,\n inputBorder: defaultThemeState.inputBorder,\n inputPlaceholder: defaultThemeState.inputPlaceholder,\n radioChecked: defaultThemeState.radioChecked,\n paginationSelected: defaultThemeState.paginationSelected,\n paginationContrastText: defaultThemeState.paginationContrastText,\n primaryHover: defaultThemeState.primaryHover,\n} satisfies Omit<\n ThemeState,\n \"primary\" | \"secondary\" | \"thirdly\" | \"negative\"\n>;\n\nexport const createThemeOptions = (themeState: ThemeState) => ({\n palette: {\n primary: { main: themeState.primary, contrastText: \"#FFFFFF\" },\n secondary: { main: themeState.secondary, contrastText: \"#FFFFFF\" },\n thirdly: { main: themeState.thirdly, contrastText: \"#FFFFFF\" },\n normal: { main: \"#808181\", contrastText: \"#FFFFFF\" },\n negative: { main: themeState.negative, contrastText: \"#FFFFFF\" },\n },\n semantic: {\n surface: {\n base: themeState.surface,\n subtle: themeState.subtleSurface,\n border: themeState.border,\n },\n text: {\n primary: themeState.text,\n secondary: themeState.textSecondary,\n inverse: \"#FFFFFF\",\n muted: \"#808181\",\n },\n overlay: {\n background: themeState.overlay,\n },\n loader: {\n color: themeState.loader,\n },\n pagination: {\n selected: themeState.paginationSelected,\n contrastText: themeState.paginationContrastText,\n },\n input: {\n border: themeState.inputBorder,\n placeholder: themeState.inputPlaceholder,\n },\n radio: {\n checked: themeState.radioChecked,\n },\n interaction: {\n primaryHover: themeState.primaryHover,\n },\n },\n});\n\nexport const themeArgTypesPalette = {\n primary: { control: { type: \"text\" } },\n secondary: { control: { type: \"text\" } },\n thirdly: { control: { type: \"text\" } },\n negative: { control: { type: \"text\" } },\n} as const;\n\nexport const themeArgTypesSemantic = {\n surface: { control: { type: \"text\" } },\n subtleSurface: { control: { type: \"text\" } },\n border: { control: { type: \"text\" } },\n loader: { control: { type: \"text\" } },\n overlay: { control: { type: \"text\" } },\n text: { control: { type: \"text\" } },\n textSecondary: { control: { type: \"text\" } },\n inputBorder: { control: { type: \"text\" } },\n inputPlaceholder: { control: { type: \"text\" } },\n radioChecked: { control: { type: \"text\" } },\n paginationSelected: { control: { type: \"text\" } },\n paginationContrastText: { control: { type: \"text\" } },\n primaryHover: { control: { type: \"text\" } },\n} as const;\n\nexport const themePreviewStyles = `\n .theme-preview-card {\n padding: 20px;\n border-radius: 20px;\n background: var(--jigowatts-color-surface, white);\n box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);\n }\n\n .theme-token-label {\n font-size: 13px;\n font-weight: 700;\n letter-spacing: 0.02em;\n text-transform: capitalize;\n }\n\n .theme-token-note {\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.85;\n }\n\n .theme-visual-surface {\n border-radius: 16px;\n padding: 16px;\n background: var(--jigowatts-color-surface, white);\n border: 1px solid var(--jigowatts-color-border, #e5e7eb);\n }\n\n .theme-visual-surface-subtle {\n border-radius: 16px;\n padding: 16px;\n background: var(--jigowatts-color-surface-subtle, #f7f8fa);\n border: 1px solid var(--jigowatts-color-border, #e5e7eb);\n }\n\n .theme-text-sample {\n display: grid;\n gap: 8px;\n }\n\n .theme-token-pills {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .theme-token-pill {\n padding: 8px 12px;\n border-radius: 9999px;\n font-size: 13px;\n font-weight: 700;\n }\n`;\n\nexport const ThemeStoryProvider = ({\n themeState,\n children,\n}: {\n themeState: ThemeState;\n children: ReactNode;\n}) => <ThemeProvider theme={createThemeOptions(themeState)}>{children}</ThemeProvider>;\n\nexport const themeCardStyle = {\n padding: 20,\n borderRadius: 20,\n background: \"var(--jigowatts-color-surface, white)\",\n boxShadow: \"0 20px 50px rgba(15, 23, 42, 0.08)\",\n} as CSSProperties;\n"],"names":["defaultThemeState","defaultJigowattsTheme","defaultPaletteThemeState","defaultSemanticThemeState","createThemeOptions","themeState","themeArgTypesPalette","themeArgTypesSemantic","themePreviewStyles","ThemeStoryProvider","children","ThemeProvider","themeCardStyle"],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+
3
+ export type ThemeState = {
4
+ primary: string;
5
+ secondary: string;
6
+ thirdly: string;
7
+ negative: string;
8
+ surface: string;
9
+ subtleSurface: string;
10
+ border: string;
11
+ loader: string;
12
+ overlay: string;
13
+ text: string;
14
+ textSecondary: string;
15
+ inputBorder: string;
16
+ inputPlaceholder: string;
17
+ radioChecked: string;
18
+ paginationSelected: string;
19
+ paginationContrastText: string;
20
+ primaryHover: string;
21
+ };
22
+ export declare const defaultThemeState: ThemeState;
23
+ export declare const defaultPaletteThemeState: {
24
+ primary: string;
25
+ secondary: string;
26
+ thirdly: string;
27
+ negative: string;
28
+ };
29
+ export declare const defaultSemanticThemeState: {
30
+ surface: string;
31
+ subtleSurface: string;
32
+ border: string;
33
+ loader: string;
34
+ overlay: string;
35
+ text: string;
36
+ textSecondary: string;
37
+ inputBorder: string;
38
+ inputPlaceholder: string;
39
+ radioChecked: string;
40
+ paginationSelected: string;
41
+ paginationContrastText: string;
42
+ primaryHover: string;
43
+ };
44
+ export declare const createThemeOptions: (themeState: ThemeState) => {
45
+ palette: {
46
+ primary: {
47
+ main: string;
48
+ contrastText: string;
49
+ };
50
+ secondary: {
51
+ main: string;
52
+ contrastText: string;
53
+ };
54
+ thirdly: {
55
+ main: string;
56
+ contrastText: string;
57
+ };
58
+ normal: {
59
+ main: string;
60
+ contrastText: string;
61
+ };
62
+ negative: {
63
+ main: string;
64
+ contrastText: string;
65
+ };
66
+ };
67
+ semantic: {
68
+ surface: {
69
+ base: string;
70
+ subtle: string;
71
+ border: string;
72
+ };
73
+ text: {
74
+ primary: string;
75
+ secondary: string;
76
+ inverse: string;
77
+ muted: string;
78
+ };
79
+ overlay: {
80
+ background: string;
81
+ };
82
+ loader: {
83
+ color: string;
84
+ };
85
+ pagination: {
86
+ selected: string;
87
+ contrastText: string;
88
+ };
89
+ input: {
90
+ border: string;
91
+ placeholder: string;
92
+ };
93
+ radio: {
94
+ checked: string;
95
+ };
96
+ interaction: {
97
+ primaryHover: string;
98
+ };
99
+ };
100
+ };
101
+ export declare const themeArgTypesPalette: {
102
+ readonly primary: {
103
+ readonly control: {
104
+ readonly type: "text";
105
+ };
106
+ };
107
+ readonly secondary: {
108
+ readonly control: {
109
+ readonly type: "text";
110
+ };
111
+ };
112
+ readonly thirdly: {
113
+ readonly control: {
114
+ readonly type: "text";
115
+ };
116
+ };
117
+ readonly negative: {
118
+ readonly control: {
119
+ readonly type: "text";
120
+ };
121
+ };
122
+ };
123
+ export declare const themeArgTypesSemantic: {
124
+ readonly surface: {
125
+ readonly control: {
126
+ readonly type: "text";
127
+ };
128
+ };
129
+ readonly subtleSurface: {
130
+ readonly control: {
131
+ readonly type: "text";
132
+ };
133
+ };
134
+ readonly border: {
135
+ readonly control: {
136
+ readonly type: "text";
137
+ };
138
+ };
139
+ readonly loader: {
140
+ readonly control: {
141
+ readonly type: "text";
142
+ };
143
+ };
144
+ readonly overlay: {
145
+ readonly control: {
146
+ readonly type: "text";
147
+ };
148
+ };
149
+ readonly text: {
150
+ readonly control: {
151
+ readonly type: "text";
152
+ };
153
+ };
154
+ readonly textSecondary: {
155
+ readonly control: {
156
+ readonly type: "text";
157
+ };
158
+ };
159
+ readonly inputBorder: {
160
+ readonly control: {
161
+ readonly type: "text";
162
+ };
163
+ };
164
+ readonly inputPlaceholder: {
165
+ readonly control: {
166
+ readonly type: "text";
167
+ };
168
+ };
169
+ readonly radioChecked: {
170
+ readonly control: {
171
+ readonly type: "text";
172
+ };
173
+ };
174
+ readonly paginationSelected: {
175
+ readonly control: {
176
+ readonly type: "text";
177
+ };
178
+ };
179
+ readonly paginationContrastText: {
180
+ readonly control: {
181
+ readonly type: "text";
182
+ };
183
+ };
184
+ readonly primaryHover: {
185
+ readonly control: {
186
+ readonly type: "text";
187
+ };
188
+ };
189
+ };
190
+ export declare const themePreviewStyles = "\n .theme-preview-card {\n padding: 20px;\n border-radius: 20px;\n background: var(--jigowatts-color-surface, white);\n box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);\n }\n\n .theme-token-label {\n font-size: 13px;\n font-weight: 700;\n letter-spacing: 0.02em;\n text-transform: capitalize;\n }\n\n .theme-token-note {\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.85;\n }\n\n .theme-visual-surface {\n border-radius: 16px;\n padding: 16px;\n background: var(--jigowatts-color-surface, white);\n border: 1px solid var(--jigowatts-color-border, #e5e7eb);\n }\n\n .theme-visual-surface-subtle {\n border-radius: 16px;\n padding: 16px;\n background: var(--jigowatts-color-surface-subtle, #f7f8fa);\n border: 1px solid var(--jigowatts-color-border, #e5e7eb);\n }\n\n .theme-text-sample {\n display: grid;\n gap: 8px;\n }\n\n .theme-token-pills {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .theme-token-pill {\n padding: 8px 12px;\n border-radius: 9999px;\n font-size: 13px;\n font-weight: 700;\n }\n";
191
+ export declare const ThemeStoryProvider: ({ themeState, children, }: {
192
+ themeState: ThemeState;
193
+ children: ReactNode;
194
+ }) => import("react/jsx-runtime").JSX.Element;
195
+ export declare const themeCardStyle: CSSProperties;
@@ -0,0 +1,172 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { defaultJigowattsTheme as t, ThemeProvider as n } from "./index.es.js";
3
+ const r = {
4
+ primary: t.palette.primary.main,
5
+ secondary: t.palette.secondary.main,
6
+ thirdly: t.palette.thirdly.main,
7
+ negative: t.palette.negative.main,
8
+ surface: t.semantic.surface.base,
9
+ subtleSurface: t.semantic.surface.subtle,
10
+ border: t.semantic.surface.border,
11
+ loader: t.semantic.loader.color,
12
+ overlay: t.semantic.overlay.background,
13
+ text: t.semantic.text.primary,
14
+ textSecondary: t.semantic.text.secondary,
15
+ inputBorder: t.semantic.input.border,
16
+ inputPlaceholder: t.semantic.input.placeholder,
17
+ radioChecked: t.semantic.radio.checked,
18
+ paginationSelected: t.semantic.pagination.selected,
19
+ paginationContrastText: t.semantic.pagination.contrastText,
20
+ primaryHover: t.semantic.interaction.primaryHover
21
+ }, p = {
22
+ primary: r.primary,
23
+ secondary: r.secondary,
24
+ thirdly: r.thirdly,
25
+ negative: r.negative
26
+ }, l = {
27
+ surface: r.surface,
28
+ subtleSurface: r.subtleSurface,
29
+ border: r.border,
30
+ loader: r.loader,
31
+ overlay: r.overlay,
32
+ text: r.text,
33
+ textSecondary: r.textSecondary,
34
+ inputBorder: r.inputBorder,
35
+ inputPlaceholder: r.inputPlaceholder,
36
+ radioChecked: r.radioChecked,
37
+ paginationSelected: r.paginationSelected,
38
+ paginationContrastText: r.paginationContrastText,
39
+ primaryHover: r.primaryHover
40
+ }, i = (e) => ({
41
+ palette: {
42
+ primary: { main: e.primary, contrastText: "#FFFFFF" },
43
+ secondary: { main: e.secondary, contrastText: "#FFFFFF" },
44
+ thirdly: { main: e.thirdly, contrastText: "#FFFFFF" },
45
+ normal: { main: "#808181", contrastText: "#FFFFFF" },
46
+ negative: { main: e.negative, contrastText: "#FFFFFF" }
47
+ },
48
+ semantic: {
49
+ surface: {
50
+ base: e.surface,
51
+ subtle: e.subtleSurface,
52
+ border: e.border
53
+ },
54
+ text: {
55
+ primary: e.text,
56
+ secondary: e.textSecondary,
57
+ inverse: "#FFFFFF",
58
+ muted: "#808181"
59
+ },
60
+ overlay: {
61
+ background: e.overlay
62
+ },
63
+ loader: {
64
+ color: e.loader
65
+ },
66
+ pagination: {
67
+ selected: e.paginationSelected,
68
+ contrastText: e.paginationContrastText
69
+ },
70
+ input: {
71
+ border: e.inputBorder,
72
+ placeholder: e.inputPlaceholder
73
+ },
74
+ radio: {
75
+ checked: e.radioChecked
76
+ },
77
+ interaction: {
78
+ primaryHover: e.primaryHover
79
+ }
80
+ }
81
+ }), s = {
82
+ primary: { control: { type: "text" } },
83
+ secondary: { control: { type: "text" } },
84
+ thirdly: { control: { type: "text" } },
85
+ negative: { control: { type: "text" } }
86
+ }, x = {
87
+ surface: { control: { type: "text" } },
88
+ subtleSurface: { control: { type: "text" } },
89
+ border: { control: { type: "text" } },
90
+ loader: { control: { type: "text" } },
91
+ overlay: { control: { type: "text" } },
92
+ text: { control: { type: "text" } },
93
+ textSecondary: { control: { type: "text" } },
94
+ inputBorder: { control: { type: "text" } },
95
+ inputPlaceholder: { control: { type: "text" } },
96
+ radioChecked: { control: { type: "text" } },
97
+ paginationSelected: { control: { type: "text" } },
98
+ paginationContrastText: { control: { type: "text" } },
99
+ primaryHover: { control: { type: "text" } }
100
+ }, y = `
101
+ .theme-preview-card {
102
+ padding: 20px;
103
+ border-radius: 20px;
104
+ background: var(--jigowatts-color-surface, white);
105
+ box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
106
+ }
107
+
108
+ .theme-token-label {
109
+ font-size: 13px;
110
+ font-weight: 700;
111
+ letter-spacing: 0.02em;
112
+ text-transform: capitalize;
113
+ }
114
+
115
+ .theme-token-note {
116
+ font-size: 12px;
117
+ line-height: 1.4;
118
+ opacity: 0.85;
119
+ }
120
+
121
+ .theme-visual-surface {
122
+ border-radius: 16px;
123
+ padding: 16px;
124
+ background: var(--jigowatts-color-surface, white);
125
+ border: 1px solid var(--jigowatts-color-border, #e5e7eb);
126
+ }
127
+
128
+ .theme-visual-surface-subtle {
129
+ border-radius: 16px;
130
+ padding: 16px;
131
+ background: var(--jigowatts-color-surface-subtle, #f7f8fa);
132
+ border: 1px solid var(--jigowatts-color-border, #e5e7eb);
133
+ }
134
+
135
+ .theme-text-sample {
136
+ display: grid;
137
+ gap: 8px;
138
+ }
139
+
140
+ .theme-token-pills {
141
+ display: flex;
142
+ flex-wrap: wrap;
143
+ gap: 8px;
144
+ }
145
+
146
+ .theme-token-pill {
147
+ padding: 8px 12px;
148
+ border-radius: 9999px;
149
+ font-size: 13px;
150
+ font-weight: 700;
151
+ }
152
+ `, u = ({
153
+ themeState: e,
154
+ children: a
155
+ }) => /* @__PURE__ */ o(n, { theme: i(e), children: a }), m = {
156
+ padding: 20,
157
+ borderRadius: 20,
158
+ background: "var(--jigowatts-color-surface, white)",
159
+ boxShadow: "0 20px 50px rgba(15, 23, 42, 0.08)"
160
+ };
161
+ export {
162
+ u as ThemeStoryProvider,
163
+ i as createThemeOptions,
164
+ p as defaultPaletteThemeState,
165
+ l as defaultSemanticThemeState,
166
+ r as defaultThemeState,
167
+ s as themeArgTypesPalette,
168
+ x as themeArgTypesSemantic,
169
+ m as themeCardStyle,
170
+ y as themePreviewStyles
171
+ };
172
+ //# sourceMappingURL=themeStoryUtils.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeStoryUtils.es.js","sources":["../../src/theme/themeStoryUtils.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\n\nimport { defaultJigowattsTheme, ThemeProvider } from \".\";\n\nexport type ThemeState = {\n primary: string;\n secondary: string;\n thirdly: string;\n negative: string;\n surface: string;\n subtleSurface: string;\n border: string;\n loader: string;\n overlay: string;\n text: string;\n textSecondary: string;\n inputBorder: string;\n inputPlaceholder: string;\n radioChecked: string;\n paginationSelected: string;\n paginationContrastText: string;\n primaryHover: string;\n};\n\nexport const defaultThemeState: ThemeState = {\n primary: defaultJigowattsTheme.palette.primary.main,\n secondary: defaultJigowattsTheme.palette.secondary.main,\n thirdly: defaultJigowattsTheme.palette.thirdly.main,\n negative: defaultJigowattsTheme.palette.negative.main,\n surface: defaultJigowattsTheme.semantic.surface.base,\n subtleSurface: defaultJigowattsTheme.semantic.surface.subtle,\n border: defaultJigowattsTheme.semantic.surface.border,\n loader: defaultJigowattsTheme.semantic.loader.color,\n overlay: defaultJigowattsTheme.semantic.overlay.background,\n text: defaultJigowattsTheme.semantic.text.primary,\n textSecondary: defaultJigowattsTheme.semantic.text.secondary,\n inputBorder: defaultJigowattsTheme.semantic.input.border,\n inputPlaceholder: defaultJigowattsTheme.semantic.input.placeholder,\n radioChecked: defaultJigowattsTheme.semantic.radio.checked,\n paginationSelected: defaultJigowattsTheme.semantic.pagination.selected,\n paginationContrastText:\n defaultJigowattsTheme.semantic.pagination.contrastText,\n primaryHover: defaultJigowattsTheme.semantic.interaction.primaryHover,\n};\n\nexport const defaultPaletteThemeState = {\n primary: defaultThemeState.primary,\n secondary: defaultThemeState.secondary,\n thirdly: defaultThemeState.thirdly,\n negative: defaultThemeState.negative,\n} satisfies Pick<ThemeState, \"primary\" | \"secondary\" | \"thirdly\" | \"negative\">;\n\nexport const defaultSemanticThemeState = {\n surface: defaultThemeState.surface,\n subtleSurface: defaultThemeState.subtleSurface,\n border: defaultThemeState.border,\n loader: defaultThemeState.loader,\n overlay: defaultThemeState.overlay,\n text: defaultThemeState.text,\n textSecondary: defaultThemeState.textSecondary,\n inputBorder: defaultThemeState.inputBorder,\n inputPlaceholder: defaultThemeState.inputPlaceholder,\n radioChecked: defaultThemeState.radioChecked,\n paginationSelected: defaultThemeState.paginationSelected,\n paginationContrastText: defaultThemeState.paginationContrastText,\n primaryHover: defaultThemeState.primaryHover,\n} satisfies Omit<\n ThemeState,\n \"primary\" | \"secondary\" | \"thirdly\" | \"negative\"\n>;\n\nexport const createThemeOptions = (themeState: ThemeState) => ({\n palette: {\n primary: { main: themeState.primary, contrastText: \"#FFFFFF\" },\n secondary: { main: themeState.secondary, contrastText: \"#FFFFFF\" },\n thirdly: { main: themeState.thirdly, contrastText: \"#FFFFFF\" },\n normal: { main: \"#808181\", contrastText: \"#FFFFFF\" },\n negative: { main: themeState.negative, contrastText: \"#FFFFFF\" },\n },\n semantic: {\n surface: {\n base: themeState.surface,\n subtle: themeState.subtleSurface,\n border: themeState.border,\n },\n text: {\n primary: themeState.text,\n secondary: themeState.textSecondary,\n inverse: \"#FFFFFF\",\n muted: \"#808181\",\n },\n overlay: {\n background: themeState.overlay,\n },\n loader: {\n color: themeState.loader,\n },\n pagination: {\n selected: themeState.paginationSelected,\n contrastText: themeState.paginationContrastText,\n },\n input: {\n border: themeState.inputBorder,\n placeholder: themeState.inputPlaceholder,\n },\n radio: {\n checked: themeState.radioChecked,\n },\n interaction: {\n primaryHover: themeState.primaryHover,\n },\n },\n});\n\nexport const themeArgTypesPalette = {\n primary: { control: { type: \"text\" } },\n secondary: { control: { type: \"text\" } },\n thirdly: { control: { type: \"text\" } },\n negative: { control: { type: \"text\" } },\n} as const;\n\nexport const themeArgTypesSemantic = {\n surface: { control: { type: \"text\" } },\n subtleSurface: { control: { type: \"text\" } },\n border: { control: { type: \"text\" } },\n loader: { control: { type: \"text\" } },\n overlay: { control: { type: \"text\" } },\n text: { control: { type: \"text\" } },\n textSecondary: { control: { type: \"text\" } },\n inputBorder: { control: { type: \"text\" } },\n inputPlaceholder: { control: { type: \"text\" } },\n radioChecked: { control: { type: \"text\" } },\n paginationSelected: { control: { type: \"text\" } },\n paginationContrastText: { control: { type: \"text\" } },\n primaryHover: { control: { type: \"text\" } },\n} as const;\n\nexport const themePreviewStyles = `\n .theme-preview-card {\n padding: 20px;\n border-radius: 20px;\n background: var(--jigowatts-color-surface, white);\n box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);\n }\n\n .theme-token-label {\n font-size: 13px;\n font-weight: 700;\n letter-spacing: 0.02em;\n text-transform: capitalize;\n }\n\n .theme-token-note {\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.85;\n }\n\n .theme-visual-surface {\n border-radius: 16px;\n padding: 16px;\n background: var(--jigowatts-color-surface, white);\n border: 1px solid var(--jigowatts-color-border, #e5e7eb);\n }\n\n .theme-visual-surface-subtle {\n border-radius: 16px;\n padding: 16px;\n background: var(--jigowatts-color-surface-subtle, #f7f8fa);\n border: 1px solid var(--jigowatts-color-border, #e5e7eb);\n }\n\n .theme-text-sample {\n display: grid;\n gap: 8px;\n }\n\n .theme-token-pills {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .theme-token-pill {\n padding: 8px 12px;\n border-radius: 9999px;\n font-size: 13px;\n font-weight: 700;\n }\n`;\n\nexport const ThemeStoryProvider = ({\n themeState,\n children,\n}: {\n themeState: ThemeState;\n children: ReactNode;\n}) => <ThemeProvider theme={createThemeOptions(themeState)}>{children}</ThemeProvider>;\n\nexport const themeCardStyle = {\n padding: 20,\n borderRadius: 20,\n background: \"var(--jigowatts-color-surface, white)\",\n boxShadow: \"0 20px 50px rgba(15, 23, 42, 0.08)\",\n} as CSSProperties;\n"],"names":["defaultThemeState","defaultJigowattsTheme","defaultPaletteThemeState","defaultSemanticThemeState","createThemeOptions","themeState","themeArgTypesPalette","themeArgTypesSemantic","themePreviewStyles","ThemeStoryProvider","children","ThemeProvider","themeCardStyle"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jigowatts/jigowatts-ui",
3
- "version": "2.2.0",
3
+ "version": "2.3.1",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",
@@ -265,6 +265,11 @@
265
265
  "types": "./dist/components/TwoFaDialog/index.d.ts",
266
266
  "import": "./dist/components/TwoFaDialog/index.es.js",
267
267
  "require": "./dist/components/TwoFaDialog/index.cjs.js"
268
+ },
269
+ "./Theme": {
270
+ "types": "./dist/theme/index.d.ts",
271
+ "import": "./dist/theme/index.es.js",
272
+ "require": "./dist/theme/index.cjs.js"
268
273
  }
269
274
  },
270
275
  "files": [
@@ -1,51 +0,0 @@
1
- import { jsxs as c, jsx as r } from "react/jsx-runtime";
2
- import g from "classnames";
3
- import './assets/index28.css';const j = "_inputContainer_1sj6d_2", v = "_selectWrapper_1sj6d_9", C = "_select_1sj6d_9", N = "_placeholder_1sj6d_36", f = "_error_1sj6d_40", M = "_errorMessage_1sj6d_44", e = {
4
- inputContainer: j,
5
- selectWrapper: v,
6
- select: C,
7
- placeholder: N,
8
- error: f,
9
- errorMessage: M
10
- }, S = (d) => {
11
- const {
12
- id: i,
13
- name: p,
14
- values: l,
15
- register: _,
16
- errorMessage: a,
17
- placeholder: t,
18
- defaultValue: h,
19
- onChange: n
20
- } = d, u = (s) => {
21
- const o = l.find(
22
- (m) => m.value == s.target.value
23
- );
24
- n && o && n(o);
25
- };
26
- return /* @__PURE__ */ c("div", { className: e.inputContainer, children: [
27
- /* @__PURE__ */ r("div", { className: e.selectWrapper, children: /* @__PURE__ */ c(
28
- "select",
29
- {
30
- id: i,
31
- name: p,
32
- className: g(e.select, {
33
- [e.error]: a
34
- }),
35
- ..._,
36
- onChange: u,
37
- value: h,
38
- children: [
39
- t && /* @__PURE__ */ r("option", { value: "", selected: !0, className: e.placeholder, children: t }),
40
- l.map((s) => /* @__PURE__ */ r("option", { value: s.value, children: s.label }, s.value))
41
- ]
42
- }
43
- ) }),
44
- a && /* @__PURE__ */ r("small", { className: e.errorMessage, children: a })
45
- ] });
46
- };
47
- export {
48
- S,
49
- e as s
50
- };
51
- //# sourceMappingURL=index-D7VNQwOv.js.map
@@ -1,2 +0,0 @@
1
- "use strict";require('./assets/index28.css');const s=require("react/jsx-runtime"),j=require("classnames"),g="_inputContainer_1sj6d_2",m="_selectWrapper_1sj6d_9",x="_select_1sj6d_9",v="_placeholder_1sj6d_36",C="_error_1sj6d_40",N="_errorMessage_1sj6d_44",e={inputContainer:g,selectWrapper:m,select:x,placeholder:v,error:C,errorMessage:N},M=o=>{const{id:i,name:d,values:a,register:p,errorMessage:l,placeholder:t,defaultValue:u,onChange:c}=o,_=r=>{const n=a.find(h=>h.value==r.target.value);c&&n&&c(n)};return s.jsxs("div",{className:e.inputContainer,children:[s.jsx("div",{className:e.selectWrapper,children:s.jsxs("select",{id:i,name:d,className:j(e.select,{[e.error]:l}),...p,onChange:_,value:u,children:[t&&s.jsx("option",{value:"",selected:!0,className:e.placeholder,children:t}),a.map(r=>s.jsx("option",{value:r.value,children:r.label},r.value))]})}),l&&s.jsx("small",{className:e.errorMessage,children:l})]})};exports.SelectBox=M;exports.styles=e;
2
- //# sourceMappingURL=index-SHLzSoKB.cjs.map