@refineui/react 0.0.8 → 0.0.9

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.
@@ -14,6 +14,7 @@
14
14
  "variants": {
15
15
  "appearance": [
16
16
  "filled",
17
+ "ghost",
17
18
  "plain"
18
19
  ]
19
20
  },
@@ -3,7 +3,7 @@
3
3
  "contractLayer": "component-spec",
4
4
  "contractLayerVersion": "1.1",
5
5
  "status": "catalog",
6
- "generatedAt": "2026-09-25T16:34:38.707Z",
6
+ "generatedAt": "2026-09-26T17:57:19.507Z",
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-09-25T16:34:38.704Z",
3
+ "generatedAt": "2026-09-26T17:57:19.500Z",
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.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "RefineUI React components — Pelagornis RefineUI Web Kit",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/refineui.css CHANGED
@@ -69,8 +69,8 @@
69
69
  }
70
70
  [data-refineui="select-item"] {
71
71
  transition:
72
- background-color var(--refineui-motion-duration-fast),
73
- transform var(--refineui-motion-duration-fast);
72
+ background-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
73
+ transform var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out);
74
74
  }
75
75
  /* List rows — Sidebar link plate (primary hover / active) */
76
76
  [data-refineui="dropdown-item"][data-selected="true"]:not(:disabled) {
@@ -160,22 +160,37 @@
160
160
  }
161
161
  [data-refineui="calendar-day"] {
162
162
  transition:
163
- background-color var(--refineui-motion-duration-fast),
164
- border-color var(--refineui-motion-duration-fast),
165
- color var(--refineui-motion-duration-fast),
166
- transform var(--refineui-motion-duration-fast);
163
+ background-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
164
+ border-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
165
+ color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
166
+ transform var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out);
167
+ }
168
+ /* Select trigger — Button-like transform (press scale) */
169
+ [data-refineui="select-trigger"] {
170
+ transition:
171
+ color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
172
+ background-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
173
+ border-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
174
+ transform var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out);
167
175
  }
168
- /* Calendar caption selects — ghost plate (header chrome, not form-field outline) */
169
- [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header]:not(:disabled):hover:not(:active),
170
- [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header][data-state="open"]:not(:disabled) {
176
+ /* Select trigger ghost — Button-like plate (Calendar caption, compact chrome) */
177
+ [data-refineui="select-trigger"][data-appearance="ghost"]:not(:disabled):hover:not(:active):not([data-pressed]),
178
+ [data-refineui="select-trigger"][data-appearance="ghost"][data-state="open"]:not(:disabled):not(:active):not([data-pressed]) {
171
179
  background-color: var(--refineui-color-alias-background-primary-hover);
172
180
  color: var(--refineui-color-alias-foreground-primary-hover);
173
181
  }
174
- [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header]:not(:disabled):active,
175
- [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header][data-state="open"]:not(:disabled):active {
182
+ [data-refineui="select-trigger"][data-appearance="ghost"]:not(:disabled):active,
183
+ [data-refineui="select-trigger"][data-appearance="ghost"][data-pressed]:not(:disabled),
184
+ [data-refineui="select-trigger"][data-appearance="ghost"][data-state="open"]:not(:disabled):active,
185
+ [data-refineui="select-trigger"][data-appearance="ghost"][data-state="open"][data-pressed]:not(:disabled) {
176
186
  background-color: var(--refineui-color-alias-background-primary-active);
177
187
  color: var(--refineui-color-alias-foreground-primary);
178
188
  }
189
+ [data-refineui="select-trigger"][data-appearance="ghost"]:focus-visible:not(:disabled) {
190
+ outline: none;
191
+ background-color: var(--refineui-color-alias-background-primary-hover);
192
+ color: var(--refineui-color-alias-foreground-primary-hover);
193
+ }
179
194
  [data-refineui="calendar-nav"]:hover,
180
195
  [data-refineui="chip-remove"]:hover {
181
196
  opacity: 0.9;
@@ -357,6 +372,28 @@
357
372
  [data-refineui="tabs-indicator"] {
358
373
  transition: none;
359
374
  display: block;
375
+ opacity: 0;
376
+ }
377
+ [data-refineui="tabs-indicator"][data-ready="true"] {
378
+ opacity: 1;
379
+ }
380
+ /*
381
+ * SSR / pre-measure: selected tab carries a static underline until the sliding
382
+ * indicator has geometry (`data-ready`). Avoids a missing brand line on first paint.
383
+ */
384
+ [data-refineui="tabs-list"]:not(:has([data-refineui="tabs-indicator"][data-ready="true"]))
385
+ [data-refineui="tab"][data-selected="true"]::after {
386
+ content: "";
387
+ position: absolute;
388
+ inset-inline: 0;
389
+ bottom: 0;
390
+ height: var(--refineui-stroke-width-thick);
391
+ background-color: var(--refineui-color-alias-background-brand);
392
+ pointer-events: none;
393
+ }
394
+ [data-refineui="tabs-list"]:not(:has([data-refineui="tabs-indicator"][data-ready="true"]))
395
+ [data-refineui="tab"][data-selected="true"]:not(:disabled):not([aria-disabled="true"]):hover::after {
396
+ background-color: var(--refineui-color-alias-background-brand-hover);
360
397
  }
361
398
  /* Animate only after first layout (`data-animate`) — same contract as Segmented Control. */
362
399
  [data-refineui="tabs-indicator"][data-animate="true"] {
@@ -383,7 +420,7 @@
383
420
  [data-refineui="tab"]:active {
384
421
  transform: none;
385
422
  }
386
- /* Calendar / Day — Web Kit `Calendar / Day` (`639:7052`) */
423
+ /* Calendar / Day — Web Kit `Calendar / Day` (`639:7052`) + Button press scale */
387
424
  [data-refineui="calendar-day"]:not([disabled]):not([data-inactive="true"]):not([data-selected]):not([data-range-middle]):hover:not(:active) {
388
425
  background-color: var(--refineui-color-alias-background-primary-hover) !important;
389
426
  color: var(--refineui-color-alias-foreground-primary-hover) !important;
@@ -391,6 +428,7 @@
391
428
  [data-refineui="calendar-day"]:not([disabled]):not([data-inactive="true"]):not([data-selected]):not([data-range-middle]):active {
392
429
  background-color: var(--refineui-color-alias-background-primary-active) !important;
393
430
  color: var(--refineui-color-alias-foreground-primary) !important;
431
+ transform: scale(var(--refineui-motion-scale-press));
394
432
  }
395
433
  [data-refineui="calendar-day"][data-range-middle]:not([disabled]):not([data-inactive="true"]):hover:not(:active) {
396
434
  background-color: var(--refineui-color-alias-background-primary-hover) !important;
@@ -399,8 +437,12 @@
399
437
  [data-refineui="calendar-day"][data-range-middle]:not([disabled]):not([data-inactive="true"]):active {
400
438
  background-color: var(--refineui-color-alias-background-primary-active) !important;
401
439
  color: var(--refineui-color-alias-foreground-primary) !important;
440
+ transform: scale(var(--refineui-motion-scale-press));
441
+ }
442
+ /* Selected day — keep rest fill; still press-scale on click like Button */
443
+ [data-refineui="calendar-day"][data-selected]:not([disabled]):not([data-inactive="true"]):active {
444
+ transform: scale(var(--refineui-motion-scale-press));
402
445
  }
403
- /* Selected / Day — selection uses fixed rest only; no hover/pressed background (Web Kit) */
404
446
  /* Stepper — markers share Calendar day cell selection; upcoming uses primary hover/active */
405
447
  [data-refineui="stepper-item"]:not([data-disabled="true"])
406
448
  [data-refineui="stepper-indicator"][data-state="upcoming"]:active {
@@ -496,6 +538,8 @@
496
538
  [data-refineui="pagination"]:not(:disabled):active,
497
539
  [data-refineui="dropdown-item"]:not(:disabled):active,
498
540
  [data-refineui="select-item"]:not([aria-disabled="true"]):active,
541
+ [data-refineui="select-trigger"]:not(:disabled):active,
542
+ [data-refineui="select-trigger"][data-pressed]:not(:disabled),
499
543
  [data-refineui="menu-item"]:not(:disabled):active,
500
544
  [data-refineui="command-item"]:not(:disabled):active,
501
545
  [data-refineui="calendar-nav"]:active,
@@ -789,28 +833,24 @@
789
833
  }
790
834
 
791
835
  /* Select trigger — Navigation Menu hover / press / open plate; hairline field chrome */
792
- [data-refineui="select-trigger"]:not([data-appearance="plain"]) {
793
- transition:
794
- color var(--refineui-motion-duration-fast),
795
- background-color var(--refineui-motion-duration-fast),
796
- border-color var(--refineui-motion-duration-fast);
797
- }
798
- [data-refineui="select-trigger"]:not([data-appearance="plain"]):not(:disabled):hover:not(:active) {
836
+ [data-refineui="select-trigger"][data-appearance="filled"]:not(:disabled):hover:not(:active):not([data-pressed]) {
799
837
  color: var(--refineui-color-alias-foreground-primary-hover) !important;
800
838
  background-color: var(--refineui-color-alias-background-primary-hover) !important;
801
839
  }
802
- [data-refineui="select-trigger"]:not([data-appearance="plain"]):not(:disabled):active {
840
+ [data-refineui="select-trigger"][data-appearance="filled"]:not(:disabled):active,
841
+ [data-refineui="select-trigger"][data-appearance="filled"][data-pressed]:not(:disabled) {
803
842
  color: var(--refineui-color-alias-foreground-primary) !important;
804
843
  background-color: var(--refineui-color-alias-background-primary-active) !important;
805
844
  }
806
- [data-refineui="select-trigger"]:not([data-appearance="plain"])[data-state="open"]:not(:disabled) {
845
+ [data-refineui="select-trigger"][data-appearance="filled"][data-state="open"]:not(:disabled):not(:active):not([data-pressed]) {
807
846
  color: var(--refineui-color-alias-foreground-primary) !important;
808
847
  background-color: var(--refineui-color-alias-background-primary-hover) !important;
809
848
  }
810
- [data-refineui="select-trigger"]:not([data-appearance="plain"])[data-state="open"]:not(:disabled):active {
849
+ [data-refineui="select-trigger"][data-appearance="filled"][data-state="open"]:not(:disabled):active,
850
+ [data-refineui="select-trigger"][data-appearance="filled"][data-state="open"][data-pressed]:not(:disabled) {
811
851
  background-color: var(--refineui-color-alias-background-primary-active) !important;
812
852
  }
813
- [data-refineui="select-trigger"]:not([data-appearance="plain"]):focus-visible:not(:disabled) {
853
+ [data-refineui="select-trigger"][data-appearance="filled"]:focus-visible:not(:disabled) {
814
854
  outline: none;
815
855
  color: var(--refineui-color-alias-foreground-primary-hover);
816
856
  background-color: var(--refineui-color-alias-background-primary-hover);
@@ -14,6 +14,7 @@
14
14
  "variants": {
15
15
  "appearance": [
16
16
  "filled",
17
+ "ghost",
17
18
  "plain"
18
19
  ]
19
20
  },