@jbpark/ui-kit 3.7.0 → 4.0.0
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/Card.d.mts +1 -1
- package/dist/Card.d.mts.map +1 -1
- package/dist/Card.mjs.map +1 -1
- package/dist/Space.d.mts +1 -1
- package/dist/Space.d.mts.map +1 -1
- package/dist/Space.mjs.map +1 -1
- package/dist/components/atoms/checkbox/group.d.mts.map +1 -1
- package/dist/components/atoms/checkbox/group.mjs +4 -3
- package/dist/components/atoms/checkbox/group.mjs.map +1 -1
- package/dist/components/atoms/color-picker.d.mts +7 -1
- package/dist/components/atoms/color-picker.d.mts.map +1 -1
- package/dist/components/atoms/color-picker.mjs +8 -1
- package/dist/components/atoms/color-picker.mjs.map +1 -1
- package/dist/components/atoms/float-button/back-top.d.mts.map +1 -1
- package/dist/components/atoms/float-button/back-top.mjs +3 -1
- package/dist/components/atoms/float-button/back-top.mjs.map +1 -1
- package/dist/components/atoms/input/search.d.mts.map +1 -1
- package/dist/components/atoms/input/search.mjs +3 -1
- package/dist/components/atoms/input/search.mjs.map +1 -1
- package/dist/components/atoms/option-group.mjs +11 -1
- package/dist/components/atoms/option-group.mjs.map +1 -1
- package/dist/components/atoms/radio/group.d.mts.map +1 -1
- package/dist/components/atoms/radio/group.mjs +3 -2
- package/dist/components/atoms/radio/group.mjs.map +1 -1
- package/dist/components/atoms/skeleton/skeleton.d.mts.map +1 -1
- package/dist/components/atoms/skeleton/skeleton.mjs +5 -1
- package/dist/components/atoms/skeleton/skeleton.mjs.map +1 -1
- package/dist/components/atoms/spin.d.mts +2 -1
- package/dist/components/atoms/spin.d.mts.map +1 -1
- package/dist/components/atoms/spin.mjs +10 -4
- package/dist/components/atoms/spin.mjs.map +1 -1
- package/dist/components/molecules/collapse.d.mts +1 -1
- package/dist/components/molecules/collapse.d.mts.map +1 -1
- package/dist/components/molecules/collapse.mjs.map +1 -1
- package/dist/components/molecules/dropdown.d.mts +2 -2
- package/dist/components/molecules/dropdown.d.mts.map +1 -1
- package/dist/components/molecules/dropdown.mjs +25 -12
- package/dist/components/molecules/dropdown.mjs.map +1 -1
- package/dist/components/molecules/index.d.mts +9 -6
- package/dist/components/molecules/menu/item/item.mjs +27 -11
- package/dist/components/molecules/menu/item/item.mjs.map +1 -1
- package/dist/components/molecules/menu/menu.d.mts.map +1 -1
- package/dist/components/molecules/menu/menu.mjs +9 -7
- package/dist/components/molecules/menu/menu.mjs.map +1 -1
- package/dist/components/molecules/splitter/splitter.mjs +2 -2
- package/dist/components/molecules/splitter/splitter.mjs.map +1 -1
- package/dist/components/molecules/upload.d.mts +1 -1
- package/dist/components/organisms/drawer.d.mts.map +1 -1
- package/dist/components/organisms/drawer.mjs +3 -1
- package/dist/components/organisms/drawer.mjs.map +1 -1
- package/dist/components/organisms/imperative-stack.mjs +106 -0
- package/dist/components/organisms/imperative-stack.mjs.map +1 -0
- package/dist/components/organisms/index.d.mts +3 -1
- package/dist/components/organisms/list/index.d.mts +1 -1
- package/dist/components/organisms/list/index.mjs.map +1 -1
- package/dist/components/organisms/list/list.d.mts +2 -2
- package/dist/components/organisms/list/list.d.mts.map +1 -1
- package/dist/components/organisms/list/list.mjs +20 -11
- package/dist/components/organisms/list/list.mjs.map +1 -1
- package/dist/components/organisms/modal.d.mts +2 -2
- package/dist/components/organisms/modal.d.mts.map +1 -1
- package/dist/components/organisms/modal.mjs +21 -101
- package/dist/components/organisms/modal.mjs.map +1 -1
- package/dist/components/organisms/swiper/index.d.mts +1 -1
- package/dist/components/organisms/swiper/index.mjs.map +1 -1
- package/dist/components/organisms/swiper/swiper.d.mts +2 -1
- package/dist/components/organisms/swiper/swiper.d.mts.map +1 -1
- package/dist/components/organisms/swiper/swiper.mjs +5 -3
- package/dist/components/organisms/swiper/swiper.mjs.map +1 -1
- package/dist/components/organisms/toast.d.mts +1 -1
- package/dist/components/organisms/toast.d.mts.map +1 -1
- package/dist/components/organisms/toast.mjs +35 -111
- package/dist/components/organisms/toast.mjs.map +1 -1
- package/dist/components/templates/container.d.mts +19 -0
- package/dist/components/templates/container.d.mts.map +1 -0
- package/dist/components/templates/container.mjs +32 -0
- package/dist/components/templates/container.mjs.map +1 -0
- package/dist/components/templates/empty.d.mts +20 -0
- package/dist/components/templates/empty.d.mts.map +1 -0
- package/dist/components/templates/empty.mjs +34 -0
- package/dist/components/templates/empty.mjs.map +1 -0
- package/dist/components/templates/grid/col.d.mts +35 -0
- package/dist/components/templates/grid/col.d.mts.map +1 -0
- package/dist/components/templates/grid/col.mjs +55 -0
- package/dist/components/templates/grid/col.mjs.map +1 -0
- package/dist/components/templates/grid/index.d.mts +2 -0
- package/dist/components/templates/grid/row-context.mjs +13 -0
- package/dist/components/templates/grid/row-context.mjs.map +1 -0
- package/dist/components/templates/grid/row.d.mts +36 -0
- package/dist/components/templates/grid/row.d.mts.map +1 -0
- package/dist/components/templates/grid/row.mjs +54 -0
- package/dist/components/templates/grid/row.mjs.map +1 -0
- package/dist/components/templates/index.d.mts +13 -1
- package/dist/components/templates/layout/content.d.mts +4 -1
- package/dist/components/templates/layout/content.d.mts.map +1 -1
- package/dist/components/templates/layout/content.mjs +3 -2
- package/dist/components/templates/layout/content.mjs.map +1 -1
- package/dist/components/templates/layout/footer.d.mts +1 -1
- package/dist/components/templates/layout/footer.d.mts.map +1 -1
- package/dist/components/templates/layout/footer.mjs.map +1 -1
- package/dist/components/templates/layout/header.d.mts +4 -1
- package/dist/components/templates/layout/header.d.mts.map +1 -1
- package/dist/components/templates/layout/header.mjs +2 -2
- package/dist/components/templates/layout/header.mjs.map +1 -1
- package/dist/components/templates/layout/layout.d.mts +1 -1
- package/dist/components/templates/layout/layout.d.mts.map +1 -1
- package/dist/components/templates/layout/layout.mjs.map +1 -1
- package/dist/components/templates/layout/sider.d.mts +9 -2
- package/dist/components/templates/layout/sider.d.mts.map +1 -1
- package/dist/components/templates/layout/sider.mjs +40 -13
- package/dist/components/templates/layout/sider.mjs.map +1 -1
- package/dist/components/templates/page-header.d.mts +30 -0
- package/dist/components/templates/page-header.d.mts.map +1 -0
- package/dist/components/templates/page-header.mjs +45 -0
- package/dist/components/templates/page-header.mjs.map +1 -0
- package/dist/components/templates/result.d.mts +24 -0
- package/dist/components/templates/result.d.mts.map +1 -0
- package/dist/components/templates/result.mjs +46 -0
- package/dist/components/templates/result.mjs.map +1 -0
- package/dist/index.d.mts +29 -13
- package/dist/index.mjs +9 -3
- package/dist/providers/Config/context.d.mts +3 -2
- package/dist/providers/Config/context.d.mts.map +1 -1
- package/dist/providers/Config/context.mjs +13 -2
- package/dist/providers/Config/context.mjs.map +1 -1
- package/dist/providers/Config/index.d.mts +4 -2
- package/dist/providers/Config/index.d.mts.map +1 -1
- package/dist/providers/Config/index.mjs +14 -4
- package/dist/providers/Config/index.mjs.map +1 -1
- package/dist/providers/Config/types.d.mts +10 -1
- package/dist/providers/Config/types.d.mts.map +1 -1
- package/dist/providers.d.mts +4 -0
- package/dist/providers.mjs +4 -0
- package/dist/style.css +114 -3
- package/package.json +4 -3
- package/dist/providers/index.d.mts +0 -3
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { ThemeConfig, ThemeToken } from "./types.mjs";
|
|
2
|
-
import { useConfig } from "./context.mjs";
|
|
1
|
+
import { Locale, ThemeConfig, ThemeToken } from "./types.mjs";
|
|
2
|
+
import { DEFAULT_LOCALE, useConfig } from "./context.mjs";
|
|
3
3
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/providers/Config/index.d.ts
|
|
6
6
|
interface Props {
|
|
7
7
|
theme?: ThemeConfig;
|
|
8
|
+
locale?: Locale;
|
|
8
9
|
className?: string;
|
|
9
10
|
children: React.ReactNode;
|
|
10
11
|
}
|
|
11
12
|
declare const Config: ({
|
|
12
13
|
theme,
|
|
14
|
+
locale,
|
|
13
15
|
className,
|
|
14
16
|
children
|
|
15
17
|
}: Props) => react_jsx_runtime0.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/providers/Config/index.tsx"],"mappings":";;;;;UAmDU,KAAA;EACR,KAAA,GAAQ,WAAA;EACR,SAAA;EACA,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;AAAA,cAGZ,MAAA;EAAU,KAAA;EAAA,SAAA;EAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/providers/Config/index.tsx"],"mappings":";;;;;UAmDU,KAAA;EACR,KAAA,GAAQ,WAAA;EACR,MAAA,GAAS,MAAA;EACT,SAAA;EACA,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;AAAA,cAGZ,MAAA;EAAU,KAAA;EAAA,MAAA;EAAA,SAAA;EAAA;AAAA,GAAkD,KAAA,KAAK,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../utils.mjs";
|
|
4
|
-
import { Context, useConfig } from "./context.mjs";
|
|
4
|
+
import { Context, DEFAULT_LOCALE, useConfig } from "./context.mjs";
|
|
5
5
|
import { useMemo } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
|
|
@@ -37,9 +37,12 @@ const buildCssVars = (token) => {
|
|
|
37
37
|
}
|
|
38
38
|
return vars;
|
|
39
39
|
};
|
|
40
|
-
const Config = ({ theme = {}, className, children }) => {
|
|
40
|
+
const Config = ({ theme = {}, locale = {}, className, children }) => {
|
|
41
41
|
const parent = useConfig();
|
|
42
42
|
const themeKey = JSON.stringify(theme);
|
|
43
|
+
const parentThemeKey = JSON.stringify(parent.theme);
|
|
44
|
+
const localeKey = JSON.stringify(locale);
|
|
45
|
+
const parentLocaleKey = JSON.stringify(parent.locale);
|
|
43
46
|
const mergedTheme = useMemo(() => ({
|
|
44
47
|
...parent.theme,
|
|
45
48
|
...theme,
|
|
@@ -47,8 +50,15 @@ const Config = ({ theme = {}, className, children }) => {
|
|
|
47
50
|
...parent.theme.token,
|
|
48
51
|
...theme.token
|
|
49
52
|
}
|
|
50
|
-
}), [
|
|
51
|
-
const
|
|
53
|
+
}), [parentThemeKey, themeKey]);
|
|
54
|
+
const mergedLocale = useMemo(() => ({
|
|
55
|
+
...parent.locale,
|
|
56
|
+
...locale
|
|
57
|
+
}), [parentLocaleKey, localeKey]);
|
|
58
|
+
const contextValue = useMemo(() => ({
|
|
59
|
+
theme: mergedTheme,
|
|
60
|
+
locale: mergedLocale
|
|
61
|
+
}), [mergedTheme, mergedLocale]);
|
|
52
62
|
const cssVars = useMemo(() => buildCssVars(mergedTheme.token), [mergedTheme.token]);
|
|
53
63
|
const hasCssVars = Object.keys(cssVars).length > 0;
|
|
54
64
|
const hasDarkMode = mergedTheme.dark !== void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@repo/ui/utils';\n\nimport { Context, useConfig } from './context';\nimport type { ThemeConfig, ThemeToken } from './types';\n\nconst tokenToCssVar: Record<keyof ThemeToken, string> = {\n colorPrimary: '--primary',\n colorPrimaryForeground: '--primary-foreground',\n colorBackground: '--background',\n colorForeground: '--foreground',\n colorCard: '--card',\n colorCardForeground: '--card-foreground',\n colorPopover: '--popover',\n colorPopoverForeground: '--popover-foreground',\n colorSecondary: '--secondary',\n colorSecondaryForeground: '--secondary-foreground',\n colorMuted: '--muted',\n colorMutedForeground: '--muted-foreground',\n colorAccent: '--accent',\n colorAccentForeground: '--accent-foreground',\n colorDestructive: '--destructive',\n colorBorder: '--border',\n colorInput: '--input',\n colorRing: '--ring',\n borderRadius: '--radius',\n};\n\nconst buildCssVars = (token?: ThemeToken): React.CSSProperties => {\n if (!token) {\n return {};\n }\n\n const vars: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(token)) {\n if (value === undefined) {\n continue;\n }\n const cssVar = tokenToCssVar[key as keyof ThemeToken];\n if (cssVar) {\n vars[cssVar] = value;\n }\n }\n\n return vars as React.CSSProperties;\n};\n\ninterface Props {\n theme?: ThemeConfig;\n className?: string;\n children: React.ReactNode;\n}\n\nconst Config = ({ theme = {}, className, children }: Props) => {\n const parent = useConfig();\n\n // `theme` is typically a fresh inline object literal at the call site\n // (and `parent.theme` inherits the same problem from its own Config\n // ancestor), so depending on them directly meant mergedTheme/contextValue\n // got a new identity on every render regardless of whether the actual\n // values changed — every useConfig() consumer in the tree re-rendered on\n // every render of whatever's above this Config, which for the common\n // app-root usage is everything. Depend on a serialized key instead so\n // the memo only invalidates when the content actually changes; these\n // are small, string/boolean-only objects, so JSON.stringify is cheap.\n const themeKey = JSON.stringify(theme);\n const parentThemeKey = JSON.stringify(parent.theme);\n\n const mergedTheme = useMemo<ThemeConfig>(\n () => ({\n ...parent.theme,\n ...theme,\n token: {\n ...parent.theme.token,\n ...theme.token,\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [parentThemeKey, themeKey],\n );\n\n const contextValue = useMemo(() => ({ theme: mergedTheme }),
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@repo/ui/utils';\n\nimport { Context, DEFAULT_LOCALE, useConfig } from './context';\nimport type { Locale, ThemeConfig, ThemeToken } from './types';\n\nconst tokenToCssVar: Record<keyof ThemeToken, string> = {\n colorPrimary: '--primary',\n colorPrimaryForeground: '--primary-foreground',\n colorBackground: '--background',\n colorForeground: '--foreground',\n colorCard: '--card',\n colorCardForeground: '--card-foreground',\n colorPopover: '--popover',\n colorPopoverForeground: '--popover-foreground',\n colorSecondary: '--secondary',\n colorSecondaryForeground: '--secondary-foreground',\n colorMuted: '--muted',\n colorMutedForeground: '--muted-foreground',\n colorAccent: '--accent',\n colorAccentForeground: '--accent-foreground',\n colorDestructive: '--destructive',\n colorBorder: '--border',\n colorInput: '--input',\n colorRing: '--ring',\n borderRadius: '--radius',\n};\n\nconst buildCssVars = (token?: ThemeToken): React.CSSProperties => {\n if (!token) {\n return {};\n }\n\n const vars: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(token)) {\n if (value === undefined) {\n continue;\n }\n const cssVar = tokenToCssVar[key as keyof ThemeToken];\n if (cssVar) {\n vars[cssVar] = value;\n }\n }\n\n return vars as React.CSSProperties;\n};\n\ninterface Props {\n theme?: ThemeConfig;\n locale?: Locale;\n className?: string;\n children: React.ReactNode;\n}\n\nconst Config = ({ theme = {}, locale = {}, className, children }: Props) => {\n const parent = useConfig();\n\n // `theme` is typically a fresh inline object literal at the call site\n // (and `parent.theme` inherits the same problem from its own Config\n // ancestor), so depending on them directly meant mergedTheme/contextValue\n // got a new identity on every render regardless of whether the actual\n // values changed — every useConfig() consumer in the tree re-rendered on\n // every render of whatever's above this Config, which for the common\n // app-root usage is everything. Depend on a serialized key instead so\n // the memo only invalidates when the content actually changes; these\n // are small, string/boolean-only objects, so JSON.stringify is cheap.\n const themeKey = JSON.stringify(theme);\n const parentThemeKey = JSON.stringify(parent.theme);\n const localeKey = JSON.stringify(locale);\n const parentLocaleKey = JSON.stringify(parent.locale);\n\n const mergedTheme = useMemo<ThemeConfig>(\n () => ({\n ...parent.theme,\n ...theme,\n token: {\n ...parent.theme.token,\n ...theme.token,\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [parentThemeKey, themeKey],\n );\n\n const mergedLocale = useMemo<Locale>(\n () => ({\n ...parent.locale,\n ...locale,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [parentLocaleKey, localeKey],\n );\n\n const contextValue = useMemo(\n () => ({ theme: mergedTheme, locale: mergedLocale }),\n [mergedTheme, mergedLocale],\n );\n\n const cssVars = useMemo(\n () => buildCssVars(mergedTheme.token),\n [mergedTheme.token],\n );\n\n const hasCssVars = Object.keys(cssVars).length > 0;\n const hasDarkMode = mergedTheme.dark !== undefined;\n const needsWrapper = hasCssVars || hasDarkMode || className;\n\n return (\n <Context.Provider value={contextValue}>\n {needsWrapper ? (\n <div\n className={cn(mergedTheme.dark && 'dark', className)}\n style={{\n ...(hasCssVars ? cssVars : undefined),\n // Keeps this element out of the layout box tree — so it\n // doesn't intercept flex/grid child relationships or break\n // height chains like min-h-screen — while custom properties\n // and the `dark` class selector still cascade to children\n // normally (inheritance and box generation are separate\n // mechanisms in CSS). Note this means className shouldn't be\n // used here for anything that needs a real box (padding,\n // background, borders); Config's className is meant for\n // theming hooks (the `dark` class, arbitrary selector hooks),\n // not layout.\n display: 'contents',\n }}\n >\n {children}\n </div>\n ) : (\n children\n )}\n </Context.Provider>\n );\n};\n\nexport default Config;\nexport { useConfig, DEFAULT_LOCALE };\nexport type { Props, Locale, ThemeConfig, ThemeToken };\n"],"mappings":";;;;;;;;AASA,MAAM,gBAAkD;CACtD,cAAc;CACd,wBAAwB;CACxB,iBAAiB;CACjB,iBAAiB;CACjB,WAAW;CACX,qBAAqB;CACrB,cAAc;CACd,wBAAwB;CACxB,gBAAgB;CAChB,0BAA0B;CAC1B,YAAY;CACZ,sBAAsB;CACtB,aAAa;CACb,uBAAuB;CACvB,kBAAkB;CAClB,aAAa;CACb,YAAY;CACZ,WAAW;CACX,cAAc;CACf;AAED,MAAM,gBAAgB,UAA4C;AAChE,KAAI,CAAC,MACH,QAAO,EAAE;CAGX,MAAM,OAA+B,EAAE;AAEvC,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,EAAE;AAChD,MAAI,UAAU,OACZ;EAEF,MAAM,SAAS,cAAc;AAC7B,MAAI,OACF,MAAK,UAAU;;AAInB,QAAO;;AAUT,MAAM,UAAU,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,eAAsB;CAC1E,MAAM,SAAS,WAAW;CAW1B,MAAM,WAAW,KAAK,UAAU,MAAM;CACtC,MAAM,iBAAiB,KAAK,UAAU,OAAO,MAAM;CACnD,MAAM,YAAY,KAAK,UAAU,OAAO;CACxC,MAAM,kBAAkB,KAAK,UAAU,OAAO,OAAO;CAErD,MAAM,cAAc,eACX;EACL,GAAG,OAAO;EACV,GAAG;EACH,OAAO;GACL,GAAG,OAAO,MAAM;GAChB,GAAG,MAAM;GACV;EACF,GAED,CAAC,gBAAgB,SAAS,CAC3B;CAED,MAAM,eAAe,eACZ;EACL,GAAG,OAAO;EACV,GAAG;EACJ,GAED,CAAC,iBAAiB,UAAU,CAC7B;CAED,MAAM,eAAe,eACZ;EAAE,OAAO;EAAa,QAAQ;EAAc,GACnD,CAAC,aAAa,aAAa,CAC5B;CAED,MAAM,UAAU,cACR,aAAa,YAAY,MAAM,EACrC,CAAC,YAAY,MAAM,CACpB;CAED,MAAM,aAAa,OAAO,KAAK,QAAQ,CAAC,SAAS;CACjD,MAAM,cAAc,YAAY,SAAS;CACzC,MAAM,eAAe,cAAc,eAAe;AAElD,QACE,oBAAC,QAAQ;EAAS,OAAO;YACtB,eACC,oBAAC;GACC,WAAW,GAAG,YAAY,QAAQ,QAAQ,UAAU;GACpD,OAAO;IACL,GAAI,aAAa,UAAU;IAW3B,SAAS;IACV;GAEA;IACG,GAEN;GAEe"}
|
|
@@ -24,9 +24,18 @@ interface ThemeConfig {
|
|
|
24
24
|
token?: ThemeToken;
|
|
25
25
|
dark?: boolean;
|
|
26
26
|
}
|
|
27
|
+
interface Locale {
|
|
28
|
+
close?: string;
|
|
29
|
+
clear?: string;
|
|
30
|
+
backToTop?: string;
|
|
31
|
+
loading?: string;
|
|
32
|
+
expand?: string;
|
|
33
|
+
collapse?: string;
|
|
34
|
+
}
|
|
27
35
|
interface ContextValue {
|
|
28
36
|
theme: ThemeConfig;
|
|
37
|
+
locale: Locale;
|
|
29
38
|
}
|
|
30
39
|
//#endregion
|
|
31
|
-
export { ContextValue, ThemeConfig, ThemeToken };
|
|
40
|
+
export { ContextValue, Locale, ThemeConfig, ThemeToken };
|
|
32
41
|
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/providers/Config/types.ts"],"mappings":";UAAiB,UAAA;EAEf,YAAA;EACA,sBAAA;EACA,eAAA;EACA,eAAA;EACA,SAAA;EACA,mBAAA;EACA,YAAA;EACA,sBAAA;EACA,cAAA;EACA,wBAAA;EACA,UAAA;EACA,oBAAA;EACA,WAAA;EACA,qBAAA;EACA,gBAAA;EACA,WAAA;EACA,UAAA;EACA,SAAA;EAGA,YAAA;AAAA;AAAA,UAGe,WAAA;EACf,KAAA,GAAQ,UAAA;EACR,IAAA;AAAA;AAAA,UAGe,YAAA;EACf,KAAA,EAAO,WAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/providers/Config/types.ts"],"mappings":";UAAiB,UAAA;EAEf,YAAA;EACA,sBAAA;EACA,eAAA;EACA,eAAA;EACA,SAAA;EACA,mBAAA;EACA,YAAA;EACA,sBAAA;EACA,cAAA;EACA,wBAAA;EACA,UAAA;EACA,oBAAA;EACA,WAAA;EACA,qBAAA;EACA,gBAAA;EACA,WAAA;EACA,UAAA;EACA,SAAA;EAGA,YAAA;AAAA;AAAA,UAGe,WAAA;EACf,KAAA,GAAQ,UAAA;EACR,IAAA;AAAA;AAAA,UAQe,MAAA;EACf,KAAA;EACA,KAAA;EACA,SAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;AAAA;AAAA,UAGe,YAAA;EACf,KAAA,EAAO,WAAA;EACP,MAAA,EAAQ,MAAA;AAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Locale, ThemeConfig, ThemeToken } from "./providers/Config/types.mjs";
|
|
2
|
+
import { DEFAULT_LOCALE, useConfig } from "./providers/Config/context.mjs";
|
|
3
|
+
import { Config, Props } from "./providers/Config/index.mjs";
|
|
4
|
+
export { Config, type Props as ConfigProps, DEFAULT_LOCALE, type Locale, type ThemeConfig, type ThemeToken, useConfig };
|
package/dist/style.css
CHANGED
|
@@ -14,8 +14,19 @@
|
|
|
14
14
|
--color-black: #000;
|
|
15
15
|
--color-white: #fff;
|
|
16
16
|
--spacing: 0.25rem;
|
|
17
|
+
--container-3xs: 16rem;
|
|
18
|
+
--container-2xs: 18rem;
|
|
19
|
+
--container-xs: 20rem;
|
|
17
20
|
--container-sm: 24rem;
|
|
21
|
+
--container-md: 28rem;
|
|
18
22
|
--container-lg: 32rem;
|
|
23
|
+
--container-xl: 36rem;
|
|
24
|
+
--container-2xl: 42rem;
|
|
25
|
+
--container-3xl: 48rem;
|
|
26
|
+
--container-4xl: 56rem;
|
|
27
|
+
--container-5xl: 64rem;
|
|
28
|
+
--container-6xl: 72rem;
|
|
29
|
+
--container-7xl: 80rem;
|
|
19
30
|
--text-xs: 0.75rem;
|
|
20
31
|
--text-xs--line-height: calc(1 / 0.75);
|
|
21
32
|
--text-sm: 0.875rem;
|
|
@@ -210,6 +221,9 @@
|
|
|
210
221
|
.pointer-events-none {
|
|
211
222
|
pointer-events: none;
|
|
212
223
|
}
|
|
224
|
+
.collapse {
|
|
225
|
+
visibility: collapse;
|
|
226
|
+
}
|
|
213
227
|
.invisible {
|
|
214
228
|
visibility: hidden;
|
|
215
229
|
}
|
|
@@ -302,9 +316,6 @@
|
|
|
302
316
|
.left-full {
|
|
303
317
|
left: 100%;
|
|
304
318
|
}
|
|
305
|
-
.z-0 {
|
|
306
|
-
z-index: 0;
|
|
307
|
-
}
|
|
308
319
|
.z-10 {
|
|
309
320
|
z-index: 10;
|
|
310
321
|
}
|
|
@@ -314,6 +325,9 @@
|
|
|
314
325
|
.z-10000 {
|
|
315
326
|
z-index: 10000;
|
|
316
327
|
}
|
|
328
|
+
.order-last {
|
|
329
|
+
order: 9999;
|
|
330
|
+
}
|
|
317
331
|
.col-span-2 {
|
|
318
332
|
grid-column: span 2 / span 2;
|
|
319
333
|
}
|
|
@@ -359,6 +373,9 @@
|
|
|
359
373
|
.mt-0\.5 {
|
|
360
374
|
margin-top: calc(var(--spacing) * 0.5);
|
|
361
375
|
}
|
|
376
|
+
.mt-1 {
|
|
377
|
+
margin-top: calc(var(--spacing) * 1);
|
|
378
|
+
}
|
|
362
379
|
.mt-2 {
|
|
363
380
|
margin-top: calc(var(--spacing) * 2);
|
|
364
381
|
}
|
|
@@ -386,6 +403,9 @@
|
|
|
386
403
|
.mr-7 {
|
|
387
404
|
margin-right: calc(var(--spacing) * 7);
|
|
388
405
|
}
|
|
406
|
+
.mb-2 {
|
|
407
|
+
margin-bottom: calc(var(--spacing) * 2);
|
|
408
|
+
}
|
|
389
409
|
.mb-3 {
|
|
390
410
|
margin-bottom: calc(var(--spacing) * 3);
|
|
391
411
|
}
|
|
@@ -407,6 +427,9 @@
|
|
|
407
427
|
.ml-7 {
|
|
408
428
|
margin-left: calc(var(--spacing) * 7);
|
|
409
429
|
}
|
|
430
|
+
.box-border {
|
|
431
|
+
box-sizing: border-box;
|
|
432
|
+
}
|
|
410
433
|
.box-content {
|
|
411
434
|
box-sizing: content-box;
|
|
412
435
|
}
|
|
@@ -613,12 +636,57 @@
|
|
|
613
636
|
.w-px {
|
|
614
637
|
width: 1px;
|
|
615
638
|
}
|
|
639
|
+
.max-w-2xl {
|
|
640
|
+
max-width: var(--container-2xl);
|
|
641
|
+
}
|
|
642
|
+
.max-w-2xs {
|
|
643
|
+
max-width: var(--container-2xs);
|
|
644
|
+
}
|
|
645
|
+
.max-w-3xl {
|
|
646
|
+
max-width: var(--container-3xl);
|
|
647
|
+
}
|
|
648
|
+
.max-w-3xs {
|
|
649
|
+
max-width: var(--container-3xs);
|
|
650
|
+
}
|
|
651
|
+
.max-w-4xl {
|
|
652
|
+
max-width: var(--container-4xl);
|
|
653
|
+
}
|
|
654
|
+
.max-w-5xl {
|
|
655
|
+
max-width: var(--container-5xl);
|
|
656
|
+
}
|
|
657
|
+
.max-w-6xl {
|
|
658
|
+
max-width: var(--container-6xl);
|
|
659
|
+
}
|
|
660
|
+
.max-w-7xl {
|
|
661
|
+
max-width: var(--container-7xl);
|
|
662
|
+
}
|
|
616
663
|
.max-w-48 {
|
|
617
664
|
max-width: calc(var(--spacing) * 48);
|
|
618
665
|
}
|
|
619
666
|
.max-w-\[calc\(100\%-2rem\)\] {
|
|
620
667
|
max-width: calc(100% - 2rem);
|
|
621
668
|
}
|
|
669
|
+
.max-w-full {
|
|
670
|
+
max-width: 100%;
|
|
671
|
+
}
|
|
672
|
+
.max-w-lg {
|
|
673
|
+
max-width: var(--container-lg);
|
|
674
|
+
}
|
|
675
|
+
.max-w-md {
|
|
676
|
+
max-width: var(--container-md);
|
|
677
|
+
}
|
|
678
|
+
.max-w-none {
|
|
679
|
+
max-width: none;
|
|
680
|
+
}
|
|
681
|
+
.max-w-sm {
|
|
682
|
+
max-width: var(--container-sm);
|
|
683
|
+
}
|
|
684
|
+
.max-w-xl {
|
|
685
|
+
max-width: var(--container-xl);
|
|
686
|
+
}
|
|
687
|
+
.max-w-xs {
|
|
688
|
+
max-width: var(--container-xs);
|
|
689
|
+
}
|
|
622
690
|
.min-w-\(--cell-size\) {
|
|
623
691
|
min-width: var(--cell-size);
|
|
624
692
|
}
|
|
@@ -655,6 +723,9 @@
|
|
|
655
723
|
.grow {
|
|
656
724
|
flex-grow: 1;
|
|
657
725
|
}
|
|
726
|
+
.grow-0 {
|
|
727
|
+
flex-grow: 0;
|
|
728
|
+
}
|
|
658
729
|
.basis-auto {
|
|
659
730
|
flex-basis: auto;
|
|
660
731
|
}
|
|
@@ -732,6 +803,9 @@
|
|
|
732
803
|
.cursor-pointer {
|
|
733
804
|
cursor: pointer;
|
|
734
805
|
}
|
|
806
|
+
.resize {
|
|
807
|
+
resize: both;
|
|
808
|
+
}
|
|
735
809
|
.scroll-my-1 {
|
|
736
810
|
scroll-margin-block: calc(var(--spacing) * 1);
|
|
737
811
|
}
|
|
@@ -774,6 +848,12 @@
|
|
|
774
848
|
.items-start {
|
|
775
849
|
align-items: flex-start;
|
|
776
850
|
}
|
|
851
|
+
.items-stretch {
|
|
852
|
+
align-items: stretch;
|
|
853
|
+
}
|
|
854
|
+
.justify-around {
|
|
855
|
+
justify-content: space-around;
|
|
856
|
+
}
|
|
777
857
|
.justify-between {
|
|
778
858
|
justify-content: space-between;
|
|
779
859
|
}
|
|
@@ -783,6 +863,9 @@
|
|
|
783
863
|
.justify-end {
|
|
784
864
|
justify-content: flex-end;
|
|
785
865
|
}
|
|
866
|
+
.justify-evenly {
|
|
867
|
+
justify-content: space-evenly;
|
|
868
|
+
}
|
|
786
869
|
.justify-start {
|
|
787
870
|
justify-content: flex-start;
|
|
788
871
|
}
|
|
@@ -1159,6 +1242,12 @@
|
|
|
1159
1242
|
.py-4 {
|
|
1160
1243
|
padding-block: calc(var(--spacing) * 4);
|
|
1161
1244
|
}
|
|
1245
|
+
.py-12 {
|
|
1246
|
+
padding-block: calc(var(--spacing) * 12);
|
|
1247
|
+
}
|
|
1248
|
+
.py-16 {
|
|
1249
|
+
padding-block: calc(var(--spacing) * 16);
|
|
1250
|
+
}
|
|
1162
1251
|
.pt-0 {
|
|
1163
1252
|
padding-top: calc(var(--spacing) * 0);
|
|
1164
1253
|
}
|
|
@@ -2797,6 +2886,11 @@
|
|
|
2797
2886
|
justify-content: flex-end;
|
|
2798
2887
|
}
|
|
2799
2888
|
}
|
|
2889
|
+
.sm\:px-6 {
|
|
2890
|
+
@media (width >= 40rem) {
|
|
2891
|
+
padding-inline: calc(var(--spacing) * 6);
|
|
2892
|
+
}
|
|
2893
|
+
}
|
|
2800
2894
|
.sm\:text-left {
|
|
2801
2895
|
@media (width >= 40rem) {
|
|
2802
2896
|
text-align: left;
|
|
@@ -2873,6 +2967,11 @@
|
|
|
2873
2967
|
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
2874
2968
|
}
|
|
2875
2969
|
}
|
|
2970
|
+
.lg\:px-8 {
|
|
2971
|
+
@media (width >= 64rem) {
|
|
2972
|
+
padding-inline: calc(var(--spacing) * 8);
|
|
2973
|
+
}
|
|
2974
|
+
}
|
|
2876
2975
|
.lg\:text-2xl {
|
|
2877
2976
|
@media (width >= 64rem) {
|
|
2878
2977
|
font-size: var(--text-2xl);
|
|
@@ -3053,6 +3152,18 @@
|
|
|
3053
3152
|
height: calc(var(--spacing) * 5);
|
|
3054
3153
|
}
|
|
3055
3154
|
}
|
|
3155
|
+
.\[\&_svg\]\:size-12 {
|
|
3156
|
+
& svg {
|
|
3157
|
+
width: calc(var(--spacing) * 12);
|
|
3158
|
+
height: calc(var(--spacing) * 12);
|
|
3159
|
+
}
|
|
3160
|
+
}
|
|
3161
|
+
.\[\&_svg\]\:size-16 {
|
|
3162
|
+
& svg {
|
|
3163
|
+
width: calc(var(--spacing) * 16);
|
|
3164
|
+
height: calc(var(--spacing) * 16);
|
|
3165
|
+
}
|
|
3166
|
+
}
|
|
3056
3167
|
.\[\&_svg\]\:shrink-0 {
|
|
3057
3168
|
& svg {
|
|
3058
3169
|
flex-shrink: 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbpark/ui-kit",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Modern React UI component library built with TypeScript, Tailwind CSS, and Radix UI. Featuring atoms, molecules, organisms and layout templates for building beautiful interfaces.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -107,6 +107,7 @@
|
|
|
107
107
|
"scripts": {
|
|
108
108
|
"build": "tsdown",
|
|
109
109
|
"lint": "eslint .",
|
|
110
|
+
"check-dynamic-classes": "node scripts/check-dynamic-tailwind-classes.mjs",
|
|
110
111
|
"generate:component": "turbo gen react-component",
|
|
111
112
|
"check-types": "tsc -b",
|
|
112
113
|
"prepublishOnly": "node scripts/prepare-publish.mjs",
|
|
@@ -153,7 +154,7 @@
|
|
|
153
154
|
"vaul": "^1.1.2"
|
|
154
155
|
},
|
|
155
156
|
"peerDependencies": {
|
|
156
|
-
"react": "^
|
|
157
|
-
"react-dom": "^
|
|
157
|
+
"react": "^19.0.0",
|
|
158
|
+
"react-dom": "^19.0.0"
|
|
158
159
|
}
|
|
159
160
|
}
|