@seed-design/figma 0.0.4 → 0.0.6

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 (211) hide show
  1. package/lib/index.cjs +10589 -12261
  2. package/lib/index.d.ts +1732 -41
  3. package/lib/index.js +10565 -12262
  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 -12
  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/{component/handlers → codegen/domain/seed-component/transformers}/app-bar.ts +114 -111
  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/{component/handlers → codegen/domain/seed-component/transformers}/inline-banner.ts +11 -13
  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/{component/handlers → codegen/domain/seed-component/transformers}/text-button.ts +16 -18
  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 -2
  73. package/src/normalizer/from-plugin.ts +29 -28
  74. package/src/normalizer/from-rest.ts +5 -1
  75. package/src/normalizer/types.ts +80 -32
  76. package/src/utils/common.ts +19 -0
  77. package/src/utils/css.ts +13 -0
  78. package/src/utils/figma-variable.ts +13 -0
  79. package/src/component/handlers/action-button.ts +0 -66
  80. package/src/component/handlers/action-chip.ts +0 -71
  81. package/src/component/handlers/action-sheet.ts +0 -74
  82. package/src/component/handlers/avatar-stack.ts +0 -35
  83. package/src/component/handlers/avatar.ts +0 -37
  84. package/src/component/handlers/badge.ts +0 -20
  85. package/src/component/handlers/callout.ts +0 -87
  86. package/src/component/handlers/checkbox.ts +0 -32
  87. package/src/component/handlers/chip-tabs.ts +0 -51
  88. package/src/component/handlers/control-chip.ts +0 -75
  89. package/src/component/handlers/error-state.ts +0 -37
  90. package/src/component/handlers/extended-action-sheet.ts +0 -86
  91. package/src/component/handlers/extended-fab.ts +0 -24
  92. package/src/component/handlers/fab.ts +0 -17
  93. package/src/component/handlers/help-bubble.ts +0 -66
  94. package/src/component/handlers/identity-placeholder.ts +0 -16
  95. package/src/component/handlers/manner-temp-badge.ts +0 -17
  96. package/src/component/handlers/multiline-text-field.ts +0 -80
  97. package/src/component/handlers/progress-circle.ts +0 -49
  98. package/src/component/handlers/reaction-button.ts +0 -36
  99. package/src/component/handlers/segmented-control.ts +0 -51
  100. package/src/component/handlers/select-box.ts +0 -76
  101. package/src/component/handlers/skeleton.ts +0 -51
  102. package/src/component/handlers/snackbar.ts +0 -21
  103. package/src/component/handlers/switch.ts +0 -29
  104. package/src/component/handlers/tabs.ts +0 -107
  105. package/src/component/handlers/text-field.ts +0 -108
  106. package/src/component/handlers/toggle-button.ts +0 -44
  107. package/src/component/index.ts +0 -76
  108. package/src/generate-code.ts +0 -251
  109. package/src/icon.ts +0 -46
  110. package/src/layout.ts +0 -31
  111. package/src/props/color.ts +0 -78
  112. package/src/props/layout.ts +0 -292
  113. package/src/props/sizing.ts +0 -58
  114. package/src/props/text.ts +0 -21
  115. package/src/props/variable.ts +0 -66
  116. /package/src/{data → codegen/data}/__generated__/component-sets/action-button.d.ts +0 -0
  117. /package/src/{data → codegen/data}/__generated__/component-sets/action-button.mjs +0 -0
  118. /package/src/{data → codegen/data}/__generated__/component-sets/action-chip.d.ts +0 -0
  119. /package/src/{data → codegen/data}/__generated__/component-sets/action-chip.mjs +0 -0
  120. /package/src/{data → codegen/data}/__generated__/component-sets/action-sheet.d.ts +0 -0
  121. /package/src/{data → codegen/data}/__generated__/component-sets/action-sheet.mjs +0 -0
  122. /package/src/{data → codegen/data}/__generated__/component-sets/avatar-stack.d.ts +0 -0
  123. /package/src/{data → codegen/data}/__generated__/component-sets/avatar-stack.mjs +0 -0
  124. /package/src/{data → codegen/data}/__generated__/component-sets/avatar.d.ts +0 -0
  125. /package/src/{data → codegen/data}/__generated__/component-sets/avatar.mjs +0 -0
  126. /package/src/{data → codegen/data}/__generated__/component-sets/badge.d.ts +0 -0
  127. /package/src/{data → codegen/data}/__generated__/component-sets/badge.mjs +0 -0
  128. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-global.d.ts +0 -0
  129. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-global.mjs +0 -0
  130. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-kr.d.ts +0 -0
  131. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-navigation-kr.mjs +0 -0
  132. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-sheet.d.ts +0 -0
  133. /package/src/{data → codegen/data}/__generated__/component-sets/bottom-sheet.mjs +0 -0
  134. /package/src/{data → codegen/data}/__generated__/component-sets/callout.d.ts +0 -0
  135. /package/src/{data → codegen/data}/__generated__/component-sets/callout.mjs +0 -0
  136. /package/src/{data → codegen/data}/__generated__/component-sets/checkbox.d.ts +0 -0
  137. /package/src/{data → codegen/data}/__generated__/component-sets/checkbox.mjs +0 -0
  138. /package/src/{data → codegen/data}/__generated__/component-sets/chip-tablist.d.ts +0 -0
  139. /package/src/{data → codegen/data}/__generated__/component-sets/chip-tablist.mjs +0 -0
  140. /package/src/{data → codegen/data}/__generated__/component-sets/control-chip.d.ts +0 -0
  141. /package/src/{data → codegen/data}/__generated__/component-sets/control-chip.mjs +0 -0
  142. /package/src/{data → codegen/data}/__generated__/component-sets/divider.d.ts +0 -0
  143. /package/src/{data → codegen/data}/__generated__/component-sets/divider.mjs +0 -0
  144. /package/src/{data → codegen/data}/__generated__/component-sets/error-state.d.ts +0 -0
  145. /package/src/{data → codegen/data}/__generated__/component-sets/error-state.mjs +0 -0
  146. /package/src/{data → codegen/data}/__generated__/component-sets/extended-action-sheet.d.ts +0 -0
  147. /package/src/{data → codegen/data}/__generated__/component-sets/extended-action-sheet.mjs +0 -0
  148. /package/src/{data → codegen/data}/__generated__/component-sets/extended-floating-action-button.d.ts +0 -0
  149. /package/src/{data → codegen/data}/__generated__/component-sets/extended-floating-action-button.mjs +0 -0
  150. /package/src/{data → codegen/data}/__generated__/component-sets/floating-action-button.d.ts +0 -0
  151. /package/src/{data → codegen/data}/__generated__/component-sets/floating-action-button.mjs +0 -0
  152. /package/src/{data → codegen/data}/__generated__/component-sets/help-bubble.d.ts +0 -0
  153. /package/src/{data → codegen/data}/__generated__/component-sets/help-bubble.mjs +0 -0
  154. /package/src/{data → codegen/data}/__generated__/component-sets/identity-placeholder.d.ts +0 -0
  155. /package/src/{data → codegen/data}/__generated__/component-sets/identity-placeholder.mjs +0 -0
  156. /package/src/{data → codegen/data}/__generated__/component-sets/index.d.ts +0 -0
  157. /package/src/{data → codegen/data}/__generated__/component-sets/index.mjs +0 -0
  158. /package/src/{data → codegen/data}/__generated__/component-sets/inline-banner.d.ts +0 -0
  159. /package/src/{data → codegen/data}/__generated__/component-sets/inline-banner.mjs +0 -0
  160. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-global.d.ts +0 -0
  161. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-global.mjs +0 -0
  162. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-kr.d.ts +0 -0
  163. /package/src/{data → codegen/data}/__generated__/component-sets/main-tab-navigation-kr.mjs +0 -0
  164. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-badge.d.ts +0 -0
  165. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-badge.mjs +0 -0
  166. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-bar.d.ts +0 -0
  167. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp-bar.mjs +0 -0
  168. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp.d.ts +0 -0
  169. /package/src/{data → codegen/data}/__generated__/component-sets/manner-temp.mjs +0 -0
  170. /package/src/{data → codegen/data}/__generated__/component-sets/multiline-text-field.d.ts +0 -0
  171. /package/src/{data → codegen/data}/__generated__/component-sets/multiline-text-field.mjs +0 -0
  172. /package/src/{data → codegen/data}/__generated__/component-sets/progress-circle.d.ts +0 -0
  173. /package/src/{data → codegen/data}/__generated__/component-sets/progress-circle.mjs +0 -0
  174. /package/src/{data → codegen/data}/__generated__/component-sets/radio.d.ts +0 -0
  175. /package/src/{data → codegen/data}/__generated__/component-sets/radio.mjs +0 -0
  176. /package/src/{data → codegen/data}/__generated__/component-sets/range-slider.d.ts +0 -0
  177. /package/src/{data → codegen/data}/__generated__/component-sets/range-slider.mjs +0 -0
  178. /package/src/{data → codegen/data}/__generated__/component-sets/reaction-button.d.ts +0 -0
  179. /package/src/{data → codegen/data}/__generated__/component-sets/reaction-button.mjs +0 -0
  180. /package/src/{data → codegen/data}/__generated__/component-sets/segmented-control.d.ts +0 -0
  181. /package/src/{data → codegen/data}/__generated__/component-sets/segmented-control.mjs +0 -0
  182. /package/src/{data → codegen/data}/__generated__/component-sets/select-box.d.ts +0 -0
  183. /package/src/{data → codegen/data}/__generated__/component-sets/select-box.mjs +0 -0
  184. /package/src/{data → codegen/data}/__generated__/component-sets/skeleton.d.ts +0 -0
  185. /package/src/{data → codegen/data}/__generated__/component-sets/skeleton.mjs +0 -0
  186. /package/src/{data → codegen/data}/__generated__/component-sets/slider.d.ts +0 -0
  187. /package/src/{data → codegen/data}/__generated__/component-sets/slider.mjs +0 -0
  188. /package/src/{data → codegen/data}/__generated__/component-sets/snackbar.d.ts +0 -0
  189. /package/src/{data → codegen/data}/__generated__/component-sets/snackbar.mjs +0 -0
  190. /package/src/{data → codegen/data}/__generated__/component-sets/standard-navigation.d.ts +0 -0
  191. /package/src/{data → codegen/data}/__generated__/component-sets/standard-navigation.mjs +0 -0
  192. /package/src/{data → codegen/data}/__generated__/component-sets/switch.d.ts +0 -0
  193. /package/src/{data → codegen/data}/__generated__/component-sets/switch.mjs +0 -0
  194. /package/src/{data → codegen/data}/__generated__/component-sets/tablist.d.ts +0 -0
  195. /package/src/{data → codegen/data}/__generated__/component-sets/tablist.mjs +0 -0
  196. /package/src/{data → codegen/data}/__generated__/component-sets/template-bottom-fixed-bar.d.ts +0 -0
  197. /package/src/{data → codegen/data}/__generated__/component-sets/template-bottom-fixed-bar.mjs +0 -0
  198. /package/src/{data → codegen/data}/__generated__/component-sets/template-button-group.d.ts +0 -0
  199. /package/src/{data → codegen/data}/__generated__/component-sets/template-button-group.mjs +0 -0
  200. /package/src/{data → codegen/data}/__generated__/component-sets/template-chip-group.d.ts +0 -0
  201. /package/src/{data → codegen/data}/__generated__/component-sets/template-chip-group.mjs +0 -0
  202. /package/src/{data → codegen/data}/__generated__/component-sets/template-select-box-group.d.ts +0 -0
  203. /package/src/{data → codegen/data}/__generated__/component-sets/template-select-box-group.mjs +0 -0
  204. /package/src/{data → codegen/data}/__generated__/component-sets/template-top-navigation.d.ts +0 -0
  205. /package/src/{data → codegen/data}/__generated__/component-sets/template-top-navigation.mjs +0 -0
  206. /package/src/{data → codegen/data}/__generated__/component-sets/text-button.d.ts +0 -0
  207. /package/src/{data → codegen/data}/__generated__/component-sets/text-button.mjs +0 -0
  208. /package/src/{data → codegen/data}/__generated__/component-sets/text-field.d.ts +0 -0
  209. /package/src/{data → codegen/data}/__generated__/component-sets/text-field.mjs +0 -0
  210. /package/src/{data → codegen/data}/__generated__/component-sets/toggle-button.d.ts +0 -0
  211. /package/src/{data → codegen/data}/__generated__/component-sets/toggle-button.mjs +0 -0
package/lib/index.d.ts CHANGED
@@ -1,23 +1,27 @@
1
1
  import * as FigmaRestSpec from '@figma/rest-api-spec';
2
+ import { LocalVariable, LocalVariableCollection, VariableResolvedDataType, VariableAlias as VariableAlias$1, VariableScope, Style as Style$1, StyleType as StyleType$1 } from '@figma/rest-api-spec';
3
+ export { VariableScope } from '@figma/rest-api-spec';
2
4
 
3
- interface ElementNode {
4
- __IS_JSX_ELEMENT_NODE: true;
5
- tag: string;
6
- props: Record<string, string | number | boolean | ElementNode | object | undefined>;
7
- children: (ElementNode | string)[];
8
- comment?: string;
9
- }
10
-
11
- type CommonProps = "type" | "id" | "name" | "boundVariables";
12
- type RadiusProps = "cornerRadius" | "rectangleCornerRadii";
13
- type ShapeProps = "layoutGrow" | "layoutAlign" | "layoutSizingHorizontal" | "layoutSizingVertical" | "absoluteBoundingBox" | "fills" | "strokes" | "strokeWeight";
14
- type LayoutProps = "layoutMode" | "layoutWrap" | "paddingLeft" | "paddingRight" | "paddingTop" | "paddingBottom" | "primaryAxisAlignItems" | "counterAxisAlignItems" | "primaryAxisSizingMode" | "counterAxisSizingMode" | "itemSpacing" | "counterAxisSpacing";
15
- interface NormalizedFrameNode extends Pick<FigmaRestSpec.FrameNode, CommonProps | ShapeProps | RadiusProps | LayoutProps> {
5
+ type NormalizedIsLayerTrait = Pick<FigmaRestSpec.IsLayerTrait, "type" | "id" | "name" | "boundVariables">;
6
+ type NormalizedCornerTrait = Pick<FigmaRestSpec.CornerTrait, "cornerRadius" | "rectangleCornerRadii">;
7
+ type NormalizedHasChildrenTrait = {
16
8
  children: NormalizedSceneNode[];
9
+ };
10
+ type NormalizedHasLayoutTrait = Pick<FigmaRestSpec.HasLayoutTrait, "layoutAlign" | "layoutGrow" | "absoluteBoundingBox" | "layoutPositioning" | "layoutSizingHorizontal" | "layoutSizingVertical" | "minHeight" | "minWidth" | "maxHeight" | "maxWidth">;
11
+ type NormalizedHasGeometryTrait = Pick<FigmaRestSpec.HasGeometryTrait, "fills" | "strokes" | "strokeWeight" | "styles">;
12
+ type NormalizedHasFramePropertiesTrait = Pick<FigmaRestSpec.HasFramePropertiesTrait, "layoutMode" | "layoutWrap" | "paddingLeft" | "paddingRight" | "paddingTop" | "paddingBottom" | "primaryAxisAlignItems" | "primaryAxisSizingMode" | "counterAxisAlignItems" | "counterAxisSizingMode" | "itemSpacing" | "counterAxisSpacing">;
13
+ type NormalizedDefaultShapeTrait = NormalizedIsLayerTrait & NormalizedHasLayoutTrait & NormalizedHasGeometryTrait;
14
+ type NormalizedFrameTrait = NormalizedIsLayerTrait & NormalizedHasLayoutTrait & NormalizedHasGeometryTrait & NormalizedHasChildrenTrait & NormalizedCornerTrait & NormalizedHasFramePropertiesTrait;
15
+ interface NormalizedFrameNode extends NormalizedFrameTrait {
16
+ type: FigmaRestSpec.FrameNode["type"];
17
17
  }
18
- interface NormalizedRectangleNode extends Pick<FigmaRestSpec.RectangleNode, CommonProps | ShapeProps | RadiusProps> {
18
+ interface NormalizedRectangleNode extends NormalizedDefaultShapeTrait, NormalizedCornerTrait {
19
+ type: FigmaRestSpec.RectangleNode["type"];
19
20
  }
20
- interface NormalizedTextNode extends Pick<FigmaRestSpec.TextNode, CommonProps | "layoutGrow" | "layoutAlign" | "style" | "characters" | "fills"> {
21
+ interface NormalizedTextNode extends NormalizedDefaultShapeTrait {
22
+ type: FigmaRestSpec.TextNode["type"];
23
+ style: FigmaRestSpec.TextNode["style"];
24
+ characters: FigmaRestSpec.TextNode["characters"];
21
25
  segments: NormalizedTextSegment[];
22
26
  textStyleKey?: string;
23
27
  }
@@ -38,10 +42,11 @@ interface NormalizedTextSegment {
38
42
  };
39
43
  };
40
44
  }
41
- interface NormalizedComponentNode extends Pick<FigmaRestSpec.ComponentNode, CommonProps | ShapeProps | RadiusProps | LayoutProps> {
42
- children: NormalizedSceneNode[];
45
+ interface NormalizedComponentNode extends NormalizedFrameTrait {
46
+ type: FigmaRestSpec.ComponentNode["type"];
43
47
  }
44
- interface NormalizedInstanceNode extends Pick<FigmaRestSpec.InstanceNode, CommonProps | ShapeProps | RadiusProps | LayoutProps> {
48
+ interface NormalizedInstanceNode extends NormalizedFrameTrait {
49
+ type: FigmaRestSpec.InstanceNode["type"];
45
50
  componentProperties: {
46
51
  [key: string]: FigmaRestSpec.ComponentProperty & {
47
52
  componentKey?: string;
@@ -51,12 +56,18 @@ interface NormalizedInstanceNode extends Pick<FigmaRestSpec.InstanceNode, Common
51
56
  componentSetKey?: string;
52
57
  children: NormalizedSceneNode[];
53
58
  }
54
- interface NormalizedVectorNode extends Pick<FigmaRestSpec.VectorNode, CommonProps | ShapeProps> {
59
+ interface NormalizedVectorNode extends NormalizedDefaultShapeTrait, NormalizedCornerTrait {
60
+ type: FigmaRestSpec.VectorNode["type"];
55
61
  }
56
- interface NormalizedBooleanOperationNode extends Pick<FigmaRestSpec.BooleanOperationNode, CommonProps | "fills"> {
57
- children: NormalizedSceneNode[];
62
+ interface NormalizedBooleanOperationNode extends NormalizedIsLayerTrait, NormalizedHasChildrenTrait, NormalizedHasLayoutTrait, NormalizedHasGeometryTrait {
63
+ type: FigmaRestSpec.BooleanOperationNode["type"];
64
+ }
65
+ interface NormalizedUnhandledNode {
66
+ type: "UNHANDLED";
67
+ id: string;
68
+ original: FigmaRestSpec.Node | SceneNode;
58
69
  }
59
- type NormalizedSceneNode = NormalizedFrameNode | NormalizedRectangleNode | NormalizedTextNode | NormalizedComponentNode | NormalizedInstanceNode | NormalizedVectorNode | NormalizedBooleanOperationNode;
70
+ type NormalizedSceneNode = NormalizedFrameNode | NormalizedRectangleNode | NormalizedTextNode | NormalizedComponentNode | NormalizedInstanceNode | NormalizedVectorNode | NormalizedBooleanOperationNode | NormalizedUnhandledNode;
60
71
 
61
72
  interface RestNormalizerContext {
62
73
  styles: Record<string, FigmaRestSpec.Style>;
@@ -67,22 +78,1702 @@ declare function createRestNormalizer(ctx: RestNormalizerContext): (node: FigmaR
67
78
 
68
79
  declare function createPluginNormalizer(): (node: SceneNode) => Promise<NormalizedSceneNode>;
69
80
 
70
- type PromiseLikeMaybe<T> = Promise<T | undefined> | T | undefined;
71
- type FigmaNodeHandler = (node: NormalizedSceneNode) => PromiseLikeMaybe<ElementNode>;
72
- type FigmaNodeHandlerFactory<T extends NormalizedSceneNode> = (traverse: FigmaNodeHandler) => (node: T) => PromiseLikeMaybe<ElementNode>;
73
- type FrameNodeHandlerFactory = FigmaNodeHandlerFactory<NormalizedFrameNode | NormalizedComponentNode | NormalizedInstanceNode>;
74
- type TextNodeHandlerFactory = FigmaNodeHandlerFactory<NormalizedTextNode>;
75
- type RectangleNodeHandlerFactory = FigmaNodeHandlerFactory<NormalizedRectangleNode>;
76
- type ComponentNodeHandlerFactory = FigmaNodeHandlerFactory<NormalizedComponentNode>;
77
- type InstanceNodeHandlerFactory = FigmaNodeHandlerFactory<NormalizedInstanceNode>;
78
- declare function generateCode(selection: NormalizedSceneNode, options?: {
79
- handlers?: {
80
- frame?: FrameNodeHandlerFactory;
81
- text?: TextNodeHandlerFactory;
82
- rectangle?: RectangleNodeHandlerFactory;
83
- component?: ComponentNodeHandlerFactory;
84
- instance?: InstanceNodeHandlerFactory;
85
- };
86
- }): Promise<string>;
87
-
88
- export { createPluginNormalizer, createRestNormalizer, generateCode };
81
+ interface ComponentPropertyDefinition {
82
+ type: ComponentPropertyType;
83
+ preferredValues?: InstanceSwapPreferredValue[];
84
+ variantOptions?: string[];
85
+ }
86
+ type InferPropertyType<T extends ComponentPropertyDefinition> = T["type"] extends "TEXT" ? string : T["type"] extends "BOOLEAN" ? boolean : T["type"] extends "INSTANCE_SWAP" ? string : T["type"] extends "VARIANT" ? T["variantOptions"] extends string[] ? T["variantOptions"][number] : never : never;
87
+ type InferFromDefinition<T extends Record<string, ComponentPropertyDefinition>> = {
88
+ [K in keyof T]: {
89
+ type: T[K]["type"];
90
+ value: InferPropertyType<T[K]>;
91
+ componentKey?: string;
92
+ preferredValues?: InstanceSwapPreferredValue[];
93
+ readonly boundVariables?: {
94
+ [field in VariableBindableComponentPropertyField]?: VariableAlias;
95
+ };
96
+ };
97
+ };
98
+
99
+ interface ElementNode {
100
+ __IS_JSX_ELEMENT_NODE: true;
101
+ tag: string;
102
+ props: Record<string, string | number | boolean | ElementNode | object | undefined>;
103
+ children: (ElementNode | string)[];
104
+ comment?: string;
105
+ source?: string;
106
+ }
107
+ declare function createElement(tag: string, props?: Record<string, string | number | boolean | object | undefined>, children?: ElementNode | string | undefined | (ElementNode | string | undefined)[], comment?: string): ElementNode;
108
+
109
+ type ElementTransformer<T extends NormalizedSceneNode> = (node: T, traverse: (node: NormalizedSceneNode) => ElementNode | undefined) => ElementNode | undefined;
110
+ type PropsTransformer<T extends Record<string, any> = Record<string, any>, R extends Record<string, any> = Record<string, any>> = (node: T, traverse: (node: NormalizedSceneNode) => ElementNode | undefined) => R;
111
+ interface ComponentTransformer<T extends NormalizedInstanceNode["componentProperties"] = NormalizedInstanceNode["componentProperties"]> {
112
+ key: string;
113
+ transform: (node: NormalizedInstanceNode & {
114
+ componentProperties: T;
115
+ }) => ElementNode;
116
+ }
117
+ declare function defineElementTransformer<T extends NormalizedSceneNode>(transformer: ElementTransformer<T>): ElementTransformer<T>;
118
+ declare function definePropsTransformer<T extends Record<string, any>, R extends Record<string, any>>(transformer: PropsTransformer<T, R>): PropsTransformer<T, R>;
119
+ declare function defineComponentTransformer<T extends NormalizedInstanceNode["componentProperties"]>(key: string, transform: (node: NormalizedInstanceNode & {
120
+ componentProperties: T;
121
+ }) => ElementNode): ComponentTransformer<T>;
122
+
123
+ type Variable = LocalVariable;
124
+ type VariableCollection = LocalVariableCollection;
125
+ type VariableType = VariableResolvedDataType;
126
+ type VariableValue = Variable["valuesByMode"][string];
127
+ type VariableValueResolved = Exclude<VariableValue, VariableAlias$1>;
128
+
129
+ interface VariableRepository {
130
+ getVariableList(): Variable[];
131
+ getVariableCollectionList(): VariableCollection[];
132
+ findVariableByKey(key: string): Variable | undefined;
133
+ findVariableById(id: string): Variable | undefined;
134
+ findVariableCollectionByKey(key: string): VariableCollection | undefined;
135
+ findVariableCollectionById(id: string): VariableCollection | undefined;
136
+ }
137
+ declare function createStaticVariableRepository({ variables, variableCollections, }: {
138
+ variables: Record<string, Variable>;
139
+ variableCollections: Record<string, VariableCollection>;
140
+ }): VariableRepository;
141
+
142
+ interface VariableService {
143
+ getVariableName: (id: string) => string;
144
+ inferVariableName: (scope: VariableScope, value: number | string | boolean) => string | undefined;
145
+ }
146
+ interface VariableServiceDeps {
147
+ variableRepository: VariableRepository;
148
+ variableNameTransformer: ({ slug }: {
149
+ slug: string[];
150
+ }) => string;
151
+ }
152
+ declare function createVariableService({ variableRepository, variableNameTransformer, }: VariableServiceDeps): VariableService;
153
+
154
+ type ContainerLayoutTrait = NormalizedHasFramePropertiesTrait & NormalizedHasChildrenTrait & NormalizedIsLayerTrait;
155
+ interface ContainerLayoutPropsService<T extends Record<string, any>> {
156
+ transform: PropsTransformer<ContainerLayoutTrait, T>;
157
+ }
158
+ type LayoutPropsKey$1 = "flexDirection" | "justifyContent" | "alignItems" | "flexWrap" | "gap" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop";
159
+ type LayoutShorthandPropsKey = "padding" | "paddingX" | "paddingY";
160
+ type SeedContainerLayoutProps = Partial<Record<LayoutPropsKey$1 | LayoutShorthandPropsKey, string | number | boolean>>;
161
+ declare function createContainerLayoutPropsService({ variableService, shouldInferVariableName, }: {
162
+ variableService: VariableService;
163
+ shouldInferVariableName: boolean;
164
+ }): ContainerLayoutPropsService<SeedContainerLayoutProps>;
165
+
166
+ type FillTrait = NormalizedIsLayerTrait & NormalizedHasGeometryTrait;
167
+ interface FillPropsService<T extends Record<string, any>> {
168
+ transform: PropsTransformer<FillTrait, T>;
169
+ }
170
+ interface FrameFillProps {
171
+ background?: string;
172
+ }
173
+ declare function createFrameFillPropsService({ variableService, }: {
174
+ variableService: VariableService;
175
+ }): FillPropsService<FrameFillProps>;
176
+ interface ShapeFillProps {
177
+ color?: string;
178
+ }
179
+ declare function createShapeFillPropsService({ variableService, }: {
180
+ variableService: VariableService;
181
+ }): FillPropsService<ShapeFillProps>;
182
+
183
+ type RadiusTrait = NormalizedCornerTrait & NormalizedIsLayerTrait;
184
+ interface RadiusPropsService<T extends Record<string, any>> {
185
+ transform: PropsTransformer<RadiusTrait, T>;
186
+ }
187
+ type RadiusPropsKey = "borderRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius";
188
+ type SeedRadiusProps = Partial<Record<RadiusPropsKey, string | number | boolean>>;
189
+ declare function createRadiusPropsService({ variableService, shouldInferVariableName, }: {
190
+ variableService: VariableService;
191
+ shouldInferVariableName: boolean;
192
+ }): RadiusPropsService<SeedRadiusProps>;
193
+
194
+ type SelfLayoutTrait = NormalizedIsLayerTrait & NormalizedHasLayoutTrait & NormalizedHasFramePropertiesTrait;
195
+ interface SelfLayoutPropsService<T extends Record<string, any>> {
196
+ transform: PropsTransformer<SelfLayoutTrait, T>;
197
+ }
198
+ type LayoutPropsKey = "flexGrow" | "alignSelf" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight";
199
+ type SeedSelfLayoutProps = Partial<Record<LayoutPropsKey, string | number | boolean>>;
200
+ declare function createSelfLayoutPropsService({ variableService, shouldInferVariableName, }: {
201
+ variableService: VariableService;
202
+ shouldInferVariableName: boolean;
203
+ }): SelfLayoutPropsService<SeedSelfLayoutProps>;
204
+
205
+ type StrokeTrait = NormalizedIsLayerTrait & NormalizedHasGeometryTrait;
206
+ interface StrokePropsService<T extends Record<string, any>> {
207
+ transform: PropsTransformer<StrokeTrait, T>;
208
+ }
209
+ interface SeedFrameStrokeProps {
210
+ borderWidth?: number;
211
+ borderColor?: string;
212
+ }
213
+ declare function createFrameStrokePropsService({ variableService, }: {
214
+ variableService: VariableService;
215
+ }): StrokePropsService<SeedFrameStrokeProps>;
216
+
217
+ interface FrameService {
218
+ transform: ElementTransformer<NormalizedFrameNode | NormalizedInstanceNode | NormalizedComponentNode>;
219
+ }
220
+ interface SeedFrameServiceDeps {
221
+ containerLayoutPropsService: ContainerLayoutPropsService<SeedContainerLayoutProps>;
222
+ selfLayoutPropsService: SelfLayoutPropsService<SeedSelfLayoutProps>;
223
+ radiusPropsService: RadiusPropsService<SeedRadiusProps>;
224
+ fillPropsService: FillPropsService<FrameFillProps>;
225
+ strokePropsService: StrokePropsService<SeedFrameStrokeProps>;
226
+ }
227
+ declare function createSeedFrameService({ containerLayoutPropsService, selfLayoutPropsService, radiusPropsService, fillPropsService, strokePropsService, }: SeedFrameServiceDeps): FrameService;
228
+
229
+ interface FigmaComponentService {
230
+ getTransformer: (key: string) => ComponentTransformer | undefined;
231
+ }
232
+ declare function createFigmaComponentService({ transformers, }: {
233
+ transformers: ComponentTransformer[];
234
+ }): FigmaComponentService;
235
+
236
+ interface IconData {
237
+ name: string;
238
+ type: "monochrome" | "multicolor";
239
+ weight?: string;
240
+ }
241
+
242
+ interface IconRepository {
243
+ getIconData(key: string): IconData;
244
+ }
245
+ declare function createStaticIconRepository(iconRecord: Record<string, IconData>): {
246
+ getIconData: (key: string) => IconData;
247
+ };
248
+
249
+ interface IconService {
250
+ isIconComponent: (componentKey: string) => boolean;
251
+ createIconTagName: (key?: string) => string;
252
+ }
253
+ declare function createIconService({ iconRepository, }: {
254
+ iconRepository: IconRepository;
255
+ }): IconService;
256
+
257
+ interface InstanceService {
258
+ transform: ElementTransformer<NormalizedInstanceNode>;
259
+ }
260
+ interface SeedInstanceServiceDeps {
261
+ figmaComponentService: FigmaComponentService;
262
+ fillPropsService: FillPropsService<ShapeFillProps>;
263
+ selfLayoutPropsService: SelfLayoutPropsService<SeedSelfLayoutProps>;
264
+ iconService?: IconService;
265
+ frameService?: FrameService;
266
+ ignoredComponentKeys?: Set<string>;
267
+ }
268
+ declare function createSeedInstanceService({ figmaComponentService, fillPropsService, selfLayoutPropsService, iconService, frameService, ignoredComponentKeys, }: SeedInstanceServiceDeps): InstanceService;
269
+
270
+ interface RectangleService {
271
+ transform: ElementTransformer<NormalizedRectangleNode>;
272
+ }
273
+ interface SeedRectangleServiceDeps {
274
+ selfLayoutPropsService: SelfLayoutPropsService<SeedSelfLayoutProps>;
275
+ }
276
+ declare function createSeedRectangleService({ selfLayoutPropsService, }: SeedRectangleServiceDeps): RectangleService;
277
+
278
+ interface TypeStylePropsService {
279
+ transform: PropsTransformer<NormalizedTextNode>;
280
+ }
281
+ declare function createFrameTypeStylePropsService({ variableService, }: {
282
+ variableService: VariableService;
283
+ }): {
284
+ transform: PropsTransformer<NormalizedTextNode, {
285
+ fontSize: string | undefined;
286
+ fontWeight: string | undefined;
287
+ lineHeight: string | undefined;
288
+ }>;
289
+ };
290
+
291
+ type Style = Style$1;
292
+ type StyleType = StyleType$1;
293
+
294
+ interface StyleRepository {
295
+ getAll(): Style[];
296
+ getTextStyles(): Style[];
297
+ getColorStyles(): Style[];
298
+ getOne(key: string): Style | undefined;
299
+ }
300
+ declare function createStaticStyleRepository(styles: Style[]): StyleRepository;
301
+
302
+ interface StyleService {
303
+ getStyleName: (id: string) => string;
304
+ }
305
+ declare function createStyleService({ styleRepository, styleNameTransformer, }: {
306
+ styleRepository: StyleRepository;
307
+ styleNameTransformer: ({ slug }: {
308
+ slug: string[];
309
+ }) => string;
310
+ }): StyleService;
311
+
312
+ interface TextService {
313
+ transform: ElementTransformer<NormalizedTextNode>;
314
+ }
315
+ interface SeedTextServiceDeps {
316
+ styleService: StyleService;
317
+ fillPropsService: FillPropsService<ShapeFillProps>;
318
+ typeStylePropsService: TypeStylePropsService;
319
+ }
320
+ declare function createSeedTextService({ styleService, fillPropsService, typeStylePropsService, }: SeedTextServiceDeps): TextService;
321
+
322
+ interface CodegenService {
323
+ transform: (node: NormalizedSceneNode) => ElementNode | undefined;
324
+ transformToString: (node: NormalizedSceneNode) => string | undefined;
325
+ }
326
+ interface SeedCodegenServiceDeps {
327
+ frameService: FrameService;
328
+ textService: TextService;
329
+ rectangleService: RectangleService;
330
+ instanceService: InstanceService;
331
+ shouldPrintSource: boolean;
332
+ }
333
+ declare function createCodegenService({ frameService, textService, rectangleService, instanceService, shouldPrintSource, }: SeedCodegenServiceDeps): CodegenService;
334
+
335
+ interface SeedComponentTransformerDeps {
336
+ iconService: IconService;
337
+ variableService: VariableService;
338
+ }
339
+
340
+ declare const metadata$v: {
341
+ "name": "🔵 [Template] Select Box Group",
342
+ "key": "a3d58bb8540600878742cdcf2608a4b3851667ec",
343
+ "componentPropertyDefinitions": {
344
+ "Control": {
345
+ "type": "VARIANT",
346
+ "variantOptions": [
347
+ "Checkbox",
348
+ "Radio"
349
+ ]
350
+ },
351
+ "Item Count": {
352
+ "type": "VARIANT",
353
+ "variantOptions": [
354
+ "1",
355
+ "2",
356
+ "3",
357
+ "4",
358
+ "5",
359
+ "6"
360
+ ]
361
+ }
362
+ }
363
+ };
364
+
365
+ declare const metadata$u: {
366
+ "name": "🟢 Action Button",
367
+ "key": "450ede9d0bf42fc6ef14345c77e6e407d6d5ee89",
368
+ "componentPropertyDefinitions": {
369
+ "Suffix Icon#5987:244": {
370
+ "type": "INSTANCE_SWAP",
371
+ "preferredValues": []
372
+ },
373
+ "Icon#7574:0": {
374
+ "type": "INSTANCE_SWAP",
375
+ "preferredValues": []
376
+ },
377
+ "Prefix Icon#5987:305": {
378
+ "type": "INSTANCE_SWAP",
379
+ "preferredValues": []
380
+ },
381
+ "Label#5987:61": {
382
+ "type": "TEXT"
383
+ },
384
+ "Size": {
385
+ "type": "VARIANT",
386
+ "variantOptions": [
387
+ "XSmall",
388
+ "Small",
389
+ "Medium",
390
+ "Large"
391
+ ]
392
+ },
393
+ "Layout": {
394
+ "type": "VARIANT",
395
+ "variantOptions": [
396
+ "Text Only",
397
+ "Icon First",
398
+ "Icon Last",
399
+ "Icon Only"
400
+ ]
401
+ },
402
+ "Variant": {
403
+ "type": "VARIANT",
404
+ "variantOptions": [
405
+ "Neutral Solid",
406
+ "Neutral Weak",
407
+ "Neutral Outline",
408
+ "Brand Solid",
409
+ "Brand Outline",
410
+ "Critical Solid"
411
+ ]
412
+ },
413
+ "State": {
414
+ "type": "VARIANT",
415
+ "variantOptions": [
416
+ "Enabled",
417
+ "Pressed",
418
+ "Loading",
419
+ "Disabled"
420
+ ]
421
+ }
422
+ }
423
+ };
424
+
425
+ declare const metadata$t: {
426
+ "name": "🟢 Action Chip",
427
+ "key": "3d21594ef116e94a9465d507447b858aea062575",
428
+ "componentPropertyDefinitions": {
429
+ "Icon#8714:0": {
430
+ "type": "INSTANCE_SWAP",
431
+ "preferredValues": []
432
+ },
433
+ "Prefix Icon#8711:0": {
434
+ "type": "INSTANCE_SWAP",
435
+ "preferredValues": [
436
+ {
437
+ "type": "COMPONENT_SET",
438
+ "key": "8ed05ef62a40f2dc034ee7eb6945bd0e63ad49aa"
439
+ }
440
+ ]
441
+ },
442
+ "Suffix Icon#8711:3": {
443
+ "type": "INSTANCE_SWAP",
444
+ "preferredValues": []
445
+ },
446
+ "Label#7185:0": {
447
+ "type": "TEXT"
448
+ },
449
+ "Show Count#7185:42": {
450
+ "type": "BOOLEAN"
451
+ },
452
+ "Count#7185:21": {
453
+ "type": "TEXT"
454
+ },
455
+ "Size": {
456
+ "type": "VARIANT",
457
+ "variantOptions": [
458
+ "Medium",
459
+ "Small"
460
+ ]
461
+ },
462
+ "Layout": {
463
+ "type": "VARIANT",
464
+ "variantOptions": [
465
+ "Text Only",
466
+ "Icon First",
467
+ "Icon Last",
468
+ "Icon Both",
469
+ "Icon Only"
470
+ ]
471
+ },
472
+ "State": {
473
+ "type": "VARIANT",
474
+ "variantOptions": [
475
+ "Enabled",
476
+ "Pressed",
477
+ "Disabled"
478
+ ]
479
+ }
480
+ }
481
+ };
482
+
483
+ declare const metadata$s: {
484
+ "name": "🟢 Action Sheet",
485
+ "key": "7c29b70b7e71618e1894c26f61f336de2730d76e",
486
+ "componentPropertyDefinitions": {
487
+ "Description#15641:70": {
488
+ "type": "TEXT"
489
+ },
490
+ "Title#15641:37": {
491
+ "type": "TEXT"
492
+ },
493
+ "OS Indicator (Figma Only)#15641:20": {
494
+ "type": "BOOLEAN"
495
+ },
496
+ "Type": {
497
+ "type": "VARIANT",
498
+ "variantOptions": [
499
+ "Normal",
500
+ "Destructive"
501
+ ]
502
+ },
503
+ "Header": {
504
+ "type": "VARIANT",
505
+ "variantOptions": [
506
+ "Title Only",
507
+ "Description Only",
508
+ "Title With Description",
509
+ "None"
510
+ ]
511
+ },
512
+ "Action Count": {
513
+ "type": "VARIANT",
514
+ "variantOptions": [
515
+ "1",
516
+ "2",
517
+ "3",
518
+ "4"
519
+ ]
520
+ }
521
+ }
522
+ };
523
+
524
+ declare const metadata$r: {
525
+ "name": "🟢 Avatar",
526
+ "key": "d71644aeba2e29deda366798fdfe35977166d120",
527
+ "componentPropertyDefinitions": {
528
+ "Show Image#71850:57": {
529
+ "type": "BOOLEAN"
530
+ },
531
+ "Show Badge#1398:26": {
532
+ "type": "BOOLEAN"
533
+ },
534
+ "Size": {
535
+ "type": "VARIANT",
536
+ "variantOptions": [
537
+ "20",
538
+ "24",
539
+ "36",
540
+ "42",
541
+ "48",
542
+ "64",
543
+ "80",
544
+ "96"
545
+ ]
546
+ }
547
+ }
548
+ };
549
+
550
+ declare const metadata$q: {
551
+ "name": "🟢 Avatar Stack",
552
+ "key": "019467fdad2192abb48699dcfb79e344df04b799",
553
+ "componentPropertyDefinitions": {
554
+ "Size": {
555
+ "type": "VARIANT",
556
+ "variantOptions": [
557
+ "20",
558
+ "24",
559
+ "36",
560
+ "48",
561
+ "64"
562
+ ]
563
+ },
564
+ "Item Count": {
565
+ "type": "VARIANT",
566
+ "variantOptions": [
567
+ "2",
568
+ "3",
569
+ "4",
570
+ "5"
571
+ ]
572
+ },
573
+ "Top Item": {
574
+ "type": "VARIANT",
575
+ "variantOptions": [
576
+ "Last Item",
577
+ "First Item"
578
+ ]
579
+ }
580
+ }
581
+ };
582
+
583
+ declare const metadata$p: {
584
+ "name": "🟢 Badge",
585
+ "key": "04609a35d47a1a0ef4904b3c25f79451892a85a1",
586
+ "componentPropertyDefinitions": {
587
+ "Label#1584:0": {
588
+ "type": "TEXT"
589
+ },
590
+ "Size": {
591
+ "type": "VARIANT",
592
+ "variantOptions": [
593
+ "Medium",
594
+ "Large"
595
+ ]
596
+ },
597
+ "Tone": {
598
+ "type": "VARIANT",
599
+ "variantOptions": [
600
+ "Neutral",
601
+ "Brand",
602
+ "Informative",
603
+ "Positive",
604
+ "Critical"
605
+ ]
606
+ },
607
+ "Variant": {
608
+ "type": "VARIANT",
609
+ "variantOptions": [
610
+ "Solid",
611
+ "Weak",
612
+ "Outline"
613
+ ]
614
+ },
615
+ "Shape": {
616
+ "type": "VARIANT",
617
+ "variantOptions": [
618
+ "Rectangle",
619
+ "Pill"
620
+ ]
621
+ }
622
+ }
623
+ };
624
+
625
+ declare const metadata$o: {
626
+ "name": "🟢 Callout",
627
+ "key": "ec46d38baac3c367c4a5ffa47a2110d51ba0a4fe",
628
+ "componentPropertyDefinitions": {
629
+ "Show Icon#12598:229": {
630
+ "type": "BOOLEAN"
631
+ },
632
+ "Icon#12598:210": {
633
+ "type": "INSTANCE_SWAP",
634
+ "preferredValues": [
635
+ {
636
+ "type": "COMPONENT_SET",
637
+ "key": "f2c04b68b0bec4ec9145d832de45947030d3b653"
638
+ }
639
+ ]
640
+ },
641
+ "Interaction": {
642
+ "type": "VARIANT",
643
+ "variantOptions": [
644
+ "Default",
645
+ "Actionable",
646
+ "Dismissible"
647
+ ]
648
+ },
649
+ "Tone": {
650
+ "type": "VARIANT",
651
+ "variantOptions": [
652
+ "Neutral",
653
+ "Informative",
654
+ "Warning",
655
+ "Critical",
656
+ "Magic"
657
+ ]
658
+ },
659
+ "State": {
660
+ "type": "VARIANT",
661
+ "variantOptions": [
662
+ "Enabled",
663
+ "Pressed"
664
+ ]
665
+ },
666
+ "Show Title": {
667
+ "type": "VARIANT",
668
+ "variantOptions": [
669
+ "True",
670
+ "False"
671
+ ]
672
+ },
673
+ "Show Link Label": {
674
+ "type": "VARIANT",
675
+ "variantOptions": [
676
+ "True",
677
+ "False"
678
+ ]
679
+ }
680
+ }
681
+ };
682
+
683
+ declare const metadata$n: {
684
+ "name": "🟢 Checkbox",
685
+ "key": "94a2f6957a86f8ae3b8c7ca200dfcd5e29f6075b",
686
+ "componentPropertyDefinitions": {
687
+ "Label#49990:0": {
688
+ "type": "TEXT"
689
+ },
690
+ "Size": {
691
+ "type": "VARIANT",
692
+ "variantOptions": [
693
+ "Medium",
694
+ "Large"
695
+ ]
696
+ },
697
+ "Shape": {
698
+ "type": "VARIANT",
699
+ "variantOptions": [
700
+ "Square",
701
+ "Ghost"
702
+ ]
703
+ },
704
+ "Weight": {
705
+ "type": "VARIANT",
706
+ "variantOptions": [
707
+ "Default",
708
+ "Stronger"
709
+ ]
710
+ },
711
+ "State": {
712
+ "type": "VARIANT",
713
+ "variantOptions": [
714
+ "Enabled",
715
+ "Pressed",
716
+ "Selected",
717
+ "Selected-Pressed",
718
+ "Indeterminate",
719
+ "Indeterminate-Pressed",
720
+ "Disabled",
721
+ "Disabled-Selected",
722
+ "Disabled-Indeterminate"
723
+ ]
724
+ }
725
+ }
726
+ };
727
+
728
+ declare const metadata$m: {
729
+ "name": "🟢 Chip Tablist",
730
+ "key": "d098159beacf7713e9116f0ef38d8a20f64ec84f",
731
+ "componentPropertyDefinitions": {
732
+ "Tab Count": {
733
+ "type": "VARIANT",
734
+ "variantOptions": [
735
+ "2",
736
+ "3",
737
+ "4",
738
+ "5",
739
+ "6",
740
+ "Max"
741
+ ]
742
+ },
743
+ "Variant": {
744
+ "type": "VARIANT",
745
+ "variantOptions": [
746
+ "Neutral Solid",
747
+ "Brand Solid"
748
+ ]
749
+ }
750
+ }
751
+ };
752
+
753
+ declare const metadata$l: {
754
+ "name": "🟢 Control Chip",
755
+ "key": "5780d56fc2f9bc4bbd6bc3db93949d8a8b7b7563",
756
+ "componentPropertyDefinitions": {
757
+ "Suffix Icon#8722:82": {
758
+ "type": "INSTANCE_SWAP",
759
+ "preferredValues": []
760
+ },
761
+ "Label#7185:0": {
762
+ "type": "TEXT"
763
+ },
764
+ "Show Count#7185:42": {
765
+ "type": "BOOLEAN"
766
+ },
767
+ "Icon#8722:41": {
768
+ "type": "INSTANCE_SWAP",
769
+ "preferredValues": []
770
+ },
771
+ "Prefix Icon#8722:0": {
772
+ "type": "INSTANCE_SWAP",
773
+ "preferredValues": [
774
+ {
775
+ "type": "COMPONENT_SET",
776
+ "key": "8ed05ef62a40f2dc034ee7eb6945bd0e63ad49aa"
777
+ }
778
+ ]
779
+ },
780
+ "Count#7185:21": {
781
+ "type": "TEXT"
782
+ },
783
+ "Size": {
784
+ "type": "VARIANT",
785
+ "variantOptions": [
786
+ "Medium",
787
+ "Small"
788
+ ]
789
+ },
790
+ "Layout": {
791
+ "type": "VARIANT",
792
+ "variantOptions": [
793
+ "Text Only",
794
+ "Icon First",
795
+ "Icon Last",
796
+ "Icon Both",
797
+ "Icon Only"
798
+ ]
799
+ },
800
+ "State": {
801
+ "type": "VARIANT",
802
+ "variantOptions": [
803
+ "Enabled",
804
+ "Pressed",
805
+ "Selected",
806
+ "Selected-Pressed",
807
+ "Disabled",
808
+ "Disabled-Selected"
809
+ ]
810
+ }
811
+ }
812
+ };
813
+
814
+ declare const metadata$k: {
815
+ "name": "🟢 Error State",
816
+ "key": "39b4ecd0b5b4d35f4dc5791765ca04aa062a5172",
817
+ "componentPropertyDefinitions": {
818
+ "Secondary Action Label#17042:0": {
819
+ "type": "TEXT"
820
+ },
821
+ "Title#16237:0": {
822
+ "type": "TEXT"
823
+ },
824
+ "Description#16237:5": {
825
+ "type": "TEXT"
826
+ },
827
+ "Show Buttons#9080:5": {
828
+ "type": "BOOLEAN"
829
+ },
830
+ "Variant": {
831
+ "type": "VARIANT",
832
+ "variantOptions": [
833
+ "Default",
834
+ "Basement"
835
+ ]
836
+ },
837
+ "Layout": {
838
+ "type": "VARIANT",
839
+ "variantOptions": [
840
+ "With Title",
841
+ "Description Only"
842
+ ]
843
+ }
844
+ }
845
+ };
846
+
847
+ declare const metadata$j: {
848
+ "name": "🟢 Extended Action Sheet",
849
+ "key": "cd4cf8a850bf3de87b79080b36b421a649bf3fcb",
850
+ "componentPropertyDefinitions": {
851
+ "Show Title#17043:12": {
852
+ "type": "BOOLEAN"
853
+ },
854
+ "OS Indicator (Figma Only)#81637:129": {
855
+ "type": "BOOLEAN"
856
+ },
857
+ "Description#14599:13": {
858
+ "type": "TEXT"
859
+ },
860
+ "Title#14599:0": {
861
+ "type": "TEXT"
862
+ },
863
+ "Type": {
864
+ "type": "VARIANT",
865
+ "variantOptions": [
866
+ "Normal",
867
+ "Destructive"
868
+ ]
869
+ },
870
+ "Action Group Count": {
871
+ "type": "VARIANT",
872
+ "variantOptions": [
873
+ "1",
874
+ "2"
875
+ ]
876
+ }
877
+ }
878
+ };
879
+
880
+ declare const metadata$i: {
881
+ "name": "🟢 Extended Floating Action Button",
882
+ "key": "032f3fddaad0aa3fa5a7f680768c1f5d02fb463f",
883
+ "componentPropertyDefinitions": {
884
+ "Label#28936:0": {
885
+ "type": "TEXT"
886
+ },
887
+ "Icon#28796:0": {
888
+ "type": "INSTANCE_SWAP",
889
+ "preferredValues": []
890
+ },
891
+ "Size": {
892
+ "type": "VARIANT",
893
+ "variantOptions": [
894
+ "Small",
895
+ "Medium"
896
+ ]
897
+ },
898
+ "Variant": {
899
+ "type": "VARIANT",
900
+ "variantOptions": [
901
+ "Neutral Solid",
902
+ "Layer Floating"
903
+ ]
904
+ },
905
+ "State": {
906
+ "type": "VARIANT",
907
+ "variantOptions": [
908
+ "Enabled",
909
+ "Pressed"
910
+ ]
911
+ }
912
+ }
913
+ };
914
+
915
+ declare const metadata$h: {
916
+ "name": "🟢 Floating Action Button",
917
+ "key": "1974b94703032585bb9e20bd54743e01094b965c",
918
+ "componentPropertyDefinitions": {
919
+ "Icon#28796:0": {
920
+ "type": "INSTANCE_SWAP",
921
+ "preferredValues": []
922
+ },
923
+ "State": {
924
+ "type": "VARIANT",
925
+ "variantOptions": [
926
+ "Enabled",
927
+ "Pressed"
928
+ ]
929
+ }
930
+ }
931
+ };
932
+
933
+ declare const metadata$g: {
934
+ "name": "🟢 Help Bubble",
935
+ "key": "804b327c091278a40d5891939eaed90bb2889659",
936
+ "componentPropertyDefinitions": {
937
+ "Title#62535:0": {
938
+ "type": "TEXT"
939
+ },
940
+ "Description#62535:98": {
941
+ "type": "TEXT"
942
+ },
943
+ "Show Description#62499:0": {
944
+ "type": "BOOLEAN"
945
+ },
946
+ "Placement": {
947
+ "type": "VARIANT",
948
+ "variantOptions": [
949
+ "Right-Top",
950
+ "Right-Center",
951
+ "Right-Bottom",
952
+ "Left-Top",
953
+ "Left-Center",
954
+ "Left-Bottom",
955
+ "Bottom-Left",
956
+ "Bottom-Center",
957
+ "Bottom-Right",
958
+ "Top-Left",
959
+ "Top-Center",
960
+ "Top-Right"
961
+ ]
962
+ },
963
+ "Show Close Button": {
964
+ "type": "VARIANT",
965
+ "variantOptions": [
966
+ "True",
967
+ "False"
968
+ ]
969
+ }
970
+ }
971
+ };
972
+
973
+ declare const metadata$f: {
974
+ "name": "🟢 Identity Placeholder",
975
+ "key": "808206c07408aa1056ec85a55925e9844e9265c2",
976
+ "componentPropertyDefinitions": {
977
+ "Identity": {
978
+ "type": "VARIANT",
979
+ "variantOptions": [
980
+ "Person",
981
+ "Business"
982
+ ]
983
+ }
984
+ }
985
+ };
986
+
987
+ declare const metadata$e: {
988
+ "name": "🟢 Inline Banner",
989
+ "key": "ce587d0f21754af05240cb32a4880227cb0ea1e1",
990
+ "componentPropertyDefinitions": {
991
+ "Show Icon#11840:27": {
992
+ "type": "BOOLEAN"
993
+ },
994
+ "Link Label#1547:81": {
995
+ "type": "TEXT"
996
+ },
997
+ "Interaction": {
998
+ "type": "VARIANT",
999
+ "variantOptions": [
1000
+ "Default",
1001
+ "Link",
1002
+ "Actionable",
1003
+ "Dismissible"
1004
+ ]
1005
+ },
1006
+ "Variant": {
1007
+ "type": "VARIANT",
1008
+ "variantOptions": [
1009
+ "Neutral Weak",
1010
+ "Informative Weak",
1011
+ "Positive Weak",
1012
+ "Warning Solid",
1013
+ "Warning Weak",
1014
+ "Critical Solid",
1015
+ "Critical Weak"
1016
+ ]
1017
+ },
1018
+ "Show Title": {
1019
+ "type": "VARIANT",
1020
+ "variantOptions": [
1021
+ "True",
1022
+ "False"
1023
+ ]
1024
+ }
1025
+ }
1026
+ };
1027
+
1028
+ declare const metadata$d: {
1029
+ "name": "🟢 Manner Temp Badge",
1030
+ "key": "ac5331cec7a2c75b671df5b85ef247dfd820dd2f",
1031
+ "componentPropertyDefinitions": {
1032
+ "State": {
1033
+ "type": "VARIANT",
1034
+ "variantOptions": [
1035
+ "L1 (~29.9)",
1036
+ "L2 (30.0~36.2)",
1037
+ "L3 (36.3~37.5)",
1038
+ "L4 (37.6~41.9)",
1039
+ "L5 (42~51.9)",
1040
+ "L6 (52~)"
1041
+ ]
1042
+ }
1043
+ }
1044
+ };
1045
+
1046
+ declare const metadata$c: {
1047
+ "name": "🟢 Multiline Text Field",
1048
+ "key": "88b2399c930c85f9ce2972163a078bc684b84bbe",
1049
+ "componentPropertyDefinitions": {
1050
+ "Indicator#15327:286": {
1051
+ "type": "TEXT"
1052
+ },
1053
+ "Character Count#15327:360": {
1054
+ "type": "TEXT"
1055
+ },
1056
+ "Max Character Count#15327:175": {
1057
+ "type": "TEXT"
1058
+ },
1059
+ "Label#15327:323": {
1060
+ "type": "TEXT"
1061
+ },
1062
+ "Filled Text#1304:0": {
1063
+ "type": "TEXT"
1064
+ },
1065
+ "Show Character count#958:75": {
1066
+ "type": "BOOLEAN"
1067
+ },
1068
+ "Show Footer#958:25": {
1069
+ "type": "BOOLEAN"
1070
+ },
1071
+ "Show Description#958:50": {
1072
+ "type": "BOOLEAN"
1073
+ },
1074
+ "Description#15327:212": {
1075
+ "type": "TEXT"
1076
+ },
1077
+ "Show Indicator#1259:0": {
1078
+ "type": "BOOLEAN"
1079
+ },
1080
+ "Placeholder#958:0": {
1081
+ "type": "TEXT"
1082
+ },
1083
+ "Show Header#870:0": {
1084
+ "type": "BOOLEAN"
1085
+ },
1086
+ "Size": {
1087
+ "type": "VARIANT",
1088
+ "variantOptions": [
1089
+ "Medium",
1090
+ "Large",
1091
+ "XLarge"
1092
+ ]
1093
+ },
1094
+ "State": {
1095
+ "type": "VARIANT",
1096
+ "variantOptions": [
1097
+ "Enabled",
1098
+ "Focused",
1099
+ "Invalid",
1100
+ "Invalid-Focused",
1101
+ "Disabled",
1102
+ "Read Only"
1103
+ ]
1104
+ },
1105
+ "Filled": {
1106
+ "type": "VARIANT",
1107
+ "variantOptions": [
1108
+ "True",
1109
+ "False"
1110
+ ]
1111
+ }
1112
+ }
1113
+ };
1114
+
1115
+ declare const metadata$b: {
1116
+ "name": "🟢 Progress Circle",
1117
+ "key": "6e6779a372cab2485a0e25529bc4dbc9932a7346",
1118
+ "componentPropertyDefinitions": {
1119
+ "Size": {
1120
+ "type": "VARIANT",
1121
+ "variantOptions": [
1122
+ "24",
1123
+ "40"
1124
+ ]
1125
+ },
1126
+ "Tone": {
1127
+ "type": "VARIANT",
1128
+ "variantOptions": [
1129
+ "Neutral",
1130
+ "Brand",
1131
+ "Static White"
1132
+ ]
1133
+ },
1134
+ "Value": {
1135
+ "type": "VARIANT",
1136
+ "variantOptions": [
1137
+ "Indeterminate",
1138
+ "0%",
1139
+ "25%",
1140
+ "75%",
1141
+ "100%"
1142
+ ]
1143
+ }
1144
+ }
1145
+ };
1146
+
1147
+ declare const metadata$a: {
1148
+ "name": "🟢 Reaction Button",
1149
+ "key": "ec43e4e881f7048e95601f8b58c01a0905a174e0",
1150
+ "componentPropertyDefinitions": {
1151
+ "Icon#12379:0": {
1152
+ "type": "INSTANCE_SWAP",
1153
+ "preferredValues": []
1154
+ },
1155
+ "Show Count#6397:33": {
1156
+ "type": "BOOLEAN"
1157
+ },
1158
+ "Count#15816:0": {
1159
+ "type": "TEXT"
1160
+ },
1161
+ "Label#6397:0": {
1162
+ "type": "TEXT"
1163
+ },
1164
+ "Size": {
1165
+ "type": "VARIANT",
1166
+ "variantOptions": [
1167
+ "XSmall",
1168
+ "Small"
1169
+ ]
1170
+ },
1171
+ "State": {
1172
+ "type": "VARIANT",
1173
+ "variantOptions": [
1174
+ "Enabled",
1175
+ "Pressed",
1176
+ "Loading",
1177
+ "Selected",
1178
+ "Selected-Pressed",
1179
+ "Selected-Loading",
1180
+ "Disabled",
1181
+ "Disabled-Selected"
1182
+ ]
1183
+ }
1184
+ }
1185
+ };
1186
+
1187
+ declare const metadata$9: {
1188
+ "name": "🟢 Segmented Control",
1189
+ "key": "3ad7133ba52755867f42f9232375f75639e00d58",
1190
+ "componentPropertyDefinitions": {
1191
+ "Item Count": {
1192
+ "type": "VARIANT",
1193
+ "variantOptions": [
1194
+ "2",
1195
+ "3",
1196
+ "4"
1197
+ ]
1198
+ },
1199
+ "Selected Item": {
1200
+ "type": "VARIANT",
1201
+ "variantOptions": [
1202
+ "1",
1203
+ "2",
1204
+ "3",
1205
+ "4"
1206
+ ]
1207
+ }
1208
+ }
1209
+ };
1210
+
1211
+ declare const metadata$8: {
1212
+ "name": "🟢 Select Box",
1213
+ "key": "38722ffeb4c966256a709155e8ddac50c93d7c60",
1214
+ "componentPropertyDefinitions": {
1215
+ "Label#3635:0": {
1216
+ "type": "TEXT"
1217
+ },
1218
+ "Description #3033:5": {
1219
+ "type": "TEXT"
1220
+ },
1221
+ "Show Description#3033:0": {
1222
+ "type": "BOOLEAN"
1223
+ },
1224
+ "Control": {
1225
+ "type": "VARIANT",
1226
+ "variantOptions": [
1227
+ "Checkbox",
1228
+ "Radio"
1229
+ ]
1230
+ },
1231
+ "State": {
1232
+ "type": "VARIANT",
1233
+ "variantOptions": [
1234
+ "Enabled",
1235
+ "Pressed",
1236
+ "Selected",
1237
+ "Selected-Pressed"
1238
+ ]
1239
+ }
1240
+ }
1241
+ };
1242
+
1243
+ declare const metadata$7: {
1244
+ "name": "🟢 Skeleton",
1245
+ "key": "ef22c3288722fbfa64a5ab73df397ade88f8e05a",
1246
+ "componentPropertyDefinitions": {
1247
+ "Radius": {
1248
+ "type": "VARIANT",
1249
+ "variantOptions": [
1250
+ "0",
1251
+ "8",
1252
+ "16",
1253
+ "Full"
1254
+ ]
1255
+ }
1256
+ }
1257
+ };
1258
+
1259
+ declare const metadata$6: {
1260
+ "name": "🟢 Snackbar",
1261
+ "key": "81b17fb8c7d731a19cf8d36a8605559d41414eca",
1262
+ "componentPropertyDefinitions": {
1263
+ "Action Button Label#1528:8": {
1264
+ "type": "TEXT"
1265
+ },
1266
+ "Message#1528:4": {
1267
+ "type": "TEXT"
1268
+ },
1269
+ "Show Action Button#1528:0": {
1270
+ "type": "BOOLEAN"
1271
+ },
1272
+ "Variant": {
1273
+ "type": "VARIANT",
1274
+ "variantOptions": [
1275
+ "Default",
1276
+ "Positive",
1277
+ "Critical"
1278
+ ]
1279
+ }
1280
+ }
1281
+ };
1282
+
1283
+ declare const metadata$5: {
1284
+ "name": "🟢 Standard Navigation",
1285
+ "key": "c07bfe331cf214375fce9ad47cb6fdb459d1fb1b",
1286
+ "componentPropertyDefinitions": {
1287
+ "Title#28176:5": {
1288
+ "type": "BOOLEAN"
1289
+ },
1290
+ "Variant": {
1291
+ "type": "VARIANT",
1292
+ "variantOptions": [
1293
+ "Layer Default",
1294
+ "Transparent"
1295
+ ]
1296
+ },
1297
+ "OS": {
1298
+ "type": "VARIANT",
1299
+ "variantOptions": [
1300
+ "iOS",
1301
+ "Android"
1302
+ ]
1303
+ }
1304
+ }
1305
+ };
1306
+
1307
+ declare const metadata$4: {
1308
+ "name": "🟢 Switch",
1309
+ "key": "80ce5a33b5ab713ab3bd2449472e2fb13d78c7f3",
1310
+ "componentPropertyDefinitions": {
1311
+ "Label#15191:2": {
1312
+ "type": "TEXT"
1313
+ },
1314
+ "Size": {
1315
+ "type": "VARIANT",
1316
+ "variantOptions": [
1317
+ "Small",
1318
+ "Medium"
1319
+ ]
1320
+ },
1321
+ "State": {
1322
+ "type": "VARIANT",
1323
+ "variantOptions": [
1324
+ "Enabled",
1325
+ "Selected",
1326
+ "Disabled",
1327
+ "Disabled-Selected"
1328
+ ]
1329
+ }
1330
+ }
1331
+ };
1332
+
1333
+ declare const metadata$3: {
1334
+ "name": "🟢 Tablist",
1335
+ "key": "ffe33411fb8796f7a95d3637b90150007f0dd954",
1336
+ "componentPropertyDefinitions": {
1337
+ "Size": {
1338
+ "type": "VARIANT",
1339
+ "variantOptions": [
1340
+ "Small",
1341
+ "Medium"
1342
+ ]
1343
+ },
1344
+ "Layout": {
1345
+ "type": "VARIANT",
1346
+ "variantOptions": [
1347
+ "Hug",
1348
+ "Fill"
1349
+ ]
1350
+ },
1351
+ "Tab Count": {
1352
+ "type": "VARIANT",
1353
+ "variantOptions": [
1354
+ "2",
1355
+ "3",
1356
+ "4",
1357
+ "5+"
1358
+ ]
1359
+ }
1360
+ }
1361
+ };
1362
+
1363
+ declare const metadata$2: {
1364
+ "name": "🟢 Text Button",
1365
+ "key": "601f788792916250e33d04bd3165dee1404342df",
1366
+ "componentPropertyDefinitions": {
1367
+ "Prefix Icon#7561:0": {
1368
+ "type": "INSTANCE_SWAP",
1369
+ "preferredValues": []
1370
+ },
1371
+ "Label#6148:0": {
1372
+ "type": "TEXT"
1373
+ },
1374
+ "Size": {
1375
+ "type": "VARIANT",
1376
+ "variantOptions": [
1377
+ "Small",
1378
+ "Medium",
1379
+ "Large"
1380
+ ]
1381
+ },
1382
+ "Layout": {
1383
+ "type": "VARIANT",
1384
+ "variantOptions": [
1385
+ "Icon First",
1386
+ "Icon Last"
1387
+ ]
1388
+ },
1389
+ "Tone": {
1390
+ "type": "VARIANT",
1391
+ "variantOptions": [
1392
+ "Neutral",
1393
+ "Neutral Subtle",
1394
+ "Brand",
1395
+ "Critical"
1396
+ ]
1397
+ },
1398
+ "State": {
1399
+ "type": "VARIANT",
1400
+ "variantOptions": [
1401
+ "Enabled",
1402
+ "Pressed",
1403
+ "Disabled"
1404
+ ]
1405
+ }
1406
+ }
1407
+ };
1408
+
1409
+ declare const metadata$1: {
1410
+ "name": "🟢 Text Field",
1411
+ "key": "c49873c37a639f0dffdea4efd0eb43760d66c141",
1412
+ "componentPropertyDefinitions": {
1413
+ "Suffix Text#15327:138": {
1414
+ "type": "TEXT"
1415
+ },
1416
+ "Indicator#15327:249": {
1417
+ "type": "TEXT"
1418
+ },
1419
+ "Label#14964:0": {
1420
+ "type": "TEXT"
1421
+ },
1422
+ "Character Count#15327:64": {
1423
+ "type": "TEXT"
1424
+ },
1425
+ "Description#12626:5": {
1426
+ "type": "TEXT"
1427
+ },
1428
+ "Filled Text#1304:0": {
1429
+ "type": "TEXT"
1430
+ },
1431
+ "Show Suffix Icon#1267:75": {
1432
+ "type": "BOOLEAN"
1433
+ },
1434
+ "Show Prefix Icon#1267:50": {
1435
+ "type": "BOOLEAN"
1436
+ },
1437
+ "Prefix Icon#1267:25": {
1438
+ "type": "INSTANCE_SWAP",
1439
+ "preferredValues": []
1440
+ },
1441
+ "Show Prefix#958:125": {
1442
+ "type": "BOOLEAN"
1443
+ },
1444
+ "Show Suffix#958:100": {
1445
+ "type": "BOOLEAN"
1446
+ },
1447
+ "Show Character Count#958:75": {
1448
+ "type": "BOOLEAN"
1449
+ },
1450
+ "Show Footer#958:25": {
1451
+ "type": "BOOLEAN"
1452
+ },
1453
+ "Max Character Count#15327:27": {
1454
+ "type": "TEXT"
1455
+ },
1456
+ "Show Prefix Text#1267:0": {
1457
+ "type": "BOOLEAN"
1458
+ },
1459
+ "Show Suffix Text#1267:125": {
1460
+ "type": "BOOLEAN"
1461
+ },
1462
+ "Suffix Icon #1267:100": {
1463
+ "type": "INSTANCE_SWAP",
1464
+ "preferredValues": []
1465
+ },
1466
+ "Show Description#958:50": {
1467
+ "type": "BOOLEAN"
1468
+ },
1469
+ "Prefix Text#15327:101": {
1470
+ "type": "TEXT"
1471
+ },
1472
+ "Show Indicator#1259:0": {
1473
+ "type": "BOOLEAN"
1474
+ },
1475
+ "Placeholder#958:0": {
1476
+ "type": "TEXT"
1477
+ },
1478
+ "Show Header#870:0": {
1479
+ "type": "BOOLEAN"
1480
+ },
1481
+ "Size": {
1482
+ "type": "VARIANT",
1483
+ "variantOptions": [
1484
+ "Medium",
1485
+ "Large",
1486
+ "XLarge"
1487
+ ]
1488
+ },
1489
+ "State": {
1490
+ "type": "VARIANT",
1491
+ "variantOptions": [
1492
+ "Enabled",
1493
+ "Focused",
1494
+ "Invalid",
1495
+ "Invalid-Focused",
1496
+ "Disabled",
1497
+ "Read Only"
1498
+ ]
1499
+ },
1500
+ "Filled": {
1501
+ "type": "VARIANT",
1502
+ "variantOptions": [
1503
+ "True",
1504
+ "False"
1505
+ ]
1506
+ }
1507
+ }
1508
+ };
1509
+
1510
+ declare const metadata: {
1511
+ "name": "🟢 Toggle Button",
1512
+ "key": "1d240ee5fd7a56879713e69cbea1b6f006f0ea22",
1513
+ "componentPropertyDefinitions": {
1514
+ "Suffix Icon#6122:343": {
1515
+ "type": "INSTANCE_SWAP",
1516
+ "preferredValues": []
1517
+ },
1518
+ "Show Prefix Icon#6122:392": {
1519
+ "type": "BOOLEAN"
1520
+ },
1521
+ "Show Suffix Icon#6122:147": {
1522
+ "type": "BOOLEAN"
1523
+ },
1524
+ "Prefix Icon#6122:98": {
1525
+ "type": "INSTANCE_SWAP",
1526
+ "preferredValues": []
1527
+ },
1528
+ "Label#6122:49": {
1529
+ "type": "TEXT"
1530
+ },
1531
+ "Size": {
1532
+ "type": "VARIANT",
1533
+ "variantOptions": [
1534
+ "Small",
1535
+ "XSmall"
1536
+ ]
1537
+ },
1538
+ "Variant": {
1539
+ "type": "VARIANT",
1540
+ "variantOptions": [
1541
+ "Neutral Weak",
1542
+ "Brand Solid"
1543
+ ]
1544
+ },
1545
+ "State": {
1546
+ "type": "VARIANT",
1547
+ "variantOptions": [
1548
+ "Enabled",
1549
+ "Pressed",
1550
+ "Loading",
1551
+ "Selected",
1552
+ "Selected-Pressed",
1553
+ "Selected-Loading",
1554
+ "Disabled",
1555
+ "Disabled-Selected"
1556
+ ]
1557
+ }
1558
+ }
1559
+ };
1560
+
1561
+ type ActionButtonProperties = InferFromDefinition<typeof metadata$u.componentPropertyDefinitions>;
1562
+ type ActionChipProperties = InferFromDefinition<typeof metadata$t.componentPropertyDefinitions>;
1563
+ type ActionSheetProperties = InferFromDefinition<typeof metadata$s.componentPropertyDefinitions>;
1564
+ type ActionSheetItemProperties = InferFromDefinition<{
1565
+ "Label#15420:4": {
1566
+ type: "TEXT";
1567
+ defaultValue: "액션 버튼";
1568
+ };
1569
+ Tone: {
1570
+ type: "VARIANT";
1571
+ defaultValue: "Default";
1572
+ variantOptions: ["Default", "Critical"];
1573
+ };
1574
+ State: {
1575
+ type: "VARIANT";
1576
+ defaultValue: "Enabled";
1577
+ variantOptions: ["Enabled", "Enabled-Pressed", "Disabled"];
1578
+ };
1579
+ }>;
1580
+ type AvatarProperties = InferFromDefinition<typeof metadata$r.componentPropertyDefinitions>;
1581
+ type AvatarStackProperties = InferFromDefinition<typeof metadata$q.componentPropertyDefinitions>;
1582
+ type BadgeProperties = InferFromDefinition<typeof metadata$p.componentPropertyDefinitions>;
1583
+ type CalloutProperties = InferFromDefinition<typeof metadata$o.componentPropertyDefinitions>;
1584
+ type CheckboxProperties = InferFromDefinition<typeof metadata$n.componentPropertyDefinitions>;
1585
+ type ChipTabsProperties = InferFromDefinition<typeof metadata$m.componentPropertyDefinitions>;
1586
+ type ChipTabsItemProperties = InferFromDefinition<{
1587
+ "Label#8876:0": {
1588
+ type: "TEXT";
1589
+ defaultValue: "라벨";
1590
+ };
1591
+ Variant: {
1592
+ type: "VARIANT";
1593
+ defaultValue: "Neutral Solid";
1594
+ variantOptions: ["Neutral Solid", "Brand Solid"];
1595
+ };
1596
+ State: {
1597
+ type: "VARIANT";
1598
+ defaultValue: "Enabled";
1599
+ variantOptions: [
1600
+ "Enabled",
1601
+ "Enabled-Pressed",
1602
+ "Enabled-Selected",
1603
+ "Enabled-Selected-Pressed",
1604
+ "Disabled",
1605
+ "Disabled-Selected"
1606
+ ];
1607
+ };
1608
+ }>;
1609
+ type ControlChipProperties = InferFromDefinition<typeof metadata$l.componentPropertyDefinitions>;
1610
+ type ErrorStateProperties = InferFromDefinition<typeof metadata$k.componentPropertyDefinitions>;
1611
+ type ExtendedActionSheetProperties = InferFromDefinition<typeof metadata$j.componentPropertyDefinitions>;
1612
+ type ExtendedActionSheetGroupProperties = InferFromDefinition<{
1613
+ "Action Count": {
1614
+ type: "VARIANT";
1615
+ defaultValue: "8";
1616
+ variantOptions: ["1", "2", "3", "4", "5", "6", "7", "8"];
1617
+ };
1618
+ }>;
1619
+ type ExtendedActionSheetItemProperties = InferFromDefinition<{
1620
+ "Show Prefix Icon#17043:5": {
1621
+ type: "BOOLEAN";
1622
+ defaultValue: true;
1623
+ };
1624
+ "Label#55905:8": {
1625
+ type: "TEXT";
1626
+ defaultValue: "액션 버튼";
1627
+ };
1628
+ "Prefix Icon#55948:0": {
1629
+ type: "INSTANCE_SWAP";
1630
+ defaultValue: "17024:100799";
1631
+ preferredValues: [];
1632
+ };
1633
+ Tone: {
1634
+ type: "VARIANT";
1635
+ defaultValue: "Neutral";
1636
+ variantOptions: ["Neutral", "Critical"];
1637
+ };
1638
+ State: {
1639
+ type: "VARIANT";
1640
+ defaultValue: "Enabled";
1641
+ variantOptions: ["Enabled", "Enabled-Pressed", "Disabled"];
1642
+ };
1643
+ }>;
1644
+ type ExtendedFabProperties = InferFromDefinition<typeof metadata$i.componentPropertyDefinitions>;
1645
+ type FabProperties = InferFromDefinition<typeof metadata$h.componentPropertyDefinitions>;
1646
+ type HelpBubbleProperties = InferFromDefinition<typeof metadata$g.componentPropertyDefinitions>;
1647
+ type IdentityPlaceholderProperties = InferFromDefinition<typeof metadata$f.componentPropertyDefinitions>;
1648
+ type InlineBannerProperties = InferFromDefinition<typeof metadata$e.componentPropertyDefinitions>;
1649
+ type MannerTempBadgeProperties = InferFromDefinition<typeof metadata$d.componentPropertyDefinitions>;
1650
+ type MultilineTextFieldProperties = InferFromDefinition<typeof metadata$c.componentPropertyDefinitions>;
1651
+ type ProgressCircleProperties = InferFromDefinition<typeof metadata$b.componentPropertyDefinitions>;
1652
+ type ReactionButtonProperties = InferFromDefinition<typeof metadata$a.componentPropertyDefinitions>;
1653
+ type SegmentedControlProperties = InferFromDefinition<typeof metadata$9.componentPropertyDefinitions>;
1654
+ type SegmentedControlItemProperties = InferFromDefinition<{
1655
+ "Label#11366:15": {
1656
+ type: "TEXT";
1657
+ defaultValue: "라벨";
1658
+ };
1659
+ State: {
1660
+ type: "VARIANT";
1661
+ defaultValue: "Enabled-Selected";
1662
+ variantOptions: [
1663
+ "Enabled",
1664
+ "Enabled-Selected",
1665
+ "Enabled-Pressed",
1666
+ "Enabled-Selected-Pressed",
1667
+ "Disabled",
1668
+ "Disabled-Selected"
1669
+ ];
1670
+ };
1671
+ }>;
1672
+ type SelectBoxGroupProperties = InferFromDefinition<typeof metadata$v.componentPropertyDefinitions>;
1673
+ type SelectBoxProperties = InferFromDefinition<typeof metadata$8.componentPropertyDefinitions>;
1674
+ type SkeletonProperties = InferFromDefinition<typeof metadata$7.componentPropertyDefinitions>;
1675
+ type SnackbarProperties = InferFromDefinition<typeof metadata$6.componentPropertyDefinitions>;
1676
+ type SwitchProperties = InferFromDefinition<typeof metadata$4.componentPropertyDefinitions>;
1677
+ type TabsProperties = InferFromDefinition<typeof metadata$3.componentPropertyDefinitions>;
1678
+ type TabsHugItemProperties = InferFromDefinition<{
1679
+ "Label#4478:2": {
1680
+ type: "TEXT";
1681
+ defaultValue: "라벨";
1682
+ };
1683
+ Size: {
1684
+ type: "VARIANT";
1685
+ defaultValue: "Small";
1686
+ variantOptions: ["Small", "Medium"];
1687
+ };
1688
+ Notification: {
1689
+ type: "VARIANT";
1690
+ defaultValue: "False";
1691
+ variantOptions: ["True", "False"];
1692
+ };
1693
+ State: {
1694
+ type: "VARIANT";
1695
+ defaultValue: "Enabled-Selected";
1696
+ variantOptions: ["Enabled", "Enabled-Selected", "Disabled"];
1697
+ };
1698
+ }>;
1699
+ type TabsFillItemProperties = InferFromDefinition<{
1700
+ "Label#4478:2": {
1701
+ type: "TEXT";
1702
+ defaultValue: "라벨";
1703
+ };
1704
+ Size: {
1705
+ type: "VARIANT";
1706
+ defaultValue: "Small";
1707
+ variantOptions: ["Small", "Medium"];
1708
+ };
1709
+ Notification: {
1710
+ type: "VARIANT";
1711
+ defaultValue: "False";
1712
+ variantOptions: ["True", "False"];
1713
+ };
1714
+ State: {
1715
+ type: "VARIANT";
1716
+ defaultValue: "Enabled-Selected";
1717
+ variantOptions: ["Enabled", "Enabled-Selected", "Disabled"];
1718
+ };
1719
+ }>;
1720
+ type TextButtonProperties = InferFromDefinition<typeof metadata$2.componentPropertyDefinitions>;
1721
+ type TextFieldProperties = InferFromDefinition<typeof metadata$1.componentPropertyDefinitions>;
1722
+ type ToggleButtonProperties = InferFromDefinition<typeof metadata.componentPropertyDefinitions>;
1723
+ type AppBarProperties = InferFromDefinition<typeof metadata$5.componentPropertyDefinitions>;
1724
+ type AppBarMainProperties = InferFromDefinition<{
1725
+ "Show Right#16958:13": {
1726
+ type: "BOOLEAN";
1727
+ defaultValue: false;
1728
+ };
1729
+ "Subtitle#16958:9": {
1730
+ type: "TEXT";
1731
+ defaultValue: "서브타이틀";
1732
+ };
1733
+ "Logo#16958:5": {
1734
+ type: "INSTANCE_SWAP";
1735
+ defaultValue: "1574:3942";
1736
+ preferredValues: [
1737
+ {
1738
+ type: "COMPONENT_SET";
1739
+ key: "c7dab3f6d0df0a150564e696c0df00bd43ffef3f";
1740
+ }
1741
+ ];
1742
+ };
1743
+ "Show Left#16958:17": {
1744
+ type: "BOOLEAN";
1745
+ defaultValue: false;
1746
+ };
1747
+ "Title#16944:0": {
1748
+ type: "TEXT";
1749
+ defaultValue: "타이틀";
1750
+ };
1751
+ Type: {
1752
+ type: "VARIANT";
1753
+ defaultValue: "Title";
1754
+ variantOptions: ["Title", "Title-Subtitle", "Logo"];
1755
+ };
1756
+ }>;
1757
+ type AppBarLeftProperties = InferFromDefinition<{
1758
+ Action: {
1759
+ type: "VARIANT";
1760
+ defaultValue: "Back";
1761
+ variantOptions: ["Back", "Close", "Other"];
1762
+ };
1763
+ }>;
1764
+ type AppBarRightProperties = InferFromDefinition<{
1765
+ Type: {
1766
+ type: "VARIANT";
1767
+ defaultValue: "1 Icon";
1768
+ variantOptions: ["1 Icon", "2 Icons", "3 Icons", "1 Text"];
1769
+ };
1770
+ }>;
1771
+
1772
+ declare const createSeedComponentTransformers: (ctx: SeedComponentTransformerDeps) => Array<ComponentTransformer>;
1773
+
1774
+ declare function generateJsxTree(node: NormalizedSceneNode): ElementNode | undefined;
1775
+ declare function generateCode(node: NormalizedSceneNode, { dev }?: {
1776
+ dev?: boolean;
1777
+ }): string | undefined;
1778
+
1779
+ export { type ActionButtonProperties, type ActionChipProperties, type ActionSheetItemProperties, type ActionSheetProperties, type AppBarLeftProperties, type AppBarMainProperties, type AppBarProperties, type AppBarRightProperties, type AvatarProperties, type AvatarStackProperties, type BadgeProperties, type CalloutProperties, type CheckboxProperties, type ChipTabsItemProperties, type ChipTabsProperties, type CodegenService, type ComponentPropertyDefinition, type ComponentTransformer, type ContainerLayoutPropsService, type ControlChipProperties, type ElementNode, type ElementTransformer, type ErrorStateProperties, type ExtendedActionSheetGroupProperties, type ExtendedActionSheetItemProperties, type ExtendedActionSheetProperties, type ExtendedFabProperties, type FabProperties, type FigmaComponentService, type FillPropsService, type FrameFillProps, type FrameService, type HelpBubbleProperties, type IconData, type IconRepository, type IconService, type IdentityPlaceholderProperties, type InferFromDefinition, type InferPropertyType, type InlineBannerProperties, type InstanceService, type MannerTempBadgeProperties, type MultilineTextFieldProperties, type NormalizedBooleanOperationNode, type NormalizedComponentNode, type NormalizedCornerTrait, type NormalizedDefaultShapeTrait, type NormalizedFrameNode, type NormalizedFrameTrait, type NormalizedHasChildrenTrait, type NormalizedHasFramePropertiesTrait, type NormalizedHasGeometryTrait, type NormalizedHasLayoutTrait, type NormalizedInstanceNode, type NormalizedIsLayerTrait, type NormalizedRectangleNode, type NormalizedSceneNode, type NormalizedTextNode, type NormalizedTextSegment, type NormalizedUnhandledNode, type NormalizedVectorNode, type ProgressCircleProperties, type PropsTransformer, type RadiusPropsService, type ReactionButtonProperties, type RectangleService, type SeedCodegenServiceDeps, type SeedComponentTransformerDeps, type SeedContainerLayoutProps, type SeedFrameServiceDeps, type SeedFrameStrokeProps, type SeedInstanceServiceDeps, type SeedRadiusProps, type SeedRectangleServiceDeps, type SeedSelfLayoutProps, type SeedTextServiceDeps, type SegmentedControlItemProperties, type SegmentedControlProperties, type SelectBoxGroupProperties, type SelectBoxProperties, type SelfLayoutPropsService, type ShapeFillProps, type SkeletonProperties, type SnackbarProperties, type StrokePropsService, type Style, type StyleRepository, type StyleService, type StyleType, type SwitchProperties, type TabsFillItemProperties, type TabsHugItemProperties, type TabsProperties, type TextButtonProperties, type TextFieldProperties, type TextService, type ToggleButtonProperties, type TypeStylePropsService, type Variable, type VariableCollection, type VariableRepository, type VariableService, type VariableServiceDeps, type VariableType, type VariableValue, type VariableValueResolved, createCodegenService, createContainerLayoutPropsService, createElement, createFigmaComponentService, createFrameFillPropsService, createFrameStrokePropsService, createFrameTypeStylePropsService, createIconService, createPluginNormalizer, createRadiusPropsService, createRestNormalizer, createSeedComponentTransformers, createSeedFrameService, createSeedInstanceService, createSeedRectangleService, createSeedTextService, createSelfLayoutPropsService, createShapeFillPropsService, createStaticIconRepository, createStaticStyleRepository, createStaticVariableRepository, createStyleService, createVariableService, defineComponentTransformer, defineElementTransformer, definePropsTransformer, generateCode, generateJsxTree };