@adobe/spectrum-design-data 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/components/accordion.json +557 -0
  2. package/components/action-bar.json +214 -0
  3. package/components/action-button.json +522 -0
  4. package/components/action-group.json +134 -0
  5. package/components/alert-banner.json +134 -0
  6. package/components/alert-dialog.json +180 -0
  7. package/components/avatar-group.json +166 -0
  8. package/components/avatar.json +246 -0
  9. package/components/badge.json +594 -0
  10. package/components/body.json +54 -0
  11. package/components/bottom-navigation-android.json +72 -0
  12. package/components/breadcrumbs.json +307 -0
  13. package/components/button-group.json +86 -0
  14. package/components/button.json +586 -0
  15. package/components/calendar.json +133 -0
  16. package/components/cards.json +541 -0
  17. package/components/checkbox-group.json +91 -0
  18. package/components/checkbox.json +339 -0
  19. package/components/close-button.json +208 -0
  20. package/components/coach-indicator.json +105 -0
  21. package/components/coach-mark.json +169 -0
  22. package/components/code.json +44 -0
  23. package/components/color-area.json +138 -0
  24. package/components/color-handle.json +111 -0
  25. package/components/color-loupe.json +77 -0
  26. package/components/color-slider.json +165 -0
  27. package/components/color-wheel.json +117 -0
  28. package/components/combo-box.json +543 -0
  29. package/components/contextual-help.json +230 -0
  30. package/components/date-picker.json +471 -0
  31. package/components/detail.json +53 -0
  32. package/components/divider.json +93 -0
  33. package/components/drop-zone.json +238 -0
  34. package/components/field-label.json +219 -0
  35. package/components/heading.json +68 -0
  36. package/components/help-text.json +209 -0
  37. package/components/illustrated-message.json +175 -0
  38. package/components/in-field-progress-button.json +88 -0
  39. package/components/in-field-progress-circle.json +116 -0
  40. package/components/in-line-alert.json +233 -0
  41. package/components/link.json +167 -0
  42. package/components/list-view.json +382 -0
  43. package/components/menu.json +597 -0
  44. package/components/meter.json +199 -0
  45. package/components/number-field.json +518 -0
  46. package/components/opacity-checkerboard.json +69 -0
  47. package/components/picker.json +579 -0
  48. package/components/popover.json +174 -0
  49. package/components/progress-bar.json +229 -0
  50. package/components/progress-circle.json +132 -0
  51. package/components/radio-button.json +308 -0
  52. package/components/radio-group.json +113 -0
  53. package/components/rating.json +168 -0
  54. package/components/scroll-zoom-bar.json +82 -0
  55. package/components/search-field.json +346 -0
  56. package/components/segmented-control.json +248 -0
  57. package/components/select-box.json +272 -0
  58. package/components/side-navigation.json +320 -0
  59. package/components/slider.json +407 -0
  60. package/components/standard-dialog.json +179 -0
  61. package/components/standard-panel.json +83 -0
  62. package/components/status-light.json +334 -0
  63. package/components/steplist.json +294 -0
  64. package/components/swatch-group.json +114 -0
  65. package/components/swatch.json +240 -0
  66. package/components/switch.json +336 -0
  67. package/components/tab-bar-ios.json +72 -0
  68. package/components/table.json +435 -0
  69. package/components/tabs.json +253 -0
  70. package/components/tag-field.json +243 -0
  71. package/components/tag-group.json +87 -0
  72. package/components/tag.json +393 -0
  73. package/components/takeover-dialog.json +117 -0
  74. package/components/text-area.json +555 -0
  75. package/components/text-field.json +555 -0
  76. package/components/thumbnail.json +149 -0
  77. package/components/title.json +91 -0
  78. package/components/toast.json +156 -0
  79. package/components/tooltip.json +179 -0
  80. package/components/tray.json +32 -0
  81. package/components/tree-view.json +393 -0
  82. package/fields/alignment.json +15 -0
  83. package/fields/anatomy.json +15 -0
  84. package/fields/color-scheme.json +15 -0
  85. package/fields/colorFamily.json +15 -0
  86. package/fields/component.json +15 -0
  87. package/fields/contrast.json +15 -0
  88. package/fields/density.json +15 -0
  89. package/fields/easing.json +15 -0
  90. package/fields/family.json +15 -0
  91. package/fields/motionRole.json +15 -0
  92. package/fields/object.json +15 -0
  93. package/fields/orientation.json +15 -0
  94. package/fields/position.json +15 -0
  95. package/fields/property.json +15 -0
  96. package/fields/scale.json +15 -0
  97. package/fields/scaleIndex.json +15 -0
  98. package/fields/shape.json +15 -0
  99. package/fields/size.json +15 -0
  100. package/fields/state.json +15 -0
  101. package/fields/structure.json +15 -0
  102. package/fields/style.json +15 -0
  103. package/fields/substructure.json +15 -0
  104. package/fields/variant.json +15 -0
  105. package/fields/weight.json +15 -0
  106. package/mode-sets/color-scheme.json +8 -0
  107. package/mode-sets/contrast.json +8 -0
  108. package/mode-sets/scale.json +8 -0
  109. package/package.json +41 -2
  110. package/registry/alignments.json +22 -0
  111. package/registry/anatomy-terms.json +739 -0
  112. package/registry/categories.json +55 -0
  113. package/registry/color-families.json +177 -0
  114. package/registry/components.json +277 -0
  115. package/registry/densities.json +17 -0
  116. package/registry/easing-curves.json +42 -0
  117. package/registry/glossary.json +181 -0
  118. package/registry/motion-roles.json +32 -0
  119. package/registry/navigation-terms.json +241 -0
  120. package/registry/orientations.json +17 -0
  121. package/registry/platform-extensions/ios-states.json +59 -0
  122. package/registry/platform-extensions/web-components-states.json +58 -0
  123. package/registry/platforms.json +37 -0
  124. package/registry/positions.json +32 -0
  125. package/registry/property-terms.json +212 -0
  126. package/registry/scale-values.json +126 -0
  127. package/registry/shapes.json +12 -0
  128. package/registry/sizes.json +71 -0
  129. package/registry/states.json +184 -0
  130. package/registry/structures.json +57 -0
  131. package/registry/substructures.json +12 -0
  132. package/registry/token-objects.json +32 -0
  133. package/registry/token-terminology.json +925 -0
  134. package/registry/typography-families.json +27 -0
  135. package/registry/typography-styles.json +22 -0
  136. package/registry/typography-weights.json +37 -0
  137. package/registry/variants.json +282 -0
  138. package/tokens/color-aliases.tokens.json +332 -328
  139. package/tokens/color-component.tokens.json +74 -74
  140. package/tokens/icons.tokens.json +191 -191
  141. package/tokens/layout-component.tokens.json +373 -316
  142. package/tokens/layout.tokens.json +110 -98
  143. package/tokens/semantic-color-palette.tokens.json +104 -104
  144. package/tokens/typography.tokens.json +233 -233
@@ -0,0 +1,586 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "button",
6
+ "displayName": "Button",
7
+ "description": "Buttons allow users to perform an action or to navigate to another page.",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "options": {
13
+ "variant": {
14
+ "type": "string",
15
+ "default": "accent",
16
+ "description": "Visual emphasis level.",
17
+ "values": [
18
+ {
19
+ "value": "accent"
20
+ },
21
+ {
22
+ "value": "negative"
23
+ },
24
+ {
25
+ "value": "primary"
26
+ },
27
+ {
28
+ "value": "secondary"
29
+ }
30
+ ]
31
+ },
32
+ "style": {
33
+ "type": "string",
34
+ "default": "fill",
35
+ "values": [
36
+ {
37
+ "value": "fill"
38
+ },
39
+ {
40
+ "value": "outline"
41
+ }
42
+ ]
43
+ },
44
+ "size": {
45
+ "type": "string",
46
+ "default": "m",
47
+ "values": [
48
+ {
49
+ "value": "s"
50
+ },
51
+ {
52
+ "value": "m"
53
+ },
54
+ {
55
+ "value": "l"
56
+ },
57
+ {
58
+ "value": "xl"
59
+ }
60
+ ]
61
+ },
62
+ "isDisabled": {
63
+ "type": "boolean",
64
+ "default": false
65
+ },
66
+ "isPending": {
67
+ "type": "boolean",
68
+ "default": false
69
+ },
70
+ "isLabelHidden": {
71
+ "type": "boolean",
72
+ "default": false
73
+ },
74
+ "icon": {
75
+ "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/workflow-icon.json",
76
+ "description": "Icon placed at the start of the button. Required when isLabelHidden is true."
77
+ },
78
+ "staticColor": {
79
+ "type": "string",
80
+ "description": "Static color for use on colored backgrounds.",
81
+ "values": [
82
+ {
83
+ "value": "white"
84
+ },
85
+ {
86
+ "value": "black"
87
+ }
88
+ ]
89
+ }
90
+ },
91
+ "slots": [
92
+ {
93
+ "name": "default",
94
+ "description": "Text label of the button.",
95
+ "required": false
96
+ },
97
+ {
98
+ "name": "icon",
99
+ "description": "Icon placed at the start of the button."
100
+ }
101
+ ],
102
+ "anatomy": [
103
+ {
104
+ "name": "icon",
105
+ "description": "Leading icon."
106
+ },
107
+ {
108
+ "name": "label",
109
+ "description": "Button text.",
110
+ "required": true
111
+ }
112
+ ],
113
+ "states": [
114
+ {
115
+ "name": "hover",
116
+ "trigger": "interaction",
117
+ "precedence": 50
118
+ },
119
+ {
120
+ "name": "focus",
121
+ "trigger": "interaction",
122
+ "precedence": 60,
123
+ "layered": true
124
+ },
125
+ {
126
+ "name": "disabled",
127
+ "trigger": "prop",
128
+ "precedence": 100
129
+ }
130
+ ],
131
+ "lifecycle": {
132
+ "introduced": "1.0.0-draft"
133
+ },
134
+ "tokenBindings": [
135
+ {
136
+ "token": "component-height-75",
137
+ "context": "Minimum height"
138
+ },
139
+ {
140
+ "token": "component-height-100",
141
+ "context": "Minimum height"
142
+ },
143
+ {
144
+ "token": "component-height-200",
145
+ "context": "Minimum height"
146
+ },
147
+ {
148
+ "token": "component-height-300",
149
+ "context": "Minimum height"
150
+ },
151
+ {
152
+ "token": "corner-radius-full",
153
+ "context": "Rounding"
154
+ },
155
+ {
156
+ "token": "corner-radius-button-small",
157
+ "context": "Rounding (with wrapping)"
158
+ },
159
+ {
160
+ "token": "corner-radius-extra-large-default",
161
+ "context": "Rounding (with wrapping)"
162
+ },
163
+ {
164
+ "token": "corner-radius-button-large",
165
+ "context": "Rounding (with wrapping)"
166
+ },
167
+ {
168
+ "token": "corner-radius-button-extra-large",
169
+ "context": "Rounding (with wrapping)"
170
+ },
171
+ {
172
+ "token": "button-minimum-width-multiplier",
173
+ "context": "Minimum width (with label)"
174
+ },
175
+ {
176
+ "token": "component-size-difference-down",
177
+ "context": "Component size (down)"
178
+ },
179
+ {
180
+ "token": "component-size-width-ratio-down",
181
+ "context": "Component size (down)"
182
+ },
183
+ {
184
+ "token": "component-size-minimum-perspective-down",
185
+ "context": "Component size (down)"
186
+ },
187
+ {
188
+ "token": "workflow-icon-size-75",
189
+ "context": "Icon"
190
+ },
191
+ {
192
+ "token": "workflow-icon-size-100",
193
+ "context": "Icon"
194
+ },
195
+ {
196
+ "token": "workflow-icon-size-200",
197
+ "context": "Icon"
198
+ },
199
+ {
200
+ "token": "workflow-icon-size-300",
201
+ "context": "Icon"
202
+ },
203
+ {
204
+ "token": "component-pill-edge-to-visual-75",
205
+ "context": "Spacing (start/end edges)"
206
+ },
207
+ {
208
+ "token": "component-pill-edge-to-visual-100",
209
+ "context": "Spacing (start/end edges)"
210
+ },
211
+ {
212
+ "token": "component-pill-edge-to-visual-200",
213
+ "context": "Spacing (start/end edges)"
214
+ },
215
+ {
216
+ "token": "component-pill-edge-to-visual-300",
217
+ "context": "Spacing (start/end edges)"
218
+ },
219
+ {
220
+ "token": "component-pill-edge-to-text-75",
221
+ "context": "Spacing (start/end edges)"
222
+ },
223
+ {
224
+ "token": "component-pill-edge-to-text-100",
225
+ "context": "Spacing (start/end edges)"
226
+ },
227
+ {
228
+ "token": "component-pill-edge-to-text-200",
229
+ "context": "Spacing (start/end edges)"
230
+ },
231
+ {
232
+ "token": "component-pill-edge-to-text-300",
233
+ "context": "Spacing (start/end edges)"
234
+ },
235
+ {
236
+ "token": "component-pill-edge-to-visual-only-75",
237
+ "context": "Spacing (start/end edges, icon only)"
238
+ },
239
+ {
240
+ "token": "component-pill-edge-to-visual-only-100",
241
+ "context": "Spacing (start/end edges, icon only)"
242
+ },
243
+ {
244
+ "token": "component-pill-edge-to-visual-only-200",
245
+ "context": "Spacing (start/end edges, icon only)"
246
+ },
247
+ {
248
+ "token": "component-pill-edge-to-visual-only-300",
249
+ "context": "Spacing (start/end edges, icon only)"
250
+ },
251
+ {
252
+ "token": "text-to-visual-75",
253
+ "context": "Spacing (icon to label)"
254
+ },
255
+ {
256
+ "token": "text-to-visual-100",
257
+ "context": "Spacing (icon to label)"
258
+ },
259
+ {
260
+ "token": "text-to-visual-200",
261
+ "context": "Spacing (icon to label)"
262
+ },
263
+ {
264
+ "token": "text-to-visual-300",
265
+ "context": "Spacing (icon to label)"
266
+ },
267
+ {
268
+ "token": "component-top-to-workflow-icon-75",
269
+ "context": "Spacing (top edge to icon)"
270
+ },
271
+ {
272
+ "token": "component-top-to-workflow-icon-100",
273
+ "context": "Spacing (top edge to icon)"
274
+ },
275
+ {
276
+ "token": "component-top-to-workflow-icon-200",
277
+ "context": "Spacing (top edge to icon)"
278
+ },
279
+ {
280
+ "token": "component-top-to-workflow-icon-300",
281
+ "context": "Spacing (top edge to icon)"
282
+ },
283
+ {
284
+ "token": "component-top-to-text-75",
285
+ "context": "Spacing (top/bottom edge to label)"
286
+ },
287
+ {
288
+ "token": "component-top-to-text-100",
289
+ "context": "Spacing (top/bottom edge to label)"
290
+ },
291
+ {
292
+ "token": "component-top-to-text-200",
293
+ "context": "Spacing (top/bottom edge to label)"
294
+ },
295
+ {
296
+ "token": "component-top-to-text-300",
297
+ "context": "Spacing (top/bottom edge to label)"
298
+ },
299
+ {
300
+ "token": "component-bottom-to-text-75",
301
+ "context": "Spacing (top/bottom edge to label)"
302
+ },
303
+ {
304
+ "token": "component-bottom-to-text-100",
305
+ "context": "Spacing (top/bottom edge to label)"
306
+ },
307
+ {
308
+ "token": "component-bottom-to-text-200",
309
+ "context": "Spacing (top/bottom edge to label)"
310
+ },
311
+ {
312
+ "token": "component-bottom-to-text-300",
313
+ "context": "Spacing (top/bottom edge to label)"
314
+ },
315
+ {
316
+ "token": "border-width-200",
317
+ "context": "Border"
318
+ },
319
+ {
320
+ "token": "focus-indicator-thickness",
321
+ "context": "Focus indicator"
322
+ },
323
+ {
324
+ "token": "focus-indicator-gap",
325
+ "context": "Focus indicator"
326
+ },
327
+ {
328
+ "token": "default-font-family",
329
+ "context": "Label"
330
+ },
331
+ {
332
+ "token": "bold-font-weight",
333
+ "context": "Label"
334
+ },
335
+ {
336
+ "token": "default-font-style",
337
+ "context": "Label"
338
+ },
339
+ {
340
+ "token": "font-size-75",
341
+ "context": "Label"
342
+ },
343
+ {
344
+ "token": "font-size-100",
345
+ "context": "Label"
346
+ },
347
+ {
348
+ "token": "font-size-200",
349
+ "context": "Label"
350
+ },
351
+ {
352
+ "token": "font-size-300",
353
+ "context": "Label"
354
+ },
355
+ {
356
+ "token": "line-height-100",
357
+ "context": "Label"
358
+ },
359
+ {
360
+ "token": "cjk-line-height-100",
361
+ "context": "Label"
362
+ },
363
+ {
364
+ "token": "accent-background-color-default",
365
+ "context": "Background"
366
+ },
367
+ {
368
+ "token": "accent-background-color-hover",
369
+ "context": "Background"
370
+ },
371
+ {
372
+ "token": "accent-background-color-down",
373
+ "context": "Background"
374
+ },
375
+ {
376
+ "token": "accent-background-color-key-focus",
377
+ "context": "Background"
378
+ },
379
+ {
380
+ "token": "white",
381
+ "context": "Icon"
382
+ },
383
+ {
384
+ "token": "negative-background-color-default",
385
+ "context": "Background"
386
+ },
387
+ {
388
+ "token": "negative-background-color-hover",
389
+ "context": "Background"
390
+ },
391
+ {
392
+ "token": "negative-background-color-down",
393
+ "context": "Background"
394
+ },
395
+ {
396
+ "token": "negative-background-color-key-focus",
397
+ "context": "Background"
398
+ },
399
+ {
400
+ "token": "neutral-background-color-default",
401
+ "context": "Background"
402
+ },
403
+ {
404
+ "token": "neutral-background-color-hover",
405
+ "context": "Background"
406
+ },
407
+ {
408
+ "token": "neutral-background-color-down",
409
+ "context": "Background"
410
+ },
411
+ {
412
+ "token": "neutral-background-color-key-focus",
413
+ "context": "Background"
414
+ },
415
+ {
416
+ "token": "gray-25",
417
+ "context": "Icon"
418
+ },
419
+ {
420
+ "token": "gray-100",
421
+ "context": "Background"
422
+ },
423
+ {
424
+ "token": "gray-800",
425
+ "context": "Border"
426
+ },
427
+ {
428
+ "token": "gray-900",
429
+ "context": "Border"
430
+ },
431
+ {
432
+ "token": "neutral-content-color-default",
433
+ "context": "Icon"
434
+ },
435
+ {
436
+ "token": "neutral-content-color-hover",
437
+ "context": "Icon"
438
+ },
439
+ {
440
+ "token": "neutral-content-color-down",
441
+ "context": "Icon"
442
+ },
443
+ {
444
+ "token": "neutral-content-color-key-focus",
445
+ "context": "Icon"
446
+ },
447
+ {
448
+ "token": "gray-200",
449
+ "context": "Background"
450
+ },
451
+ {
452
+ "token": "gray-300",
453
+ "context": "Border"
454
+ },
455
+ {
456
+ "token": "gray-400",
457
+ "context": "Border"
458
+ },
459
+ {
460
+ "token": "disabled-background-color",
461
+ "context": "Fill"
462
+ },
463
+ {
464
+ "token": "disabled-border-color",
465
+ "context": "Outline"
466
+ },
467
+ {
468
+ "token": "disabled-content-color",
469
+ "context": "Icon"
470
+ },
471
+ {
472
+ "token": "focus-indicator-color",
473
+ "context": "Focus indicator"
474
+ },
475
+ {
476
+ "token": "transparent-white-900",
477
+ "context": "Background"
478
+ },
479
+ {
480
+ "token": "transparent-white-1000",
481
+ "context": "Background"
482
+ },
483
+ {
484
+ "token": "black",
485
+ "context": "Icon"
486
+ },
487
+ {
488
+ "token": "transparent-white-25",
489
+ "context": "Background"
490
+ },
491
+ {
492
+ "token": "transparent-white-100",
493
+ "context": "Background"
494
+ },
495
+ {
496
+ "token": "transparent-white-200",
497
+ "context": "Background"
498
+ },
499
+ {
500
+ "token": "transparent-white-300",
501
+ "context": "Border"
502
+ },
503
+ {
504
+ "token": "transparent-white-400",
505
+ "context": "Border"
506
+ },
507
+ {
508
+ "token": "disabled-static-white-background-color",
509
+ "context": "Background"
510
+ },
511
+ {
512
+ "token": "disabled-static-white-content-color",
513
+ "context": "Icon and label"
514
+ },
515
+ {
516
+ "token": "disabled-static-white-border-color",
517
+ "context": "Border"
518
+ },
519
+ {
520
+ "token": "static-white-focus-indicator-color",
521
+ "context": "Static white – Focus indicator"
522
+ },
523
+ {
524
+ "token": "transparent-black-900",
525
+ "context": "Background"
526
+ },
527
+ {
528
+ "token": "transparent-black-1000",
529
+ "context": "Background"
530
+ },
531
+ {
532
+ "token": "transparent-black-25",
533
+ "context": "Background"
534
+ },
535
+ {
536
+ "token": "transparent-black-100",
537
+ "context": "Background"
538
+ },
539
+ {
540
+ "token": "transparent-black-200",
541
+ "context": "Background"
542
+ },
543
+ {
544
+ "token": "transparent-black-300",
545
+ "context": "Border"
546
+ },
547
+ {
548
+ "token": "transparent-black-400",
549
+ "context": "Border"
550
+ },
551
+ {
552
+ "token": "disabled-static-black-background-color",
553
+ "context": "Background"
554
+ },
555
+ {
556
+ "token": "disabled-static-black-content-color",
557
+ "context": "Icon and label"
558
+ },
559
+ {
560
+ "token": "disabled-static-black-border-color",
561
+ "context": "Border"
562
+ },
563
+ {
564
+ "token": "static-black-focus-indicator-color",
565
+ "context": "Static black – Focus indicator"
566
+ }
567
+ ],
568
+ "accessibility": {
569
+ "role": "button",
570
+ "intents": ["trigger"],
571
+ "focusable": true,
572
+ "keyboardIntents": ["activate"],
573
+ "wcag": [
574
+ {
575
+ "criterion": "2.1.1",
576
+ "level": "A",
577
+ "title": "Keyboard"
578
+ },
579
+ {
580
+ "criterion": "4.1.2",
581
+ "level": "A",
582
+ "title": "Name, Role, Value"
583
+ }
584
+ ]
585
+ }
586
+ }
@@ -0,0 +1,133 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/calendar.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "calendar",
6
+ "displayName": "Calendar",
7
+ "description": "Calendars display days, weeks, and months, allowing users to select dates or ranges.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/calendar/"
11
+ },
12
+ "options": {
13
+ "currentMonth": {
14
+ "type": "number",
15
+ "minimum": 1,
16
+ "maximum": 12,
17
+ "description": "The month currently displayed in the calendar (1 = January, 12 = December)."
18
+ },
19
+ "currentYear": {
20
+ "type": "number",
21
+ "description": "The year currently displayed in the calendar (Gregorian year number)."
22
+ },
23
+ "selectionMode": {
24
+ "type": "string",
25
+ "default": "single",
26
+ "description": "Controls whether the calendar allows selecting a single date or a date range.",
27
+ "values": [
28
+ {
29
+ "value": "single"
30
+ },
31
+ {
32
+ "value": "range"
33
+ }
34
+ ]
35
+ },
36
+ "isDisabled": {
37
+ "type": "boolean",
38
+ "default": false
39
+ },
40
+ "isError": {
41
+ "type": "boolean",
42
+ "default": false
43
+ },
44
+ "minValue": {
45
+ "type": "string",
46
+ "description": "The minimum allowed date that a user may select (ISO format string)."
47
+ },
48
+ "maxValue": {
49
+ "type": "string",
50
+ "description": "The maximum allowed date that a user may select (ISO format string)."
51
+ },
52
+ "showTimeZone": {
53
+ "type": "boolean",
54
+ "default": false,
55
+ "description": "Whether to show a time zone indicator in the calendar."
56
+ },
57
+ "days": {
58
+ "type": "array",
59
+ "description": "An array of days displayed in the current calendar view.",
60
+ "items": {
61
+ "type": "object",
62
+ "properties": {
63
+ "date": {
64
+ "type": "string",
65
+ "description": "The date represented by this day (ISO format string)."
66
+ },
67
+ "isDisabled": {
68
+ "type": "boolean",
69
+ "default": false,
70
+ "description": "Whether this day is disabled."
71
+ },
72
+ "isSelected": {
73
+ "type": "boolean",
74
+ "default": false,
75
+ "description": "Whether this day is currently selected."
76
+ },
77
+ "isRangeStart": {
78
+ "type": "boolean",
79
+ "default": false,
80
+ "description": "Whether this day is the start of a selected range."
81
+ },
82
+ "isRangeEnd": {
83
+ "type": "boolean",
84
+ "default": false,
85
+ "description": "Whether this day is the end of a selected range."
86
+ },
87
+ "isUnavailable": {
88
+ "type": "boolean",
89
+ "default": false,
90
+ "description": "Whether this day is unavailable for selection. If true, the day appears with a strikethrough."
91
+ },
92
+ "isToday": {
93
+ "type": "boolean",
94
+ "default": false,
95
+ "description": "Whether this day represents the current date."
96
+ },
97
+ "state": {
98
+ "type": "string",
99
+ "enum": ["default", "hover", "keyboard focus"],
100
+ "default": "default",
101
+ "description": "The interaction state of the day cell."
102
+ }
103
+ },
104
+ "required": ["date"]
105
+ }
106
+ }
107
+ },
108
+ "lifecycle": {
109
+ "introduced": "1.0.0-draft"
110
+ },
111
+ "accessibility": {
112
+ "intents": ["input", "choose"],
113
+ "focusable": true,
114
+ "keyboardIntents": ["navigate-items", "activate"],
115
+ "wcag": [
116
+ {
117
+ "criterion": "1.3.1",
118
+ "level": "A",
119
+ "title": "Info and Relationships"
120
+ },
121
+ {
122
+ "criterion": "2.1.1",
123
+ "level": "A",
124
+ "title": "Keyboard"
125
+ },
126
+ {
127
+ "criterion": "4.1.2",
128
+ "level": "A",
129
+ "title": "Name, Role, Value"
130
+ }
131
+ ]
132
+ }
133
+ }