@seed-design/figma 0.1.6 → 0.1.8

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 (165) hide show
  1. package/lib/codegen/index.cjs +746 -646
  2. package/lib/codegen/index.d.ts +707 -627
  3. package/lib/codegen/index.d.ts.map +1 -1
  4. package/lib/codegen/index.js +746 -646
  5. package/lib/codegen/targets/react/index.cjs +1170 -1180
  6. package/lib/codegen/targets/react/index.d.ts +20 -9
  7. package/lib/codegen/targets/react/index.d.ts.map +1 -1
  8. package/lib/codegen/targets/react/index.js +1170 -1180
  9. package/lib/index.cjs +883 -668
  10. package/lib/index.d.ts +3 -1
  11. package/lib/index.d.ts.map +1 -1
  12. package/lib/index.js +883 -668
  13. package/package.json +3 -3
  14. package/src/codegen/component-properties.ts +283 -146
  15. package/src/codegen/core/component-handler.ts +9 -3
  16. package/src/codegen/core/jsx.ts +7 -2
  17. package/src/codegen/core/value-resolver.ts +35 -21
  18. package/src/codegen/targets/figma/pipeline.ts +4 -2
  19. package/src/codegen/targets/figma/value-resolver.ts +38 -2
  20. package/src/codegen/targets/react/component/handlers/action-button.ts +69 -5
  21. package/src/codegen/targets/react/component/handlers/alert-dialog.ts +81 -0
  22. package/src/codegen/targets/react/component/handlers/app-bar.ts +93 -128
  23. package/src/codegen/targets/react/component/handlers/avatar.ts +17 -8
  24. package/src/codegen/targets/react/component/handlers/badge.ts +0 -1
  25. package/src/codegen/targets/react/component/handlers/bottom-sheet.ts +71 -0
  26. package/src/codegen/targets/react/component/handlers/callout.ts +13 -17
  27. package/src/codegen/targets/react/component/handlers/chip.ts +66 -0
  28. package/src/codegen/targets/react/component/handlers/contextual-floating-button.ts +52 -0
  29. package/src/codegen/targets/react/component/handlers/divider.ts +19 -0
  30. package/src/codegen/targets/react/component/handlers/error-state.ts +26 -23
  31. package/src/codegen/targets/react/component/handlers/floating-action-button.ts +48 -0
  32. package/src/codegen/targets/react/component/handlers/help-bubble.ts +4 -5
  33. package/src/codegen/targets/react/component/handlers/identity-placeholder.ts +3 -2
  34. package/src/codegen/targets/react/component/handlers/inline-banner.ts +7 -14
  35. package/src/codegen/targets/react/component/handlers/manner-temp.ts +18 -0
  36. package/src/codegen/targets/react/component/handlers/menu-sheet.ts +106 -0
  37. package/src/codegen/targets/react/component/handlers/multiline-text-field.ts +1 -1
  38. package/src/codegen/targets/react/component/handlers/progress-circle.ts +3 -1
  39. package/src/codegen/targets/react/component/handlers/segmented-control.ts +4 -2
  40. package/src/codegen/targets/react/component/handlers/select-box.ts +7 -4
  41. package/src/codegen/targets/react/component/handlers/snackbar.ts +2 -2
  42. package/src/codegen/targets/react/component/handlers/tabs.ts +8 -125
  43. package/src/codegen/targets/react/component/index.ts +22 -19
  44. package/src/codegen/targets/react/instance.ts +1 -1
  45. package/src/codegen/targets/react/pipeline.ts +4 -2
  46. package/src/codegen/targets/react/props.ts +11 -4
  47. package/src/codegen/targets/react/value-resolver.ts +38 -3
  48. package/src/entities/data/__generated__/component-sets/action-button.d.ts +5 -5
  49. package/src/entities/data/__generated__/component-sets/action-button.mjs +5 -5
  50. package/src/entities/data/__generated__/component-sets/alert-dialog.d.ts +26 -0
  51. package/src/entities/data/__generated__/component-sets/alert-dialog.mjs +26 -0
  52. package/src/entities/data/__generated__/component-sets/avatar-stack.d.ts +5 -18
  53. package/src/entities/data/__generated__/component-sets/avatar-stack.mjs +5 -18
  54. package/src/entities/data/__generated__/component-sets/avatar.d.ts +11 -5
  55. package/src/entities/data/__generated__/component-sets/avatar.mjs +11 -5
  56. package/src/entities/data/__generated__/component-sets/badge.d.ts +0 -7
  57. package/src/entities/data/__generated__/component-sets/badge.mjs +0 -7
  58. package/src/entities/data/__generated__/component-sets/bottom-navigation-global.d.ts +3 -0
  59. package/src/entities/data/__generated__/component-sets/bottom-navigation-global.mjs +3 -0
  60. package/src/entities/data/__generated__/component-sets/bottom-navigation-kr.d.ts +3 -0
  61. package/src/entities/data/__generated__/component-sets/bottom-navigation-kr.mjs +3 -0
  62. package/src/entities/data/__generated__/component-sets/bottom-sheet.d.ts +53 -4
  63. package/src/entities/data/__generated__/component-sets/bottom-sheet.mjs +53 -4
  64. package/src/entities/data/__generated__/component-sets/callout.d.ts +13 -22
  65. package/src/entities/data/__generated__/component-sets/callout.mjs +13 -22
  66. package/src/entities/data/__generated__/component-sets/checkbox.d.ts +3 -3
  67. package/src/entities/data/__generated__/component-sets/checkbox.mjs +3 -3
  68. package/src/entities/data/__generated__/component-sets/checkmark.d.ts +34 -0
  69. package/src/entities/data/__generated__/component-sets/checkmark.mjs +34 -0
  70. package/src/entities/data/__generated__/component-sets/chip.d.ts +86 -0
  71. package/src/entities/data/__generated__/component-sets/chip.mjs +86 -0
  72. package/src/entities/data/__generated__/component-sets/chlid.d.ts +14 -0
  73. package/src/entities/data/__generated__/component-sets/chlid.mjs +14 -0
  74. package/src/entities/data/__generated__/component-sets/{extended-floating-action-button.d.ts → contextual-floating-button.d.ts} +12 -10
  75. package/src/entities/data/__generated__/component-sets/{extended-floating-action-button.mjs → contextual-floating-button.mjs} +12 -10
  76. package/src/entities/data/__generated__/component-sets/floating-action-button.d.ts +4 -8
  77. package/src/entities/data/__generated__/component-sets/floating-action-button.mjs +4 -8
  78. package/src/entities/data/__generated__/component-sets/help-bubble.d.ts +3 -10
  79. package/src/entities/data/__generated__/component-sets/help-bubble.mjs +3 -10
  80. package/src/entities/data/__generated__/component-sets/index.d.ts +13 -13
  81. package/src/entities/data/__generated__/component-sets/index.mjs +13 -13
  82. package/src/entities/data/__generated__/component-sets/inline-banner.d.ts +3 -3
  83. package/src/entities/data/__generated__/component-sets/inline-banner.mjs +3 -3
  84. package/src/entities/data/__generated__/component-sets/main-tab-navigation-global.d.ts +2 -2
  85. package/src/entities/data/__generated__/component-sets/main-tab-navigation-global.mjs +2 -2
  86. package/src/entities/data/__generated__/component-sets/manner-temp-badge.d.ts +2 -2
  87. package/src/entities/data/__generated__/component-sets/manner-temp-badge.mjs +2 -2
  88. package/src/entities/data/__generated__/component-sets/manner-temp.d.ts +2 -2
  89. package/src/entities/data/__generated__/component-sets/manner-temp.mjs +2 -2
  90. package/src/entities/data/__generated__/component-sets/{extended-action-sheet.d.ts → menu-sheet.d.ts} +17 -13
  91. package/src/entities/data/__generated__/component-sets/{extended-action-sheet.mjs → menu-sheet.mjs} +17 -13
  92. package/src/entities/data/__generated__/component-sets/multiline-text-field.d.ts +18 -18
  93. package/src/entities/data/__generated__/component-sets/multiline-text-field.mjs +18 -18
  94. package/src/entities/data/__generated__/component-sets/progress-circle.d.ts +2 -1
  95. package/src/entities/data/__generated__/component-sets/progress-circle.mjs +2 -1
  96. package/src/entities/data/__generated__/component-sets/radio-mark.d.ts +34 -0
  97. package/src/entities/data/__generated__/component-sets/radio-mark.mjs +34 -0
  98. package/src/entities/data/__generated__/component-sets/radio.d.ts +2 -2
  99. package/src/entities/data/__generated__/component-sets/radio.mjs +2 -2
  100. package/src/entities/data/__generated__/component-sets/reaction-button.d.ts +6 -6
  101. package/src/entities/data/__generated__/component-sets/reaction-button.mjs +6 -6
  102. package/src/entities/data/__generated__/component-sets/resizable-child.d.ts +18 -0
  103. package/src/entities/data/__generated__/component-sets/resizable-child.mjs +18 -0
  104. package/src/entities/data/__generated__/component-sets/resizable-icon.d.ts +18 -0
  105. package/src/entities/data/__generated__/component-sets/resizable-icon.mjs +18 -0
  106. package/src/entities/data/__generated__/component-sets/select-box.d.ts +4 -4
  107. package/src/entities/data/__generated__/component-sets/select-box.mjs +4 -4
  108. package/src/entities/data/__generated__/component-sets/skeleton.d.ts +7 -0
  109. package/src/entities/data/__generated__/component-sets/skeleton.mjs +7 -0
  110. package/src/entities/data/__generated__/component-sets/snackbar.d.ts +4 -4
  111. package/src/entities/data/__generated__/component-sets/snackbar.mjs +4 -4
  112. package/src/entities/data/__generated__/component-sets/switch.d.ts +1 -1
  113. package/src/entities/data/__generated__/component-sets/switch.mjs +1 -1
  114. package/src/entities/data/__generated__/component-sets/tabs.d.ts +13 -0
  115. package/src/entities/data/__generated__/component-sets/tabs.mjs +13 -0
  116. package/src/entities/data/__generated__/component-sets/template-button-group.d.ts +9 -33
  117. package/src/entities/data/__generated__/component-sets/template-button-group.mjs +9 -33
  118. package/src/entities/data/__generated__/component-sets/template-chip-group.d.ts +15 -12
  119. package/src/entities/data/__generated__/component-sets/template-chip-group.mjs +15 -12
  120. package/src/entities/data/__generated__/component-sets/template-completion.d.ts +28 -0
  121. package/src/entities/data/__generated__/component-sets/template-completion.mjs +28 -0
  122. package/src/entities/data/__generated__/component-sets/{error-state.d.ts → template-error-state.d.ts} +5 -5
  123. package/src/entities/data/__generated__/component-sets/{error-state.mjs → template-error-state.mjs} +5 -5
  124. package/src/entities/data/__generated__/component-sets/template-top-navigation.d.ts +9 -7
  125. package/src/entities/data/__generated__/component-sets/template-top-navigation.mjs +9 -7
  126. package/src/entities/data/__generated__/component-sets/text-field.d.ts +35 -36
  127. package/src/entities/data/__generated__/component-sets/text-field.mjs +35 -36
  128. package/src/entities/data/__generated__/component-sets/toggle-button.d.ts +7 -7
  129. package/src/entities/data/__generated__/component-sets/toggle-button.mjs +7 -7
  130. package/src/entities/data/__generated__/component-sets/top-navigation.d.ts +42 -0
  131. package/src/entities/data/__generated__/component-sets/top-navigation.mjs +42 -0
  132. package/src/entities/data/styles.ts +94 -0
  133. package/src/entities/index.ts +5 -2
  134. package/src/normalizer/from-plugin.ts +104 -44
  135. package/src/normalizer/types.ts +3 -1
  136. package/src/utils/figma-gradient.ts +72 -0
  137. package/src/utils/figma-node.ts +4 -3
  138. package/src/codegen/targets/react/component/handlers/action-chip.ts +0 -72
  139. package/src/codegen/targets/react/component/handlers/action-sheet.ts +0 -82
  140. package/src/codegen/targets/react/component/handlers/chip-tabs.ts +0 -57
  141. package/src/codegen/targets/react/component/handlers/control-chip.ts +0 -81
  142. package/src/codegen/targets/react/component/handlers/extended-action-sheet.ts +0 -98
  143. package/src/codegen/targets/react/component/handlers/extended-fab.ts +0 -25
  144. package/src/codegen/targets/react/component/handlers/fab.ts +0 -22
  145. package/src/codegen/targets/react/component/handlers/text-button.ts +0 -49
  146. package/src/entities/data/__generated__/component-sets/action-chip.d.ts +0 -57
  147. package/src/entities/data/__generated__/component-sets/action-chip.mjs +0 -57
  148. package/src/entities/data/__generated__/component-sets/action-sheet.d.ts +0 -40
  149. package/src/entities/data/__generated__/component-sets/action-sheet.mjs +0 -40
  150. package/src/entities/data/__generated__/component-sets/chip-tablist.d.ts +0 -24
  151. package/src/entities/data/__generated__/component-sets/chip-tablist.mjs +0 -24
  152. package/src/entities/data/__generated__/component-sets/control-chip.d.ts +0 -60
  153. package/src/entities/data/__generated__/component-sets/control-chip.mjs +0 -60
  154. package/src/entities/data/__generated__/component-sets/identity-placeholder.d.ts +0 -13
  155. package/src/entities/data/__generated__/component-sets/identity-placeholder.mjs +0 -13
  156. package/src/entities/data/__generated__/component-sets/manner-temp-bar.d.ts +0 -23
  157. package/src/entities/data/__generated__/component-sets/manner-temp-bar.mjs +0 -23
  158. package/src/entities/data/__generated__/component-sets/standard-navigation.d.ts +0 -23
  159. package/src/entities/data/__generated__/component-sets/standard-navigation.mjs +0 -23
  160. package/src/entities/data/__generated__/component-sets/tablist.d.ts +0 -29
  161. package/src/entities/data/__generated__/component-sets/tablist.mjs +0 -29
  162. package/src/entities/data/__generated__/component-sets/template-bottom-fixed-bar.d.ts +0 -42
  163. package/src/entities/data/__generated__/component-sets/template-bottom-fixed-bar.mjs +0 -42
  164. package/src/entities/data/__generated__/component-sets/text-button.d.ts +0 -45
  165. package/src/entities/data/__generated__/component-sets/text-button.mjs +0 -45
package/lib/index.js CHANGED
@@ -159,6 +159,95 @@ function createRestNormalizer(ctx) {
159
159
  return normalizeNode;
160
160
  }
161
161
 
162
+ /**
163
+ * @see https://gist.github.com/yagudaev/0c2b89674c6aee8b38cd379752ef58d0
164
+ */ const identityMatrixHandlePositions = [
165
+ [
166
+ 0,
167
+ 1,
168
+ 0
169
+ ],
170
+ [
171
+ 0.5,
172
+ 0.5,
173
+ 1
174
+ ],
175
+ [
176
+ 1,
177
+ 1,
178
+ 1
179
+ ]
180
+ ];
181
+ /**
182
+ * Inverts a 2x3 affine transformation matrix
183
+ * For a 2x3 matrix [[a, b, c], [d, e, f]], we treat it as a 3x3 matrix with [0, 0, 1] as the third row
184
+ */ function inv(matrix) {
185
+ const [[a, b, c], [d, e, f]] = matrix;
186
+ // Calculate determinant of the 2x2 linear part
187
+ const det = a * e - b * d;
188
+ if (Math.abs(det) < 1e-10) {
189
+ throw new Error("Matrix is not invertible");
190
+ }
191
+ // Invert the 2x2 linear part
192
+ const invDet = 1 / det;
193
+ const a_inv = e * invDet;
194
+ const b_inv = -b * invDet;
195
+ const d_inv = -d * invDet;
196
+ const e_inv = a * invDet;
197
+ // Calculate the inverted translation
198
+ const c_inv = -(a_inv * c + b_inv * f);
199
+ const f_inv = -(d_inv * c + e_inv * f);
200
+ return [
201
+ [
202
+ a_inv,
203
+ b_inv,
204
+ c_inv
205
+ ],
206
+ [
207
+ d_inv,
208
+ e_inv,
209
+ f_inv
210
+ ]
211
+ ];
212
+ }
213
+ /**
214
+ * Multiplies a 2x3 matrix with a 3x3 matrix
215
+ * Result is a 2x3 matrix
216
+ */ function multiply(matrix1, matrix2) {
217
+ const [[a, b, c], [d, e, f]] = matrix1;
218
+ const result = [
219
+ [],
220
+ []
221
+ ];
222
+ // For each column in matrix2
223
+ for(let col = 0; col < matrix2[0].length; col++){
224
+ // First row of result
225
+ result[0][col] = a * matrix2[0][col] + b * matrix2[1][col] + c * matrix2[2][col];
226
+ // Second row of result
227
+ result[1][col] = d * matrix2[0][col] + e * matrix2[1][col] + f * matrix2[2][col];
228
+ }
229
+ return result;
230
+ }
231
+ function convertTransformToGradientHandles(transform) {
232
+ const inverseTransform = inv(transform);
233
+ // point matrix
234
+ const mp = multiply(inverseTransform, identityMatrixHandlePositions);
235
+ return [
236
+ {
237
+ x: mp[0][0],
238
+ y: mp[1][0]
239
+ },
240
+ {
241
+ x: mp[0][1],
242
+ y: mp[1][1]
243
+ },
244
+ {
245
+ x: mp[0][2],
246
+ y: mp[1][2]
247
+ }
248
+ ];
249
+ }
250
+
162
251
  function createPluginNormalizer() {
163
252
  async function normalizeNodes(nodes) {
164
253
  return Promise.all(nodes.filter((node)=>node.visible).map(normalizeNode));
@@ -201,7 +290,7 @@ function createPluginNormalizer() {
201
290
  name: node.name,
202
291
  boundVariables: await normalizeBoundVariables(node),
203
292
  ...normalizeRadiusProps(node),
204
- ...normalizeAutolayoutProps(node),
293
+ ...await normalizeAutolayoutProps(node),
205
294
  children: await normalizeNodes(node.children)
206
295
  };
207
296
  }
@@ -241,7 +330,7 @@ function createPluginNormalizer() {
241
330
  name: node.name,
242
331
  boundVariables: await normalizeBoundVariables(node),
243
332
  ...normalizeRadiusProps(node),
244
- ...normalizeShapeProps(node)
333
+ ...await normalizeShapeProps(node)
245
334
  };
246
335
  }
247
336
  async function normalizeVectorNode(node) {
@@ -250,7 +339,7 @@ function createPluginNormalizer() {
250
339
  id: node.id,
251
340
  name: node.name,
252
341
  boundVariables: await normalizeBoundVariables(node),
253
- ...normalizeShapeProps(node)
342
+ ...await normalizeShapeProps(node)
254
343
  };
255
344
  }
256
345
  async function normalizeBooleanOperationNode(node) {
@@ -260,7 +349,7 @@ function createPluginNormalizer() {
260
349
  name: node.name,
261
350
  boundVariables: await normalizeBoundVariables(node),
262
351
  children: await normalizeNodes(node.children),
263
- ...normalizeShapeProps(node)
352
+ ...await normalizeShapeProps(node)
264
353
  };
265
354
  }
266
355
  async function normalizeTextNode(node) {
@@ -273,7 +362,8 @@ function createPluginNormalizer() {
273
362
  "paragraphSpacing",
274
363
  "textStyleId",
275
364
  "fills",
276
- "boundVariables"
365
+ "boundVariables",
366
+ "textDecoration"
277
367
  ]);
278
368
  const first = segments[0];
279
369
  const textStyleKey = typeof node.textStyleId === "string" ? (await figma.getStyleByIdAsync(node.textStyleId))?.key : undefined;
@@ -308,7 +398,7 @@ function createPluginNormalizer() {
308
398
  lineHeightPx: segment.lineHeight.unit === "PIXELS" ? segment.lineHeight.value : undefined
309
399
  }
310
400
  })),
311
- ...normalizeShapeProps(node)
401
+ ...await normalizeShapeProps(node)
312
402
  };
313
403
  }
314
404
  async function normalizeComponentNode(node) {
@@ -318,7 +408,7 @@ function createPluginNormalizer() {
318
408
  name: node.name,
319
409
  boundVariables: await normalizeBoundVariables(node),
320
410
  ...normalizeRadiusProps(node),
321
- ...normalizeAutolayoutProps(node),
411
+ ...await normalizeAutolayoutProps(node),
322
412
  children: await normalizeNodes(node.children)
323
413
  };
324
414
  }
@@ -346,7 +436,7 @@ function createPluginNormalizer() {
346
436
  name: node.name,
347
437
  boundVariables: await normalizeBoundVariables(node),
348
438
  ...normalizeRadiusProps(node),
349
- ...normalizeAutolayoutProps(node),
439
+ ...await normalizeAutolayoutProps(node),
350
440
  children: await normalizeNodes(node.children),
351
441
  componentKey: mainComponent.key,
352
442
  componentSetKey: mainComponent.parent?.type === "COMPONENT_SET" ? mainComponent.parent.key : undefined,
@@ -368,28 +458,44 @@ function createPluginNormalizer() {
368
458
  };
369
459
  }
370
460
  function normalizePaint(paint) {
371
- if (paint.type === "SOLID") {
372
- return normalizeSolidPaint(paint);
461
+ switch(paint.type){
462
+ case "SOLID":
463
+ return normalizeSolidPaint(paint);
464
+ case "IMAGE":
465
+ return {
466
+ type: "IMAGE",
467
+ scaleMode: paint.scaleMode === "CROP" ? "STRETCH" : paint.scaleMode,
468
+ imageTransform: paint.imageTransform,
469
+ scalingFactor: paint.scalingFactor,
470
+ filters: paint.filters,
471
+ rotation: paint.rotation,
472
+ imageRef: paint.imageHash ?? "",
473
+ blendMode: paint.blendMode ?? "NORMAL",
474
+ visible: paint.visible,
475
+ opacity: paint.opacity
476
+ };
477
+ case "GRADIENT_LINEAR":
478
+ case "GRADIENT_RADIAL":
479
+ case "GRADIENT_ANGULAR":
480
+ case "GRADIENT_DIAMOND":
481
+ return {
482
+ type: paint.type,
483
+ gradientStops: [
484
+ ...paint.gradientStops
485
+ ],
486
+ visible: paint.visible,
487
+ opacity: paint.opacity,
488
+ blendMode: paint.blendMode ?? "NORMAL",
489
+ gradientHandlePositions: convertTransformToGradientHandles(paint.gradientTransform)
490
+ };
491
+ default:
492
+ throw new Error(`Unimplemented paint type: ${paint.type}`);
373
493
  }
374
- if (paint.type === "IMAGE") {
375
- return {
376
- type: "IMAGE",
377
- scaleMode: paint.scaleMode === "CROP" ? "STRETCH" : paint.scaleMode,
378
- imageTransform: paint.imageTransform,
379
- scalingFactor: paint.scalingFactor,
380
- filters: paint.filters,
381
- rotation: paint.rotation,
382
- imageRef: paint.imageHash ?? "",
383
- blendMode: paint.blendMode ?? "NORMAL",
384
- visible: paint.visible,
385
- opacity: paint.opacity
386
- };
387
- }
388
- throw new Error(`Unimplemented paint type: ${paint.type}`);
389
494
  }
390
495
  function normalizePaints(fills) {
391
496
  if (fills === figma.mixed) {
392
- throw new Error("Mixed fills are not supported");
497
+ console.warn("Mixed fills are not supported");
498
+ return [];
393
499
  }
394
500
  return fills.map(normalizePaint);
395
501
  }
@@ -404,7 +510,8 @@ function createPluginNormalizer() {
404
510
  ]
405
511
  };
406
512
  }
407
- function normalizeShapeProps(node) {
513
+ async function normalizeShapeProps(node) {
514
+ const fillStyleKey = typeof node.fillStyleId === "string" ? (await figma.getStyleByIdAsync(node.fillStyleId))?.key : undefined;
408
515
  return {
409
516
  layoutGrow: node.inferredAutoLayout?.layoutGrow ?? node.layoutGrow,
410
517
  layoutAlign: node.inferredAutoLayout?.layoutAlign ?? node.layoutAlign,
@@ -413,6 +520,9 @@ function createPluginNormalizer() {
413
520
  absoluteBoundingBox: node.absoluteBoundingBox,
414
521
  relativeTransform: node.relativeTransform,
415
522
  fills: normalizePaints(node.fills),
523
+ ...fillStyleKey ? {
524
+ fillStyleKey
525
+ } : {},
416
526
  strokes: normalizePaints(node.strokes),
417
527
  strokeWeight: node.strokeWeight === figma.mixed ? undefined : node.strokeWeight,
418
528
  minHeight: node.minHeight ?? undefined,
@@ -421,9 +531,9 @@ function createPluginNormalizer() {
421
531
  maxWidth: node.maxWidth ?? undefined
422
532
  };
423
533
  }
424
- function normalizeAutolayoutProps(node) {
534
+ async function normalizeAutolayoutProps(node) {
425
535
  return {
426
- ...normalizeShapeProps(node),
536
+ ...await normalizeShapeProps(node),
427
537
  layoutMode: node.inferredAutoLayout?.layoutMode ?? node.layoutMode,
428
538
  layoutWrap: node.inferredAutoLayout?.layoutWrap ?? node.layoutWrap,
429
539
  paddingLeft: node.inferredAutoLayout?.paddingLeft ?? node.paddingLeft,
@@ -438,18 +548,55 @@ function createPluginNormalizer() {
438
548
  counterAxisSpacing: node.inferredAutoLayout?.counterAxisSpacing ?? node.counterAxisSpacing ?? undefined
439
549
  };
440
550
  }
441
- async function normalizeBoundVariables(node) {
551
+ async function normalizeBoundVariables({ boundVariables }) {
552
+ if (!boundVariables) return undefined;
553
+ const { width, height, componentProperties: _componentProperties, ...rest } = boundVariables;
554
+ // replace VariableAlias' id with the actual variable key
555
+ const resolveVariableId = async (variable)=>({
556
+ ...variable,
557
+ id: (await figma.variables.getVariableByIdAsync(variable.id))?.key ?? variable.id
558
+ });
559
+ const needsResolution = [
560
+ "fills",
561
+ "itemSpacing",
562
+ "counterAxisSpacing",
563
+ "bottomLeftRadius",
564
+ "bottomRightRadius",
565
+ "topLeftRadius",
566
+ "topRightRadius",
567
+ "paddingBottom",
568
+ "paddingLeft",
569
+ "paddingRight",
570
+ "paddingTop",
571
+ "maxHeight",
572
+ "minHeight",
573
+ "maxWidth",
574
+ "minWidth"
575
+ ];
576
+ // Process all properties in parallel
577
+ const resolvedEntries = await Promise.all(Object.entries(rest).map(async ([key, value])=>{
578
+ if (!value || !needsResolution.includes(key)) return [
579
+ key,
580
+ value
581
+ ];
582
+ if (Array.isArray(value)) {
583
+ return [
584
+ key,
585
+ await Promise.all(value.map(resolveVariableId))
586
+ ];
587
+ }
588
+ return [
589
+ key,
590
+ await resolveVariableId(value)
591
+ ];
592
+ }));
442
593
  return {
443
- ...node.boundVariables,
444
- fills: await Promise.all(node.boundVariables?.fills?.map((fill)=>figma.variables.getVariableByIdAsync(fill.id).then((res)=>{
445
- return {
446
- ...fill,
447
- id: res?.key ?? fill.id
448
- };
449
- })) ?? []),
450
- size: {
451
- x: node.boundVariables?.width,
452
- y: node.boundVariables?.height
594
+ ...Object.fromEntries(resolvedEntries),
595
+ ...width && height && {
596
+ size: {
597
+ x: width,
598
+ y: height
599
+ }
453
600
  }
454
601
  };
455
602
  }
@@ -3231,6 +3378,99 @@ const FIGMA_ICONS = {
3231
3378
  }
3232
3379
  };
3233
3380
 
3381
+ const FIGMA_FILL_STYLES = [
3382
+ {
3383
+ styleType: "FILL",
3384
+ key: "46186d7dd037e8e54983ee6677cf7915790d84cc",
3385
+ name: "gradient/fade/layer-floating/↑(to-top)",
3386
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3387
+ remote: false
3388
+ },
3389
+ {
3390
+ styleType: "FILL",
3391
+ key: "b28d9c9adc816fdd4ecec3a0b3e25d8aec802b6a",
3392
+ name: "gradient/fade/layer-floating/↓(to-bottom)",
3393
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3394
+ remote: false
3395
+ },
3396
+ {
3397
+ styleType: "FILL",
3398
+ key: "063c0dc05b438ac36499492e783520a722782d74",
3399
+ name: "gradient/fade/layer-floating/→(to-right)",
3400
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3401
+ remote: false
3402
+ },
3403
+ {
3404
+ styleType: "FILL",
3405
+ key: "c1cee6b89c357c6a12d020654d73a4490cafdf51",
3406
+ name: "gradient/fade/layer-default/←(to-left)",
3407
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3408
+ remote: false
3409
+ },
3410
+ {
3411
+ styleType: "FILL",
3412
+ key: "826457503b7ee3d472eab91581b1fcd499c47c00",
3413
+ name: "gradient/fade/layer-default/↑(to-top)",
3414
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3415
+ remote: false
3416
+ },
3417
+ {
3418
+ styleType: "FILL",
3419
+ key: "df22450a8f8e9c323baf40d8981920d1b6376cbf",
3420
+ name: "gradient/fade/layer-floating/←(to-left)",
3421
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3422
+ remote: false
3423
+ },
3424
+ {
3425
+ styleType: "FILL",
3426
+ key: "ff436e73cf9477a1006e6f8a1f9d2c9dbe0e5edd",
3427
+ name: "gradient/fade/layer-default/→(to-right)",
3428
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3429
+ remote: false
3430
+ },
3431
+ {
3432
+ styleType: "FILL",
3433
+ key: "353baa82e0440385eb121cd0ae98d2fcb1a70b18",
3434
+ name: "gradient/glow/magic",
3435
+ description: "반짝이는 것처럼 느껴지는 배경에 쓰이는 ai 컬러입니다.",
3436
+ remote: false
3437
+ },
3438
+ {
3439
+ styleType: "FILL",
3440
+ key: "f83f54c1840aaf26742629e2c696c363b8df0a82",
3441
+ name: "gradient/glow/magic-pressed",
3442
+ description: "반짝이는 것처럼 느껴지는 배경에 쓰이는 ai 컬러의 pressed컬러입니다.",
3443
+ remote: false
3444
+ },
3445
+ {
3446
+ styleType: "FILL",
3447
+ key: "408cb970f1de672217f452152b0398a4bb4f4e12",
3448
+ name: "gradient/fade/layer-default/↓(to-bottom)",
3449
+ description: "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
3450
+ remote: false
3451
+ },
3452
+ {
3453
+ styleType: "FILL",
3454
+ key: "71971dde923a11c615296a16f8172c0671d5a3a6",
3455
+ name: "gradient/shimmer/neutral",
3456
+ description: "Skeleton shimmer",
3457
+ remote: false
3458
+ },
3459
+ {
3460
+ styleType: "FILL",
3461
+ key: "2ed61bff1a187f39389698cf63b74d6997aed609",
3462
+ name: "gradient/shimmer/magic",
3463
+ description: "Skeleton AI shimmer",
3464
+ remote: false
3465
+ },
3466
+ {
3467
+ styleType: "FILL",
3468
+ key: "1101a7c6a505d97904c3a0ce6a9ee17fe15de879",
3469
+ name: "gradient/highlight/magic",
3470
+ description: "아이콘 및 shape 영역에서 AI 기능을 표현할 때 사용하는 컬러입니다.",
3471
+ remote: false
3472
+ }
3473
+ ];
3234
3474
  const FIGMA_TEXT_STYLES = [
3235
3475
  {
3236
3476
  styleType: "TEXT",
@@ -10121,128 +10361,126 @@ const FIGMA_VARIABLES = {
10121
10361
  };
10122
10362
 
10123
10363
  const metadata$K = {
10124
- "name": "🔵 [Template] Bottom Fixed Bar",
10125
- "key": "bac8592d10ee12452d79d5db6353850c0f0c9c3f",
10364
+ "name": "🔵 [Template] Button Group",
10365
+ "key": "29109a34197f2eb5d390b1d9ebba270979a7b302",
10126
10366
  "componentPropertyDefinitions": {
10127
- "Text#30483:84": {
10128
- "type": "TEXT"
10129
- },
10130
- "Show Text Button#30483:80": {
10131
- "type": "BOOLEAN"
10132
- },
10133
- "Show Favorite#29056:0": {
10134
- "type": "BOOLEAN"
10135
- },
10136
- "Show Indicator#28768:0": {
10137
- "type": "BOOLEAN"
10138
- },
10139
- "Show Pay Logo#15354:5": {
10140
- "type": "BOOLEAN"
10141
- },
10142
- "Type": {
10367
+ "Size": {
10143
10368
  "type": "VARIANT",
10144
10369
  "variantOptions": [
10145
- "Information",
10146
- "Multi Actions"
10370
+ "Small",
10371
+ "Medium"
10147
10372
  ]
10148
10373
  },
10149
- "OS": {
10374
+ "Type": {
10150
10375
  "type": "VARIANT",
10151
10376
  "variantOptions": [
10152
- "iOS",
10153
- "Andorid"
10377
+ "horizontal Equal",
10378
+ "Horizontal Ratio"
10154
10379
  ]
10155
10380
  },
10156
- "Show Divider": {
10381
+ "Item Count": {
10157
10382
  "type": "VARIANT",
10158
10383
  "variantOptions": [
10159
- "True",
10160
- "False"
10384
+ "2",
10385
+ "3"
10161
10386
  ]
10162
10387
  }
10163
10388
  }
10164
10389
  };
10165
10390
 
10166
10391
  const metadata$J = {
10167
- "name": "🔵 [Template] Button Group",
10168
- "key": "de6c65d34cc4a01c18c9a7c0ded34635170ca11f",
10392
+ "name": "🔵 [Template] Chip Group",
10393
+ "key": "5b1155aae0f90d1bce6a7499f53a547e88ec3b86",
10169
10394
  "componentPropertyDefinitions": {
10170
- "Show Secondary Button#29056:29": {
10171
- "type": "BOOLEAN"
10172
- },
10173
- "Show Favorite Button#29056:0": {
10174
- "type": "BOOLEAN"
10175
- },
10176
- "Show Step Indicator#25896:0": {
10177
- "type": "BOOLEAN"
10178
- },
10179
- "Show Indicator#28768:0": {
10180
- "type": "BOOLEAN"
10181
- },
10182
- "Text#16839:0": {
10183
- "type": "TEXT"
10184
- },
10185
- "OS": {
10395
+ "Variant": {
10186
10396
  "type": "VARIANT",
10187
10397
  "variantOptions": [
10188
- "iOS",
10189
- "Andorid"
10398
+ "Solid",
10399
+ "Outline Strong",
10400
+ "Outline Weak"
10190
10401
  ]
10191
10402
  },
10192
- "Position": {
10403
+ "Size": {
10193
10404
  "type": "VARIANT",
10194
10405
  "variantOptions": [
10195
- "Bottom fixed",
10196
- "On keyboard"
10406
+ "Large",
10407
+ "Medium",
10408
+ "Small"
10197
10409
  ]
10198
10410
  },
10199
- "Type": {
10411
+ "Layout": {
10200
10412
  "type": "VARIANT",
10201
10413
  "variantOptions": [
10202
- "Single",
10203
- "Vertical",
10204
- "Horizontal",
10205
- "Horizontal ratio"
10414
+ "Scrollable",
10415
+ "Overflow"
10206
10416
  ]
10417
+ }
10418
+ }
10419
+ };
10420
+
10421
+ const metadata$I = {
10422
+ "name": "🔵 [Template] Completion",
10423
+ "key": "d91c789c66c2da665d820318f1a4d8671946eb79",
10424
+ "componentPropertyDefinitions": {
10425
+ "Description#28427:4": {
10426
+ "type": "TEXT"
10427
+ },
10428
+ "Title#28427:5": {
10429
+ "type": "TEXT"
10430
+ },
10431
+ "Show Description#28427:6": {
10432
+ "type": "BOOLEAN"
10433
+ },
10434
+ "Show Button#28427:7": {
10435
+ "type": "BOOLEAN"
10436
+ },
10437
+ "Show Top Navigation#28427:8": {
10438
+ "type": "BOOLEAN"
10207
10439
  },
10208
- "Show Divider": {
10440
+ "Variant": {
10209
10441
  "type": "VARIANT",
10210
10442
  "variantOptions": [
10211
- "True",
10212
- "False"
10443
+ "Screen",
10444
+ "Dialog"
10213
10445
  ]
10214
10446
  }
10215
10447
  }
10216
10448
  };
10217
10449
 
10218
- const metadata$I = {
10219
- "name": "🔵 [Template] Chip Group",
10220
- "key": "d46dc9059bf351928a2d403317ad7db34e70826e",
10450
+ const metadata$H = {
10451
+ "name": "🔵 [Template] Error State",
10452
+ "key": "39b4ecd0b5b4d35f4dc5791765ca04aa062a5172",
10221
10453
  "componentPropertyDefinitions": {
10222
- "Refresh Button#15888:2": {
10454
+ "Show Buttons#9080:5": {
10223
10455
  "type": "BOOLEAN"
10224
10456
  },
10225
- "Type": {
10457
+ "Title#16237:0": {
10458
+ "type": "TEXT"
10459
+ },
10460
+ "Description#16237:5": {
10461
+ "type": "TEXT"
10462
+ },
10463
+ "Secondary Action Label#17042:0": {
10464
+ "type": "TEXT"
10465
+ },
10466
+ "Variant": {
10226
10467
  "type": "VARIANT",
10227
10468
  "variantOptions": [
10228
- "Filter",
10229
- "Control",
10230
- "Action"
10469
+ "Default",
10470
+ "Basement"
10231
10471
  ]
10232
10472
  },
10233
- "Chip Count": {
10473
+ "Layout": {
10234
10474
  "type": "VARIANT",
10235
10475
  "variantOptions": [
10236
- "Full",
10237
- "3",
10238
- "2",
10239
- "4"
10476
+ "With Title",
10477
+ "Description Only"
10240
10478
  ]
10241
10479
  }
10242
10480
  }
10243
10481
  };
10244
10482
 
10245
- const metadata$H = {
10483
+ const metadata$G = {
10246
10484
  "name": "🔵 [Template] Select Box Group",
10247
10485
  "key": "a3d58bb8540600878742cdcf2608a4b3851667ec",
10248
10486
  "componentPropertyDefinitions": {
@@ -10267,13 +10505,22 @@ const metadata$H = {
10267
10505
  }
10268
10506
  };
10269
10507
 
10270
- const metadata$G = {
10508
+ const metadata$F = {
10271
10509
  "name": "🔵 [Template] Top Navigation",
10272
10510
  "key": "74f045c1972dc31d0fddd0a0027537b6779cd0e8",
10273
10511
  "componentPropertyDefinitions": {
10274
10512
  "Action Button#17406:0": {
10275
10513
  "type": "BOOLEAN"
10276
10514
  },
10515
+ "Sub Title#20497:0": {
10516
+ "type": "BOOLEAN"
10517
+ },
10518
+ "Large Title#20497:5": {
10519
+ "type": "TEXT"
10520
+ },
10521
+ "Sub Title #20497:10": {
10522
+ "type": "TEXT"
10523
+ },
10277
10524
  "Variants": {
10278
10525
  "type": "VARIANT",
10279
10526
  "variantOptions": [
@@ -10282,36 +10529,29 @@ const metadata$G = {
10282
10529
  "Standard Transparent",
10283
10530
  "Large Title"
10284
10531
  ]
10285
- },
10286
- "OS": {
10287
- "type": "VARIANT",
10288
- "variantOptions": [
10289
- "iOS",
10290
- "Android"
10291
- ]
10292
10532
  }
10293
10533
  }
10294
10534
  };
10295
10535
 
10296
- const metadata$F = {
10536
+ const metadata$E = {
10297
10537
  "name": "🟢 Action Button",
10298
10538
  "key": "450ede9d0bf42fc6ef14345c77e6e407d6d5ee89",
10299
10539
  "componentPropertyDefinitions": {
10540
+ "Label#5987:61": {
10541
+ "type": "TEXT"
10542
+ },
10300
10543
  "Suffix Icon#5987:244": {
10301
10544
  "type": "INSTANCE_SWAP",
10302
10545
  "preferredValues": []
10303
10546
  },
10304
- "Icon#7574:0": {
10547
+ "Prefix Icon#5987:305": {
10305
10548
  "type": "INSTANCE_SWAP",
10306
10549
  "preferredValues": []
10307
10550
  },
10308
- "Prefix Icon#5987:305": {
10551
+ "Icon#7574:0": {
10309
10552
  "type": "INSTANCE_SWAP",
10310
10553
  "preferredValues": []
10311
10554
  },
10312
- "Label#5987:61": {
10313
- "type": "TEXT"
10314
- },
10315
10555
  "Size": {
10316
10556
  "type": "VARIANT",
10317
10557
  "variantOptions": [
@@ -10353,100 +10593,28 @@ const metadata$F = {
10353
10593
  }
10354
10594
  };
10355
10595
 
10356
- const metadata$E = {
10357
- "name": "🟢 Action Chip",
10358
- "key": "3d21594ef116e94a9465d507447b858aea062575",
10359
- "componentPropertyDefinitions": {
10360
- "Icon#8714:0": {
10361
- "type": "INSTANCE_SWAP",
10362
- "preferredValues": []
10363
- },
10364
- "Prefix Icon#8711:0": {
10365
- "type": "INSTANCE_SWAP",
10366
- "preferredValues": [
10367
- {
10368
- "type": "COMPONENT_SET",
10369
- "key": "8ed05ef62a40f2dc034ee7eb6945bd0e63ad49aa"
10370
- }
10371
- ]
10372
- },
10373
- "Suffix Icon#8711:3": {
10374
- "type": "INSTANCE_SWAP",
10375
- "preferredValues": []
10376
- },
10377
- "Label#7185:0": {
10378
- "type": "TEXT"
10379
- },
10380
- "Show Count#7185:42": {
10381
- "type": "BOOLEAN"
10382
- },
10383
- "Count#7185:21": {
10384
- "type": "TEXT"
10385
- },
10386
- "Size": {
10387
- "type": "VARIANT",
10388
- "variantOptions": [
10389
- "Medium",
10390
- "Small"
10391
- ]
10392
- },
10393
- "Layout": {
10394
- "type": "VARIANT",
10395
- "variantOptions": [
10396
- "Text Only",
10397
- "Icon First",
10398
- "Icon Last",
10399
- "Icon Both",
10400
- "Icon Only"
10401
- ]
10402
- },
10403
- "State": {
10404
- "type": "VARIANT",
10405
- "variantOptions": [
10406
- "Enabled",
10407
- "Pressed",
10408
- "Disabled"
10409
- ]
10410
- }
10411
- }
10412
- };
10413
-
10414
10596
  const metadata$D = {
10415
- "name": "🟢 Action Sheet",
10416
- "key": "7c29b70b7e71618e1894c26f61f336de2730d76e",
10597
+ "name": "🟢 Alert Dialog",
10598
+ "key": "e0c89524a554ca1bf95c016b7255f29e257624aa",
10417
10599
  "componentPropertyDefinitions": {
10418
- "Description#15641:70": {
10600
+ "Title Text#20361:0": {
10419
10601
  "type": "TEXT"
10420
10602
  },
10421
- "Title#15641:37": {
10603
+ "Description Text#20361:7": {
10422
10604
  "type": "TEXT"
10423
10605
  },
10424
- "OS Indicator (Figma Only)#15641:20": {
10606
+ "Show Title#20361:14": {
10425
10607
  "type": "BOOLEAN"
10426
10608
  },
10427
- "Type": {
10428
- "type": "VARIANT",
10429
- "variantOptions": [
10430
- "Normal",
10431
- "Destructive"
10432
- ]
10433
- },
10434
- "Header": {
10435
- "type": "VARIANT",
10436
- "variantOptions": [
10437
- "Title Only",
10438
- "Description Only",
10439
- "Title With Description",
10440
- "None"
10441
- ]
10442
- },
10443
- "Action Count": {
10609
+ "Layout": {
10444
10610
  "type": "VARIANT",
10445
10611
  "variantOptions": [
10446
- "1",
10447
- "2",
10448
- "3",
10449
- "4"
10612
+ "Single",
10613
+ "Neutral",
10614
+ "Neutral (Overflow)",
10615
+ "Critical",
10616
+ "Critical (Overflow)",
10617
+ "Nonpreferred"
10450
10618
  ]
10451
10619
  }
10452
10620
  }
@@ -10454,12 +10622,9 @@ const metadata$D = {
10454
10622
 
10455
10623
  const metadata$C = {
10456
10624
  "name": "🟢 Avatar",
10457
- "key": "d71644aeba2e29deda366798fdfe35977166d120",
10625
+ "key": "4a8853c3068c08b69b13e71dd42ce186e968697e",
10458
10626
  "componentPropertyDefinitions": {
10459
- "Show Image#71850:57": {
10460
- "type": "BOOLEAN"
10461
- },
10462
- "Show Badge#1398:26": {
10627
+ "Has Image Contents#33407:0": {
10463
10628
  "type": "BOOLEAN"
10464
10629
  },
10465
10630
  "Size": {
@@ -10474,13 +10639,22 @@ const metadata$C = {
10474
10639
  "80",
10475
10640
  "96"
10476
10641
  ]
10642
+ },
10643
+ "Badge": {
10644
+ "type": "VARIANT",
10645
+ "variantOptions": [
10646
+ "None",
10647
+ "Circle",
10648
+ "Shield",
10649
+ "Flower"
10650
+ ]
10477
10651
  }
10478
10652
  }
10479
10653
  };
10480
10654
 
10481
10655
  const metadata$B = {
10482
10656
  "name": "🟢 Avatar Stack",
10483
- "key": "019467fdad2192abb48699dcfb79e344df04b799",
10657
+ "key": "e8e91e01000d878742c55cd6e44b6786460440f7",
10484
10658
  "componentPropertyDefinitions": {
10485
10659
  "Size": {
10486
10660
  "type": "VARIANT",
@@ -10488,24 +10662,11 @@ const metadata$B = {
10488
10662
  "20",
10489
10663
  "24",
10490
10664
  "36",
10665
+ "42",
10491
10666
  "48",
10492
- "64"
10493
- ]
10494
- },
10495
- "Item Count": {
10496
- "type": "VARIANT",
10497
- "variantOptions": [
10498
- "2",
10499
- "3",
10500
- "4",
10501
- "5"
10502
- ]
10503
- },
10504
- "Top Item": {
10505
- "type": "VARIANT",
10506
- "variantOptions": [
10507
- "Last Item",
10508
- "First Item"
10667
+ "64",
10668
+ "80",
10669
+ "96"
10509
10670
  ]
10510
10671
  }
10511
10672
  }
@@ -10542,13 +10703,6 @@ const metadata$A = {
10542
10703
  "Weak",
10543
10704
  "Outline"
10544
10705
  ]
10545
- },
10546
- "Shape": {
10547
- "type": "VARIANT",
10548
- "variantOptions": [
10549
- "Rectangle",
10550
- "Pill"
10551
- ]
10552
10706
  }
10553
10707
  }
10554
10708
  };
@@ -10557,6 +10711,9 @@ const metadata$z = {
10557
10711
  "name": "🟢 Bottom Navigation / Global",
10558
10712
  "key": "983650a4dff639b38bf68ff6004efc8ec4fb5c20",
10559
10713
  "componentPropertyDefinitions": {
10714
+ "Show Safe Area#25445:3": {
10715
+ "type": "BOOLEAN"
10716
+ },
10560
10717
  "OS": {
10561
10718
  "type": "VARIANT",
10562
10719
  "variantOptions": [
@@ -10578,6 +10735,9 @@ const metadata$y = {
10578
10735
  "name": "🟢 Bottom Navigation / KR",
10579
10736
  "key": "accc7cea2d0250cdfbf0197ce00a677c6b9e0dae",
10580
10737
  "componentPropertyDefinitions": {
10738
+ "Show Safe Area#25445:0": {
10739
+ "type": "BOOLEAN"
10740
+ },
10581
10741
  "OS": {
10582
10742
  "type": "VARIANT",
10583
10743
  "variantOptions": [
@@ -10592,12 +10752,61 @@ const metadata$x = {
10592
10752
  "name": "🟢 Bottom Sheet",
10593
10753
  "key": "16bafa5d1155896fe18fb6f52f904f5cd2048686",
10594
10754
  "componentPropertyDefinitions": {
10595
- "Layout": {
10755
+ "Title#19787:3": {
10756
+ "type": "TEXT"
10757
+ },
10758
+ "Description#19787:7": {
10759
+ "type": "TEXT"
10760
+ },
10761
+ "Show Close Button#19787:11": {
10762
+ "type": "BOOLEAN"
10763
+ },
10764
+ "Show Footer#25162:14": {
10765
+ "type": "BOOLEAN"
10766
+ },
10767
+ "Show Description#25192:0": {
10768
+ "type": "BOOLEAN"
10769
+ },
10770
+ "Contents#25320:0": {
10771
+ "type": "INSTANCE_SWAP",
10772
+ "preferredValues": [
10773
+ {
10774
+ "type": "COMPONENT_SET",
10775
+ "key": "ec1901cb37dc88360ae8fd2b61f71e630fda7924"
10776
+ },
10777
+ {
10778
+ "type": "COMPONENT",
10779
+ "key": "5c5369d9c22115fd240d7b75ac2a334e9163ea57"
10780
+ },
10781
+ {
10782
+ "type": "COMPONENT",
10783
+ "key": "8670afb7520ac44dfed003e3e9c7cce359897d0c"
10784
+ },
10785
+ {
10786
+ "type": "COMPONENT",
10787
+ "key": "e3d337e6eddbe9ec025fe69520c1cff0bd697b60"
10788
+ },
10789
+ {
10790
+ "type": "COMPONENT",
10791
+ "key": "0c6c58d5b7a159e7db1a0c1ccf32916ca8a51164"
10792
+ },
10793
+ {
10794
+ "type": "COMPONENT",
10795
+ "key": "088624580ee501efed377bb4f42561a387db5699"
10796
+ }
10797
+ ]
10798
+ },
10799
+ "Show Safe Area#25488:8": {
10800
+ "type": "BOOLEAN"
10801
+ },
10802
+ "Header Layout": {
10596
10803
  "type": "VARIANT",
10597
10804
  "variantOptions": [
10598
- "Center",
10599
- "Left",
10600
- "None"
10805
+ "Bottom Left",
10806
+ "None",
10807
+ "Bottom Center",
10808
+ "Top Center",
10809
+ "Top Left"
10601
10810
  ]
10602
10811
  }
10603
10812
  }
@@ -10607,22 +10816,20 @@ const metadata$w = {
10607
10816
  "name": "🟢 Callout",
10608
10817
  "key": "ec46d38baac3c367c4a5ffa47a2110d51ba0a4fe",
10609
10818
  "componentPropertyDefinitions": {
10610
- "Show Icon#12598:229": {
10819
+ "Prefix Icon#35087:0": {
10820
+ "type": "INSTANCE_SWAP",
10821
+ "preferredValues": []
10822
+ },
10823
+ "Show Prefix Icon#35087:1": {
10611
10824
  "type": "BOOLEAN"
10612
10825
  },
10613
- "Icon#12598:210": {
10614
- "type": "INSTANCE_SWAP",
10615
- "preferredValues": [
10616
- {
10617
- "type": "COMPONENT_SET",
10618
- "key": "f2c04b68b0bec4ec9145d832de45947030d3b653"
10619
- }
10620
- ]
10826
+ "Pressed#35087:2": {
10827
+ "type": "BOOLEAN"
10621
10828
  },
10622
10829
  "Interaction": {
10623
10830
  "type": "VARIANT",
10624
10831
  "variantOptions": [
10625
- "Default",
10832
+ "Display",
10626
10833
  "Actionable",
10627
10834
  "Dismissible"
10628
10835
  ]
@@ -10637,25 +10844,18 @@ const metadata$w = {
10637
10844
  "Magic"
10638
10845
  ]
10639
10846
  },
10640
- "State": {
10641
- "type": "VARIANT",
10642
- "variantOptions": [
10643
- "Enabled",
10644
- "Pressed"
10645
- ]
10646
- },
10647
10847
  "Show Title": {
10648
10848
  "type": "VARIANT",
10649
10849
  "variantOptions": [
10650
- "True",
10651
- "False"
10850
+ "False",
10851
+ "True"
10652
10852
  ]
10653
10853
  },
10654
- "Show Link Label": {
10854
+ "Show Link Text": {
10655
10855
  "type": "VARIANT",
10656
10856
  "variantOptions": [
10657
- "True",
10658
- "False"
10857
+ "False",
10858
+ "True"
10659
10859
  ]
10660
10860
  }
10661
10861
  }
@@ -10694,61 +10894,60 @@ const metadata$v = {
10694
10894
  "variantOptions": [
10695
10895
  "Enabled",
10696
10896
  "Pressed",
10897
+ "Disabled",
10697
10898
  "Selected",
10698
10899
  "Selected-Pressed",
10900
+ "Selected-Disabled",
10699
10901
  "Indeterminate",
10700
10902
  "Indeterminate-Pressed",
10701
- "Disabled",
10702
- "Disabled-Selected",
10703
- "Disabled-Indeterminate"
10903
+ "Indeterminate-Disabled"
10704
10904
  ]
10705
10905
  }
10706
10906
  }
10707
10907
  };
10708
10908
 
10709
10909
  const metadata$u = {
10710
- "name": "🟢 Chip Tablist",
10711
- "key": "d098159beacf7713e9116f0ef38d8a20f64ec84f",
10910
+ "name": "🟢 Checkmark",
10911
+ "key": "fae60fb392f55bde60de1dbccb2f453320068805",
10712
10912
  "componentPropertyDefinitions": {
10713
- "Tab Count": {
10913
+ "Shape": {
10714
10914
  "type": "VARIANT",
10715
10915
  "variantOptions": [
10716
- "2",
10717
- "3",
10718
- "4",
10719
- "5",
10720
- "6",
10721
- "Max"
10916
+ "Square",
10917
+ "Ghost"
10722
10918
  ]
10723
10919
  },
10724
- "Variant": {
10920
+ "Size": {
10725
10921
  "type": "VARIANT",
10726
10922
  "variantOptions": [
10727
- "Neutral Solid",
10728
- "Brand Solid"
10923
+ "Medium",
10924
+ "Large"
10925
+ ]
10926
+ },
10927
+ "State": {
10928
+ "type": "VARIANT",
10929
+ "variantOptions": [
10930
+ "Enabled",
10931
+ "Pressed",
10932
+ "Selected",
10933
+ "Selected-Pressed",
10934
+ "Indeterminate",
10935
+ "Indeterminate-Pressed",
10936
+ "Disabled",
10937
+ "Disabled-Selected",
10938
+ "Disabled-Indeterminate"
10729
10939
  ]
10730
10940
  }
10731
10941
  }
10732
10942
  };
10733
10943
 
10734
10944
  const metadata$t = {
10735
- "name": "🟢 Control Chip",
10736
- "key": "5780d56fc2f9bc4bbd6bc3db93949d8a8b7b7563",
10945
+ "name": "🟢 Chip",
10946
+ "key": "8156ef08d9aaa2b0de1cc4a113ec0c9d0586f831",
10737
10947
  "componentPropertyDefinitions": {
10738
- "Suffix Icon#8722:82": {
10739
- "type": "INSTANCE_SWAP",
10740
- "preferredValues": []
10741
- },
10742
10948
  "Label#7185:0": {
10743
10949
  "type": "TEXT"
10744
10950
  },
10745
- "Show Count#7185:42": {
10746
- "type": "BOOLEAN"
10747
- },
10748
- "Icon#8722:41": {
10749
- "type": "INSTANCE_SWAP",
10750
- "preferredValues": []
10751
- },
10752
10951
  "Prefix Icon#8722:0": {
10753
10952
  "type": "INSTANCE_SWAP",
10754
10953
  "preferredValues": [
@@ -10758,24 +10957,48 @@ const metadata$t = {
10758
10957
  }
10759
10958
  ]
10760
10959
  },
10761
- "Count#7185:21": {
10762
- "type": "TEXT"
10960
+ "Suffix Type#32538:0": {
10961
+ "type": "INSTANCE_SWAP",
10962
+ "preferredValues": [
10963
+ {
10964
+ "type": "COMPONENT",
10965
+ "key": "27343e0e5ab2c66948e9b10fde03d58b5e037212"
10966
+ },
10967
+ {
10968
+ "type": "COMPONENT",
10969
+ "key": "5f0d74c959c49dadf5920b19c6267924982ab130"
10970
+ },
10971
+ {
10972
+ "type": "COMPONENT",
10973
+ "key": "a1233c35c4368aba2439d39bc8aedc37cf95bd86"
10974
+ },
10975
+ {
10976
+ "type": "COMPONENT_SET",
10977
+ "key": "43b6e51bc372e108a4ee17fbf4c75800d95f4b8c"
10978
+ },
10979
+ {
10980
+ "type": "COMPONENT_SET",
10981
+ "key": "df43b92004c850e7c6d2869e7a4ba1ef9a2d7db6"
10982
+ }
10983
+ ]
10763
10984
  },
10764
- "Size": {
10985
+ "Has Suffix#32538:181": {
10986
+ "type": "BOOLEAN"
10987
+ },
10988
+ "Variant": {
10765
10989
  "type": "VARIANT",
10766
10990
  "variantOptions": [
10767
- "Medium",
10768
- "Small"
10991
+ "Solid",
10992
+ "Outline Strong",
10993
+ "Outline Weak"
10769
10994
  ]
10770
10995
  },
10771
- "Layout": {
10996
+ "Size": {
10772
10997
  "type": "VARIANT",
10773
10998
  "variantOptions": [
10774
- "Text Only",
10775
- "Icon First",
10776
- "Icon Last",
10777
- "Icon Both",
10778
- "Icon Only"
10999
+ "Large",
11000
+ "Medium",
11001
+ "Small"
10779
11002
  ]
10780
11003
  },
10781
11004
  "State": {
@@ -10783,161 +11006,121 @@ const metadata$t = {
10783
11006
  "variantOptions": [
10784
11007
  "Enabled",
10785
11008
  "Pressed",
10786
- "Selected",
10787
- "Selected-Pressed",
10788
- "Disabled",
10789
- "Disabled-Selected"
10790
- ]
10791
- }
10792
- }
10793
- };
10794
-
10795
- const metadata$s = {
10796
- "name": "🟢 Divider",
10797
- "key": "848e953725f757ea1a79e1fecc0b608a035032d3",
10798
- "componentPropertyDefinitions": {
10799
- "Tone": {
10800
- "type": "VARIANT",
10801
- "variantOptions": [
10802
- "Neutral",
10803
- "Neutral Muted"
11009
+ "Disabled"
10804
11010
  ]
10805
- }
10806
- }
10807
- };
10808
-
10809
- const metadata$r = {
10810
- "name": "🟢 Error State",
10811
- "key": "39b4ecd0b5b4d35f4dc5791765ca04aa062a5172",
10812
- "componentPropertyDefinitions": {
10813
- "Secondary Action Label#17042:0": {
10814
- "type": "TEXT"
10815
- },
10816
- "Title#16237:0": {
10817
- "type": "TEXT"
10818
- },
10819
- "Description#16237:5": {
10820
- "type": "TEXT"
10821
- },
10822
- "Show Buttons#9080:5": {
10823
- "type": "BOOLEAN"
10824
11011
  },
10825
- "Variant": {
11012
+ "Selected": {
10826
11013
  "type": "VARIANT",
10827
11014
  "variantOptions": [
10828
- "Default",
10829
- "Basement"
11015
+ "False",
11016
+ "True"
10830
11017
  ]
10831
11018
  },
10832
- "Layout": {
11019
+ "Prefix Type": {
10833
11020
  "type": "VARIANT",
10834
11021
  "variantOptions": [
10835
- "With Title",
10836
- "Description Only"
11022
+ "None",
11023
+ "Icon",
11024
+ "Avatar",
11025
+ "Image"
10837
11026
  ]
10838
11027
  }
10839
11028
  }
10840
11029
  };
10841
11030
 
10842
- const metadata$q = {
10843
- "name": "🟢 Extended Action Sheet",
10844
- "key": "cd4cf8a850bf3de87b79080b36b421a649bf3fcb",
11031
+ const metadata$s = {
11032
+ "name": "🟢 Chlid",
11033
+ "key": "aa9ffdd60fbfdea42f0d11162cd64f4b4389ddcc",
10845
11034
  "componentPropertyDefinitions": {
10846
- "Show Title#17043:12": {
10847
- "type": "BOOLEAN"
10848
- },
10849
- "OS Indicator (Figma Only)#81637:129": {
10850
- "type": "BOOLEAN"
10851
- },
10852
- "Description#14599:13": {
10853
- "type": "TEXT"
10854
- },
10855
- "Title#14599:0": {
10856
- "type": "TEXT"
10857
- },
10858
11035
  "Type": {
10859
11036
  "type": "VARIANT",
10860
11037
  "variantOptions": [
10861
- "Normal",
10862
- "Destructive"
10863
- ]
10864
- },
10865
- "Action Group Count": {
10866
- "type": "VARIANT",
10867
- "variantOptions": [
10868
- "1",
10869
- "2"
11038
+ "Child",
11039
+ "Text",
11040
+ "Slot"
10870
11041
  ]
10871
11042
  }
10872
11043
  }
10873
11044
  };
10874
11045
 
10875
- const metadata$p = {
10876
- "name": "🟢 Extended Floating Action Button",
11046
+ const metadata$r = {
11047
+ "name": "🟢 Contextual Floating Button",
10877
11048
  "key": "032f3fddaad0aa3fa5a7f680768c1f5d02fb463f",
10878
11049
  "componentPropertyDefinitions": {
10879
- "Label#28936:0": {
10880
- "type": "TEXT"
10881
- },
10882
11050
  "Icon#28796:0": {
10883
11051
  "type": "INSTANCE_SWAP",
10884
11052
  "preferredValues": []
10885
11053
  },
10886
- "Size": {
11054
+ "Label#28936:0": {
11055
+ "type": "TEXT"
11056
+ },
11057
+ "Layout": {
10887
11058
  "type": "VARIANT",
10888
11059
  "variantOptions": [
10889
- "Small",
10890
- "Medium"
11060
+ "Icon First",
11061
+ "Icon Only"
10891
11062
  ]
10892
11063
  },
10893
11064
  "Variant": {
10894
11065
  "type": "VARIANT",
10895
11066
  "variantOptions": [
10896
- "Neutral Solid",
10897
- "Layer Floating"
11067
+ "Solid",
11068
+ "Layer"
10898
11069
  ]
10899
11070
  },
10900
11071
  "State": {
10901
11072
  "type": "VARIANT",
10902
11073
  "variantOptions": [
10903
11074
  "Enabled",
10904
- "Pressed"
11075
+ "Pressed",
11076
+ "Loading",
11077
+ "Disabled"
10905
11078
  ]
10906
11079
  }
10907
11080
  }
10908
11081
  };
10909
11082
 
10910
- const metadata$o = {
11083
+ const metadata$q = {
11084
+ "name": "🟢 Divider",
11085
+ "key": "848e953725f757ea1a79e1fecc0b608a035032d3",
11086
+ "componentPropertyDefinitions": {
11087
+ "Tone": {
11088
+ "type": "VARIANT",
11089
+ "variantOptions": [
11090
+ "Neutral",
11091
+ "Neutral Muted"
11092
+ ]
11093
+ }
11094
+ }
11095
+ };
11096
+
11097
+ const metadata$p = {
10911
11098
  "name": "🟢 Floating Action Button",
10912
- "key": "1974b94703032585bb9e20bd54743e01094b965c",
11099
+ "key": "65f9e7eede627b893fb8ff94ed9a7d0db900c464",
10913
11100
  "componentPropertyDefinitions": {
10914
- "Icon#28796:0": {
10915
- "type": "INSTANCE_SWAP",
10916
- "preferredValues": []
10917
- },
10918
- "State": {
11101
+ "Type": {
10919
11102
  "type": "VARIANT",
10920
11103
  "variantOptions": [
10921
- "Enabled",
10922
- "Pressed"
11104
+ "Button",
11105
+ "Menu"
10923
11106
  ]
10924
11107
  }
10925
11108
  }
10926
11109
  };
10927
11110
 
10928
- const metadata$n = {
11111
+ const metadata$o = {
10929
11112
  "name": "🟢 Help Bubble",
10930
11113
  "key": "804b327c091278a40d5891939eaed90bb2889659",
10931
11114
  "componentPropertyDefinitions": {
11115
+ "Show Description#62499:0": {
11116
+ "type": "BOOLEAN"
11117
+ },
10932
11118
  "Title#62535:0": {
10933
11119
  "type": "TEXT"
10934
11120
  },
10935
11121
  "Description#62535:98": {
10936
11122
  "type": "TEXT"
10937
11123
  },
10938
- "Show Description#62499:0": {
10939
- "type": "BOOLEAN"
10940
- },
10941
11124
  "Placement": {
10942
11125
  "type": "VARIANT",
10943
11126
  "variantOptions": [
@@ -10954,41 +11137,20 @@ const metadata$n = {
10954
11137
  "Top-Center",
10955
11138
  "Top-Right"
10956
11139
  ]
10957
- },
10958
- "Show Close Button": {
10959
- "type": "VARIANT",
10960
- "variantOptions": [
10961
- "True",
10962
- "False"
10963
- ]
10964
11140
  }
10965
11141
  }
10966
11142
  };
10967
11143
 
10968
- const metadata$m = {
10969
- "name": "🟢 Identity Placeholder",
10970
- "key": "808206c07408aa1056ec85a55925e9844e9265c2",
10971
- "componentPropertyDefinitions": {
10972
- "Identity": {
10973
- "type": "VARIANT",
10974
- "variantOptions": [
10975
- "Person",
10976
- "Business"
10977
- ]
10978
- }
10979
- }
10980
- };
10981
-
10982
- const metadata$l = {
11144
+ const metadata$n = {
10983
11145
  "name": "🟢 Inline Banner",
10984
11146
  "key": "ce587d0f21754af05240cb32a4880227cb0ea1e1",
10985
11147
  "componentPropertyDefinitions": {
10986
- "Show Icon#11840:27": {
10987
- "type": "BOOLEAN"
10988
- },
10989
11148
  "Link Label#1547:81": {
10990
11149
  "type": "TEXT"
10991
11150
  },
11151
+ "Show Icon#11840:27": {
11152
+ "type": "BOOLEAN"
11153
+ },
10992
11154
  "Interaction": {
10993
11155
  "type": "VARIANT",
10994
11156
  "variantOptions": [
@@ -11020,14 +11182,14 @@ const metadata$l = {
11020
11182
  }
11021
11183
  };
11022
11184
 
11023
- const metadata$k = {
11185
+ const metadata$m = {
11024
11186
  "name": "🟢 Main Tab Navigation / Global",
11025
11187
  "key": "a694a1da14a5c1d7d5c66bc78218c0c61fb388ab",
11026
11188
  "componentPropertyDefinitions": {
11027
- "Button Label#6409:18": {
11189
+ "Title#6406:6": {
11028
11190
  "type": "TEXT"
11029
11191
  },
11030
- "Title#6406:6": {
11192
+ "Button Label#6409:18": {
11031
11193
  "type": "TEXT"
11032
11194
  },
11033
11195
  "Title Type": {
@@ -11047,7 +11209,7 @@ const metadata$k = {
11047
11209
  }
11048
11210
  };
11049
11211
 
11050
- const metadata$j = {
11212
+ const metadata$l = {
11051
11213
  "name": "🟢 Main Tab Navigation / KR",
11052
11214
  "key": "41d3601e6b4c632a56cdc8fad485a76c026fdd8e",
11053
11215
  "componentPropertyDefinitions": {
@@ -11071,11 +11233,11 @@ const metadata$j = {
11071
11233
  }
11072
11234
  };
11073
11235
 
11074
- const metadata$i = {
11236
+ const metadata$k = {
11075
11237
  "name": "🟢 Manner Temp",
11076
- "key": "030dc68a26c24c37090c8b95ae21043855b5d589",
11238
+ "key": "37c0a35f73a730fdfba7929cea91a7590fc93733",
11077
11239
  "componentPropertyDefinitions": {
11078
- "State": {
11240
+ "Level": {
11079
11241
  "type": "VARIANT",
11080
11242
  "variantOptions": [
11081
11243
  "L1 (~29.9)",
@@ -11089,21 +11251,15 @@ const metadata$i = {
11089
11251
  }
11090
11252
  };
11091
11253
 
11092
- const metadata$h = {
11093
- "name": "🟢 Manner Temp (Bar)",
11094
- "key": "49ca92c450fb5d450be00f69fae709dbb8edc494",
11254
+ const metadata$j = {
11255
+ "name": "🟢 Manner Temp Badge",
11256
+ "key": "3ef9a84d4d80046ff9a581136bd56269554a6e00",
11095
11257
  "componentPropertyDefinitions": {
11096
- "Size": {
11258
+ "Level": {
11097
11259
  "type": "VARIANT",
11098
11260
  "variantOptions": [
11099
- "Medium"
11100
- ]
11101
- },
11102
- "State": {
11103
- "type": "VARIANT",
11104
- "variantOptions": [
11105
- "L1 (29.9 이하)",
11106
- "L2 (29.9~36.2)",
11261
+ "L1 (~29.9)",
11262
+ "L2 (30.0~36.2)",
11107
11263
  "L3 (36.3~37.5)",
11108
11264
  "L4 (37.6~41.9)",
11109
11265
  "L5 (42~51.9)",
@@ -11113,63 +11269,82 @@ const metadata$h = {
11113
11269
  }
11114
11270
  };
11115
11271
 
11116
- const metadata$g = {
11117
- "name": "🟢 Manner Temp Badge",
11118
- "key": "ac5331cec7a2c75b671df5b85ef247dfd820dd2f",
11272
+ const metadata$i = {
11273
+ "name": "🟢 Menu Sheet",
11274
+ "key": "cd4cf8a850bf3de87b79080b36b421a649bf3fcb",
11119
11275
  "componentPropertyDefinitions": {
11120
- "State": {
11276
+ "Title Text#14599:0": {
11277
+ "type": "TEXT"
11278
+ },
11279
+ "Show Header#17043:12": {
11280
+ "type": "BOOLEAN"
11281
+ },
11282
+ "Description Text#21827:0": {
11283
+ "type": "TEXT"
11284
+ },
11285
+ "Show Safe Area#25531:15": {
11286
+ "type": "BOOLEAN"
11287
+ },
11288
+ "Show Description#32984:0": {
11289
+ "type": "BOOLEAN"
11290
+ },
11291
+ "Menu Group Count": {
11121
11292
  "type": "VARIANT",
11122
11293
  "variantOptions": [
11123
- "L1 (~29.9)",
11124
- "L2 (30.0~36.2)",
11125
- "L3 (36.3~37.5)",
11126
- "L4 (37.6~41.9)",
11127
- "L5 (42~51.9)",
11128
- "L6 (52~)"
11294
+ "2",
11295
+ "3",
11296
+ "1"
11297
+ ]
11298
+ },
11299
+ "Layout": {
11300
+ "type": "VARIANT",
11301
+ "variantOptions": [
11302
+ "Text Only",
11303
+ "Text with Icon"
11129
11304
  ]
11130
11305
  }
11131
11306
  }
11132
11307
  };
11133
11308
 
11134
- const metadata$f = {
11309
+ const metadata$h = {
11135
11310
  "name": "🟢 Multiline Text Field",
11136
11311
  "key": "88b2399c930c85f9ce2972163a078bc684b84bbe",
11137
11312
  "componentPropertyDefinitions": {
11138
- "Indicator#15327:286": {
11139
- "type": "TEXT"
11140
- },
11141
- "Character Count#15327:360": {
11142
- "type": "TEXT"
11313
+ "Show Header#870:0": {
11314
+ "type": "BOOLEAN"
11143
11315
  },
11144
- "Max Character Count#15327:175": {
11316
+ "Placeholder#958:0": {
11145
11317
  "type": "TEXT"
11146
11318
  },
11147
- "Label#15327:323": {
11148
- "type": "TEXT"
11319
+ "Show Footer#958:25": {
11320
+ "type": "BOOLEAN"
11149
11321
  },
11150
- "Filled Text#1304:0": {
11151
- "type": "TEXT"
11322
+ "Show Description#958:50": {
11323
+ "type": "BOOLEAN"
11152
11324
  },
11153
11325
  "Show Character count#958:75": {
11154
11326
  "type": "BOOLEAN"
11155
11327
  },
11156
- "Show Footer#958:25": {
11328
+ "Show Indicator#1259:0": {
11157
11329
  "type": "BOOLEAN"
11158
11330
  },
11159
- "Show Description#958:50": {
11160
- "type": "BOOLEAN"
11331
+ "Filled Text#1304:0": {
11332
+ "type": "TEXT"
11333
+ },
11334
+ "Max Character Count#15327:175": {
11335
+ "type": "TEXT"
11161
11336
  },
11162
11337
  "Description#15327:212": {
11163
11338
  "type": "TEXT"
11164
11339
  },
11165
- "Show Indicator#1259:0": {
11166
- "type": "BOOLEAN"
11340
+ "Indicator#15327:286": {
11341
+ "type": "TEXT"
11167
11342
  },
11168
- "Placeholder#958:0": {
11343
+ "Label#15327:323": {
11169
11344
  "type": "TEXT"
11170
11345
  },
11171
- "Show Header#870:0": {
11172
- "type": "BOOLEAN"
11346
+ "Character Count#15327:360": {
11347
+ "type": "TEXT"
11173
11348
  },
11174
11349
  "Size": {
11175
11350
  "type": "VARIANT",
@@ -11200,7 +11375,7 @@ const metadata$f = {
11200
11375
  }
11201
11376
  };
11202
11377
 
11203
- const metadata$e = {
11378
+ const metadata$g = {
11204
11379
  "name": "🟢 Progress Circle",
11205
11380
  "key": "6e6779a372cab2485a0e25529bc4dbc9932a7346",
11206
11381
  "componentPropertyDefinitions": {
@@ -11216,7 +11391,8 @@ const metadata$e = {
11216
11391
  "variantOptions": [
11217
11392
  "Neutral",
11218
11393
  "Brand",
11219
- "Static White"
11394
+ "Static White",
11395
+ "Custom"
11220
11396
  ]
11221
11397
  },
11222
11398
  "Value": {
@@ -11232,7 +11408,7 @@ const metadata$e = {
11232
11408
  }
11233
11409
  };
11234
11410
 
11235
- const metadata$d = {
11411
+ const metadata$f = {
11236
11412
  "name": "🟢 Radio",
11237
11413
  "key": "ac72d9e5ab04a1d59eaf77dffd380fd6e491ecf8",
11238
11414
  "componentPropertyDefinitions": {
@@ -11251,16 +11427,51 @@ const metadata$d = {
11251
11427
  "variantOptions": [
11252
11428
  "Enabled",
11253
11429
  "Pressed",
11430
+ "Disabled",
11254
11431
  "Selected",
11255
11432
  "Selected-Pressed",
11256
- "Disabled",
11257
- "Disabled-Selected"
11433
+ "Selected-Disabled"
11258
11434
  ]
11259
11435
  }
11260
11436
  }
11261
11437
  };
11262
11438
 
11263
- const metadata$c = {
11439
+ const metadata$e = {
11440
+ "name": "🟢 Radio Mark",
11441
+ "key": "832d696d6e9566610968cd70f128f500ec009d6a",
11442
+ "componentPropertyDefinitions": {
11443
+ "Size": {
11444
+ "type": "VARIANT",
11445
+ "variantOptions": [
11446
+ "Medium",
11447
+ "Large"
11448
+ ]
11449
+ },
11450
+ "Selected": {
11451
+ "type": "VARIANT",
11452
+ "variantOptions": [
11453
+ "True",
11454
+ "False"
11455
+ ]
11456
+ },
11457
+ "Pressed": {
11458
+ "type": "VARIANT",
11459
+ "variantOptions": [
11460
+ "True",
11461
+ "False"
11462
+ ]
11463
+ },
11464
+ "Disabled": {
11465
+ "type": "VARIANT",
11466
+ "variantOptions": [
11467
+ "True",
11468
+ "False"
11469
+ ]
11470
+ }
11471
+ }
11472
+ };
11473
+
11474
+ const metadata$d = {
11264
11475
  "name": "🟢 Range Slider",
11265
11476
  "key": "64fc49184979e0be40aa367ca98868601eb7dad5",
11266
11477
  "componentPropertyDefinitions": {
@@ -11292,21 +11503,21 @@ const metadata$c = {
11292
11503
  }
11293
11504
  };
11294
11505
 
11295
- const metadata$b = {
11506
+ const metadata$c = {
11296
11507
  "name": "🟢 Reaction Button",
11297
11508
  "key": "ec43e4e881f7048e95601f8b58c01a0905a174e0",
11298
11509
  "componentPropertyDefinitions": {
11299
- "Icon#12379:0": {
11300
- "type": "INSTANCE_SWAP",
11301
- "preferredValues": []
11510
+ "Label#6397:0": {
11511
+ "type": "TEXT"
11302
11512
  },
11303
11513
  "Show Count#6397:33": {
11304
11514
  "type": "BOOLEAN"
11305
11515
  },
11306
- "Count#15816:0": {
11307
- "type": "TEXT"
11516
+ "Icon#12379:0": {
11517
+ "type": "INSTANCE_SWAP",
11518
+ "preferredValues": []
11308
11519
  },
11309
- "Label#6397:0": {
11520
+ "Count#15816:0": {
11310
11521
  "type": "TEXT"
11311
11522
  },
11312
11523
  "Size": {
@@ -11332,7 +11543,45 @@ const metadata$b = {
11332
11543
  }
11333
11544
  };
11334
11545
 
11546
+ const metadata$b = {
11547
+ "name": "🟢 Resizable.Icon",
11548
+ "key": "1f74eedb6fb186fd201d6ad5b2dbcd46a2bddf3e",
11549
+ "componentPropertyDefinitions": {
11550
+ "Size": {
11551
+ "type": "VARIANT",
11552
+ "variantOptions": [
11553
+ "12",
11554
+ "14",
11555
+ "16",
11556
+ "20",
11557
+ "24",
11558
+ "28",
11559
+ "32"
11560
+ ]
11561
+ }
11562
+ }
11563
+ };
11564
+
11335
11565
  const metadata$a = {
11566
+ "name": "🟢 ResizableChild",
11567
+ "key": "df43b92004c850e7c6d2869e7a4ba1ef9a2d7db6",
11568
+ "componentPropertyDefinitions": {
11569
+ "Size": {
11570
+ "type": "VARIANT",
11571
+ "variantOptions": [
11572
+ "12",
11573
+ "14",
11574
+ "16",
11575
+ "20",
11576
+ "24",
11577
+ "28",
11578
+ "32"
11579
+ ]
11580
+ }
11581
+ }
11582
+ };
11583
+
11584
+ const metadata$9 = {
11336
11585
  "name": "🟢 Segmented Control",
11337
11586
  "key": "3ad7133ba52755867f42f9232375f75639e00d58",
11338
11587
  "componentPropertyDefinitions": {
@@ -11356,18 +11605,18 @@ const metadata$a = {
11356
11605
  }
11357
11606
  };
11358
11607
 
11359
- const metadata$9 = {
11608
+ const metadata$8 = {
11360
11609
  "name": "🟢 Select Box",
11361
11610
  "key": "38722ffeb4c966256a709155e8ddac50c93d7c60",
11362
11611
  "componentPropertyDefinitions": {
11363
- "Label#3635:0": {
11364
- "type": "TEXT"
11612
+ "Show Description#3033:0": {
11613
+ "type": "BOOLEAN"
11365
11614
  },
11366
11615
  "Description #3033:5": {
11367
11616
  "type": "TEXT"
11368
11617
  },
11369
- "Show Description#3033:0": {
11370
- "type": "BOOLEAN"
11618
+ "Label#3635:0": {
11619
+ "type": "TEXT"
11371
11620
  },
11372
11621
  "Control": {
11373
11622
  "type": "VARIANT",
@@ -11388,7 +11637,7 @@ const metadata$9 = {
11388
11637
  }
11389
11638
  };
11390
11639
 
11391
- const metadata$8 = {
11640
+ const metadata$7 = {
11392
11641
  "name": "🟢 Skeleton",
11393
11642
  "key": "ef22c3288722fbfa64a5ab73df397ade88f8e05a",
11394
11643
  "componentPropertyDefinitions": {
@@ -11400,11 +11649,18 @@ const metadata$8 = {
11400
11649
  "16",
11401
11650
  "Full"
11402
11651
  ]
11652
+ },
11653
+ "Tone": {
11654
+ "type": "VARIANT",
11655
+ "variantOptions": [
11656
+ "Magic",
11657
+ "Neutral"
11658
+ ]
11403
11659
  }
11404
11660
  }
11405
11661
  };
11406
11662
 
11407
- const metadata$7 = {
11663
+ const metadata$6 = {
11408
11664
  "name": "🟢 Slider",
11409
11665
  "key": "aee027230a478315e380704c4523141e67e464ee",
11410
11666
  "componentPropertyDefinitions": {
@@ -11436,18 +11692,18 @@ const metadata$7 = {
11436
11692
  }
11437
11693
  };
11438
11694
 
11439
- const metadata$6 = {
11695
+ const metadata$5 = {
11440
11696
  "name": "🟢 Snackbar",
11441
11697
  "key": "81b17fb8c7d731a19cf8d36a8605559d41414eca",
11442
11698
  "componentPropertyDefinitions": {
11443
- "Action Button Label#1528:8": {
11444
- "type": "TEXT"
11699
+ "Show Action#1528:0": {
11700
+ "type": "BOOLEAN"
11445
11701
  },
11446
11702
  "Message#1528:4": {
11447
11703
  "type": "TEXT"
11448
11704
  },
11449
- "Show Action Button#1528:0": {
11450
- "type": "BOOLEAN"
11705
+ "Action Label#1528:8": {
11706
+ "type": "TEXT"
11451
11707
  },
11452
11708
  "Variant": {
11453
11709
  "type": "VARIANT",
@@ -11460,30 +11716,6 @@ const metadata$6 = {
11460
11716
  }
11461
11717
  };
11462
11718
 
11463
- const metadata$5 = {
11464
- "name": "🟢 Standard Navigation",
11465
- "key": "c07bfe331cf214375fce9ad47cb6fdb459d1fb1b",
11466
- "componentPropertyDefinitions": {
11467
- "Title#28176:5": {
11468
- "type": "BOOLEAN"
11469
- },
11470
- "Variant": {
11471
- "type": "VARIANT",
11472
- "variantOptions": [
11473
- "Layer Default",
11474
- "Transparent"
11475
- ]
11476
- },
11477
- "OS": {
11478
- "type": "VARIANT",
11479
- "variantOptions": [
11480
- "iOS",
11481
- "Android"
11482
- ]
11483
- }
11484
- }
11485
- };
11486
-
11487
11719
  const metadata$4 = {
11488
11720
  "name": "🟢 Switch",
11489
11721
  "key": "80ce5a33b5ab713ab3bd2449472e2fb13d78c7f3",
@@ -11504,166 +11736,103 @@ const metadata$4 = {
11504
11736
  "Enabled",
11505
11737
  "Selected",
11506
11738
  "Disabled",
11507
- "Disabled-Selected"
11739
+ "Selected-Disabled"
11508
11740
  ]
11509
11741
  }
11510
11742
  }
11511
11743
  };
11512
11744
 
11513
11745
  const metadata$3 = {
11514
- "name": "🟢 Tablist",
11515
- "key": "ffe33411fb8796f7a95d3637b90150007f0dd954",
11746
+ "name": "🟢 Tabs",
11747
+ "key": "3e3af9f7f235cbcbbe862d5da552ab23e16ff34e",
11516
11748
  "componentPropertyDefinitions": {
11517
- "Size": {
11518
- "type": "VARIANT",
11519
- "variantOptions": [
11520
- "Small",
11521
- "Medium"
11522
- ]
11523
- },
11524
- "Layout": {
11525
- "type": "VARIANT",
11526
- "variantOptions": [
11527
- "Hug",
11528
- "Fill"
11529
- ]
11530
- },
11531
- "Tab Count": {
11749
+ "Variant": {
11532
11750
  "type": "VARIANT",
11533
11751
  "variantOptions": [
11534
- "2",
11535
- "3",
11536
- "4",
11537
- "5+"
11752
+ "Underline",
11753
+ "Chip"
11538
11754
  ]
11539
11755
  }
11540
11756
  }
11541
11757
  };
11542
11758
 
11543
11759
  const metadata$2 = {
11544
- "name": "🟢 Text Button",
11545
- "key": "601f788792916250e33d04bd3165dee1404342df",
11546
- "componentPropertyDefinitions": {
11547
- "Prefix Icon#7561:0": {
11548
- "type": "INSTANCE_SWAP",
11549
- "preferredValues": []
11550
- },
11551
- "Label#6148:0": {
11552
- "type": "TEXT"
11553
- },
11554
- "Size": {
11555
- "type": "VARIANT",
11556
- "variantOptions": [
11557
- "Small",
11558
- "Medium",
11559
- "Large"
11560
- ]
11561
- },
11562
- "Layout": {
11563
- "type": "VARIANT",
11564
- "variantOptions": [
11565
- "Icon First",
11566
- "Icon Last"
11567
- ]
11568
- },
11569
- "Tone": {
11570
- "type": "VARIANT",
11571
- "variantOptions": [
11572
- "Neutral",
11573
- "Neutral Subtle",
11574
- "Brand",
11575
- "Critical"
11576
- ]
11577
- },
11578
- "State": {
11579
- "type": "VARIANT",
11580
- "variantOptions": [
11581
- "Enabled",
11582
- "Pressed",
11583
- "Disabled"
11584
- ]
11585
- }
11586
- }
11587
- };
11588
-
11589
- const metadata$1 = {
11590
11760
  "name": "🟢 Text Field",
11591
11761
  "key": "c49873c37a639f0dffdea4efd0eb43760d66c141",
11592
11762
  "componentPropertyDefinitions": {
11593
- "Suffix Text#15327:138": {
11594
- "type": "TEXT"
11763
+ "Show Header#870:0": {
11764
+ "type": "BOOLEAN"
11595
11765
  },
11596
- "Indicator#15327:249": {
11766
+ "Placeholder#958:0": {
11597
11767
  "type": "TEXT"
11598
11768
  },
11599
- "Label#14964:0": {
11600
- "type": "TEXT"
11769
+ "Show Footer#958:25": {
11770
+ "type": "BOOLEAN"
11601
11771
  },
11602
- "Character Count#15327:64": {
11603
- "type": "TEXT"
11772
+ "Show Description#958:50": {
11773
+ "type": "BOOLEAN"
11604
11774
  },
11605
- "Description#12626:5": {
11606
- "type": "TEXT"
11775
+ "Show Character Count#958:75": {
11776
+ "type": "BOOLEAN"
11607
11777
  },
11608
- "Filled Text#1304:0": {
11609
- "type": "TEXT"
11778
+ "Show Suffix#958:100": {
11779
+ "type": "BOOLEAN"
11610
11780
  },
11611
- "Show Suffix Icon#1267:75": {
11781
+ "Show Prefix#958:125": {
11612
11782
  "type": "BOOLEAN"
11613
11783
  },
11614
- "Show Prefix Icon#1267:50": {
11784
+ "Show Indicator#1259:0": {
11785
+ "type": "BOOLEAN"
11786
+ },
11787
+ "Show Prefix Text#1267:0": {
11615
11788
  "type": "BOOLEAN"
11616
11789
  },
11617
11790
  "Prefix Icon#1267:25": {
11618
11791
  "type": "INSTANCE_SWAP",
11619
11792
  "preferredValues": []
11620
11793
  },
11621
- "Show Prefix#958:125": {
11794
+ "Show Prefix Icon#1267:50": {
11622
11795
  "type": "BOOLEAN"
11623
11796
  },
11624
- "Show Suffix#958:100": {
11797
+ "Show Suffix Icon#1267:75": {
11625
11798
  "type": "BOOLEAN"
11626
11799
  },
11627
- "Show Character Count#958:75": {
11628
- "type": "BOOLEAN"
11800
+ "Suffix Icon #1267:100": {
11801
+ "type": "INSTANCE_SWAP",
11802
+ "preferredValues": []
11629
11803
  },
11630
- "Show Footer#958:25": {
11804
+ "Show Suffix Text#1267:125": {
11631
11805
  "type": "BOOLEAN"
11632
11806
  },
11633
- "Max Character Count#15327:27": {
11807
+ "Filled Text#1304:0": {
11634
11808
  "type": "TEXT"
11635
11809
  },
11636
- "Show Prefix Text#1267:0": {
11637
- "type": "BOOLEAN"
11810
+ "Description#12626:5": {
11811
+ "type": "TEXT"
11638
11812
  },
11639
- "Show Suffix Text#1267:125": {
11640
- "type": "BOOLEAN"
11813
+ "Label#14964:0": {
11814
+ "type": "TEXT"
11641
11815
  },
11642
- "Suffix Icon #1267:100": {
11643
- "type": "INSTANCE_SWAP",
11644
- "preferredValues": []
11816
+ "Max Character Count#15327:27": {
11817
+ "type": "TEXT"
11645
11818
  },
11646
- "Show Description#958:50": {
11647
- "type": "BOOLEAN"
11819
+ "Character Count#15327:64": {
11820
+ "type": "TEXT"
11648
11821
  },
11649
11822
  "Prefix Text#15327:101": {
11650
11823
  "type": "TEXT"
11651
11824
  },
11652
- "Show Indicator#1259:0": {
11653
- "type": "BOOLEAN"
11654
- },
11655
- "Placeholder#958:0": {
11825
+ "Suffix Text#15327:138": {
11656
11826
  "type": "TEXT"
11657
11827
  },
11658
- "Show Header#870:0": {
11659
- "type": "BOOLEAN"
11828
+ "Indicator#15327:249": {
11829
+ "type": "TEXT"
11660
11830
  },
11661
11831
  "Size": {
11662
11832
  "type": "VARIANT",
11663
11833
  "variantOptions": [
11664
11834
  "Medium",
11665
- "Large",
11666
- "XLarge"
11835
+ "Large(Default)"
11667
11836
  ]
11668
11837
  },
11669
11838
  "State": {
@@ -11687,26 +11856,26 @@ const metadata$1 = {
11687
11856
  }
11688
11857
  };
11689
11858
 
11690
- const metadata = {
11859
+ const metadata$1 = {
11691
11860
  "name": "🟢 Toggle Button",
11692
11861
  "key": "1d240ee5fd7a56879713e69cbea1b6f006f0ea22",
11693
11862
  "componentPropertyDefinitions": {
11694
- "Suffix Icon#6122:343": {
11863
+ "Label#6122:49": {
11864
+ "type": "TEXT"
11865
+ },
11866
+ "Prefix Icon#6122:98": {
11695
11867
  "type": "INSTANCE_SWAP",
11696
11868
  "preferredValues": []
11697
11869
  },
11698
- "Show Prefix Icon#6122:392": {
11699
- "type": "BOOLEAN"
11700
- },
11701
11870
  "Show Suffix Icon#6122:147": {
11702
11871
  "type": "BOOLEAN"
11703
11872
  },
11704
- "Prefix Icon#6122:98": {
11873
+ "Suffix Icon#6122:343": {
11705
11874
  "type": "INSTANCE_SWAP",
11706
11875
  "preferredValues": []
11707
11876
  },
11708
- "Label#6122:49": {
11709
- "type": "TEXT"
11877
+ "Show Prefix Icon#6122:392": {
11878
+ "type": "BOOLEAN"
11710
11879
  },
11711
11880
  "Size": {
11712
11881
  "type": "VARIANT",
@@ -11738,11 +11907,53 @@ const metadata = {
11738
11907
  }
11739
11908
  };
11740
11909
 
11910
+ const metadata = {
11911
+ "name": "🟢 Top Navigation",
11912
+ "key": "f6d069d65f8ffc8b430fd8f3013910557f36e9da",
11913
+ "componentPropertyDefinitions": {
11914
+ "Show Title#33588:82": {
11915
+ "type": "BOOLEAN"
11916
+ },
11917
+ "OS (Figma Only)": {
11918
+ "type": "VARIANT",
11919
+ "variantOptions": [
11920
+ "iOS",
11921
+ "Android"
11922
+ ]
11923
+ },
11924
+ "Variant": {
11925
+ "type": "VARIANT",
11926
+ "variantOptions": [
11927
+ "Layer Default",
11928
+ "Transparent"
11929
+ ]
11930
+ },
11931
+ "Left": {
11932
+ "type": "VARIANT",
11933
+ "variantOptions": [
11934
+ "Back",
11935
+ "Close",
11936
+ "Custom",
11937
+ "None"
11938
+ ]
11939
+ },
11940
+ "Right": {
11941
+ "type": "VARIANT",
11942
+ "variantOptions": [
11943
+ "1 Icon Button",
11944
+ "2 Icon Button",
11945
+ "3 Icon Button",
11946
+ "Text Button",
11947
+ "None"
11948
+ ]
11949
+ }
11950
+ }
11951
+ };
11952
+
11741
11953
  var FIGMA_COMPONENTS = {
11742
11954
  __proto__: null,
11743
- actionButton: metadata$F,
11744
- actionChip: metadata$E,
11745
- actionSheet: metadata$D,
11955
+ actionButton: metadata$E,
11956
+ alertDialog: metadata$D,
11746
11957
  avatar: metadata$C,
11747
11958
  avatarStack: metadata$B,
11748
11959
  badge: metadata$A,
@@ -11751,42 +11962,43 @@ var FIGMA_COMPONENTS = {
11751
11962
  bottomSheet: metadata$x,
11752
11963
  callout: metadata$w,
11753
11964
  checkbox: metadata$v,
11754
- chipTablist: metadata$u,
11755
- controlChip: metadata$t,
11756
- divider: metadata$s,
11757
- errorState: metadata$r,
11758
- extendedActionSheet: metadata$q,
11759
- extendedFloatingActionButton: metadata$p,
11760
- floatingActionButton: metadata$o,
11761
- helpBubble: metadata$n,
11762
- identityPlaceholder: metadata$m,
11763
- inlineBanner: metadata$l,
11764
- mainTabNavigationGlobal: metadata$k,
11765
- mainTabNavigationKr: metadata$j,
11766
- mannerTemp: metadata$i,
11767
- mannerTempBadge: metadata$g,
11768
- mannerTempBar: metadata$h,
11769
- multilineTextField: metadata$f,
11770
- progressCircle: metadata$e,
11771
- radio: metadata$d,
11772
- rangeSlider: metadata$c,
11773
- reactionButton: metadata$b,
11774
- segmentedControl: metadata$a,
11775
- selectBox: metadata$9,
11776
- skeleton: metadata$8,
11777
- slider: metadata$7,
11778
- snackbar: metadata$6,
11779
- standardNavigation: metadata$5,
11965
+ checkmark: metadata$u,
11966
+ chip: metadata$t,
11967
+ chlid: metadata$s,
11968
+ contextualFloatingButton: metadata$r,
11969
+ divider: metadata$q,
11970
+ floatingActionButton: metadata$p,
11971
+ helpBubble: metadata$o,
11972
+ inlineBanner: metadata$n,
11973
+ mainTabNavigationGlobal: metadata$m,
11974
+ mainTabNavigationKr: metadata$l,
11975
+ mannerTemp: metadata$k,
11976
+ mannerTempBadge: metadata$j,
11977
+ menuSheet: metadata$i,
11978
+ multilineTextField: metadata$h,
11979
+ progressCircle: metadata$g,
11980
+ radio: metadata$f,
11981
+ radioMark: metadata$e,
11982
+ rangeSlider: metadata$d,
11983
+ reactionButton: metadata$c,
11984
+ resizableChild: metadata$a,
11985
+ resizableIcon: metadata$b,
11986
+ segmentedControl: metadata$9,
11987
+ selectBox: metadata$8,
11988
+ skeleton: metadata$7,
11989
+ slider: metadata$6,
11990
+ snackbar: metadata$5,
11780
11991
  switch: metadata$4,
11781
- tablist: metadata$3,
11782
- templateBottomFixedBar: metadata$K,
11783
- templateButtonGroup: metadata$J,
11784
- templateChipGroup: metadata$I,
11785
- templateSelectBoxGroup: metadata$H,
11786
- templateTopNavigation: metadata$G,
11787
- textButton: metadata$2,
11788
- textField: metadata$1,
11789
- toggleButton: metadata
11992
+ tabs: metadata$3,
11993
+ templateButtonGroup: metadata$K,
11994
+ templateChipGroup: metadata$J,
11995
+ templateCompletion: metadata$I,
11996
+ templateErrorState: metadata$H,
11997
+ templateSelectBoxGroup: metadata$G,
11998
+ templateTopNavigation: metadata$F,
11999
+ textField: metadata$2,
12000
+ toggleButton: metadata$1,
12001
+ topNavigation: metadata
11790
12002
  };
11791
12003
 
11792
12004
  function createStaticStyleRepository(styles) {
@@ -11969,7 +12181,10 @@ function createVariableService({ variableRepository, inferCompareFunction }) {
11969
12181
  };
11970
12182
  }
11971
12183
 
11972
- const styleRepository = createStaticStyleRepository(FIGMA_TEXT_STYLES);
12184
+ const styleRepository = createStaticStyleRepository([
12185
+ ...FIGMA_TEXT_STYLES,
12186
+ ...FIGMA_FILL_STYLES
12187
+ ]);
11973
12188
  const variableRepository = createStaticVariableRepository({
11974
12189
  variables: FIGMA_VARIABLES,
11975
12190
  variableCollections: FIGMA_VARIABLE_COLLECTIONS