@servicetitan/hammer-token 2.5.2 → 3.0.1

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 (146) hide show
  1. package/CHANGELOG.md +52 -2
  2. package/README.md +332 -0
  3. package/build/web/core/component-variables.scss +1088 -131
  4. package/build/web/core/component.d.ts +558 -0
  5. package/build/web/core/component.js +6685 -249
  6. package/build/web/core/component.scss +557 -69
  7. package/build/web/core/css-utils/a2-border.css +23 -51
  8. package/build/web/core/css-utils/a2-color.css +221 -233
  9. package/build/web/core/css-utils/a2-font.css +1 -29
  10. package/build/web/core/css-utils/a2-spacing.css +238 -483
  11. package/build/web/core/css-utils/a2-utils.css +496 -781
  12. package/build/web/core/css-utils/border.css +23 -51
  13. package/build/web/core/css-utils/color.css +221 -233
  14. package/build/web/core/css-utils/font.css +1 -29
  15. package/build/web/core/css-utils/spacing.css +238 -483
  16. package/build/web/core/css-utils/utils.css +496 -781
  17. package/build/web/core/index.d.ts +6 -0
  18. package/build/web/core/index.js +1 -1
  19. package/build/web/core/primitive-variables.scss +148 -65
  20. package/build/web/core/primitive.d.ts +209 -0
  21. package/build/web/core/primitive.js +779 -61
  22. package/build/web/core/primitive.scss +207 -124
  23. package/build/web/core/semantic-variables.scss +363 -245
  24. package/build/web/core/semantic.d.ts +221 -0
  25. package/build/web/core/semantic.js +1592 -347
  26. package/build/web/core/semantic.scss +219 -140
  27. package/build/web/index.d.ts +3 -4
  28. package/build/web/types.d.ts +17 -0
  29. package/config.js +121 -496
  30. package/eslint.config.mjs +11 -1
  31. package/package.json +15 -5
  32. package/src/global/primitive/breakpoint.tokens.json +54 -0
  33. package/src/global/primitive/color.tokens.json +1092 -0
  34. package/src/global/primitive/duration.tokens.json +44 -0
  35. package/src/global/primitive/font.tokens.json +151 -0
  36. package/src/global/primitive/radius.tokens.json +94 -0
  37. package/src/global/primitive/size.tokens.json +174 -0
  38. package/src/global/primitive/transition.tokens.json +32 -0
  39. package/src/theme/core/background.tokens.json +1312 -0
  40. package/src/theme/core/border.tokens.json +192 -0
  41. package/src/theme/core/chart.tokens.json +982 -0
  42. package/src/theme/core/component/ai-mark.tokens.json +20 -0
  43. package/src/theme/core/component/alert.tokens.json +261 -0
  44. package/src/theme/core/component/announcement.tokens.json +460 -0
  45. package/src/theme/core/component/avatar.tokens.json +137 -0
  46. package/src/theme/core/component/badge.tokens.json +42 -0
  47. package/src/theme/core/component/breadcrumb.tokens.json +42 -0
  48. package/src/theme/core/component/button-toggle.tokens.json +428 -0
  49. package/src/theme/core/component/button.tokens.json +941 -0
  50. package/src/theme/core/component/calendar.tokens.json +391 -0
  51. package/src/theme/core/component/card.tokens.json +107 -0
  52. package/src/theme/core/component/checkbox.tokens.json +631 -0
  53. package/src/theme/core/component/chip.tokens.json +169 -0
  54. package/src/theme/core/component/combobox.tokens.json +269 -0
  55. package/src/theme/core/component/details.tokens.json +152 -0
  56. package/src/theme/core/component/dialog.tokens.json +87 -0
  57. package/src/theme/core/component/divider.tokens.json +23 -0
  58. package/src/theme/core/component/dnd.tokens.json +208 -0
  59. package/src/theme/core/component/drawer.tokens.json +61 -0
  60. package/src/theme/core/component/drilldown.tokens.json +61 -0
  61. package/src/theme/core/component/edit-card.tokens.json +381 -0
  62. package/src/theme/core/component/field-label.tokens.json +42 -0
  63. package/src/theme/core/component/field-message.tokens.json +65 -0
  64. package/src/theme/core/component/icon.tokens.json +42 -0
  65. package/src/theme/core/component/link.tokens.json +108 -0
  66. package/src/theme/core/component/list-view.tokens.json +82 -0
  67. package/src/theme/core/component/listbox.tokens.json +283 -0
  68. package/src/theme/core/component/menu.tokens.json +230 -0
  69. package/src/theme/core/component/overflow.tokens.json +84 -0
  70. package/src/theme/core/component/page.tokens.json +377 -0
  71. package/src/theme/core/component/pagination.tokens.json +63 -0
  72. package/src/theme/core/component/popover.tokens.json +122 -0
  73. package/src/theme/core/component/progress-bar.tokens.json +133 -0
  74. package/src/theme/core/component/radio.tokens.json +631 -0
  75. package/src/theme/core/component/segmented-control.tokens.json +175 -0
  76. package/src/theme/core/component/select-card.tokens.json +943 -0
  77. package/src/theme/core/component/side-nav.tokens.json +349 -0
  78. package/src/theme/core/component/skeleton.tokens.json +42 -0
  79. package/src/theme/core/component/spinner.tokens.json +96 -0
  80. package/src/theme/core/component/status-icon.tokens.json +164 -0
  81. package/src/theme/core/component/stepper.tokens.json +484 -0
  82. package/src/theme/core/component/switch.tokens.json +285 -0
  83. package/src/theme/core/component/tab.tokens.json +192 -0
  84. package/src/theme/core/component/text-field.tokens.json +160 -0
  85. package/src/theme/core/component/text.tokens.json +59 -0
  86. package/src/theme/core/component/toast.tokens.json +343 -0
  87. package/src/theme/core/component/toolbar.tokens.json +114 -0
  88. package/src/theme/core/component/tooltip.tokens.json +61 -0
  89. package/src/theme/core/focus.tokens.json +56 -0
  90. package/src/theme/core/foreground.tokens.json +416 -0
  91. package/src/theme/core/gradient.tokens.json +41 -0
  92. package/src/theme/core/opacity.tokens.json +25 -0
  93. package/src/theme/core/shadow.tokens.json +81 -0
  94. package/src/theme/core/status.tokens.json +74 -0
  95. package/src/theme/core/typography.tokens.json +163 -0
  96. package/src/utils/__tests__/css-utils-format-utils.test.js +312 -0
  97. package/src/utils/__tests__/sd-build-configs.test.js +306 -0
  98. package/src/utils/__tests__/sd-formats.test.js +942 -0
  99. package/src/utils/__tests__/sd-transforms.test.js +336 -0
  100. package/src/utils/__tests__/token-helpers.test.js +1160 -0
  101. package/src/utils/copy-css-utils-cli.js +13 -1
  102. package/src/utils/css-utils-format-utils.js +105 -176
  103. package/src/utils/figma/__tests__/sync-gradient.test.js +561 -0
  104. package/src/utils/figma/__tests__/token-conversion.test.js +117 -0
  105. package/src/utils/figma/__tests__/token-resolution.test.js +231 -0
  106. package/src/utils/figma/auth.js +355 -0
  107. package/src/utils/figma/constants.js +22 -0
  108. package/src/utils/figma/errors.js +80 -0
  109. package/src/utils/figma/figma-api.js +1069 -0
  110. package/src/utils/figma/get-token.js +348 -0
  111. package/src/utils/figma/sync-components.js +909 -0
  112. package/src/utils/figma/sync-main.js +692 -0
  113. package/src/utils/figma/sync-orchestration.js +683 -0
  114. package/src/utils/figma/sync-primitives.js +230 -0
  115. package/src/utils/figma/sync-semantic.js +1056 -0
  116. package/src/utils/figma/token-conversion.js +340 -0
  117. package/src/utils/figma/token-parsing.js +186 -0
  118. package/src/utils/figma/token-resolution.js +569 -0
  119. package/src/utils/figma/utils.js +199 -0
  120. package/src/utils/sd-build-configs.js +305 -0
  121. package/src/utils/sd-formats.js +948 -0
  122. package/src/utils/sd-transforms.js +165 -0
  123. package/src/utils/token-helpers.js +848 -0
  124. package/tsconfig.json +18 -0
  125. package/vitest.config.js +17 -0
  126. package/.turbo/turbo-build.log +0 -37
  127. package/build/web/core/raw.js +0 -234
  128. package/src/global/primitive/breakpoint.js +0 -19
  129. package/src/global/primitive/color.js +0 -231
  130. package/src/global/primitive/duration.js +0 -16
  131. package/src/global/primitive/font.js +0 -60
  132. package/src/global/primitive/radius.js +0 -31
  133. package/src/global/primitive/size.js +0 -55
  134. package/src/global/primitive/transition.js +0 -16
  135. package/src/theme/core/background.js +0 -170
  136. package/src/theme/core/border.js +0 -103
  137. package/src/theme/core/charts.js +0 -464
  138. package/src/theme/core/component/button.js +0 -708
  139. package/src/theme/core/component/checkbox.js +0 -405
  140. package/src/theme/core/focus.js +0 -35
  141. package/src/theme/core/foreground.js +0 -148
  142. package/src/theme/core/overlay.js +0 -137
  143. package/src/theme/core/shadow.js +0 -29
  144. package/src/theme/core/status.js +0 -49
  145. package/src/theme/core/typography.js +0 -82
  146. package/type/types.ts +0 -344
@@ -0,0 +1,391 @@
1
+ {
2
+ "calendar": {
3
+ "cell": {
4
+ "default": {
5
+ "background": {
6
+ "color": {
7
+ "$type": "color",
8
+ "$value": "transparent",
9
+ "$extensions": {
10
+ "appearance": {
11
+ "light": {
12
+ "$type": "color",
13
+ "$value": "transparent"
14
+ },
15
+ "dark": {
16
+ "$type": "color",
17
+ "$value": "transparent"
18
+ }
19
+ },
20
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
21
+ }
22
+ },
23
+ "color-hover": {
24
+ "$type": "color",
25
+ "$value": "{background.color.transparent.default-hover}",
26
+ "$extensions": {
27
+ "appearance": {
28
+ "light": {
29
+ "$type": "color",
30
+ "$value": "{background.color.transparent.default-hover}"
31
+ },
32
+ "dark": {
33
+ "$type": "color",
34
+ "$value": "{background.color.transparent.default-hover}"
35
+ }
36
+ },
37
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
38
+ }
39
+ },
40
+ "color-active": {
41
+ "$type": "color",
42
+ "$value": "{background.color.transparent.default-active}",
43
+ "$extensions": {
44
+ "appearance": {
45
+ "light": {
46
+ "$type": "color",
47
+ "$value": "{background.color.transparent.default-active}"
48
+ },
49
+ "dark": {
50
+ "$type": "color",
51
+ "$value": "{background.color.transparent.default-active}"
52
+ }
53
+ },
54
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
55
+ }
56
+ }
57
+ },
58
+ "foreground": {
59
+ "color": {
60
+ "$type": "color",
61
+ "$value": "{foreground.color.default}",
62
+ "$extensions": {
63
+ "appearance": {
64
+ "light": {
65
+ "$type": "color",
66
+ "$value": "{foreground.color.default}"
67
+ },
68
+ "dark": {
69
+ "$type": "color",
70
+ "$value": "{foreground.color.default}"
71
+ }
72
+ },
73
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
74
+ }
75
+ },
76
+ "color-hover": {
77
+ "$type": "color",
78
+ "$value": "{foreground.color.default-hover}",
79
+ "$extensions": {
80
+ "appearance": {
81
+ "light": {
82
+ "$type": "color",
83
+ "$value": "{foreground.color.default-hover}"
84
+ },
85
+ "dark": {
86
+ "$type": "color",
87
+ "$value": "{foreground.color.default-hover}"
88
+ }
89
+ },
90
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
91
+ }
92
+ },
93
+ "color-active": {
94
+ "$type": "color",
95
+ "$value": "{foreground.color.default-active}",
96
+ "$extensions": {
97
+ "appearance": {
98
+ "light": {
99
+ "$type": "color",
100
+ "$value": "{foreground.color.default-active}"
101
+ },
102
+ "dark": {
103
+ "$type": "color",
104
+ "$value": "{foreground.color.default-active}"
105
+ }
106
+ },
107
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
108
+ }
109
+ }
110
+ }
111
+ },
112
+ "selected": {
113
+ "background": {
114
+ "color": {
115
+ "$type": "color",
116
+ "$value": "{background.color.primary}",
117
+ "$extensions": {
118
+ "appearance": {
119
+ "light": {
120
+ "$type": "color",
121
+ "$value": "{background.color.primary}"
122
+ },
123
+ "dark": {
124
+ "$type": "color",
125
+ "$value": "{background.color.primary}"
126
+ }
127
+ },
128
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
129
+ }
130
+ },
131
+ "color-hover": {
132
+ "$type": "color",
133
+ "$value": "{background.color.primary-hover}",
134
+ "$extensions": {
135
+ "appearance": {
136
+ "light": {
137
+ "$type": "color",
138
+ "$value": "{background.color.primary-hover}"
139
+ },
140
+ "dark": {
141
+ "$type": "color",
142
+ "$value": "{background.color.primary-hover}"
143
+ }
144
+ },
145
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
146
+ }
147
+ },
148
+ "color-active": {
149
+ "$type": "color",
150
+ "$value": "{background.color.primary-active}",
151
+ "$extensions": {
152
+ "appearance": {
153
+ "light": {
154
+ "$type": "color",
155
+ "$value": "{background.color.primary-active}"
156
+ },
157
+ "dark": {
158
+ "$type": "color",
159
+ "$value": "{background.color.primary-active}"
160
+ }
161
+ },
162
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
163
+ }
164
+ }
165
+ },
166
+ "foreground": {
167
+ "color": {
168
+ "$type": "color",
169
+ "$value": "{foreground.color.on.primary}",
170
+ "$extensions": {
171
+ "appearance": {
172
+ "light": {
173
+ "$type": "color",
174
+ "$value": "{foreground.color.on.primary}"
175
+ },
176
+ "dark": {
177
+ "$type": "color",
178
+ "$value": "{foreground.color.on.primary}"
179
+ }
180
+ },
181
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
182
+ }
183
+ },
184
+ "color-hover": {
185
+ "$type": "color",
186
+ "$value": "{foreground.color.on.primary-hover}",
187
+ "$extensions": {
188
+ "appearance": {
189
+ "light": {
190
+ "$type": "color",
191
+ "$value": "{foreground.color.on.primary-hover}"
192
+ },
193
+ "dark": {
194
+ "$type": "color",
195
+ "$value": "{foreground.color.on.primary-hover}"
196
+ }
197
+ },
198
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
199
+ }
200
+ },
201
+ "color-active": {
202
+ "$type": "color",
203
+ "$value": "{foreground.color.on.primary-active}",
204
+ "$extensions": {
205
+ "appearance": {
206
+ "light": {
207
+ "$type": "color",
208
+ "$value": "{foreground.color.on.primary-active}"
209
+ },
210
+ "dark": {
211
+ "$type": "color",
212
+ "$value": "{foreground.color.on.primary-active}"
213
+ }
214
+ },
215
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
216
+ }
217
+ }
218
+ }
219
+ },
220
+ "weekday": {
221
+ "foreground": {
222
+ "color": {
223
+ "$type": "color",
224
+ "$value": "{foreground.color.subdued}",
225
+ "$extensions": {
226
+ "appearance": {
227
+ "light": {
228
+ "$type": "color",
229
+ "$value": "{foreground.color.subdued}"
230
+ },
231
+ "dark": {
232
+ "$type": "color",
233
+ "$value": "{foreground.color.subdued}"
234
+ }
235
+ },
236
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
237
+ }
238
+ }
239
+ }
240
+ },
241
+ "range": {
242
+ "background": {
243
+ "color": {
244
+ "$type": "color",
245
+ "$value": "{background.color.transparent.primary}",
246
+ "$extensions": {
247
+ "appearance": {
248
+ "light": {
249
+ "$type": "color",
250
+ "$value": "{background.color.transparent.primary}"
251
+ },
252
+ "dark": {
253
+ "$type": "color",
254
+ "$value": "{background.color.transparent.primary}"
255
+ }
256
+ },
257
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
258
+ }
259
+ },
260
+ "color-hover": {
261
+ "$type": "color",
262
+ "$value": "{background.color.transparent.primary-hover}",
263
+ "$extensions": {
264
+ "appearance": {
265
+ "light": {
266
+ "$type": "color",
267
+ "$value": "{background.color.transparent.primary-hover}"
268
+ },
269
+ "dark": {
270
+ "$type": "color",
271
+ "$value": "{background.color.transparent.primary-hover}"
272
+ }
273
+ },
274
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
275
+ }
276
+ },
277
+ "color-active": {
278
+ "$type": "color",
279
+ "$value": "{background.color.transparent.primary-active}",
280
+ "$extensions": {
281
+ "appearance": {
282
+ "light": {
283
+ "$type": "color",
284
+ "$value": "{background.color.transparent.primary-active}"
285
+ },
286
+ "dark": {
287
+ "$type": "color",
288
+ "$value": "{background.color.transparent.primary-active}"
289
+ }
290
+ },
291
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
292
+ }
293
+ }
294
+ },
295
+ "foreground": {
296
+ "color": {
297
+ "$type": "color",
298
+ "$value": "{foreground.color.primary}",
299
+ "$extensions": {
300
+ "appearance": {
301
+ "light": {
302
+ "$type": "color",
303
+ "$value": "{foreground.color.primary}"
304
+ },
305
+ "dark": {
306
+ "$type": "color",
307
+ "$value": "{foreground.color.primary}"
308
+ }
309
+ },
310
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
311
+ }
312
+ },
313
+ "color-hover": {
314
+ "$type": "color",
315
+ "$value": "{foreground.color.primary-hover}",
316
+ "$extensions": {
317
+ "appearance": {
318
+ "light": {
319
+ "$type": "color",
320
+ "$value": "{foreground.color.primary-hover}"
321
+ },
322
+ "dark": {
323
+ "$type": "color",
324
+ "$value": "{foreground.color.primary-hover}"
325
+ }
326
+ },
327
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
328
+ }
329
+ },
330
+ "color-active": {
331
+ "$type": "color",
332
+ "$value": "{foreground.color.primary-active}",
333
+ "$extensions": {
334
+ "appearance": {
335
+ "light": {
336
+ "$type": "color",
337
+ "$value": "{foreground.color.primary-active}"
338
+ },
339
+ "dark": {
340
+ "$type": "color",
341
+ "$value": "{foreground.color.primary-active}"
342
+ }
343
+ },
344
+ "com.figma.scopes": ["TEXT_FILL", "SHAPE_FILL"]
345
+ }
346
+ }
347
+ }
348
+ },
349
+ "focus-ring": {
350
+ "color": {
351
+ "$type": "color",
352
+ "$value": "{focus.ring.color.default}",
353
+ "$extensions": {
354
+ "appearance": {
355
+ "light": {
356
+ "$type": "color",
357
+ "$value": "{focus.ring.color.default}"
358
+ },
359
+ "dark": {
360
+ "$type": "color",
361
+ "$value": "{focus.ring.color.default}"
362
+ }
363
+ },
364
+ "com.figma.scopes": ["STROKE_COLOR"]
365
+ }
366
+ }
367
+ }
368
+ },
369
+ "range-fill": {
370
+ "background": {
371
+ "color": {
372
+ "$type": "color",
373
+ "$value": "{background.color.primary-subdued}",
374
+ "$extensions": {
375
+ "appearance": {
376
+ "light": {
377
+ "$type": "color",
378
+ "$value": "{background.color.primary-subdued}"
379
+ },
380
+ "dark": {
381
+ "$type": "color",
382
+ "$value": "{background.color.primary-subdued}"
383
+ }
384
+ },
385
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
386
+ }
387
+ }
388
+ }
389
+ }
390
+ }
391
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "card": {
3
+ "border": {
4
+ "color": {
5
+ "$type": "color",
6
+ "$value": "{border.color.subdued}",
7
+ "$extensions": {
8
+ "appearance": {
9
+ "light": {
10
+ "$type": "color",
11
+ "$value": "{border.color.subdued}"
12
+ },
13
+ "dark": {
14
+ "$type": "color",
15
+ "$value": "{border.color.subdued}"
16
+ }
17
+ },
18
+ "com.figma.scopes": ["STROKE_COLOR", "SHAPE_FILL", "FRAME_FILL"]
19
+ }
20
+ }
21
+ },
22
+ "default": {
23
+ "background": {
24
+ "color": {
25
+ "$type": "color",
26
+ "$value": "{background.color.default}",
27
+ "$extensions": {
28
+ "appearance": {
29
+ "light": {
30
+ "$type": "color",
31
+ "$value": "{background.color.default}"
32
+ },
33
+ "dark": {
34
+ "$type": "color",
35
+ "$value": "{background.color.default}"
36
+ }
37
+ },
38
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "strong": {
44
+ "background": {
45
+ "color": {
46
+ "$type": "color",
47
+ "$value": "{background.color.strong}",
48
+ "$extensions": {
49
+ "appearance": {
50
+ "light": {
51
+ "$type": "color",
52
+ "$value": "{background.color.strong}"
53
+ },
54
+ "dark": {
55
+ "$type": "color",
56
+ "$value": "{background.color.strong}"
57
+ }
58
+ },
59
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
60
+ }
61
+ }
62
+ }
63
+ },
64
+ "stronger": {
65
+ "background": {
66
+ "color": {
67
+ "$type": "color",
68
+ "$value": "{background.color.stronger}",
69
+ "$extensions": {
70
+ "appearance": {
71
+ "light": {
72
+ "$type": "color",
73
+ "$value": "{background.color.stronger}"
74
+ },
75
+ "dark": {
76
+ "$type": "color",
77
+ "$value": "{background.color.stronger}"
78
+ }
79
+ },
80
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
81
+ }
82
+ }
83
+ }
84
+ },
85
+ "strongest": {
86
+ "background": {
87
+ "color": {
88
+ "$type": "color",
89
+ "$value": "{background.color.strongest}",
90
+ "$extensions": {
91
+ "appearance": {
92
+ "light": {
93
+ "$type": "color",
94
+ "$value": "{background.color.strongest}"
95
+ },
96
+ "dark": {
97
+ "$type": "color",
98
+ "$value": "{background.color.strongest}"
99
+ }
100
+ },
101
+ "com.figma.scopes": ["SHAPE_FILL", "FRAME_FILL", "STROKE_COLOR"]
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }