@yamada-ui/cli 0.5.0 → 0.7.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.
@@ -35,6 +35,7 @@ __export(create_theme_typings_exports, {
35
35
  extractComponents: () => extractComponents,
36
36
  extractKeys: () => extractKeys,
37
37
  extractPaths: () => extractPaths,
38
+ extractThemeSchemes: () => extractThemeSchemes,
38
39
  extractTransitions: () => extractTransitions,
39
40
  print: () => print,
40
41
  printComponent: () => printComponent
@@ -62,6 +63,18 @@ var prettier = async (content) => {
62
63
  }
63
64
  };
64
65
 
66
+ // src/utils/object.ts
67
+ init_cjs_shims();
68
+ var omitObject = (obj, keys) => {
69
+ const result = {};
70
+ Object.keys(obj).forEach((key) => {
71
+ if (keys.includes(key))
72
+ return;
73
+ result[key] = obj[key];
74
+ });
75
+ return result;
76
+ };
77
+
65
78
  // src/command/tokens/config.ts
66
79
  init_cjs_shims();
67
80
  var config = [
@@ -84,27 +97,7 @@ var config = [
84
97
  ];
85
98
 
86
99
  // src/command/tokens/create-theme-typings.ts
87
- var defaultColors = [
88
- "brand",
89
- "primary",
90
- "secondary",
91
- "warning",
92
- "danger",
93
- "link"
94
- ];
95
- var hues = [
96
- "50",
97
- "100",
98
- "200",
99
- "300",
100
- "400",
101
- "500",
102
- "600",
103
- "700",
104
- "800",
105
- "900",
106
- "950"
107
- ];
100
+ var hues = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
108
101
  var printComponent = (components) => `components: { ${Object.entries(components).map(
109
102
  ([key, unions]) => `${key.match(/^[a-zA-Z0-9\-_]+$/) ? key : `"${key}"`}: { ${print(
110
103
  unions
@@ -130,19 +123,20 @@ var extractTransitions = (theme) => {
130
123
  let transitionProperty = [];
131
124
  let transitionDuration = [];
132
125
  let transitionEasing = [];
133
- const { transitions } = theme;
126
+ const { transitions, semantics } = theme;
134
127
  if (!isObject(transitions))
135
128
  return { transitionProperty, transitionDuration, transitionEasing };
129
+ const { property, duration, easing } = semantics.transitions ?? {};
136
130
  Object.entries(transitions).forEach(([key, value]) => {
137
131
  switch (key) {
138
132
  case "property":
139
- transitionProperty = extractPaths(value);
133
+ transitionProperty = [...extractPaths(value), ...extractPaths(property)];
140
134
  break;
141
135
  case "duration":
142
- transitionDuration = extractPaths(value);
136
+ transitionDuration = [...extractPaths(value), ...extractPaths(duration)];
143
137
  break;
144
138
  case "easing":
145
- transitionEasing = extractPaths(value);
139
+ transitionEasing = [...extractPaths(value), ...extractPaths(easing)];
146
140
  break;
147
141
  default:
148
142
  return;
@@ -154,19 +148,30 @@ var isHue = (value) => {
154
148
  if (!isObject(value))
155
149
  return false;
156
150
  const keys = Object.keys(value);
157
- return hues.every((key) => keys.includes(key));
151
+ return hues.every((key) => keys.includes(key.toString()));
158
152
  };
159
- var isDefaultColor = (key) => defaultColors.includes(key);
160
153
  var extractColorSchemes = (theme) => {
161
- const { colors } = theme;
154
+ const { colors, semantics } = theme;
162
155
  if (!isObject(colors))
163
156
  return [];
164
157
  return Object.entries(colors).reduce((array, [key, value]) => {
165
- if (isHue(value) || isDefaultColor(key))
166
- array.push(key);
158
+ if (!isHue(value))
159
+ return array;
160
+ array.push(key);
161
+ const [semanticKey] = Object.entries(semantics?.colorSchemes ?? {}).find(
162
+ ([, relatedKey]) => key === relatedKey
163
+ ) ?? [];
164
+ if (semanticKey)
165
+ array.push(semanticKey);
167
166
  return array;
168
167
  }, []);
169
168
  };
169
+ var extractThemeSchemes = (theme) => {
170
+ const { themeSchemes } = theme;
171
+ if (!isObject(themeSchemes))
172
+ return ["base"];
173
+ return ["base", ...Object.keys(themeSchemes)];
174
+ };
170
175
  var extractPaths = (target, maxDepth = 3, omitKeys = []) => {
171
176
  if (!isObject(target) && !isArray(target) || !maxDepth)
172
177
  return [];
@@ -203,7 +208,10 @@ var createThemeTypings = async (theme) => {
203
208
  obj[key] = extractPaths(target, maxScanDepth, omitScanKeys).filter(filter).flatMap(flatMap);
204
209
  }
205
210
  if (isObject(theme.semantics)) {
206
- const semanticKeys = extractKeys(theme.semantics, key).filter(filter).flatMap(flatMap);
211
+ const semanticKeys = extractKeys(
212
+ omitObject(theme.semantics, ["colorSchemes"]),
213
+ key
214
+ ).filter(filter).flatMap(flatMap);
207
215
  obj[key].push(...semanticKeys);
208
216
  }
209
217
  return obj;
@@ -213,6 +221,7 @@ var createThemeTypings = async (theme) => {
213
221
  const textStyles = extractKeys(theme, "styles.textStyles");
214
222
  const layerStyles = extractKeys(theme, "styles.layerStyles");
215
223
  const colorSchemes = extractColorSchemes(theme);
224
+ const themeSchemes = extractThemeSchemes(theme);
216
225
  const { transitionProperty, transitionDuration, transitionEasing } = extractTransitions(theme);
217
226
  const componentTypes = extractComponents(theme);
218
227
  return prettier(
@@ -224,6 +233,7 @@ export interface GeneratedTheme extends UITheme { ${print(
224
233
  textStyles,
225
234
  layerStyles,
226
235
  colorSchemes,
236
+ themeSchemes,
227
237
  transitionProperty,
228
238
  transitionDuration,
229
239
  transitionEasing
@@ -238,6 +248,7 @@ export interface GeneratedTheme extends UITheme { ${print(
238
248
  extractComponents,
239
249
  extractKeys,
240
250
  extractPaths,
251
+ extractThemeSchemes,
241
252
  extractTransitions,
242
253
  print,
243
254
  printComponent
@@ -6446,6 +6446,18 @@ var prettier = async (content) => {
6446
6446
  }
6447
6447
  };
6448
6448
 
6449
+ // src/utils/object.ts
6450
+ init_cjs_shims();
6451
+ var omitObject = (obj, keys) => {
6452
+ const result = {};
6453
+ Object.keys(obj).forEach((key) => {
6454
+ if (keys.includes(key))
6455
+ return;
6456
+ result[key] = obj[key];
6457
+ });
6458
+ return result;
6459
+ };
6460
+
6449
6461
  // src/command/tokens/config.ts
6450
6462
  init_cjs_shims();
6451
6463
  var config = [
@@ -6468,27 +6480,7 @@ var config = [
6468
6480
  ];
6469
6481
 
6470
6482
  // src/command/tokens/create-theme-typings.ts
6471
- var defaultColors = [
6472
- "brand",
6473
- "primary",
6474
- "secondary",
6475
- "warning",
6476
- "danger",
6477
- "link"
6478
- ];
6479
- var hues = [
6480
- "50",
6481
- "100",
6482
- "200",
6483
- "300",
6484
- "400",
6485
- "500",
6486
- "600",
6487
- "700",
6488
- "800",
6489
- "900",
6490
- "950"
6491
- ];
6483
+ var hues = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
6492
6484
  var printComponent = (components) => `components: { ${Object.entries(components).map(
6493
6485
  ([key, unions]) => `${key.match(/^[a-zA-Z0-9\-_]+$/) ? key : `"${key}"`}: { ${print(
6494
6486
  unions
@@ -6514,19 +6506,20 @@ var extractTransitions = (theme) => {
6514
6506
  let transitionProperty = [];
6515
6507
  let transitionDuration = [];
6516
6508
  let transitionEasing = [];
6517
- const { transitions } = theme;
6509
+ const { transitions, semantics } = theme;
6518
6510
  if (!isObject(transitions))
6519
6511
  return { transitionProperty, transitionDuration, transitionEasing };
6512
+ const { property, duration, easing } = semantics.transitions ?? {};
6520
6513
  Object.entries(transitions).forEach(([key, value]) => {
6521
6514
  switch (key) {
6522
6515
  case "property":
6523
- transitionProperty = extractPaths(value);
6516
+ transitionProperty = [...extractPaths(value), ...extractPaths(property)];
6524
6517
  break;
6525
6518
  case "duration":
6526
- transitionDuration = extractPaths(value);
6519
+ transitionDuration = [...extractPaths(value), ...extractPaths(duration)];
6527
6520
  break;
6528
6521
  case "easing":
6529
- transitionEasing = extractPaths(value);
6522
+ transitionEasing = [...extractPaths(value), ...extractPaths(easing)];
6530
6523
  break;
6531
6524
  default:
6532
6525
  return;
@@ -6538,19 +6531,30 @@ var isHue = (value) => {
6538
6531
  if (!isObject(value))
6539
6532
  return false;
6540
6533
  const keys = Object.keys(value);
6541
- return hues.every((key) => keys.includes(key));
6534
+ return hues.every((key) => keys.includes(key.toString()));
6542
6535
  };
6543
- var isDefaultColor = (key) => defaultColors.includes(key);
6544
6536
  var extractColorSchemes = (theme) => {
6545
- const { colors } = theme;
6537
+ const { colors, semantics } = theme;
6546
6538
  if (!isObject(colors))
6547
6539
  return [];
6548
6540
  return Object.entries(colors).reduce((array, [key, value]) => {
6549
- if (isHue(value) || isDefaultColor(key))
6550
- array.push(key);
6541
+ if (!isHue(value))
6542
+ return array;
6543
+ array.push(key);
6544
+ const [semanticKey] = Object.entries(semantics?.colorSchemes ?? {}).find(
6545
+ ([, relatedKey]) => key === relatedKey
6546
+ ) ?? [];
6547
+ if (semanticKey)
6548
+ array.push(semanticKey);
6551
6549
  return array;
6552
6550
  }, []);
6553
6551
  };
6552
+ var extractThemeSchemes = (theme) => {
6553
+ const { themeSchemes } = theme;
6554
+ if (!isObject(themeSchemes))
6555
+ return ["base"];
6556
+ return ["base", ...Object.keys(themeSchemes)];
6557
+ };
6554
6558
  var extractPaths = (target, maxDepth = 3, omitKeys = []) => {
6555
6559
  if (!isObject(target) && !isArray(target) || !maxDepth)
6556
6560
  return [];
@@ -6587,7 +6591,10 @@ var createThemeTypings = async (theme) => {
6587
6591
  obj[key] = extractPaths(target, maxScanDepth, omitScanKeys).filter(filter).flatMap(flatMap);
6588
6592
  }
6589
6593
  if (isObject(theme.semantics)) {
6590
- const semanticKeys = extractKeys(theme.semantics, key).filter(filter).flatMap(flatMap);
6594
+ const semanticKeys = extractKeys(
6595
+ omitObject(theme.semantics, ["colorSchemes"]),
6596
+ key
6597
+ ).filter(filter).flatMap(flatMap);
6591
6598
  obj[key].push(...semanticKeys);
6592
6599
  }
6593
6600
  return obj;
@@ -6597,6 +6604,7 @@ var createThemeTypings = async (theme) => {
6597
6604
  const textStyles = extractKeys(theme, "styles.textStyles");
6598
6605
  const layerStyles = extractKeys(theme, "styles.layerStyles");
6599
6606
  const colorSchemes = extractColorSchemes(theme);
6607
+ const themeSchemes = extractThemeSchemes(theme);
6600
6608
  const { transitionProperty, transitionDuration, transitionEasing } = extractTransitions(theme);
6601
6609
  const componentTypes = extractComponents(theme);
6602
6610
  return prettier(
@@ -6608,6 +6616,7 @@ export interface GeneratedTheme extends UITheme { ${print(
6608
6616
  textStyles,
6609
6617
  layerStyles,
6610
6618
  colorSchemes,
6619
+ themeSchemes,
6611
6620
  transitionProperty,
6612
6621
  transitionDuration,
6613
6622
  transitionEasing
package/dist/index.js CHANGED
@@ -18735,7 +18735,7 @@ var import_cli_welcome = __toESM(require("cli-welcome"));
18735
18735
  // package.json
18736
18736
  var package_default = {
18737
18737
  name: "@yamada-ui/cli",
18738
- version: "0.5.0",
18738
+ version: "0.7.0",
18739
18739
  description: "Generate theme tokens for autocomplete",
18740
18740
  keywords: [
18741
18741
  "theme",
@@ -25897,6 +25897,18 @@ var prettier = async (content) => {
25897
25897
  }
25898
25898
  };
25899
25899
 
25900
+ // src/utils/object.ts
25901
+ init_cjs_shims();
25902
+ var omitObject = (obj, keys) => {
25903
+ const result = {};
25904
+ Object.keys(obj).forEach((key) => {
25905
+ if (keys.includes(key))
25906
+ return;
25907
+ result[key] = obj[key];
25908
+ });
25909
+ return result;
25910
+ };
25911
+
25900
25912
  // src/command/tokens/config.ts
25901
25913
  init_cjs_shims();
25902
25914
  var config = [
@@ -25919,27 +25931,7 @@ var config = [
25919
25931
  ];
25920
25932
 
25921
25933
  // src/command/tokens/create-theme-typings.ts
25922
- var defaultColors = [
25923
- "brand",
25924
- "primary",
25925
- "secondary",
25926
- "warning",
25927
- "danger",
25928
- "link"
25929
- ];
25930
- var hues = [
25931
- "50",
25932
- "100",
25933
- "200",
25934
- "300",
25935
- "400",
25936
- "500",
25937
- "600",
25938
- "700",
25939
- "800",
25940
- "900",
25941
- "950"
25942
- ];
25934
+ var hues = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
25943
25935
  var printComponent = (components) => `components: { ${Object.entries(components).map(
25944
25936
  ([key, unions]) => `${key.match(/^[a-zA-Z0-9\-_]+$/) ? key : `"${key}"`}: { ${print(
25945
25937
  unions
@@ -25965,19 +25957,20 @@ var extractTransitions = (theme) => {
25965
25957
  let transitionProperty = [];
25966
25958
  let transitionDuration = [];
25967
25959
  let transitionEasing = [];
25968
- const { transitions } = theme;
25960
+ const { transitions, semantics } = theme;
25969
25961
  if (!isObject(transitions))
25970
25962
  return { transitionProperty, transitionDuration, transitionEasing };
25963
+ const { property, duration, easing } = semantics.transitions ?? {};
25971
25964
  Object.entries(transitions).forEach(([key, value]) => {
25972
25965
  switch (key) {
25973
25966
  case "property":
25974
- transitionProperty = extractPaths(value);
25967
+ transitionProperty = [...extractPaths(value), ...extractPaths(property)];
25975
25968
  break;
25976
25969
  case "duration":
25977
- transitionDuration = extractPaths(value);
25970
+ transitionDuration = [...extractPaths(value), ...extractPaths(duration)];
25978
25971
  break;
25979
25972
  case "easing":
25980
- transitionEasing = extractPaths(value);
25973
+ transitionEasing = [...extractPaths(value), ...extractPaths(easing)];
25981
25974
  break;
25982
25975
  default:
25983
25976
  return;
@@ -25989,19 +25982,30 @@ var isHue = (value) => {
25989
25982
  if (!isObject(value))
25990
25983
  return false;
25991
25984
  const keys = Object.keys(value);
25992
- return hues.every((key) => keys.includes(key));
25985
+ return hues.every((key) => keys.includes(key.toString()));
25993
25986
  };
25994
- var isDefaultColor = (key) => defaultColors.includes(key);
25995
25987
  var extractColorSchemes = (theme) => {
25996
- const { colors } = theme;
25988
+ const { colors, semantics } = theme;
25997
25989
  if (!isObject(colors))
25998
25990
  return [];
25999
25991
  return Object.entries(colors).reduce((array, [key, value]) => {
26000
- if (isHue(value) || isDefaultColor(key))
26001
- array.push(key);
25992
+ if (!isHue(value))
25993
+ return array;
25994
+ array.push(key);
25995
+ const [semanticKey] = Object.entries(semantics?.colorSchemes ?? {}).find(
25996
+ ([, relatedKey]) => key === relatedKey
25997
+ ) ?? [];
25998
+ if (semanticKey)
25999
+ array.push(semanticKey);
26002
26000
  return array;
26003
26001
  }, []);
26004
26002
  };
26003
+ var extractThemeSchemes = (theme) => {
26004
+ const { themeSchemes } = theme;
26005
+ if (!isObject(themeSchemes))
26006
+ return ["base"];
26007
+ return ["base", ...Object.keys(themeSchemes)];
26008
+ };
26005
26009
  var extractPaths = (target, maxDepth = 3, omitKeys = []) => {
26006
26010
  if (!isObject(target) && !isArray(target) || !maxDepth)
26007
26011
  return [];
@@ -26038,7 +26042,10 @@ var createThemeTypings = async (theme) => {
26038
26042
  obj[key] = extractPaths(target, maxScanDepth, omitScanKeys).filter(filter).flatMap(flatMap);
26039
26043
  }
26040
26044
  if (isObject(theme.semantics)) {
26041
- const semanticKeys = extractKeys(theme.semantics, key).filter(filter).flatMap(flatMap);
26045
+ const semanticKeys = extractKeys(
26046
+ omitObject(theme.semantics, ["colorSchemes"]),
26047
+ key
26048
+ ).filter(filter).flatMap(flatMap);
26042
26049
  obj[key].push(...semanticKeys);
26043
26050
  }
26044
26051
  return obj;
@@ -26048,6 +26055,7 @@ var createThemeTypings = async (theme) => {
26048
26055
  const textStyles = extractKeys(theme, "styles.textStyles");
26049
26056
  const layerStyles = extractKeys(theme, "styles.layerStyles");
26050
26057
  const colorSchemes = extractColorSchemes(theme);
26058
+ const themeSchemes = extractThemeSchemes(theme);
26051
26059
  const { transitionProperty, transitionDuration, transitionEasing } = extractTransitions(theme);
26052
26060
  const componentTypes = extractComponents(theme);
26053
26061
  return prettier(
@@ -26059,6 +26067,7 @@ export interface GeneratedTheme extends UITheme { ${print(
26059
26067
  textStyles,
26060
26068
  layerStyles,
26061
26069
  colorSchemes,
26070
+ themeSchemes,
26062
26071
  transitionProperty,
26063
26072
  transitionDuration,
26064
26073
  transitionEasing
package/dist/utils/cli.js CHANGED
@@ -12631,7 +12631,7 @@ var import_cli_welcome = __toESM(require("cli-welcome"));
12631
12631
  // package.json
12632
12632
  var package_default = {
12633
12633
  name: "@yamada-ui/cli",
12634
- version: "0.5.0",
12634
+ version: "0.7.0",
12635
12635
  description: "Generate theme tokens for autocomplete",
12636
12636
  keywords: [
12637
12637
  "theme",
@@ -12630,6 +12630,7 @@ __export(utils_exports, {
12630
12630
  isObject: () => isObject,
12631
12631
  isString: () => isString,
12632
12632
  isUndefined: () => isUndefined,
12633
+ omitObject: () => omitObject,
12633
12634
  prettier: () => prettier
12634
12635
  });
12635
12636
  module.exports = __toCommonJS(utils_exports);
@@ -12656,7 +12657,7 @@ var import_cli_welcome = __toESM(require("cli-welcome"));
12656
12657
  // package.json
12657
12658
  var package_default = {
12658
12659
  name: "@yamada-ui/cli",
12659
- version: "0.5.0",
12660
+ version: "0.7.0",
12660
12661
  description: "Generate theme tokens for autocomplete",
12661
12662
  keywords: [
12662
12663
  "theme",
@@ -20336,6 +20337,18 @@ var prettier = async (content) => {
20336
20337
  return content;
20337
20338
  }
20338
20339
  };
20340
+
20341
+ // src/utils/object.ts
20342
+ init_cjs_shims();
20343
+ var omitObject = (obj, keys) => {
20344
+ const result = {};
20345
+ Object.keys(obj).forEach((key) => {
20346
+ if (keys.includes(key))
20347
+ return;
20348
+ result[key] = obj[key];
20349
+ });
20350
+ return result;
20351
+ };
20339
20352
  // Annotate the CommonJS export names for ESM import in node:
20340
20353
  0 && (module.exports = {
20341
20354
  initCLI,
@@ -20348,6 +20361,7 @@ var prettier = async (content) => {
20348
20361
  isObject,
20349
20362
  isString,
20350
20363
  isUndefined,
20364
+ omitObject,
20351
20365
  prettier
20352
20366
  });
20353
20367
  /*! Bundled license information:
@@ -0,0 +1,38 @@
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/utils/object.ts
21
+ var object_exports = {};
22
+ __export(object_exports, {
23
+ omitObject: () => omitObject
24
+ });
25
+ module.exports = __toCommonJS(object_exports);
26
+ var omitObject = (obj, keys) => {
27
+ const result = {};
28
+ Object.keys(obj).forEach((key) => {
29
+ if (keys.includes(key))
30
+ return;
31
+ result[key] = obj[key];
32
+ });
33
+ return result;
34
+ };
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ omitObject
38
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yamada-ui/cli",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Generate theme tokens for autocomplete",
5
5
  "keywords": [
6
6
  "theme",