@basiln/utils 0.1.12 → 0.1.14

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 (79) hide show
  1. package/.babelrc +15 -0
  2. package/README.md +32 -0
  3. package/dist/Choose.js +1 -1
  4. package/dist/Choose.mjs +1 -1
  5. package/dist/DomainFormat.js +2 -2
  6. package/dist/DomainFormat.js.map +1 -1
  7. package/dist/DomainFormat.mjs +1 -1
  8. package/dist/Flex.js +1 -1
  9. package/dist/Flex.mjs +1 -1
  10. package/dist/Grid/Grid.js +212 -0
  11. package/dist/Grid/Grid.js.map +1 -0
  12. package/dist/Grid/Grid.mjs +14 -0
  13. package/dist/Grid/Grid.mjs.map +1 -0
  14. package/dist/Grid/constants.js +96 -0
  15. package/dist/Grid/constants.js.map +1 -0
  16. package/dist/Grid/constants.mjs +34 -0
  17. package/dist/Grid/constants.mjs.map +1 -0
  18. package/dist/Grid/context.js +56 -0
  19. package/dist/Grid/context.js.map +1 -0
  20. package/dist/Grid/context.mjs +10 -0
  21. package/dist/Grid/context.mjs.map +1 -0
  22. package/dist/Grid/index.js +214 -0
  23. package/dist/Grid/index.js.map +1 -0
  24. package/dist/Grid/index.mjs +16 -0
  25. package/dist/Grid/index.mjs.map +1 -0
  26. package/dist/Grid/styles.js +105 -0
  27. package/dist/Grid/styles.js.map +1 -0
  28. package/dist/Grid/styles.mjs +12 -0
  29. package/dist/Grid/styles.mjs.map +1 -0
  30. package/dist/Grid/types.js +19 -0
  31. package/dist/Grid/types.js.map +1 -0
  32. package/dist/Grid/types.mjs +2 -0
  33. package/dist/Grid/types.mjs.map +1 -0
  34. package/dist/Grid/utils.js +42 -0
  35. package/dist/Grid/utils.js.map +1 -0
  36. package/dist/Grid/utils.mjs +9 -0
  37. package/dist/Grid/utils.mjs.map +1 -0
  38. package/dist/If.js +1 -1
  39. package/dist/If.mjs +1 -1
  40. package/dist/SafeArea.js +2 -2
  41. package/dist/SafeArea.mjs +2 -2
  42. package/dist/Spacing.js +1 -1
  43. package/dist/Spacing.mjs +1 -1
  44. package/dist/chunk-2VPHYP7Y.mjs +1 -0
  45. package/dist/chunk-2VPHYP7Y.mjs.map +1 -0
  46. package/dist/{chunk-KFMJD3YK.mjs → chunk-5X4P77VE.mjs} +2 -2
  47. package/dist/chunk-63N6GZOJ.mjs +1 -0
  48. package/dist/chunk-63N6GZOJ.mjs.map +1 -0
  49. package/dist/{chunk-FEPXSL77.mjs → chunk-6S7STXJR.mjs} +2 -2
  50. package/dist/chunk-6ZISNSYZ.mjs +50 -0
  51. package/dist/chunk-6ZISNSYZ.mjs.map +1 -0
  52. package/dist/{chunk-75ILZSEA.mjs → chunk-A4GYF5EN.mjs} +3 -3
  53. package/dist/chunk-IA3Y652S.mjs +108 -0
  54. package/dist/chunk-IA3Y652S.mjs.map +1 -0
  55. package/dist/chunk-KIWMNTMS.mjs +54 -0
  56. package/dist/chunk-KIWMNTMS.mjs.map +1 -0
  57. package/dist/{chunk-QKAXJVK7.mjs → chunk-KQN75INR.mjs} +2 -2
  58. package/dist/chunk-ODQE5YIS.mjs +12 -0
  59. package/dist/chunk-ODQE5YIS.mjs.map +1 -0
  60. package/dist/{chunk-YQMA54XQ.mjs → chunk-OOKIDH3F.mjs} +2 -2
  61. package/dist/chunk-P3MUNLIM.mjs +17 -0
  62. package/dist/chunk-P3MUNLIM.mjs.map +1 -0
  63. package/dist/{chunk-WWR7M6ID.mjs → chunk-QBUE5UFO.mjs} +3 -3
  64. package/dist/{chunk-WWR7M6ID.mjs.map → chunk-QBUE5UFO.mjs.map} +1 -1
  65. package/dist/{chunk-UFRXNT2I.mjs → chunk-YGI66TDT.mjs} +2 -2
  66. package/dist/createContext.js +1 -1
  67. package/dist/createContext.mjs +1 -1
  68. package/dist/index.d.mts +59 -14
  69. package/dist/index.d.ts +59 -14
  70. package/dist/index.js +158 -8
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +17 -7
  73. package/package.json +4 -1
  74. /package/dist/{chunk-KFMJD3YK.mjs.map → chunk-5X4P77VE.mjs.map} +0 -0
  75. /package/dist/{chunk-FEPXSL77.mjs.map → chunk-6S7STXJR.mjs.map} +0 -0
  76. /package/dist/{chunk-75ILZSEA.mjs.map → chunk-A4GYF5EN.mjs.map} +0 -0
  77. /package/dist/{chunk-QKAXJVK7.mjs.map → chunk-KQN75INR.mjs.map} +0 -0
  78. /package/dist/{chunk-YQMA54XQ.mjs.map → chunk-OOKIDH3F.mjs.map} +0 -0
  79. /package/dist/{chunk-UFRXNT2I.mjs.map → chunk-YGI66TDT.mjs.map} +0 -0
package/.babelrc ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "presets": [
3
+ "@babel/preset-typescript",
4
+ [
5
+ "@babel/preset-react",
6
+ {
7
+ "runtime": "automatic",
8
+ "importSource": "@emotion/react"
9
+ }
10
+ ]
11
+ ],
12
+ "plugins": [
13
+ "@emotion/babel-plugin"
14
+ ]
15
+ }
package/README.md CHANGED
@@ -26,6 +26,7 @@ yarn add @basiln/utils
26
26
  - [DomainFormat](#domainformat)
27
27
  - [useCombinedRefs](#usecombinedrefs)
28
28
  - [useControllableState](#usecontrollablestate)
29
+ - [Grid](#grid)
29
30
 
30
31
  ### `If`
31
32
 
@@ -386,3 +387,34 @@ const TextField = forwardRef((props, forwardedRef) => {
386
387
 
387
388
  ```
388
389
 
390
+ ### `Grid`
391
+
392
+ 선언적으로 `Grid` 스타일링을 할 수 있는 컴포넌트입니다.
393
+
394
+ ```tsx
395
+ import { Grid } from '@basiln/utils';
396
+
397
+ <Grid columns={['1fr', '1fr', '1fr']} rows={['1fr']} gap={10}>
398
+ <Grid.Item gridColumn={['1', '3']}>
399
+ <Content1 />
400
+ </Grid.Item>
401
+
402
+ <Grid.Item>
403
+ <Content2 />
404
+ </Grid.Item>
405
+ </Grid>
406
+
407
+ <Grid areas={'"header header" "sidebar content"'}>
408
+ <Grid.Item gridArea="header">
409
+ <Header />
410
+ </Grid.Item>
411
+
412
+ <Grid.Item gridArea="content">
413
+ <Content1 />
414
+ </Grid.Item>
415
+
416
+ <Grid.Item gridArea="sidebar">
417
+ <Sidebar />
418
+ </Grid.Item>
419
+ </Grid>
420
+ ```
package/dist/Choose.js CHANGED
@@ -24,7 +24,7 @@ __export(Choose_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(Choose_exports);
26
26
  var import_react = require("react");
27
- var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_jsx_runtime = require("@emotion/react/jsx-runtime");
28
28
  function Choose({ children }) {
29
29
  const validChildren = import_react.Children.toArray(children);
30
30
  const matchingChild = validChildren.find(
package/dist/Choose.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Choose
3
- } from "./chunk-KFMJD3YK.mjs";
3
+ } from "./chunk-5X4P77VE.mjs";
4
4
  export {
5
5
  Choose
6
6
  };
@@ -49,8 +49,8 @@ function formatModeColor(mode, customMapping = {}) {
49
49
  }
50
50
  function formatWind(wind, customMapping = {}) {
51
51
  const defaultWindMapping = {
52
- 1: "\uBBF8\uD48D",
53
- 2: "\uC57D\uD48D",
52
+ 1: "\uC57D\uD48D",
53
+ 2: "\uC911\uD48D",
54
54
  3: "\uAC15\uD48D"
55
55
  };
56
56
  const combinedMapping = { ...defaultWindMapping, ...customMapping };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/DomainFormat.ts"],"sourcesContent":["export type Mode = 'H' | 'C' | 'W';\nexport type Wind = 1 | 2 | 3;\nexport type AirLevel = 1 | 2 | 3 | 4 | 5;\nexport type UserLevel = '1' | '2' | '3' | '4';\nexport type Language = 'en' | 'ko';\n\nfunction formatModeName(mode: Mode, customMapping: Record<string, string> = {}): string {\n const defaultModeMapping: Record<Mode, string> = {\n H: '난방',\n C: '냉방',\n W: '송풍',\n };\n\n const combinedMapping = { ...defaultModeMapping, ...customMapping };\n\n if (!(mode in combinedMapping)) {\n throw new Error(`지원하지 않는 모드입니다. mode: ${mode}`);\n }\n\n return combinedMapping[mode];\n}\n\nfunction formatModeColor(mode: Mode, customMapping: Record<string, string> = {}) {\n const defaultColorMapping: Record<Mode, string> = {\n H: '#e77676',\n C: '#9fc6ff',\n W: '#a8e379',\n };\n\n const combinedMapping = { ...defaultColorMapping, ...customMapping };\n\n if (!(mode in combinedMapping)) {\n throw new Error(`지원하지 않는 모드입니다. mode: ${mode}`);\n }\n\n return combinedMapping[mode];\n}\n\nfunction formatWind(wind: Wind, customMapping: Record<string, string> = {}) {\n const defaultWindMapping: Record<Wind, string> = {\n 1: '미풍',\n 2: '약풍',\n 3: '강풍',\n };\n\n const combinedMapping = { ...defaultWindMapping, ...customMapping };\n\n if (!(wind in combinedMapping)) {\n throw new Error(`지원하지 않는 풍량입니다. wind: ${wind}`);\n }\n\n return combinedMapping[wind];\n}\n\nfunction formatAirLevelName(level: AirLevel) {\n const airLevelMapping: Record<AirLevel, string> = {\n 1: '매우 나쁨',\n 2: '나쁨',\n 3: '보통',\n 4: '좋음',\n 5: '매우 좋음',\n };\n\n if (!(level in airLevelMapping)) {\n throw new Error(`지원하지 않는 레벨입니다. level: ${level}`);\n }\n\n return airLevelMapping[level];\n}\n\nfunction formatAirLevelColor(level: AirLevel) {\n const colorMapping: Record<AirLevel, string> = {\n 1: '#ff5d47',\n 2: '#ff961c',\n 3: '#ffca42',\n 4: '#63ff60',\n 5: '#49ffe9',\n };\n\n if (!(level in colorMapping)) {\n throw new Error(`지원하지 않는 레벨입니다. level: ${level}`);\n }\n\n return colorMapping[level];\n}\n\nconst formatUserLevel = ({ level, language = 'ko' }: { level: UserLevel; language?: Language }) => {\n const userLevelMapping: Record<Language, Record<UserLevel, string>> = {\n en: {\n '1': 'MASTER',\n '2': 'MASTER KID',\n '3': 'SENIOR',\n '4': 'JUNIOR',\n },\n ko: {\n '1': '마스터',\n '2': '마스터키즈',\n '3': '시니어',\n '4': '주니어',\n },\n };\n\n if (!(language in userLevelMapping)) {\n throw new Error(`지원하지 않는 언어입니다. language: ${language}`);\n }\n\n if (!(level in userLevelMapping[language])) {\n throw new Error(`지원하지 않는 레벨입니다. level: ${level}`);\n }\n\n return userLevelMapping[language][level];\n};\n\nexport const DomainFormat = {\n modeName: formatModeName,\n modeColor: formatModeColor,\n wind: formatWind,\n airLevelName: formatAirLevelName,\n airLevelColor: formatAirLevelColor,\n userLevel: formatUserLevel,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe,MAAY,gBAAwC,CAAC,GAAW;AACtF,QAAM,qBAA2C;AAAA,IAC/C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,kBAAkB,EAAE,GAAG,oBAAoB,GAAG,cAAc;AAElE,MAAI,EAAE,QAAQ,kBAAkB;AAC9B,UAAM,IAAI,MAAM,+EAAwB,IAAI,EAAE;AAAA,EAChD;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,SAAS,gBAAgB,MAAY,gBAAwC,CAAC,GAAG;AAC/E,QAAM,sBAA4C;AAAA,IAChD,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,kBAAkB,EAAE,GAAG,qBAAqB,GAAG,cAAc;AAEnE,MAAI,EAAE,QAAQ,kBAAkB;AAC9B,UAAM,IAAI,MAAM,+EAAwB,IAAI,EAAE;AAAA,EAChD;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,SAAS,WAAW,MAAY,gBAAwC,CAAC,GAAG;AAC1E,QAAM,qBAA2C;AAAA,IAC/C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,kBAAkB,EAAE,GAAG,oBAAoB,GAAG,cAAc;AAElE,MAAI,EAAE,QAAQ,kBAAkB;AAC9B,UAAM,IAAI,MAAM,+EAAwB,IAAI,EAAE;AAAA,EAChD;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,SAAS,mBAAmB,OAAiB;AAC3C,QAAM,kBAA4C;AAAA,IAChD,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,MAAI,EAAE,SAAS,kBAAkB;AAC/B,UAAM,IAAI,MAAM,gFAAyB,KAAK,EAAE;AAAA,EAClD;AAEA,SAAO,gBAAgB,KAAK;AAC9B;AAEA,SAAS,oBAAoB,OAAiB;AAC5C,QAAM,eAAyC;AAAA,IAC7C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,MAAI,EAAE,SAAS,eAAe;AAC5B,UAAM,IAAI,MAAM,gFAAyB,KAAK,EAAE;AAAA,EAClD;AAEA,SAAO,aAAa,KAAK;AAC3B;AAEA,IAAM,kBAAkB,CAAC,EAAE,OAAO,WAAW,KAAK,MAAiD;AACjG,QAAM,mBAAgE;AAAA,IACpE,IAAI;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,IAAI;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAEA,MAAI,EAAE,YAAY,mBAAmB;AACnC,UAAM,IAAI,MAAM,mFAA4B,QAAQ,EAAE;AAAA,EACxD;AAEA,MAAI,EAAE,SAAS,iBAAiB,QAAQ,IAAI;AAC1C,UAAM,IAAI,MAAM,gFAAyB,KAAK,EAAE;AAAA,EAClD;AAEA,SAAO,iBAAiB,QAAQ,EAAE,KAAK;AACzC;AAEO,IAAM,eAAe;AAAA,EAC1B,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EACf,WAAW;AACb;","names":[]}
1
+ {"version":3,"sources":["../src/DomainFormat.ts"],"sourcesContent":["export type Mode = 'H' | 'C' | 'W';\nexport type Wind = 1 | 2 | 3;\nexport type AirLevel = 1 | 2 | 3 | 4 | 5;\nexport type UserLevel = '1' | '2' | '3' | '4';\nexport type Language = 'en' | 'ko';\n\nfunction formatModeName(mode: Mode, customMapping: Record<string, string> = {}): string {\n const defaultModeMapping: Record<Mode, string> = {\n H: '난방',\n C: '냉방',\n W: '송풍',\n };\n\n const combinedMapping = { ...defaultModeMapping, ...customMapping };\n\n if (!(mode in combinedMapping)) {\n throw new Error(`지원하지 않는 모드입니다. mode: ${mode}`);\n }\n\n return combinedMapping[mode];\n}\n\nfunction formatModeColor(mode: Mode, customMapping: Record<string, string> = {}) {\n const defaultColorMapping: Record<Mode, string> = {\n H: '#e77676',\n C: '#9fc6ff',\n W: '#a8e379',\n };\n\n const combinedMapping = { ...defaultColorMapping, ...customMapping };\n\n if (!(mode in combinedMapping)) {\n throw new Error(`지원하지 않는 모드입니다. mode: ${mode}`);\n }\n\n return combinedMapping[mode];\n}\n\nfunction formatWind(wind: Wind, customMapping: Record<string, string> = {}) {\n const defaultWindMapping: Record<Wind, string> = {\n 1: '약풍',\n 2: '중풍',\n 3: '강풍',\n };\n\n const combinedMapping = { ...defaultWindMapping, ...customMapping };\n\n if (!(wind in combinedMapping)) {\n throw new Error(`지원하지 않는 풍량입니다. wind: ${wind}`);\n }\n\n return combinedMapping[wind];\n}\n\nfunction formatAirLevelName(level: AirLevel) {\n const airLevelMapping: Record<AirLevel, string> = {\n 1: '매우 나쁨',\n 2: '나쁨',\n 3: '보통',\n 4: '좋음',\n 5: '매우 좋음',\n };\n\n if (!(level in airLevelMapping)) {\n throw new Error(`지원하지 않는 레벨입니다. level: ${level}`);\n }\n\n return airLevelMapping[level];\n}\n\nfunction formatAirLevelColor(level: AirLevel) {\n const colorMapping: Record<AirLevel, string> = {\n 1: '#ff5d47',\n 2: '#ff961c',\n 3: '#ffca42',\n 4: '#63ff60',\n 5: '#49ffe9',\n };\n\n if (!(level in colorMapping)) {\n throw new Error(`지원하지 않는 레벨입니다. level: ${level}`);\n }\n\n return colorMapping[level];\n}\n\nconst formatUserLevel = ({ level, language = 'ko' }: { level: UserLevel; language?: Language }) => {\n const userLevelMapping: Record<Language, Record<UserLevel, string>> = {\n en: {\n '1': 'MASTER',\n '2': 'MASTER KID',\n '3': 'SENIOR',\n '4': 'JUNIOR',\n },\n ko: {\n '1': '마스터',\n '2': '마스터키즈',\n '3': '시니어',\n '4': '주니어',\n },\n };\n\n if (!(language in userLevelMapping)) {\n throw new Error(`지원하지 않는 언어입니다. language: ${language}`);\n }\n\n if (!(level in userLevelMapping[language])) {\n throw new Error(`지원하지 않는 레벨입니다. level: ${level}`);\n }\n\n return userLevelMapping[language][level];\n};\n\nexport const DomainFormat = {\n modeName: formatModeName,\n modeColor: formatModeColor,\n wind: formatWind,\n airLevelName: formatAirLevelName,\n airLevelColor: formatAirLevelColor,\n userLevel: formatUserLevel,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe,MAAY,gBAAwC,CAAC,GAAW;AACtF,QAAM,qBAA2C;AAAA,IAC/C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,kBAAkB,EAAE,GAAG,oBAAoB,GAAG,cAAc;AAElE,MAAI,EAAE,QAAQ,kBAAkB;AAC9B,UAAM,IAAI,MAAM,+EAAwB,IAAI,EAAE;AAAA,EAChD;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,SAAS,gBAAgB,MAAY,gBAAwC,CAAC,GAAG;AAC/E,QAAM,sBAA4C;AAAA,IAChD,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,kBAAkB,EAAE,GAAG,qBAAqB,GAAG,cAAc;AAEnE,MAAI,EAAE,QAAQ,kBAAkB;AAC9B,UAAM,IAAI,MAAM,+EAAwB,IAAI,EAAE;AAAA,EAChD;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,SAAS,WAAW,MAAY,gBAAwC,CAAC,GAAG;AAC1E,QAAM,qBAA2C;AAAA,IAC/C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,kBAAkB,EAAE,GAAG,oBAAoB,GAAG,cAAc;AAElE,MAAI,EAAE,QAAQ,kBAAkB;AAC9B,UAAM,IAAI,MAAM,+EAAwB,IAAI,EAAE;AAAA,EAChD;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,SAAS,mBAAmB,OAAiB;AAC3C,QAAM,kBAA4C;AAAA,IAChD,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,MAAI,EAAE,SAAS,kBAAkB;AAC/B,UAAM,IAAI,MAAM,gFAAyB,KAAK,EAAE;AAAA,EAClD;AAEA,SAAO,gBAAgB,KAAK;AAC9B;AAEA,SAAS,oBAAoB,OAAiB;AAC5C,QAAM,eAAyC;AAAA,IAC7C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,MAAI,EAAE,SAAS,eAAe;AAC5B,UAAM,IAAI,MAAM,gFAAyB,KAAK,EAAE;AAAA,EAClD;AAEA,SAAO,aAAa,KAAK;AAC3B;AAEA,IAAM,kBAAkB,CAAC,EAAE,OAAO,WAAW,KAAK,MAAiD;AACjG,QAAM,mBAAgE;AAAA,IACpE,IAAI;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,IAAI;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAEA,MAAI,EAAE,YAAY,mBAAmB;AACnC,UAAM,IAAI,MAAM,mFAA4B,QAAQ,EAAE;AAAA,EACxD;AAEA,MAAI,EAAE,SAAS,iBAAiB,QAAQ,IAAI;AAC1C,UAAM,IAAI,MAAM,gFAAyB,KAAK,EAAE;AAAA,EAClD;AAEA,SAAO,iBAAiB,QAAQ,EAAE,KAAK;AACzC;AAEO,IAAM,eAAe;AAAA,EAC1B,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EACf,WAAW;AACb;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DomainFormat
3
- } from "./chunk-WWR7M6ID.mjs";
3
+ } from "./chunk-QBUE5UFO.mjs";
4
4
  export {
5
5
  DomainFormat
6
6
  };
package/dist/Flex.js CHANGED
@@ -43,7 +43,7 @@ function coerceCssPixelValue(value) {
43
43
  }
44
44
 
45
45
  // src/Flex.tsx
46
- var import_jsx_runtime = require("react/jsx-runtime");
46
+ var import_jsx_runtime = require("@emotion/react/jsx-runtime");
47
47
  var Flex = (0, import_react.memo)(function Flex2(props) {
48
48
  const {
49
49
  gap = 0,
package/dist/Flex.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Container,
3
3
  Flex
4
- } from "./chunk-QKAXJVK7.mjs";
4
+ } from "./chunk-KQN75INR.mjs";
5
5
  import "./chunk-OQ3L65JI.mjs";
6
6
  export {
7
7
  Container,
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/Grid/Grid.tsx
21
+ var Grid_exports = {};
22
+ __export(Grid_exports, {
23
+ Grid: () => Grid
24
+ });
25
+ module.exports = __toCommonJS(Grid_exports);
26
+ var import_react3 = require("react");
27
+
28
+ // src/Grid/utils.ts
29
+ var packageName = "--utils";
30
+ var createCssVar = (key, value) => {
31
+ const suffix = value ? `-${value}` : "";
32
+ return `${packageName}-${key}${suffix}`;
33
+ };
34
+ var formatGridFlow = (flow) => {
35
+ if (!flow) return void 0;
36
+ const flowParts = flow.split("-");
37
+ return flowParts.length > 1 ? flowParts.join(" ") : flow;
38
+ };
39
+
40
+ // src/Grid/constants.ts
41
+ var GRID = "grid";
42
+ var GRID_ITEM = "grid-item";
43
+ var gridAlignVar = createCssVar(GRID, "align");
44
+ var gridGapVar = createCssVar(GRID, "gap");
45
+ var gridColumnsVar = createCssVar(GRID, "columns");
46
+ var gridRowsVar = createCssVar(GRID, "rows");
47
+ var gridAreasVar = createCssVar(GRID, "areas");
48
+ var gridFlowVar = createCssVar(GRID, "flow");
49
+ var gridJustifyVar = createCssVar(GRID, "justify");
50
+ var gridItemAreaVar = createCssVar(GRID_ITEM, "area");
51
+ var gridItemColumnStartVar = createCssVar(GRID_ITEM, "column-start");
52
+ var gridItemColumnEndVar = createCssVar(GRID_ITEM, "column-end");
53
+ var gridItemRowStartVar = createCssVar(GRID_ITEM, "row-start");
54
+ var gridItemRowEndVar = createCssVar(GRID_ITEM, "row-end");
55
+ var hasGridAreasAttributeKey = "data-grid-has-areas";
56
+ var gridAreasAttribute = {
57
+ key: hasGridAreasAttributeKey,
58
+ set: (areas) => ({
59
+ [hasGridAreasAttributeKey]: areas != null ? "true" : "false"
60
+ }),
61
+ hasAreasSelector: `[${hasGridAreasAttributeKey}="true"]`
62
+ };
63
+ var hasGridAreaAttributeKey = "data-grid-item-has-grid-area";
64
+ var gridAreaAttribute = {
65
+ key: hasGridAreaAttributeKey,
66
+ set: (area) => ({
67
+ [hasGridAreaAttributeKey]: area != null ? "true" : "false"
68
+ }),
69
+ hasAreaSelector: `[${hasGridAreaAttributeKey}="true"]`,
70
+ noAreaSelector: `[${hasGridAreaAttributeKey}="false"]`
71
+ };
72
+
73
+ // src/Grid/styles.ts
74
+ var import_react = require("@emotion/react");
75
+
76
+ // src/getVar.ts
77
+ function getVar(variable, defaultValue) {
78
+ if (defaultValue) {
79
+ return `var(${variable}, ${defaultValue})`;
80
+ }
81
+ return `var(${variable})`;
82
+ }
83
+
84
+ // src/Grid/styles.ts
85
+ var gridCss = (0, import_react.css)({
86
+ gap: getVar(gridGapVar),
87
+ gridTemplateColumns: getVar(gridColumnsVar),
88
+ gridTemplateRows: getVar(gridRowsVar),
89
+ gridTemplateAreas: getVar(gridAreasVar),
90
+ gridAutoFlow: getVar(gridFlowVar),
91
+ alignItems: getVar(gridAlignVar),
92
+ justifyContent: getVar(gridJustifyVar)
93
+ });
94
+ var gridItemCss = (0, import_react.css)({
95
+ [`&${gridAreasAttribute.hasAreasSelector}`]: {
96
+ [`&${gridAreaAttribute.hasAreaSelector}`]: {
97
+ gridArea: getVar(gridItemAreaVar)
98
+ }
99
+ },
100
+ [`&${gridAreaAttribute.noAreaSelector}`]: {
101
+ gridColumnStart: getVar(gridItemColumnStartVar),
102
+ gridColumnEnd: getVar(gridItemColumnEndVar),
103
+ gridRowStart: getVar(gridItemRowStartVar),
104
+ gridRowEnd: getVar(gridItemRowEndVar)
105
+ }
106
+ });
107
+
108
+ // src/coerceCssPixelValue.ts
109
+ function coerceCssPixelValue(value) {
110
+ return typeof value === "string" ? value : `${value}px`;
111
+ }
112
+
113
+ // src/createContext.tsx
114
+ var import_react2 = require("react");
115
+ var import_jsx_runtime = require("@emotion/react/jsx-runtime");
116
+ function createContext(rootComponentName, defaultContext) {
117
+ const Context = (0, import_react2.createContext)(defaultContext);
118
+ function Provider(props) {
119
+ const { children, ...contextValues } = props;
120
+ const value = (0, import_react2.useMemo)(() => contextValues, [contextValues]);
121
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Context.Provider, { value, children });
122
+ }
123
+ function useContext(consumerName) {
124
+ const context = (0, import_react2.useContext)(Context);
125
+ if (context == null) {
126
+ throw new Error(`${consumerName}\uC740 ${rootComponentName}\uD558\uC704\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.`);
127
+ }
128
+ return context;
129
+ }
130
+ Provider.displayName = `${rootComponentName}Provider`;
131
+ return [Provider, useContext];
132
+ }
133
+
134
+ // src/Grid/context.ts
135
+ var [GridProvider, useGridContext] = createContext("Grid");
136
+
137
+ // src/Grid/Grid.tsx
138
+ var import_jsx_runtime2 = require("@emotion/react/jsx-runtime");
139
+ var GridImpl = (0, import_react3.forwardRef)((props, ref) => {
140
+ const {
141
+ as: Component = "div",
142
+ inline = false,
143
+ gap = 0,
144
+ columns = "auto",
145
+ rows = "auto",
146
+ align = "stretch",
147
+ justify = "normal",
148
+ areas,
149
+ flow,
150
+ style: styleFromProps,
151
+ children,
152
+ ...restProps
153
+ } = props;
154
+ const gridStyles = {
155
+ display: inline ? "inline-grid" : "grid",
156
+ [gridGapVar]: coerceCssPixelValue(gap),
157
+ [gridColumnsVar]: Array.isArray(columns) ? columns.join(" ") : columns,
158
+ [gridRowsVar]: Array.isArray(rows) ? rows.join(" ") : rows,
159
+ [gridAlignVar]: align,
160
+ [gridFlowVar]: formatGridFlow(flow),
161
+ [gridAreasVar]: areas,
162
+ [gridJustifyVar]: justify,
163
+ ...styleFromProps
164
+ };
165
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(GridProvider, { areas, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Component, { ref, style: gridStyles, css: gridCss, ...restProps, children }) });
166
+ });
167
+ var GridItem = (0, import_react3.forwardRef)((props, ref) => {
168
+ const {
169
+ as: Component = "div",
170
+ gridArea,
171
+ gridColumn,
172
+ gridColumnStart,
173
+ gridColumnEnd,
174
+ gridRow,
175
+ gridRowStart,
176
+ gridRowEnd,
177
+ style: styleFromProps,
178
+ children,
179
+ ...restProps
180
+ } = props;
181
+ const { areas } = useGridContext("Grid.Item");
182
+ const [columnStart, columnEnd] = Array.isArray(gridColumn) ? gridColumn : gridColumn?.split("/")?.map((str) => str.trim()) ?? [];
183
+ const [rowStart, rowEnd] = Array.isArray(gridRow) ? gridRow : gridRow?.split("/")?.map((str) => str.trim()) ?? [];
184
+ const gridItemStyles = {
185
+ [gridItemAreaVar]: gridArea,
186
+ [gridItemColumnStartVar]: columnStart ?? gridColumnStart,
187
+ [gridItemColumnEndVar]: columnEnd ?? gridColumnEnd,
188
+ [gridItemRowStartVar]: rowStart ?? gridRowStart,
189
+ [gridItemRowEndVar]: rowEnd ?? gridRowEnd,
190
+ ...styleFromProps
191
+ };
192
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
193
+ Component,
194
+ {
195
+ ref,
196
+ css: gridItemCss,
197
+ style: gridItemStyles,
198
+ ...gridAreasAttribute.set(areas),
199
+ ...gridAreaAttribute.set(gridArea),
200
+ ...restProps,
201
+ children
202
+ }
203
+ );
204
+ });
205
+ var Grid = Object.assign(GridImpl, {
206
+ Item: GridItem
207
+ });
208
+ // Annotate the CommonJS export names for ESM import in node:
209
+ 0 && (module.exports = {
210
+ Grid
211
+ });
212
+ //# sourceMappingURL=Grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Grid/Grid.tsx","../../src/Grid/utils.ts","../../src/Grid/constants.ts","../../src/Grid/styles.ts","../../src/getVar.ts","../../src/coerceCssPixelValue.ts","../../src/createContext.tsx","../../src/Grid/context.ts"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport {\n gridAlignVar,\n gridGapVar,\n gridColumnsVar,\n gridRowsVar,\n gridFlowVar,\n gridItemAreaVar,\n gridItemColumnEndVar,\n gridItemColumnStartVar,\n gridItemRowEndVar,\n gridItemRowStartVar,\n gridAreasVar,\n gridAreaAttribute,\n gridAreasAttribute,\n gridJustifyVar,\n} from './constants';\nimport { gridCss, gridItemCss } from './styles';\nimport type { GridItemProps, GridProps } from './types';\nimport { coerceCssPixelValue } from '../coerceCssPixelValue';\nimport { GridProvider, useGridContext } from './context';\nimport { formatGridFlow } from './utils';\n\nconst GridImpl = forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n const {\n as: Component = 'div',\n inline = false,\n gap = 0,\n columns = 'auto',\n rows = 'auto',\n align = 'stretch',\n justify = 'normal',\n areas,\n flow,\n style: styleFromProps,\n children,\n ...restProps\n } = props;\n\n const gridStyles = {\n display: inline ? 'inline-grid' : 'grid',\n [gridGapVar]: coerceCssPixelValue(gap),\n [gridColumnsVar]: Array.isArray(columns) ? columns.join(' ') : columns,\n [gridRowsVar]: Array.isArray(rows) ? rows.join(' ') : rows,\n [gridAlignVar]: align,\n [gridFlowVar]: formatGridFlow(flow),\n [gridAreasVar]: areas,\n [gridJustifyVar]: justify,\n ...styleFromProps,\n };\n\n return (\n <GridProvider areas={areas}>\n <Component ref={ref} style={gridStyles} css={gridCss} {...restProps}>\n {children}\n </Component>\n </GridProvider>\n );\n});\n\nconst GridItem = forwardRef<HTMLDivElement, GridItemProps>((props, ref) => {\n const {\n as: Component = 'div',\n gridArea,\n gridColumn,\n gridColumnStart,\n gridColumnEnd,\n gridRow,\n gridRowStart,\n gridRowEnd,\n style: styleFromProps,\n children,\n ...restProps\n } = props;\n\n const { areas } = useGridContext('Grid.Item');\n\n const [columnStart, columnEnd] = Array.isArray(gridColumn)\n ? gridColumn\n : gridColumn?.split('/')?.map((str) => str.trim()) ?? [];\n\n const [rowStart, rowEnd] = Array.isArray(gridRow)\n ? gridRow\n : gridRow?.split('/')?.map((str) => str.trim()) ?? [];\n\n const gridItemStyles = {\n [gridItemAreaVar]: gridArea,\n [gridItemColumnStartVar]: columnStart ?? gridColumnStart,\n [gridItemColumnEndVar]: columnEnd ?? gridColumnEnd,\n [gridItemRowStartVar]: rowStart ?? gridRowStart,\n [gridItemRowEndVar]: rowEnd ?? gridRowEnd,\n ...styleFromProps,\n };\n\n return (\n <Component\n ref={ref}\n css={gridItemCss}\n style={gridItemStyles}\n {...gridAreasAttribute.set(areas)}\n {...gridAreaAttribute.set(gridArea)}\n {...restProps}\n >\n {children}\n </Component>\n );\n});\n\nexport const Grid = Object.assign(GridImpl, {\n Item: GridItem,\n});\n","const packageName = '--utils';\n\ntype CssVar<T extends string, U extends string | undefined = undefined> = U extends undefined\n ? `${typeof packageName}-${T}`\n : `${typeof packageName}-${T}-${U}`;\n\nexport const createCssVar = <T extends string, U extends string | undefined = undefined>(\n key: T,\n value?: U\n): CssVar<T, U> => {\n const suffix = value ? `-${value}` : '';\n return `${packageName}-${key}${suffix}` as CssVar<T, U>;\n};\nexport const formatGridFlow = (flow: string | undefined) => {\n if (!flow) return undefined;\n const flowParts = flow.split('-');\n\n return flowParts.length > 1 ? flowParts.join(' ') : flow;\n};\n","import { createCssVar } from './utils';\n\nconst GRID = 'grid';\nconst GRID_ITEM = 'grid-item';\n\nexport const gridAlignVar = createCssVar(GRID, 'align');\nexport const gridGapVar = createCssVar(GRID, 'gap');\nexport const gridColumnsVar = createCssVar(GRID, 'columns');\nexport const gridRowsVar = createCssVar(GRID, 'rows');\nexport const gridAreasVar = createCssVar(GRID, 'areas');\nexport const gridFlowVar = createCssVar(GRID, 'flow');\nexport const gridJustifyVar = createCssVar(GRID, 'justify');\n\nexport const gridItemAreaVar = createCssVar(GRID_ITEM, 'area');\nexport const gridItemColumnStartVar = createCssVar(GRID_ITEM, 'column-start');\nexport const gridItemColumnEndVar = createCssVar(GRID_ITEM, 'column-end');\nexport const gridItemRowStartVar = createCssVar(GRID_ITEM, 'row-start');\nexport const gridItemRowEndVar = createCssVar(GRID_ITEM, 'row-end');\n\nconst hasGridAreasAttributeKey = 'data-grid-has-areas';\nexport const gridAreasAttribute = {\n key: hasGridAreasAttributeKey,\n\n set: (areas?: string) => ({\n [hasGridAreasAttributeKey]: areas != null ? 'true' : 'false',\n }),\n\n hasAreasSelector: `[${hasGridAreasAttributeKey}=\"true\"]`,\n};\n\nconst hasGridAreaAttributeKey = 'data-grid-item-has-grid-area';\nexport const gridAreaAttribute = {\n key: hasGridAreaAttributeKey,\n\n set: (area?: string) => ({\n [hasGridAreaAttributeKey]: area != null ? 'true' : 'false',\n }),\n\n hasAreaSelector: `[${hasGridAreaAttributeKey}=\"true\"]`,\n noAreaSelector: `[${hasGridAreaAttributeKey}=\"false\"]`,\n};\n","import { css } from '@emotion/react';\n\nimport {\n gridAlignVar,\n gridGapVar,\n gridColumnsVar,\n gridRowsVar,\n gridAreasVar,\n gridFlowVar,\n gridItemAreaVar,\n gridItemColumnEndVar,\n gridItemColumnStartVar,\n gridItemRowEndVar,\n gridItemRowStartVar,\n gridAreaAttribute,\n gridAreasAttribute,\n gridJustifyVar,\n} from './constants';\nimport { getVar } from '../getVar';\n\nexport const gridCss = css({\n gap: getVar(gridGapVar),\n gridTemplateColumns: getVar(gridColumnsVar),\n gridTemplateRows: getVar(gridRowsVar),\n gridTemplateAreas: getVar(gridAreasVar),\n gridAutoFlow: getVar(gridFlowVar),\n alignItems: getVar(gridAlignVar),\n justifyContent: getVar(gridJustifyVar),\n});\n\nexport const gridItemCss = css({\n [`&${gridAreasAttribute.hasAreasSelector}`]: {\n [`&${gridAreaAttribute.hasAreaSelector}`]: {\n gridArea: getVar(gridItemAreaVar),\n },\n },\n\n [`&${gridAreaAttribute.noAreaSelector}`]: {\n gridColumnStart: getVar(gridItemColumnStartVar),\n gridColumnEnd: getVar(gridItemColumnEndVar),\n gridRowStart: getVar(gridItemRowStartVar),\n gridRowEnd: getVar(gridItemRowEndVar),\n },\n});\n","export type VariableType = `--${string}`;\n\nexport function getVar(variable: VariableType, defaultValue?: string) {\n if (defaultValue) {\n return `var(${variable}, ${defaultValue})`;\n }\n\n return `var(${variable})`;\n}\n","export type CSSPixelValue = string | number;\n\nexport function coerceCssPixelValue(value: CSSPixelValue): string {\n return typeof value === 'string' ? value : `${value}px`;\n}\n","import {\n useMemo,\n createContext as createContextRaw,\n useContext as useContextRaw,\n type PropsWithChildren,\n} from 'react';\n\nexport function createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType\n) {\n const Context = createContextRaw<ContextValueType | undefined>(defaultContext);\n\n function Provider(props: PropsWithChildren<ContextValueType>) {\n const { children, ...contextValues } = props;\n\n const value = useMemo(() => contextValues, [contextValues]) as ContextValueType;\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n }\n\n function useContext(consumerName: string) {\n const context = useContextRaw(Context);\n if (context == null) {\n throw new Error(`${consumerName}은 ${rootComponentName}하위에서 사용해야 합니다.`);\n }\n\n return context;\n }\n\n Provider.displayName = `${rootComponentName}Provider`;\n return [Provider, useContext] as const;\n}\n","import { createContext } from '../createContext';\n\nexport type GridContext = {\n areas?: string;\n};\n\nexport const [GridProvider, useGridContext] = createContext<GridContext>('Grid');\n"],"mappings":"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","names":["import_react","import_react","createContextRaw","useContextRaw","import_jsx_runtime"]}
@@ -0,0 +1,14 @@
1
+ import {
2
+ Grid
3
+ } from "../chunk-IA3Y652S.mjs";
4
+ import "../chunk-ODQE5YIS.mjs";
5
+ import "../chunk-6ZISNSYZ.mjs";
6
+ import "../chunk-KIWMNTMS.mjs";
7
+ import "../chunk-P3MUNLIM.mjs";
8
+ import "../chunk-6S7STXJR.mjs";
9
+ import "../chunk-Z4UXDD2C.mjs";
10
+ import "../chunk-OQ3L65JI.mjs";
11
+ export {
12
+ Grid
13
+ };
14
+ //# sourceMappingURL=Grid.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/Grid/constants.ts
21
+ var constants_exports = {};
22
+ __export(constants_exports, {
23
+ gridAlignVar: () => gridAlignVar,
24
+ gridAreaAttribute: () => gridAreaAttribute,
25
+ gridAreasAttribute: () => gridAreasAttribute,
26
+ gridAreasVar: () => gridAreasVar,
27
+ gridColumnsVar: () => gridColumnsVar,
28
+ gridFlowVar: () => gridFlowVar,
29
+ gridGapVar: () => gridGapVar,
30
+ gridItemAreaVar: () => gridItemAreaVar,
31
+ gridItemColumnEndVar: () => gridItemColumnEndVar,
32
+ gridItemColumnStartVar: () => gridItemColumnStartVar,
33
+ gridItemRowEndVar: () => gridItemRowEndVar,
34
+ gridItemRowStartVar: () => gridItemRowStartVar,
35
+ gridJustifyVar: () => gridJustifyVar,
36
+ gridRowsVar: () => gridRowsVar
37
+ });
38
+ module.exports = __toCommonJS(constants_exports);
39
+
40
+ // src/Grid/utils.ts
41
+ var packageName = "--utils";
42
+ var createCssVar = (key, value) => {
43
+ const suffix = value ? `-${value}` : "";
44
+ return `${packageName}-${key}${suffix}`;
45
+ };
46
+
47
+ // src/Grid/constants.ts
48
+ var GRID = "grid";
49
+ var GRID_ITEM = "grid-item";
50
+ var gridAlignVar = createCssVar(GRID, "align");
51
+ var gridGapVar = createCssVar(GRID, "gap");
52
+ var gridColumnsVar = createCssVar(GRID, "columns");
53
+ var gridRowsVar = createCssVar(GRID, "rows");
54
+ var gridAreasVar = createCssVar(GRID, "areas");
55
+ var gridFlowVar = createCssVar(GRID, "flow");
56
+ var gridJustifyVar = createCssVar(GRID, "justify");
57
+ var gridItemAreaVar = createCssVar(GRID_ITEM, "area");
58
+ var gridItemColumnStartVar = createCssVar(GRID_ITEM, "column-start");
59
+ var gridItemColumnEndVar = createCssVar(GRID_ITEM, "column-end");
60
+ var gridItemRowStartVar = createCssVar(GRID_ITEM, "row-start");
61
+ var gridItemRowEndVar = createCssVar(GRID_ITEM, "row-end");
62
+ var hasGridAreasAttributeKey = "data-grid-has-areas";
63
+ var gridAreasAttribute = {
64
+ key: hasGridAreasAttributeKey,
65
+ set: (areas) => ({
66
+ [hasGridAreasAttributeKey]: areas != null ? "true" : "false"
67
+ }),
68
+ hasAreasSelector: `[${hasGridAreasAttributeKey}="true"]`
69
+ };
70
+ var hasGridAreaAttributeKey = "data-grid-item-has-grid-area";
71
+ var gridAreaAttribute = {
72
+ key: hasGridAreaAttributeKey,
73
+ set: (area) => ({
74
+ [hasGridAreaAttributeKey]: area != null ? "true" : "false"
75
+ }),
76
+ hasAreaSelector: `[${hasGridAreaAttributeKey}="true"]`,
77
+ noAreaSelector: `[${hasGridAreaAttributeKey}="false"]`
78
+ };
79
+ // Annotate the CommonJS export names for ESM import in node:
80
+ 0 && (module.exports = {
81
+ gridAlignVar,
82
+ gridAreaAttribute,
83
+ gridAreasAttribute,
84
+ gridAreasVar,
85
+ gridColumnsVar,
86
+ gridFlowVar,
87
+ gridGapVar,
88
+ gridItemAreaVar,
89
+ gridItemColumnEndVar,
90
+ gridItemColumnStartVar,
91
+ gridItemRowEndVar,
92
+ gridItemRowStartVar,
93
+ gridJustifyVar,
94
+ gridRowsVar
95
+ });
96
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Grid/constants.ts","../../src/Grid/utils.ts"],"sourcesContent":["import { createCssVar } from './utils';\n\nconst GRID = 'grid';\nconst GRID_ITEM = 'grid-item';\n\nexport const gridAlignVar = createCssVar(GRID, 'align');\nexport const gridGapVar = createCssVar(GRID, 'gap');\nexport const gridColumnsVar = createCssVar(GRID, 'columns');\nexport const gridRowsVar = createCssVar(GRID, 'rows');\nexport const gridAreasVar = createCssVar(GRID, 'areas');\nexport const gridFlowVar = createCssVar(GRID, 'flow');\nexport const gridJustifyVar = createCssVar(GRID, 'justify');\n\nexport const gridItemAreaVar = createCssVar(GRID_ITEM, 'area');\nexport const gridItemColumnStartVar = createCssVar(GRID_ITEM, 'column-start');\nexport const gridItemColumnEndVar = createCssVar(GRID_ITEM, 'column-end');\nexport const gridItemRowStartVar = createCssVar(GRID_ITEM, 'row-start');\nexport const gridItemRowEndVar = createCssVar(GRID_ITEM, 'row-end');\n\nconst hasGridAreasAttributeKey = 'data-grid-has-areas';\nexport const gridAreasAttribute = {\n key: hasGridAreasAttributeKey,\n\n set: (areas?: string) => ({\n [hasGridAreasAttributeKey]: areas != null ? 'true' : 'false',\n }),\n\n hasAreasSelector: `[${hasGridAreasAttributeKey}=\"true\"]`,\n};\n\nconst hasGridAreaAttributeKey = 'data-grid-item-has-grid-area';\nexport const gridAreaAttribute = {\n key: hasGridAreaAttributeKey,\n\n set: (area?: string) => ({\n [hasGridAreaAttributeKey]: area != null ? 'true' : 'false',\n }),\n\n hasAreaSelector: `[${hasGridAreaAttributeKey}=\"true\"]`,\n noAreaSelector: `[${hasGridAreaAttributeKey}=\"false\"]`,\n};\n","const packageName = '--utils';\n\ntype CssVar<T extends string, U extends string | undefined = undefined> = U extends undefined\n ? `${typeof packageName}-${T}`\n : `${typeof packageName}-${T}-${U}`;\n\nexport const createCssVar = <T extends string, U extends string | undefined = undefined>(\n key: T,\n value?: U\n): CssVar<T, U> => {\n const suffix = value ? `-${value}` : '';\n return `${packageName}-${key}${suffix}` as CssVar<T, U>;\n};\nexport const formatGridFlow = (flow: string | undefined) => {\n if (!flow) return undefined;\n const flowParts = flow.split('-');\n\n return flowParts.length > 1 ? flowParts.join(' ') : flow;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,cAAc;AAMb,IAAM,eAAe,CAC1B,KACA,UACiB;AACjB,QAAM,SAAS,QAAQ,IAAI,KAAK,KAAK;AACrC,SAAO,GAAG,WAAW,IAAI,GAAG,GAAG,MAAM;AACvC;;;ADVA,IAAM,OAAO;AACb,IAAM,YAAY;AAEX,IAAM,eAAe,aAAa,MAAM,OAAO;AAC/C,IAAM,aAAa,aAAa,MAAM,KAAK;AAC3C,IAAM,iBAAiB,aAAa,MAAM,SAAS;AACnD,IAAM,cAAc,aAAa,MAAM,MAAM;AAC7C,IAAM,eAAe,aAAa,MAAM,OAAO;AAC/C,IAAM,cAAc,aAAa,MAAM,MAAM;AAC7C,IAAM,iBAAiB,aAAa,MAAM,SAAS;AAEnD,IAAM,kBAAkB,aAAa,WAAW,MAAM;AACtD,IAAM,yBAAyB,aAAa,WAAW,cAAc;AACrE,IAAM,uBAAuB,aAAa,WAAW,YAAY;AACjE,IAAM,sBAAsB,aAAa,WAAW,WAAW;AAC/D,IAAM,oBAAoB,aAAa,WAAW,SAAS;AAElE,IAAM,2BAA2B;AAC1B,IAAM,qBAAqB;AAAA,EAChC,KAAK;AAAA,EAEL,KAAK,CAAC,WAAoB;AAAA,IACxB,CAAC,wBAAwB,GAAG,SAAS,OAAO,SAAS;AAAA,EACvD;AAAA,EAEA,kBAAkB,IAAI,wBAAwB;AAChD;AAEA,IAAM,0BAA0B;AACzB,IAAM,oBAAoB;AAAA,EAC/B,KAAK;AAAA,EAEL,KAAK,CAAC,UAAmB;AAAA,IACvB,CAAC,uBAAuB,GAAG,QAAQ,OAAO,SAAS;AAAA,EACrD;AAAA,EAEA,iBAAiB,IAAI,uBAAuB;AAAA,EAC5C,gBAAgB,IAAI,uBAAuB;AAC7C;","names":[]}
@@ -0,0 +1,34 @@
1
+ import {
2
+ gridAlignVar,
3
+ gridAreaAttribute,
4
+ gridAreasAttribute,
5
+ gridAreasVar,
6
+ gridColumnsVar,
7
+ gridFlowVar,
8
+ gridGapVar,
9
+ gridItemAreaVar,
10
+ gridItemColumnEndVar,
11
+ gridItemColumnStartVar,
12
+ gridItemRowEndVar,
13
+ gridItemRowStartVar,
14
+ gridJustifyVar,
15
+ gridRowsVar
16
+ } from "../chunk-KIWMNTMS.mjs";
17
+ import "../chunk-P3MUNLIM.mjs";
18
+ export {
19
+ gridAlignVar,
20
+ gridAreaAttribute,
21
+ gridAreasAttribute,
22
+ gridAreasVar,
23
+ gridColumnsVar,
24
+ gridFlowVar,
25
+ gridGapVar,
26
+ gridItemAreaVar,
27
+ gridItemColumnEndVar,
28
+ gridItemColumnStartVar,
29
+ gridItemRowEndVar,
30
+ gridItemRowStartVar,
31
+ gridJustifyVar,
32
+ gridRowsVar
33
+ };
34
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/Grid/context.ts
21
+ var context_exports = {};
22
+ __export(context_exports, {
23
+ GridProvider: () => GridProvider,
24
+ useGridContext: () => useGridContext
25
+ });
26
+ module.exports = __toCommonJS(context_exports);
27
+
28
+ // src/createContext.tsx
29
+ var import_react = require("react");
30
+ var import_jsx_runtime = require("@emotion/react/jsx-runtime");
31
+ function createContext(rootComponentName, defaultContext) {
32
+ const Context = (0, import_react.createContext)(defaultContext);
33
+ function Provider(props) {
34
+ const { children, ...contextValues } = props;
35
+ const value = (0, import_react.useMemo)(() => contextValues, [contextValues]);
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Context.Provider, { value, children });
37
+ }
38
+ function useContext(consumerName) {
39
+ const context = (0, import_react.useContext)(Context);
40
+ if (context == null) {
41
+ throw new Error(`${consumerName}\uC740 ${rootComponentName}\uD558\uC704\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.`);
42
+ }
43
+ return context;
44
+ }
45
+ Provider.displayName = `${rootComponentName}Provider`;
46
+ return [Provider, useContext];
47
+ }
48
+
49
+ // src/Grid/context.ts
50
+ var [GridProvider, useGridContext] = createContext("Grid");
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ GridProvider,
54
+ useGridContext
55
+ });
56
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Grid/context.ts","../../src/createContext.tsx"],"sourcesContent":["import { createContext } from '../createContext';\n\nexport type GridContext = {\n areas?: string;\n};\n\nexport const [GridProvider, useGridContext] = createContext<GridContext>('Grid');\n","import {\n useMemo,\n createContext as createContextRaw,\n useContext as useContextRaw,\n type PropsWithChildren,\n} from 'react';\n\nexport function createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType\n) {\n const Context = createContextRaw<ContextValueType | undefined>(defaultContext);\n\n function Provider(props: PropsWithChildren<ContextValueType>) {\n const { children, ...contextValues } = props;\n\n const value = useMemo(() => contextValues, [contextValues]) as ContextValueType;\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n }\n\n function useContext(consumerName: string) {\n const context = useContextRaw(Context);\n if (context == null) {\n throw new Error(`${consumerName}은 ${rootComponentName}하위에서 사용해야 합니다.`);\n }\n\n return context;\n }\n\n Provider.displayName = `${rootComponentName}Provider`;\n return [Provider, useContext] as const;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAKO;AAaI;AAXJ,SAAS,cACd,mBACA,gBACA;AACA,QAAM,cAAU,aAAAA,eAA+C,cAAc;AAE7E,WAAS,SAAS,OAA4C;AAC5D,UAAM,EAAE,UAAU,GAAG,cAAc,IAAI;AAEvC,UAAM,YAAQ,sBAAQ,MAAM,eAAe,CAAC,aAAa,CAAC;AAE1D,WAAO,4CAAC,QAAQ,UAAR,EAAiB,OAAe,UAAS;AAAA,EACnD;AAEA,WAAS,WAAW,cAAsB;AACxC,UAAM,cAAU,aAAAC,YAAc,OAAO;AACrC,QAAI,WAAW,MAAM;AACnB,YAAM,IAAI,MAAM,GAAG,YAAY,UAAK,iBAAiB,uEAAgB;AAAA,IACvE;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,cAAc,GAAG,iBAAiB;AAC3C,SAAO,CAAC,UAAU,UAAU;AAC9B;;;AD1BO,IAAM,CAAC,cAAc,cAAc,IAAI,cAA2B,MAAM;","names":["createContextRaw","useContextRaw"]}
@@ -0,0 +1,10 @@
1
+ import {
2
+ GridProvider,
3
+ useGridContext
4
+ } from "../chunk-ODQE5YIS.mjs";
5
+ import "../chunk-6S7STXJR.mjs";
6
+ export {
7
+ GridProvider,
8
+ useGridContext
9
+ };
10
+ //# sourceMappingURL=context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}