@refineui/react 0.1.1 → 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.
@@ -5,7 +5,21 @@
5
5
  "kind": "root",
6
6
  "category": "components",
7
7
  "label": "Command",
8
- "props": [],
8
+ "props": [
9
+ {
10
+ "name": "size",
11
+ "label": "size",
12
+ "valueType": "enum",
13
+ "control": "segmented",
14
+ "options": [
15
+ "sm",
16
+ "md",
17
+ "lg"
18
+ ],
19
+ "defaultValue": "sm",
20
+ "section": "variants"
21
+ }
22
+ ],
9
23
  "preview": {
10
24
  "mode": "full"
11
25
  },
@@ -17,6 +17,19 @@
17
17
  ],
18
18
  "defaultValue": "filled",
19
19
  "section": "variants"
20
+ },
21
+ {
22
+ "name": "size",
23
+ "label": "size",
24
+ "valueType": "enum",
25
+ "control": "segmented",
26
+ "options": [
27
+ "sm",
28
+ "md",
29
+ "lg"
30
+ ],
31
+ "defaultValue": "sm",
32
+ "section": "variants"
20
33
  }
21
34
  ],
22
35
  "preview": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema": "refineui.authoring/1",
3
3
  "packageName": "@refineui/react",
4
- "packageVersion": "0.1.1",
4
+ "packageVersion": "0.2.0",
5
5
  "css": [
6
6
  "@refineui/react/refineui.css"
7
7
  ],
@@ -332,6 +332,19 @@
332
332
  ],
333
333
  "defaultValue": "filled",
334
334
  "section": "variants"
335
+ },
336
+ {
337
+ "name": "size",
338
+ "label": "size",
339
+ "valueType": "enum",
340
+ "control": "segmented",
341
+ "options": [
342
+ "sm",
343
+ "md",
344
+ "lg"
345
+ ],
346
+ "defaultValue": "sm",
347
+ "section": "variants"
335
348
  }
336
349
  ],
337
350
  "preview": {
@@ -1671,7 +1684,21 @@
1671
1684
  "kind": "root",
1672
1685
  "category": "components",
1673
1686
  "label": "Command",
1674
- "props": [],
1687
+ "props": [
1688
+ {
1689
+ "name": "size",
1690
+ "label": "size",
1691
+ "valueType": "enum",
1692
+ "control": "segmented",
1693
+ "options": [
1694
+ "sm",
1695
+ "md",
1696
+ "lg"
1697
+ ],
1698
+ "defaultValue": "sm",
1699
+ "section": "variants"
1700
+ }
1701
+ ],
1675
1702
  "preview": {
1676
1703
  "mode": "full"
1677
1704
  },
@@ -8,6 +8,7 @@
8
8
  "empty": "command-empty",
9
9
  "group": "command-group",
10
10
  "group_heading": "command-group-heading",
11
+ "indicator": "command-indicator",
11
12
  "input": "command-input",
12
13
  "item": "command-item",
13
14
  "list": "command-list",
@@ -17,6 +18,13 @@
17
18
  "attributes": {
18
19
  "data-refineui": "command"
19
20
  },
21
+ "variants": {
22
+ "size": [
23
+ "sm",
24
+ "md",
25
+ "lg"
26
+ ]
27
+ },
20
28
  "states": {
21
29
  "pseudo": [
22
30
  "focus-visible"
@@ -16,6 +16,11 @@
16
16
  "appearance": [
17
17
  "filled",
18
18
  "plain"
19
+ ],
20
+ "size": [
21
+ "sm",
22
+ "md",
23
+ "lg"
19
24
  ]
20
25
  },
21
26
  "states": {
@@ -3,7 +3,7 @@
3
3
  "contractLayer": "component-spec",
4
4
  "contractLayerVersion": "1.1",
5
5
  "status": "catalog",
6
- "generatedAt": "2026-10-27T03:56:35.028Z",
6
+ "generatedAt": "2026-11-04T07:02:13.744Z",
7
7
  "role": "Behavior and DOM contracts — source of truth for Doctor, MCP, and Docs",
8
8
  "files": {
9
9
  "manifest": "./manifest.json",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "generatedAt": "2026-10-27T03:56:35.024Z",
3
+ "generatedAt": "2026-11-04T07:02:13.738Z",
4
4
  "contractLayer": "component-token-trace",
5
5
  "tokens": {
6
6
  "webIcon.primary": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@refineui/react",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "RefineUI React components — Pelagornis RefineUI Web Kit",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/refineui.css CHANGED
@@ -644,21 +644,25 @@
644
644
  background-color: var(--refineui-color-alias-background-primary-active) !important;
645
645
  }
646
646
 
647
- /* Command / Item — Sidebar link plate */
647
+ /*
648
+ * Command / Item — soft surface plate (same family as SearchField / secondary Button).
649
+ * These item fills are the pre-measure fallback; once `command-indicator` is ready the
650
+ * sliding indicator owns the plate and item fills are cleared below.
651
+ */
648
652
  [data-refineui="command-item"][data-state="hover"],
649
653
  [data-refineui="command-item"][data-selected="true"]:not(:disabled):not(:active) {
650
654
  color: var(--refineui-color-alias-foreground-primary-hover) !important;
651
- background-color: var(--refineui-color-alias-background-primary-hover) !important;
655
+ background-color: var(--refineui-color-alias-background-surface-hover) !important;
652
656
  }
653
657
  [data-refineui="command-item"][data-state="pressed"],
654
658
  [data-refineui="command-item"][data-state="active"]:not(:disabled):active,
655
659
  [data-refineui="command-item"][data-selected="true"]:not(:disabled):active {
656
660
  color: var(--refineui-color-alias-foreground-primary) !important;
657
- background-color: var(--refineui-color-alias-background-primary-active) !important;
661
+ background-color: var(--refineui-color-alias-background-surface-active) !important;
658
662
  }
659
663
  [data-refineui="command-item"][data-state="active"]:not(:disabled):not(:active) {
660
664
  color: var(--refineui-color-alias-foreground-primary) !important;
661
- background-color: var(--refineui-color-alias-background-primary-hover) !important;
665
+ background-color: var(--refineui-color-alias-background-surface-hover) !important;
662
666
  }
663
667
  [data-refineui="command-item"][data-state="disabled"],
664
668
  [data-refineui="command-item"]:disabled {
@@ -667,12 +671,53 @@
667
671
  }
668
672
  [data-refineui="command-item"][data-state="default"]:not(:disabled):hover {
669
673
  color: var(--refineui-color-alias-foreground-primary-hover) !important;
670
- background-color: var(--refineui-color-alias-background-primary-hover) !important;
674
+ background-color: var(--refineui-color-alias-background-surface-hover) !important;
671
675
  }
672
676
  [data-refineui="command-item"][data-state="default"]:not(:disabled):active,
673
677
  [data-refineui="command-item"]:not(:disabled):active {
674
678
  color: var(--refineui-color-alias-foreground-primary) !important;
675
- background-color: var(--refineui-color-alias-background-primary-active) !important;
679
+ background-color: var(--refineui-color-alias-background-surface-active) !important;
680
+ }
681
+
682
+ /* Command / Indicator — one plate slides between items instead of each item repainting. */
683
+ [data-refineui="command-indicator"] {
684
+ opacity: 0;
685
+ transition: none;
686
+ }
687
+ [data-refineui="command-indicator"][data-ready="true"] {
688
+ opacity: 1;
689
+ }
690
+ [data-refineui="command-indicator"][data-animate="true"] {
691
+ transition:
692
+ top var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
693
+ left var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
694
+ height var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
695
+ width var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
696
+ opacity var(--refineui-motion-duration-fast) var(--refineui-motion-easing-standard),
697
+ background-color var(--refineui-motion-duration-fast);
698
+ }
699
+ [data-refineui="command-list"]:has([data-refineui="command-indicator"][data-ready="true"])
700
+ [data-refineui="command-item"]:not(:disabled) {
701
+ background-color: transparent !important;
702
+ /* The plate does not scale, so the label must not either. */
703
+ transform: none !important;
704
+ }
705
+ [data-refineui="command-list"]:has([data-refineui="command-item"]:not(:disabled):active)
706
+ [data-refineui="command-indicator"] {
707
+ background-color: var(--refineui-color-alias-background-surface-active);
708
+ }
709
+
710
+ [data-refineui="command-empty"] {
711
+ animation: refineui-menu-popover-enter var(--refineui-motion-duration-normal) var(--refineui-motion-easing-standard);
712
+ }
713
+
714
+ @media (prefers-reduced-motion: reduce) {
715
+ [data-refineui="command-indicator"][data-animate="true"] {
716
+ transition: none;
717
+ }
718
+ [data-refineui="command-empty"] {
719
+ animation: none;
720
+ }
676
721
  }
677
722
 
678
723
  /* Opacity-only — parent transform would isolate and break child `backdrop-filter`. */
@@ -1112,9 +1157,7 @@
1112
1157
  [data-refineui="menu"],
1113
1158
  [data-refineui="dropdown-menu"],
1114
1159
  [data-refineui="select-menu"],
1115
- [data-refineui="popover"],
1116
- [data-refineui="tooltip-panel"],
1117
- [data-refineui="floating-beak-surface"],
1160
+ [data-refineui="floating-surface"],
1118
1161
  [data-refineui="sidebar-peek-panel"],
1119
1162
  [data-refineui="navigation-menu-content-panel"] {
1120
1163
  background-color: var(--refineui-color-alias-background-primary) !important;
@@ -1138,8 +1181,7 @@
1138
1181
  [data-refineui="menu"],
1139
1182
  [data-refineui="dropdown-menu"],
1140
1183
  [data-refineui="select-menu"],
1141
- [data-refineui="popover"],
1142
- [data-refineui="tooltip-panel"],
1184
+ [data-refineui="floating-surface"],
1143
1185
  [data-refineui="sidebar-peek-panel"],
1144
1186
  [data-refineui="navigation-menu-content-panel"] {
1145
1187
  background-color: var(--refineui-color-alias-surface-frosted);
@@ -1148,12 +1190,11 @@
1148
1190
  }
1149
1191
 
1150
1192
  /*
1151
- * Beaks are smaller than the surface blur radius. A separate backdrop-filter
1152
- * samples the nearby trigger and shifts their visible color, so use the
1153
- * frosted panel's resolved base tone to keep the seam pixel-consistent.
1193
+ * Popover / Tooltip — panel + beak share one clipped surface. The shadow layer is a
1194
+ * sibling (not an ancestor) so its filter does not become the surface's backdrop root.
1154
1195
  */
1155
- [data-refineui="floating-beak-surface"] {
1156
- background-color: var(--refineui-color-alias-background-primary);
1196
+ [data-refineui="floating-shadow"] {
1197
+ filter: var(--refineui-elevation-floating-filter);
1157
1198
  }
1158
1199
 
1159
1200
  [data-refineui="toast"][data-swiping="true"] {
@@ -1244,7 +1285,8 @@
1244
1285
 
1245
1286
  /* Carousel — stage drag + control focus (nav lives below slides) */
1246
1287
  @media (prefers-reduced-motion: reduce) {
1247
- [data-refineui="carousel-track"][data-animated="true"] {
1288
+ [data-refineui="carousel-track"][data-animated="true"],
1289
+ [data-refineui="carousel-indicator-thumb"][data-animate="true"] {
1248
1290
  transition: none !important;
1249
1291
  }
1250
1292
  }
@@ -1257,7 +1299,8 @@
1257
1299
  [data-refineui="carousel-indicator-thumb"] {
1258
1300
  transition: none;
1259
1301
  }
1260
- [data-refineui="carousel-indicator-thumb"][data-ready="true"] {
1302
+ /* Animate only after first layout (`data-animate`) so mount does not grow from 0 — Segmented Control contract. */
1303
+ [data-refineui="carousel-indicator-thumb"][data-animate="true"] {
1261
1304
  transition: transform var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
1262
1305
  width var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized);
1263
1306
  }
@@ -2085,6 +2128,56 @@ a[data-refineui="link"]:focus-visible {
2085
2128
  top: 0;
2086
2129
  height: 100%;
2087
2130
  }
2131
+ /*
2132
+ * ScrollArea edge blur (always on) — rows marked `data-scroll-edge-item` soften progressively
2133
+ * across the outer 25% of the scrollport on each side, like a picker wheel's edge. Size and opacity
2134
+ * stay put, so rows never shift or shrink.
2135
+ *
2136
+ * The scroll-driven animation (`view()` cover range) only tracks *where* a row sits; ScrollArea
2137
+ * scales that by `--refineui-scroll-edge-top` / `-bottom` (0 → 1 as content hides past that edge),
2138
+ * so lists that do not scroll, and the edge you are parked at, stay untouched.
2139
+ * `cover 0%` is the block-end edge (rows entering from below), `cover 100%` the block-start edge.
2140
+ */
2141
+ @supports (animation-timeline: view()) {
2142
+ @property --refineui-scroll-edge-end {
2143
+ syntax: "<number>";
2144
+ inherits: false;
2145
+ initial-value: 0;
2146
+ }
2147
+ @property --refineui-scroll-edge-start {
2148
+ syntax: "<number>";
2149
+ inherits: false;
2150
+ initial-value: 0;
2151
+ }
2152
+ @keyframes refineui-scroll-edge-falloff {
2153
+ cover 0% {
2154
+ --refineui-scroll-edge-end: 1;
2155
+ }
2156
+ cover 25% {
2157
+ --refineui-scroll-edge-end: 0;
2158
+ }
2159
+ cover 75% {
2160
+ --refineui-scroll-edge-start: 0;
2161
+ }
2162
+ cover 100% {
2163
+ --refineui-scroll-edge-start: 1;
2164
+ }
2165
+ }
2166
+ [data-refineui="scroll-area"] [data-scroll-edge-item] {
2167
+ --refineui-scroll-edge-amount: max(
2168
+ calc(var(--refineui-scroll-edge-end) * var(--refineui-scroll-edge-bottom, 0)),
2169
+ calc(var(--refineui-scroll-edge-start) * var(--refineui-scroll-edge-top, 0))
2170
+ );
2171
+ filter: blur(calc(var(--refineui-blur-scroll-edge) * var(--refineui-scroll-edge-amount)));
2172
+ animation: refineui-scroll-edge-falloff linear both;
2173
+ animation-timeline: view();
2174
+ }
2175
+ }
2176
+ @media (prefers-reduced-motion: reduce) {
2177
+ [data-refineui="scroll-area"] [data-scroll-edge-item] {
2178
+ animation: none;
2179
+ }
2180
+ }
2088
2181
  [data-refineui="scroll-area-scrollbar"][data-state="hidden"] {
2089
2182
  pointer-events: none;
2090
2183
  opacity: 0;
@@ -2132,11 +2225,41 @@ a[data-refineui="link"]:focus-visible {
2132
2225
  pointer-events: auto;
2133
2226
  }
2134
2227
 
2135
- /* Command list — fixed height shell so ScrollArea viewport can scroll */
2228
+ /*
2229
+ * Command list — shell height is the measured results height (inline), capped by max-height,
2230
+ * so ScrollArea still gets a real height. Height animates as results filter in and out.
2231
+ */
2232
+ /* Panel radius per size — matches the SearchField radius of the same size; the scrollbar inset reads it too. */
2233
+ [data-refineui="command"] {
2234
+ --refineui-command-list-radius: var(--refineui-radius-rounded-x-large);
2235
+ }
2236
+ [data-refineui="command"][data-size="sm"] {
2237
+ --refineui-command-list-radius: var(--refineui-radius-rounded-large);
2238
+ }
2239
+ [data-refineui="command"][data-size="lg"] {
2240
+ --refineui-command-list-radius: var(--refineui-radius-rounded-xx-large);
2241
+ }
2136
2242
  [data-refineui="command-list"] {
2137
- height: min(60vh, var(--refineui-size-foundation-size-3200));
2138
2243
  max-height: min(60vh, var(--refineui-size-foundation-size-3200));
2139
2244
  overflow: hidden;
2245
+ border-radius: var(--refineui-command-list-radius);
2246
+ }
2247
+ /*
2248
+ * Shorten the default rail at both ends so it clears the panel's rounded corners;
2249
+ * half the radius is enough at the default inline inset. Rail look stays the ScrollArea default.
2250
+ */
2251
+ [data-refineui="command-list"]
2252
+ > [data-refineui="scroll-area"]
2253
+ > [data-refineui="scroll-area-scrollbar"][data-orientation="vertical"] {
2254
+ inset-block: calc(var(--refineui-command-list-radius) / 2);
2255
+ }
2256
+ [data-refineui="command-list"][data-animate="true"] {
2257
+ transition: height var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized);
2258
+ }
2259
+ @media (prefers-reduced-motion: reduce) {
2260
+ [data-refineui="command-list"][data-animate="true"] {
2261
+ transition: none;
2262
+ }
2140
2263
  }
2141
2264
  [data-refineui="command-list"] > [data-refineui="scroll-area"] {
2142
2265
  height: 100%;
@@ -2271,7 +2394,7 @@ a[data-refineui="link"]:focus-visible {
2271
2394
  [data-refineui="menu"],
2272
2395
  [data-refineui="dropdown-menu"],
2273
2396
  [data-refineui="select-menu"],
2274
- [data-refineui="command"],
2397
+ [data-refineui="command-list"],
2275
2398
  [data-refineui="dialog"] {
2276
2399
  border-color: CanvasText;
2277
2400
  }
@@ -2287,7 +2410,6 @@ a[data-refineui="link"]:focus-visible {
2287
2410
  [data-refineui="select-menu"],
2288
2411
  [data-refineui="popover"],
2289
2412
  [data-refineui="tooltip-panel"],
2290
- [data-refineui="floating-beak-surface"],
2291
2413
  [data-refineui="navigation-menu-content-panel"],
2292
2414
  [data-refineui="sidebar-peek-panel"] {
2293
2415
  background-color: Canvas !important;
@@ -2295,6 +2417,24 @@ a[data-refineui="link"]:focus-visible {
2295
2417
  -webkit-backdrop-filter: none;
2296
2418
  }
2297
2419
 
2420
+ /* System colors draw the panel box itself; the clipped beak surface would not be forced. */
2421
+ [data-refineui="floating-chrome"] {
2422
+ display: none;
2423
+ }
2424
+
2425
+ /* Detached layout: the root draws no surface; text follows the system colors (panel border lives on command-list). */
2426
+ [data-refineui="command"] {
2427
+ color: CanvasText;
2428
+ }
2429
+ /* Author fills are dropped in forced colors — mark the selected command with a system outline. */
2430
+ [data-refineui="command-indicator"] {
2431
+ display: none;
2432
+ }
2433
+ [data-refineui="command-item"][data-selected="true"] {
2434
+ outline: 2px solid Highlight;
2435
+ outline-offset: calc(var(--refineui-focus-offset) * -1);
2436
+ }
2437
+
2298
2438
  [data-refineui="dialog"] > [role="presentation"],
2299
2439
  [data-refineui="drawer"] > [role="presentation"] {
2300
2440
  backdrop-filter: none;
@@ -2308,7 +2448,8 @@ a[data-refineui="link"]:focus-visible {
2308
2448
 
2309
2449
  [data-refineui="dialog"],
2310
2450
  [data-refineui="drawer"],
2311
- [data-refineui="popover"] {
2451
+ [data-refineui="popover"],
2452
+ [data-refineui="tooltip-panel"] {
2312
2453
  border: var(--refineui-stroke-width-thin) solid CanvasText;
2313
2454
  }
2314
2455
 
@@ -2344,10 +2485,7 @@ a[data-refineui="link"]:focus-visible {
2344
2485
  border-width: var(--refineui-stroke-width-thick);
2345
2486
  }
2346
2487
 
2347
- [data-refineui="toast"],
2348
- [data-refineui="popover"],
2349
- [data-refineui="tooltip-panel"],
2350
- [data-refineui="floating-beak-surface"] {
2488
+ [data-refineui="toast"] {
2351
2489
  border-style: solid;
2352
2490
  border-color: var(--refineui-color-alias-border-default);
2353
2491
  background-color: var(--refineui-color-alias-surface-popover) !important;
@@ -2355,6 +2493,16 @@ a[data-refineui="link"]:focus-visible {
2355
2493
  -webkit-backdrop-filter: none;
2356
2494
  }
2357
2495
 
2496
+ [data-refineui="floating-surface"] {
2497
+ background-color: var(--refineui-color-alias-surface-popover) !important;
2498
+ backdrop-filter: none;
2499
+ -webkit-backdrop-filter: none;
2500
+ }
2501
+
2502
+ [data-refineui="floating-outline"] path {
2503
+ stroke-width: var(--refineui-stroke-width-thick);
2504
+ }
2505
+
2358
2506
  [data-refineui="dialog"] > [role="presentation"],
2359
2507
  [data-refineui="drawer"] > [role="presentation"] {
2360
2508
  backdrop-filter: none;
@@ -5,7 +5,21 @@
5
5
  "kind": "root",
6
6
  "category": "components",
7
7
  "label": "Command",
8
- "props": [],
8
+ "props": [
9
+ {
10
+ "name": "size",
11
+ "label": "size",
12
+ "valueType": "enum",
13
+ "control": "segmented",
14
+ "options": [
15
+ "sm",
16
+ "md",
17
+ "lg"
18
+ ],
19
+ "defaultValue": "sm",
20
+ "section": "variants"
21
+ }
22
+ ],
9
23
  "preview": {
10
24
  "mode": "full"
11
25
  },
@@ -17,6 +17,19 @@
17
17
  ],
18
18
  "defaultValue": "filled",
19
19
  "section": "variants"
20
+ },
21
+ {
22
+ "name": "size",
23
+ "label": "size",
24
+ "valueType": "enum",
25
+ "control": "segmented",
26
+ "options": [
27
+ "sm",
28
+ "md",
29
+ "lg"
30
+ ],
31
+ "defaultValue": "sm",
32
+ "section": "variants"
20
33
  }
21
34
  ],
22
35
  "preview": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema": "refineui.authoring/1",
3
3
  "packageName": "@refineui/react",
4
- "packageVersion": "0.1.1",
4
+ "packageVersion": "0.2.0",
5
5
  "css": [
6
6
  "@refineui/react/refineui.css"
7
7
  ],
@@ -332,6 +332,19 @@
332
332
  ],
333
333
  "defaultValue": "filled",
334
334
  "section": "variants"
335
+ },
336
+ {
337
+ "name": "size",
338
+ "label": "size",
339
+ "valueType": "enum",
340
+ "control": "segmented",
341
+ "options": [
342
+ "sm",
343
+ "md",
344
+ "lg"
345
+ ],
346
+ "defaultValue": "sm",
347
+ "section": "variants"
335
348
  }
336
349
  ],
337
350
  "preview": {
@@ -1671,7 +1684,21 @@
1671
1684
  "kind": "root",
1672
1685
  "category": "components",
1673
1686
  "label": "Command",
1674
- "props": [],
1687
+ "props": [
1688
+ {
1689
+ "name": "size",
1690
+ "label": "size",
1691
+ "valueType": "enum",
1692
+ "control": "segmented",
1693
+ "options": [
1694
+ "sm",
1695
+ "md",
1696
+ "lg"
1697
+ ],
1698
+ "defaultValue": "sm",
1699
+ "section": "variants"
1700
+ }
1701
+ ],
1675
1702
  "preview": {
1676
1703
  "mode": "full"
1677
1704
  },
@@ -8,6 +8,7 @@
8
8
  "empty": "command-empty",
9
9
  "group": "command-group",
10
10
  "group_heading": "command-group-heading",
11
+ "indicator": "command-indicator",
11
12
  "input": "command-input",
12
13
  "item": "command-item",
13
14
  "list": "command-list",
@@ -17,6 +18,13 @@
17
18
  "attributes": {
18
19
  "data-refineui": "command"
19
20
  },
21
+ "variants": {
22
+ "size": [
23
+ "sm",
24
+ "md",
25
+ "lg"
26
+ ]
27
+ },
20
28
  "states": {
21
29
  "pseudo": [
22
30
  "focus-visible"
@@ -16,6 +16,11 @@
16
16
  "appearance": [
17
17
  "filled",
18
18
  "plain"
19
+ ],
20
+ "size": [
21
+ "sm",
22
+ "md",
23
+ "lg"
19
24
  ]
20
25
  },
21
26
  "states": {