@seed-design/figma 0.0.2 → 0.0.5

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 (185) hide show
  1. package/lib/index.cjs +10622 -12209
  2. package/lib/index.d.ts +1734 -18
  3. package/lib/index.js +10598 -12210
  4. package/package.json +2 -2
  5. package/src/codegen/context.ts +148 -0
  6. package/src/{component/type-helper.ts → codegen/core/component.ts} +1 -1
  7. package/src/codegen/core/index.ts +14 -0
  8. package/src/{jsx.ts → codegen/core/jsx.ts} +13 -3
  9. package/src/codegen/core/transformer.ts +40 -0
  10. package/src/{data → codegen/data}/icons.ts +2 -6
  11. package/src/{data → codegen/data}/styles.ts +87 -29
  12. package/src/codegen/data/variable-collections.ts +310 -0
  13. package/src/{data → codegen/data}/variables.ts +2821 -5887
  14. package/src/codegen/domain/codegen.service.ts +69 -0
  15. package/src/codegen/domain/figma-component.service.ts +21 -0
  16. package/src/codegen/domain/frame.service.ts +108 -0
  17. package/src/codegen/domain/icon.interface.ts +5 -0
  18. package/src/codegen/domain/icon.repository.ts +11 -0
  19. package/src/codegen/domain/icon.service.ts +35 -0
  20. package/src/codegen/domain/index.ts +22 -0
  21. package/src/codegen/domain/instance.service.ts +91 -0
  22. package/src/codegen/domain/props/container-layout-props.service.ts +248 -0
  23. package/src/codegen/domain/props/fill-props.service.ts +75 -0
  24. package/src/codegen/domain/props/radius-props.service.ts +105 -0
  25. package/src/codegen/domain/props/self-layout-props.service.ts +127 -0
  26. package/src/codegen/domain/props/stroke-props.service.ts +45 -0
  27. package/src/codegen/domain/props/type-style-props.service.ts +31 -0
  28. package/src/codegen/domain/rectangle.service.ts +31 -0
  29. package/src/codegen/domain/seed-component/deps.interface.ts +6 -0
  30. package/src/codegen/domain/seed-component/index.ts +75 -0
  31. package/src/{component/type.ts → codegen/domain/seed-component/properties.type.ts} +2 -2
  32. package/src/{component/properties.ts → codegen/domain/seed-component/size.ts} +4 -2
  33. package/src/codegen/domain/seed-component/transformers/action-button.ts +69 -0
  34. package/src/codegen/domain/seed-component/transformers/action-chip.ts +82 -0
  35. package/src/codegen/domain/seed-component/transformers/action-sheet.ts +78 -0
  36. package/src/codegen/domain/seed-component/transformers/app-bar.ts +186 -0
  37. package/src/codegen/domain/seed-component/transformers/avatar-stack.ts +30 -0
  38. package/src/codegen/domain/seed-component/transformers/avatar.ts +39 -0
  39. package/src/codegen/domain/seed-component/transformers/badge.ts +22 -0
  40. package/src/codegen/domain/seed-component/transformers/callout.ts +90 -0
  41. package/src/codegen/domain/seed-component/transformers/checkbox.ts +34 -0
  42. package/src/codegen/domain/seed-component/transformers/chip-tabs.ts +55 -0
  43. package/src/codegen/domain/seed-component/transformers/control-chip.ts +86 -0
  44. package/src/codegen/domain/seed-component/transformers/error-state.ts +39 -0
  45. package/src/codegen/domain/seed-component/transformers/extended-action-sheet.ts +99 -0
  46. package/src/codegen/domain/seed-component/transformers/extended-fab.ts +25 -0
  47. package/src/codegen/domain/seed-component/transformers/fab.ts +18 -0
  48. package/src/codegen/domain/seed-component/transformers/help-bubble.ts +68 -0
  49. package/src/codegen/domain/seed-component/transformers/identity-placeholder.ts +18 -0
  50. package/src/codegen/domain/seed-component/transformers/inline-banner.ts +81 -0
  51. package/src/codegen/domain/seed-component/transformers/manner-temp-badge.ts +19 -0
  52. package/src/codegen/domain/seed-component/transformers/multiline-text-field.ts +82 -0
  53. package/src/codegen/domain/seed-component/transformers/progress-circle.ts +51 -0
  54. package/src/codegen/domain/seed-component/transformers/reaction-button.ts +37 -0
  55. package/src/codegen/domain/seed-component/transformers/segmented-control.ts +59 -0
  56. package/src/codegen/domain/seed-component/transformers/select-box.ts +82 -0
  57. package/src/codegen/domain/seed-component/transformers/skeleton.ts +52 -0
  58. package/src/codegen/domain/seed-component/transformers/snackbar.ts +23 -0
  59. package/src/codegen/domain/seed-component/transformers/switch.ts +31 -0
  60. package/src/codegen/domain/seed-component/transformers/tabs.ts +129 -0
  61. package/src/codegen/domain/seed-component/transformers/text-button.ts +55 -0
  62. package/src/codegen/domain/seed-component/transformers/text-field.ts +109 -0
  63. package/src/codegen/domain/seed-component/transformers/toggle-button.ts +47 -0
  64. package/src/codegen/domain/style.interface.ts +5 -0
  65. package/src/codegen/domain/style.repository.ts +23 -0
  66. package/src/codegen/domain/style.service.ts +38 -0
  67. package/src/codegen/domain/text.service.ts +62 -0
  68. package/src/codegen/domain/variable.interface.ts +18 -0
  69. package/src/codegen/domain/variable.repository.ts +44 -0
  70. package/src/codegen/domain/variable.service.ts +95 -0
  71. package/src/codegen/index.ts +13 -0
  72. package/src/index.ts +2 -3
  73. package/src/normalizer/from-plugin.ts +52 -31
  74. package/src/normalizer/from-rest.ts +27 -5
  75. package/src/normalizer/index.ts +3 -0
  76. package/src/normalizer/types.ts +81 -31
  77. package/src/utils/common.ts +34 -0
  78. package/src/utils/css.ts +13 -0
  79. package/src/{node-util.ts → utils/figma-node.ts} +1 -1
  80. package/src/utils/figma-variable.ts +13 -0
  81. package/src/color.ts +0 -78
  82. package/src/component/index.ts +0 -1688
  83. package/src/generate-code.ts +0 -213
  84. package/src/icon.ts +0 -46
  85. package/src/layout.ts +0 -289
  86. package/src/sizing.ts +0 -58
  87. package/src/text.ts +0 -20
  88. package/src/util.ts +0 -17
  89. package/src/variable.ts +0 -66
  90. /package/src/{data → codegen/data}/__generated__/component-sets/action-button.d.ts +0 -0
  91. /package/src/{data → codegen/data}/__generated__/component-sets/action-button.mjs +0 -0
  92. /package/src/{data → codegen/data}/__generated__/component-sets/action-chip.d.ts +0 -0
  93. /package/src/{data → codegen/data}/__generated__/component-sets/action-chip.mjs +0 -0
  94. /package/src/{data → codegen/data}/__generated__/component-sets/action-sheet.d.ts +0 -0
  95. /package/src/{data → codegen/data}/__generated__/component-sets/action-sheet.mjs +0 -0
  96. /package/src/{data → codegen/data}/__generated__/component-sets/avatar-stack.d.ts +0 -0
  97. /package/src/{data → codegen/data}/__generated__/component-sets/avatar-stack.mjs +0 -0
  98. /package/src/{data → codegen/data}/__generated__/component-sets/avatar.d.ts +0 -0
  99. /package/src/{data → codegen/data}/__generated__/component-sets/avatar.mjs +0 -0
  100. /package/src/{data → codegen/data}/__generated__/component-sets/badge.d.ts +0 -0
  101. /package/src/{data → codegen/data}/__generated__/component-sets/badge.mjs +0 -0
  102. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-global.d.ts +0 -0
  103. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-global.mjs +0 -0
  104. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-kr.d.ts +0 -0
  105. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-kr.mjs +0 -0
  106. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-sheet.d.ts +0 -0
  107. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-sheet.mjs +0 -0
  108. /package/src/{data → codegen/data}/__generated__/component-sets/callout.d.ts +0 -0
  109. /package/src/{data → codegen/data}/__generated__/component-sets/callout.mjs +0 -0
  110. /package/src/{data → codegen/data}/__generated__/component-sets/checkbox.d.ts +0 -0
  111. /package/src/{data → codegen/data}/__generated__/component-sets/checkbox.mjs +0 -0
  112. /package/src/{data → codegen/data}/__generated__/component-sets/chip-tablist.d.ts +0 -0
  113. /package/src/{data → codegen/data}/__generated__/component-sets/chip-tablist.mjs +0 -0
  114. /package/src/{data → codegen/data}/__generated__/component-sets/control-chip.d.ts +0 -0
  115. /package/src/{data → codegen/data}/__generated__/component-sets/control-chip.mjs +0 -0
  116. /package/src/{data → codegen/data}/__generated__/component-sets/divider.d.ts +0 -0
  117. /package/src/{data → codegen/data}/__generated__/component-sets/divider.mjs +0 -0
  118. /package/src/{data → codegen/data}/__generated__/component-sets/error-state.d.ts +0 -0
  119. /package/src/{data → codegen/data}/__generated__/component-sets/error-state.mjs +0 -0
  120. /package/src/{data → codegen/data}/__generated__/component-sets/extended-action-sheet.d.ts +0 -0
  121. /package/src/{data → codegen/data}/__generated__/component-sets/extended-action-sheet.mjs +0 -0
  122. /package/src/{data → codegen/data}/__generated__/component-sets/extended-floating-action-button.d.ts +0 -0
  123. /package/src/{data → codegen/data}/__generated__/component-sets/extended-floating-action-button.mjs +0 -0
  124. /package/src/{data → codegen/data}/__generated__/component-sets/floating-action-button.d.ts +0 -0
  125. /package/src/{data → codegen/data}/__generated__/component-sets/floating-action-button.mjs +0 -0
  126. /package/src/{data → codegen/data}/__generated__/component-sets/help-bubble.d.ts +0 -0
  127. /package/src/{data → codegen/data}/__generated__/component-sets/help-bubble.mjs +0 -0
  128. /package/src/{data → codegen/data}/__generated__/component-sets/identity-placeholder.d.ts +0 -0
  129. /package/src/{data → codegen/data}/__generated__/component-sets/identity-placeholder.mjs +0 -0
  130. /package/src/{data → codegen/data}/__generated__/component-sets/index.d.ts +0 -0
  131. /package/src/{data → codegen/data}/__generated__/component-sets/index.mjs +0 -0
  132. /package/src/{data → codegen/data}/__generated__/component-sets/inline-banner.d.ts +0 -0
  133. /package/src/{data → codegen/data}/__generated__/component-sets/inline-banner.mjs +0 -0
  134. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-global.d.ts +0 -0
  135. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-global.mjs +0 -0
  136. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-kr.d.ts +0 -0
  137. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-kr.mjs +0 -0
  138. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-badge.d.ts +0 -0
  139. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-badge.mjs +0 -0
  140. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-bar.d.ts +0 -0
  141. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-bar.mjs +0 -0
  142. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp.d.ts +0 -0
  143. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp.mjs +0 -0
  144. /package/src/{data → codegen/data}/__generated__/component-sets/multiline-text-field.d.ts +0 -0
  145. /package/src/{data → codegen/data}/__generated__/component-sets/multiline-text-field.mjs +0 -0
  146. /package/src/{data → codegen/data}/__generated__/component-sets/progress-circle.d.ts +0 -0
  147. /package/src/{data → codegen/data}/__generated__/component-sets/progress-circle.mjs +0 -0
  148. /package/src/{data → codegen/data}/__generated__/component-sets/radio.d.ts +0 -0
  149. /package/src/{data → codegen/data}/__generated__/component-sets/radio.mjs +0 -0
  150. /package/src/{data → codegen/data}/__generated__/component-sets/range-slider.d.ts +0 -0
  151. /package/src/{data → codegen/data}/__generated__/component-sets/range-slider.mjs +0 -0
  152. /package/src/{data → codegen/data}/__generated__/component-sets/reaction-button.d.ts +0 -0
  153. /package/src/{data → codegen/data}/__generated__/component-sets/reaction-button.mjs +0 -0
  154. /package/src/{data → codegen/data}/__generated__/component-sets/segmented-control.d.ts +0 -0
  155. /package/src/{data → codegen/data}/__generated__/component-sets/segmented-control.mjs +0 -0
  156. /package/src/{data → codegen/data}/__generated__/component-sets/select-box.d.ts +0 -0
  157. /package/src/{data → codegen/data}/__generated__/component-sets/select-box.mjs +0 -0
  158. /package/src/{data → codegen/data}/__generated__/component-sets/skeleton.d.ts +0 -0
  159. /package/src/{data → codegen/data}/__generated__/component-sets/skeleton.mjs +0 -0
  160. /package/src/{data → codegen/data}/__generated__/component-sets/slider.d.ts +0 -0
  161. /package/src/{data → codegen/data}/__generated__/component-sets/slider.mjs +0 -0
  162. /package/src/{data → codegen/data}/__generated__/component-sets/snackbar.d.ts +0 -0
  163. /package/src/{data → codegen/data}/__generated__/component-sets/snackbar.mjs +0 -0
  164. /package/src/{data → codegen/data}/__generated__/component-sets/standard-navigation.d.ts +0 -0
  165. /package/src/{data → codegen/data}/__generated__/component-sets/standard-navigation.mjs +0 -0
  166. /package/src/{data → codegen/data}/__generated__/component-sets/switch.d.ts +0 -0
  167. /package/src/{data → codegen/data}/__generated__/component-sets/switch.mjs +0 -0
  168. /package/src/{data → codegen/data}/__generated__/component-sets/tablist.d.ts +0 -0
  169. /package/src/{data → codegen/data}/__generated__/component-sets/tablist.mjs +0 -0
  170. /package/src/{data → codegen/data}/__generated__/component-sets/template-bottom-fixed-bar.d.ts +0 -0
  171. /package/src/{data → codegen/data}/__generated__/component-sets/template-bottom-fixed-bar.mjs +0 -0
  172. /package/src/{data → codegen/data}/__generated__/component-sets/template-button-group.d.ts +0 -0
  173. /package/src/{data → codegen/data}/__generated__/component-sets/template-button-group.mjs +0 -0
  174. /package/src/{data → codegen/data}/__generated__/component-sets/template-chip-group.d.ts +0 -0
  175. /package/src/{data → codegen/data}/__generated__/component-sets/template-chip-group.mjs +0 -0
  176. /package/src/{data → codegen/data}/__generated__/component-sets/template-select-box-group.d.ts +0 -0
  177. /package/src/{data → codegen/data}/__generated__/component-sets/template-select-box-group.mjs +0 -0
  178. /package/src/{data → codegen/data}/__generated__/component-sets/template-top-navigation.d.ts +0 -0
  179. /package/src/{data → codegen/data}/__generated__/component-sets/template-top-navigation.mjs +0 -0
  180. /package/src/{data → codegen/data}/__generated__/component-sets/text-button.d.ts +0 -0
  181. /package/src/{data → codegen/data}/__generated__/component-sets/text-button.mjs +0 -0
  182. /package/src/{data → codegen/data}/__generated__/component-sets/text-field.d.ts +0 -0
  183. /package/src/{data → codegen/data}/__generated__/component-sets/text-field.mjs +0 -0
  184. /package/src/{data → codegen/data}/__generated__/component-sets/toggle-button.d.ts +0 -0
  185. /package/src/{data → codegen/data}/__generated__/component-sets/toggle-button.mjs +0 -0
package/src/variable.ts DELETED
@@ -1,66 +0,0 @@
1
- import { vars } from "@seed-design/css/vars";
2
- import { camelCase } from "change-case";
3
- import { FIGMA_VARIABLES } from "./data/variables";
4
-
5
- function sanitizeVariableId(id: string) {
6
- return id.replace("VariableID:", "").split("/")[0]!;
7
- }
8
-
9
- function getNameFromSlashSeparatedVariableName(id: string | undefined) {
10
- if (!id) return undefined;
11
-
12
- const sanitizedId = sanitizeVariableId(id);
13
- const variable = FIGMA_VARIABLES.find((v) => v.id === sanitizedId || v.key === sanitizedId);
14
-
15
- if (!variable) return undefined;
16
-
17
- const splits = variable.name.split("/");
18
-
19
- const name = splits.pop() ?? "";
20
- const group = splits.pop() ?? "";
21
-
22
- switch (group) {
23
- case "spacing-x":
24
- case "spacing-y":
25
- return `${camelCase(group)}.${camelCase(name)}`;
26
- default:
27
- return camelCase(name);
28
- }
29
- }
30
-
31
- export const getLayoutVariableName = getNameFromSlashSeparatedVariableName;
32
-
33
- export const getTypographyVariableName = getNameFromSlashSeparatedVariableName;
34
-
35
- export function getColorVariableName(id: string) {
36
- const sanitizedId = sanitizeVariableId(id);
37
- const variable = FIGMA_VARIABLES.find((v) => v.id === sanitizedId || v.key === sanitizedId);
38
-
39
- if (!variable) return undefined;
40
-
41
- const [group, name] = variable.name.split("/") as [string, string];
42
-
43
- return `${camelCase(group, { mergeAmbiguousCharacters: true })}.${camelCase(name, { mergeAmbiguousCharacters: true })}`;
44
- }
45
-
46
- export function inferDimension(value: number) {
47
- if (value === 0) return 0;
48
-
49
- const expectedDimensionVar = `x${Number.parseFloat((value / 4).toFixed(1))}`.replace(".", "_");
50
- if (expectedDimensionVar in vars.$dimension) {
51
- return expectedDimensionVar;
52
- }
53
-
54
- return `${value}px`;
55
- }
56
-
57
- export function inferRadius(value: number) {
58
- if (value === 0) return 0;
59
-
60
- const expectedRadiusVar = `r${Number.parseFloat((value / 4).toFixed(1))}`.replace(".", "_");
61
- if (expectedRadiusVar in vars.$radius) {
62
- return expectedRadiusVar;
63
- }
64
-
65
- return `${value}px`;
66
- }