@oondemand/oon-core-front 0.7.34 → 0.7.36
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.
- package/dist/{chunk-GIDNQRK6.js → chunk-4J7L5PIO.js} +68 -24
- package/dist/chunk-4J7L5PIO.js.map +1 -0
- package/dist/{chunk-B4QFRGOK.js → chunk-74ATSPSO.js} +24 -24
- package/dist/chunk-74ATSPSO.js.map +1 -0
- package/dist/{chunk-ALZCHGGI.js → chunk-H4RCPPT3.js} +2 -2
- package/dist/chunk-H4RCPPT3.js.map +1 -0
- package/dist/{chunk-32GGDIWB.js → chunk-HS3Q4SCM.js} +2 -2
- package/dist/{chunk-VC6NTMZS.js → chunk-O4M3YJRY.js} +23 -20
- package/dist/chunk-O4M3YJRY.js.map +1 -0
- package/dist/{chunk-WZD4ACMX.js → chunk-RUE7ZDZS.js} +2 -2
- package/dist/hooks.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -6
- package/dist/routing.js +2 -2
- package/dist/testing.js +5 -5
- package/dist/theme.js +1 -1
- package/dist/{ui-D1u6ze-h.d.ts → ui-BBEP4aNZ.d.ts} +5 -0
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-ALZCHGGI.js.map +0 -1
- package/dist/chunk-B4QFRGOK.js.map +0 -1
- package/dist/chunk-GIDNQRK6.js.map +0 -1
- package/dist/chunk-VC6NTMZS.js.map +0 -1
- /package/dist/{chunk-32GGDIWB.js.map → chunk-HS3Q4SCM.js.map} +0 -0
- /package/dist/{chunk-WZD4ACMX.js.map → chunk-RUE7ZDZS.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config/theme.ts","../src/config/ThemeProvider.tsx"],"sourcesContent":["import { createSystem, defaultConfig, defineConfig, mergeConfigs } from \"@chakra-ui/react\";\nimport type { SystemConfig } from \"@chakra-ui/react\";\n\nexport type OonThemeDensity = \"compact\" | \"comfortable\";\nexport type OonThemeContrast = \"standard\" | \"high\";\n\nexport interface OonThemeDefinition {\n id: string;\n label?: string;\n extends?: OonThemeDefinition;\n density?: OonThemeDensity;\n contrast?: OonThemeContrast;\n /** Configuração pública do Chakra baseada em tokens, sem CSS remoto. */\n config?: Record<string, unknown>;\n}\n\nexport function createOonTheme<const T extends OonThemeDefinition>(definition: T): T {\n if (!/^[a-z][a-z0-9-]*$/.test(definition?.id || \"\")) {\n throw new Error(\"createOonTheme: id deve usar letras minúsculas, números e hífen.\");\n }\n if (definition.extends?.id === definition.id) {\n throw new Error(`createOonTheme: o tema ${definition.id} não pode estender a si mesmo.`);\n }\n return Object.freeze({ ...definition });\n}\n\n/**\n * Identidade visual padrão das Centrais Oon, consolidada a partir da Central\n * Minexco/CST: azul operacional, superfícies claras, tipografia Poppins e alta\n * densidade de informação.\n */\nexport const brandColors = {\n brand: {\n 25: { value: \"#F8FCFF\" },\n 50: { value: \"#EEF8FD\" },\n 75: { value: \"#E2F3FB\" },\n 100: { value: \"#C7E8F7\" },\n 200: { value: \"#82C8E8\" },\n 300: { value: \"#3FA6E0\" },\n 350: { value: \"#0F8DD0\" },\n 400: { value: \"#0580B9\" },\n 500: { value: \"#0474AF\" },\n 600: { value: \"#036491\" },\n 700: { value: \"#014364\" },\n 800: { value: \"#073A52\" },\n 850: { value: \"#082F3F\" },\n 900: { value: \"#07262E\" },\n },\n} as const;\n\nconst oonThemeConfig = defineConfig({\n globalCss: {\n \"html, body, #root\": {\n minHeight: \"100%\",\n },\n body: {\n margin: 0,\n bg: \"#F8F9FA\",\n color: \"#24323A\",\n fontFamily: \"Poppins, Inter, system-ui, sans-serif\",\n fontSize: \"14px\",\n },\n \"button, input, select, textarea\": {\n fontFamily: \"inherit\",\n },\n \"::selection\": {\n bg: \"#C7E8F7\",\n color: \"#07262E\",\n },\n },\n theme: {\n tokens: {\n colors: brandColors,\n fonts: {\n body: { value: \"Poppins, Inter, system-ui, sans-serif\" },\n heading: { value: \"Poppins, Inter, system-ui, sans-serif\" },\n },\n radii: {\n oon: { value: \"10px\" },\n },\n shadows: {\n oon: { value: \"0 8px 24px rgba(7, 38, 46, 0.08)\" },\n },\n },\n semanticTokens: {\n colors: {\n brand: {\n solid: { value: \"{colors.brand.500}\" },\n contrast: { value: \"white\" },\n fg: { value: \"{colors.brand.700}\" },\n muted: { value: \"{colors.brand.50}\" },\n subtle: { value: \"{colors.brand.75}\" },\n emphasized: { value: \"{colors.brand.600}\" },\n focusRing: { value: \"{colors.brand.500}\" },\n },\n surface: {\n canvas: { value: \"{colors.gray.50}\" },\n panel: { value: \"white\" },\n elevated: { value: \"white\" },\n },\n text: {\n primary: { value: \"{colors.gray.800}\" },\n muted: { value: \"{colors.gray.600}\" },\n inverse: { value: \"white\" },\n },\n border: {\n default: { value: \"{colors.gray.200}\" },\n strong: { value: \"{colors.gray.300}\" },\n },\n status: {\n success: { value: \"{colors.green.600}\" },\n warning: { value: \"{colors.orange.600}\" },\n danger: { value: \"{colors.red.600}\" },\n info: { value: \"{colors.blue.600}\" },\n },\n },\n },\n },\n});\n\nexport const oonDefaultTheme = createOonTheme({\n id: \"oon-default\",\n label: \"Oon\",\n density: \"comfortable\",\n contrast: \"standard\",\n config: oonThemeConfig as unknown as Record<string, unknown>,\n});\n\nfunction isThemeDefinition(value: unknown): value is OonThemeDefinition {\n return Boolean(value) && typeof value === \"object\" && typeof (value as { id?: unknown }).id === \"string\";\n}\n\nfunction densityConfig(density?: OonThemeDensity): SystemConfig {\n if (density !== \"compact\") return defineConfig({});\n return defineConfig({ globalCss: { body: { fontSize: \"13px\" }, \"button, input, select, textarea\": { minH: \"32px\" } } });\n}\n\nfunction contrastConfig(contrast?: OonThemeContrast): SystemConfig {\n if (contrast !== \"high\") return defineConfig({});\n return defineConfig({\n theme: {\n semanticTokens: {\n colors: {\n text: { primary: { value: \"{colors.black}\" }, muted: { value: \"{colors.gray.800}\" } },\n border: { default: { value: \"{colors.gray.500}\" }, strong: { value: \"{colors.black}\" } },\n },\n },\n },\n });\n}\n\nfunction definitionConfig(theme: OonThemeDefinition): SystemConfig {\n const inherited = theme.extends ? definitionConfig(theme.extends) : defineConfig({});\n const own = defineConfig((theme.config ?? {}) as SystemConfig);\n return mergeConfigs(inherited, own, densityConfig(theme.density), contrastConfig(theme.contrast));\n}\n\n/**\n * Constrói o system do Chakra. O padrão Minexco é aplicado primeiro e pode ser\n * sobrescrito por uma identidade específica da Central sem reescrever o shell.\n */\nexport function createOonSystem(themeOverride?: OonThemeDefinition | Record<string, unknown>) {\n const base = mergeConfigs(defaultConfig, oonThemeConfig);\n const config = themeOverride\n ? mergeConfigs(base, isThemeDefinition(themeOverride)\n ? definitionConfig(themeOverride)\n : defineConfig(themeOverride as SystemConfig))\n : base;\n return createSystem(config);\n}\n\nexport const oonSystem = createOonSystem();\n","import { ChakraProvider } from \"@chakra-ui/react\";\nimport { createContext, type ReactNode, useContext, useMemo, useState } from \"react\";\nimport type { OonCoreFrontConfig } from \"../types\";\nimport type { OonThemeDefinition } from \"./theme\";\nimport { createOonSystem } from \"./theme\";\n\nexport interface OonThemeContextValue {\n themes: readonly OonThemeDefinition[];\n currentThemeId?: string;\n setTheme(themeId: string): void;\n}\n\nconst OonThemeContext = createContext<OonThemeContextValue | null>(null);\n\nfunction isThemeDefinition(value: unknown): value is OonThemeDefinition {\n return Boolean(value) && typeof value === \"object\" && typeof (value as { id?: unknown }).id === \"string\";\n}\n\nexport function OonThemeProvider({ config, children }: { config: OonCoreFrontConfig; children: ReactNode }) {\n const themes = useMemo(() => {\n const items = [...(config.themes ?? [])];\n const primaryTheme = config.theme;\n if (isThemeDefinition(primaryTheme) && !items.some((item) => item.id === primaryTheme.id)) items.unshift(primaryTheme);\n return items;\n }, [config.theme, config.themes]);\n const storageKey = `oon:theme:${config.app.id}`;\n const initial = (() => {\n const stored = typeof window !== \"undefined\" ? window.localStorage.getItem(storageKey) : null;\n if (stored && themes.some((item) => item.id === stored)) return stored;\n if (config.defaultThemeId && themes.some((item) => item.id === config.defaultThemeId)) return config.defaultThemeId;\n return themes[0]?.id;\n })();\n const [currentThemeId, setCurrentThemeId] = useState<string | undefined>(initial);\n const selected = themes.find((item) => item.id === currentThemeId);\n const system = useMemo(() => createOonSystem(selected ?? config.theme), [selected, config.theme]);\n const value = useMemo<OonThemeContextValue>(() => ({\n themes,\n currentThemeId,\n setTheme(themeId) {\n if (!themes.some((item) => item.id === themeId)) throw new Error(`Tema Oon desconhecido: ${themeId}.`);\n setCurrentThemeId(themeId);\n if (typeof window !== \"undefined\") window.localStorage.setItem(storageKey, themeId);\n },\n }), [themes, currentThemeId, storageKey]);\n\n return <OonThemeContext.Provider value={value}><ChakraProvider value={system}>{children}</ChakraProvider></OonThemeContext.Provider>;\n}\n\nexport function useOonTheme(): OonThemeContextValue {\n const value = useContext(OonThemeContext);\n if (!value) throw new Error(\"useOonTheme deve ser usado dentro do OonCore.\");\n return value;\n}\n"],"mappings":"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","names":["isThemeDefinition"]}
|
|
File without changes
|
|
File without changes
|