@entropix/react 1.0.0 → 1.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 (120) hide show
  1. package/dist/accordion.cjs +27 -0
  2. package/dist/accordion.css +57 -0
  3. package/dist/accordion.d.cts +30 -0
  4. package/dist/accordion.d.ts +30 -0
  5. package/dist/accordion.js +6 -0
  6. package/dist/button.cjs +15 -0
  7. package/dist/button.css +113 -0
  8. package/dist/button.d.cts +25 -0
  9. package/dist/button.d.ts +25 -0
  10. package/dist/button.js +6 -0
  11. package/dist/checkbox.cjs +15 -0
  12. package/dist/checkbox.css +89 -0
  13. package/dist/checkbox.d.cts +26 -0
  14. package/dist/checkbox.d.ts +26 -0
  15. package/dist/checkbox.js +6 -0
  16. package/dist/chunk-2MKJZEUK.cjs +4 -0
  17. package/dist/chunk-34IVVIO3.cjs +119 -0
  18. package/dist/chunk-36ZHHJYV.js +79 -0
  19. package/dist/chunk-5DKE5YQD.cjs +10 -0
  20. package/dist/chunk-664P2RGR.js +108 -0
  21. package/dist/chunk-6NKHMBF3.cjs +97 -0
  22. package/dist/chunk-6UAQCHIW.js +8 -0
  23. package/dist/chunk-7AUIZOEH.cjs +84 -0
  24. package/dist/chunk-AVCBDUKH.js +3 -0
  25. package/dist/chunk-B5JZHE4I.cjs +90 -0
  26. package/dist/chunk-BN57JPKV.js +26 -0
  27. package/dist/chunk-BY4E26CV.js +114 -0
  28. package/dist/chunk-CL6JXZIY.js +88 -0
  29. package/dist/chunk-CTT3LXMZ.js +76 -0
  30. package/dist/chunk-EASSPJBG.cjs +110 -0
  31. package/dist/chunk-EWY7MSXF.cjs +94 -0
  32. package/dist/chunk-FJGLK3I4.js +89 -0
  33. package/dist/chunk-GTVBKK3W.js +88 -0
  34. package/dist/chunk-GZXXUFCJ.cjs +15 -0
  35. package/dist/chunk-IXH7OVN3.cjs +86 -0
  36. package/dist/chunk-KGIUECLG.cjs +91 -0
  37. package/dist/chunk-LDOP6DVX.cjs +28 -0
  38. package/dist/chunk-LJK6KK2H.cjs +43 -0
  39. package/dist/chunk-OT2HJUCB.js +84 -0
  40. package/dist/chunk-PILZGMQG.js +87 -0
  41. package/dist/chunk-PN42JF6U.js +92 -0
  42. package/dist/chunk-RPIYYBFJ.cjs +90 -0
  43. package/dist/chunk-S6DVQAH4.cjs +240 -0
  44. package/dist/chunk-U5CZHO6D.js +13 -0
  45. package/dist/chunk-UGCCJI2F.js +111 -0
  46. package/dist/chunk-W6N4D4N4.js +230 -0
  47. package/dist/chunk-Y2M2LJGJ.js +41 -0
  48. package/dist/chunk-YJG5KX6O.cjs +81 -0
  49. package/dist/chunk-ZG4PZBSL.cjs +113 -0
  50. package/dist/dialog.cjs +39 -0
  51. package/dist/dialog.css +89 -0
  52. package/dist/dialog.d.cts +62 -0
  53. package/dist/dialog.d.ts +62 -0
  54. package/dist/dialog.js +6 -0
  55. package/dist/index.cjs +170 -1223
  56. package/dist/index.d.cts +17 -477
  57. package/dist/index.d.ts +17 -477
  58. package/dist/index.js +19 -1189
  59. package/dist/input.cjs +15 -0
  60. package/dist/input.css +135 -0
  61. package/dist/input.d.cts +37 -0
  62. package/dist/input.d.ts +37 -0
  63. package/dist/input.js +6 -0
  64. package/dist/layout.cjs +25 -0
  65. package/dist/layout.css +176 -0
  66. package/dist/layout.d.cts +108 -0
  67. package/dist/layout.d.ts +108 -0
  68. package/dist/layout.js +4 -0
  69. package/dist/menu.cjs +27 -0
  70. package/dist/menu.css +51 -0
  71. package/dist/menu.d.cts +31 -0
  72. package/dist/menu.d.ts +31 -0
  73. package/dist/menu.js +6 -0
  74. package/dist/radio.cjs +19 -0
  75. package/dist/radio.css +93 -0
  76. package/dist/radio.d.cts +37 -0
  77. package/dist/radio.d.ts +37 -0
  78. package/dist/radio.js +6 -0
  79. package/dist/select.cjs +27 -0
  80. package/dist/select.css +114 -0
  81. package/dist/select.d.cts +59 -0
  82. package/dist/select.d.ts +59 -0
  83. package/dist/select.js +6 -0
  84. package/dist/styles/accordion.css +1 -67
  85. package/dist/styles/button.css +1 -133
  86. package/dist/styles/checkbox.css +1 -119
  87. package/dist/styles/dialog.css +1 -102
  88. package/dist/styles/index.css +1 -14
  89. package/dist/styles/input.css +1 -176
  90. package/dist/styles/layout.css +1 -125
  91. package/dist/styles/menu.css +1 -62
  92. package/dist/styles/radio.css +1 -128
  93. package/dist/styles/select.css +1 -148
  94. package/dist/styles/switch.css +1 -53
  95. package/dist/styles/tabs.css +1 -84
  96. package/dist/styles/toggle.css +1 -45
  97. package/dist/switch.cjs +16 -0
  98. package/dist/switch.css +89 -0
  99. package/dist/switch.d.cts +14 -0
  100. package/dist/switch.d.ts +14 -0
  101. package/dist/switch.js +7 -0
  102. package/dist/tabs.cjs +27 -0
  103. package/dist/tabs.css +69 -0
  104. package/dist/tabs.d.cts +31 -0
  105. package/dist/tabs.d.ts +31 -0
  106. package/dist/tabs.js +6 -0
  107. package/dist/textarea.cjs +15 -0
  108. package/dist/textarea.css +135 -0
  109. package/dist/textarea.d.cts +41 -0
  110. package/dist/textarea.d.ts +41 -0
  111. package/dist/textarea.js +6 -0
  112. package/dist/toggle.cjs +19 -0
  113. package/dist/toggle.css +41 -0
  114. package/dist/toggle.d.cts +34 -0
  115. package/dist/toggle.d.ts +34 -0
  116. package/dist/toggle.js +6 -0
  117. package/package.json +135 -4
  118. package/dist/index.cjs.map +0 -1
  119. package/dist/index.css.map +0 -1
  120. package/dist/index.js.map +0 -1
@@ -1,125 +1 @@
1
- /* Layout Primitives @entropix/react */
2
-
3
- /* === Stack (vertical flex layout) === */
4
-
5
- .entropix-stack {
6
- display: flex;
7
- flex-direction: column;
8
- gap: var(--entropix-space-layout-stack);
9
- }
10
-
11
- .entropix-stack--gap-none { gap: 0; }
12
- .entropix-stack--gap-xs { gap: var(--entropix-spacing-1); }
13
- .entropix-stack--gap-sm { gap: var(--entropix-spacing-2); }
14
- .entropix-stack--gap-md { gap: var(--entropix-spacing-4); }
15
- .entropix-stack--gap-lg { gap: var(--entropix-spacing-6); }
16
- .entropix-stack--gap-xl { gap: var(--entropix-spacing-8); }
17
- .entropix-stack--gap-2xl { gap: var(--entropix-spacing-12); }
18
-
19
- .entropix-stack--align-start { align-items: flex-start; }
20
- .entropix-stack--align-center { align-items: center; }
21
- .entropix-stack--align-end { align-items: flex-end; }
22
- .entropix-stack--align-stretch { align-items: stretch; }
23
-
24
- .entropix-stack--full-width { width: 100%; }
25
-
26
- /* === Inline (horizontal flex layout) === */
27
-
28
- .entropix-inline {
29
- display: flex;
30
- flex-direction: row;
31
- align-items: center;
32
- gap: var(--entropix-space-layout-inline);
33
- }
34
-
35
- .entropix-inline--gap-none { gap: 0; }
36
- .entropix-inline--gap-xs { gap: var(--entropix-spacing-1); }
37
- .entropix-inline--gap-sm { gap: var(--entropix-spacing-2); }
38
- .entropix-inline--gap-md { gap: var(--entropix-spacing-4); }
39
- .entropix-inline--gap-lg { gap: var(--entropix-spacing-6); }
40
- .entropix-inline--gap-xl { gap: var(--entropix-spacing-8); }
41
- .entropix-inline--gap-2xl { gap: var(--entropix-spacing-12); }
42
-
43
- .entropix-inline--align-start { align-items: flex-start; }
44
- .entropix-inline--align-center { align-items: center; }
45
- .entropix-inline--align-end { align-items: flex-end; }
46
- .entropix-inline--align-stretch { align-items: stretch; }
47
- .entropix-inline--align-baseline { align-items: baseline; }
48
-
49
- .entropix-inline--justify-start { justify-content: flex-start; }
50
- .entropix-inline--justify-center { justify-content: center; }
51
- .entropix-inline--justify-end { justify-content: flex-end; }
52
- .entropix-inline--justify-between { justify-content: space-between; }
53
- .entropix-inline--justify-around { justify-content: space-around; }
54
-
55
- .entropix-inline--wrap { flex-wrap: wrap; }
56
-
57
- /* === Container (page-level wrapper) === */
58
-
59
- .entropix-container {
60
- width: 100%;
61
- margin-left: auto;
62
- margin-right: auto;
63
- padding-left: var(--entropix-space-layout-page-margin);
64
- padding-right: var(--entropix-space-layout-page-margin);
65
- }
66
-
67
- .entropix-container--xs { max-width: 480px; }
68
- .entropix-container--sm { max-width: 640px; }
69
- .entropix-container--md { max-width: 768px; }
70
- .entropix-container--lg { max-width: 1024px; }
71
- .entropix-container--xl { max-width: 1280px; }
72
- .entropix-container--full { max-width: 100%; }
73
-
74
- .entropix-container--center {
75
- display: flex;
76
- flex-direction: column;
77
- align-items: center;
78
- }
79
-
80
- /* === Divider (visual separator) === */
81
-
82
- .entropix-divider {
83
- border: 0;
84
- border-top: 1px solid var(--entropix-color-border-default);
85
- margin: 0;
86
- width: 100%;
87
- }
88
-
89
- .entropix-divider--vertical {
90
- border-top: 0;
91
- border-left: 1px solid var(--entropix-color-border-default);
92
- width: auto;
93
- height: auto;
94
- align-self: stretch;
95
- }
96
-
97
- .entropix-divider--spacing-sm { margin: var(--entropix-spacing-2) 0; }
98
- .entropix-divider--spacing-md { margin: var(--entropix-spacing-4) 0; }
99
- .entropix-divider--spacing-lg { margin: var(--entropix-spacing-6) 0; }
100
-
101
- .entropix-divider--vertical.entropix-divider--spacing-sm { margin: 0 var(--entropix-spacing-2); }
102
- .entropix-divider--vertical.entropix-divider--spacing-md { margin: 0 var(--entropix-spacing-4); }
103
- .entropix-divider--vertical.entropix-divider--spacing-lg { margin: 0 var(--entropix-spacing-6); }
104
-
105
- /* ═══════════════════════════════════════════════════════════════════════════
106
- RESPONSIVE — Tablet and up (>=768px)
107
- ═══════════════════════════════════════════════════════════════════════════ */
108
-
109
- @media (min-width: 768px) {
110
- .entropix-container {
111
- padding-left: var(--entropix-space-layout-page-margin-md);
112
- padding-right: var(--entropix-space-layout-page-margin-md);
113
- }
114
- }
115
-
116
- /* ═══════════════════════════════════════════════════════════════════════════
117
- RESPONSIVE — Desktop and up (>=1024px)
118
- ═══════════════════════════════════════════════════════════════════════════ */
119
-
120
- @media (min-width: 1024px) {
121
- .entropix-container {
122
- padding-left: var(--entropix-space-layout-page-margin-lg);
123
- padding-right: var(--entropix-space-layout-page-margin-lg);
124
- }
125
- }
1
+ .entropix-stack{gap:var(--entropix-space-layout-stack);flex-direction:column;display:flex}.entropix-stack--gap-none{gap:0}.entropix-stack--gap-xs{gap:var(--entropix-spacing-1)}.entropix-stack--gap-sm{gap:var(--entropix-spacing-2)}.entropix-stack--gap-md{gap:var(--entropix-spacing-4)}.entropix-stack--gap-lg{gap:var(--entropix-spacing-6)}.entropix-stack--gap-xl{gap:var(--entropix-spacing-8)}.entropix-stack--gap-2xl{gap:var(--entropix-spacing-12)}.entropix-stack--align-start{align-items:flex-start}.entropix-stack--align-center{align-items:center}.entropix-stack--align-end{align-items:flex-end}.entropix-stack--align-stretch{align-items:stretch}.entropix-stack--full-width{width:100%}.entropix-inline{align-items:center;gap:var(--entropix-space-layout-inline);flex-direction:row;display:flex}.entropix-inline--gap-none{gap:0}.entropix-inline--gap-xs{gap:var(--entropix-spacing-1)}.entropix-inline--gap-sm{gap:var(--entropix-spacing-2)}.entropix-inline--gap-md{gap:var(--entropix-spacing-4)}.entropix-inline--gap-lg{gap:var(--entropix-spacing-6)}.entropix-inline--gap-xl{gap:var(--entropix-spacing-8)}.entropix-inline--gap-2xl{gap:var(--entropix-spacing-12)}.entropix-inline--align-start{align-items:flex-start}.entropix-inline--align-center{align-items:center}.entropix-inline--align-end{align-items:flex-end}.entropix-inline--align-stretch{align-items:stretch}.entropix-inline--align-baseline{align-items:baseline}.entropix-inline--justify-start{justify-content:flex-start}.entropix-inline--justify-center{justify-content:center}.entropix-inline--justify-end{justify-content:flex-end}.entropix-inline--justify-between{justify-content:space-between}.entropix-inline--justify-around{justify-content:space-around}.entropix-inline--wrap{flex-wrap:wrap}.entropix-container{width:100%;padding-left:var(--entropix-space-layout-page-margin);padding-right:var(--entropix-space-layout-page-margin);margin-left:auto;margin-right:auto}.entropix-container--xs{max-width:480px}.entropix-container--sm{max-width:640px}.entropix-container--md{max-width:768px}.entropix-container--lg{max-width:1024px}.entropix-container--xl{max-width:1280px}.entropix-container--full{max-width:100%}.entropix-container--center{flex-direction:column;align-items:center;display:flex}.entropix-divider{border:0;border-top:1px solid var(--entropix-color-border-default);width:100%;margin:0}.entropix-divider--vertical{border-top:0;border-left:1px solid var(--entropix-color-border-default);align-self:stretch;width:auto;height:auto}.entropix-divider--spacing-sm{margin:var(--entropix-spacing-2) 0}.entropix-divider--spacing-md{margin:var(--entropix-spacing-4) 0}.entropix-divider--spacing-lg{margin:var(--entropix-spacing-6) 0}.entropix-divider--vertical.entropix-divider--spacing-sm{margin:0 var(--entropix-spacing-2)}.entropix-divider--vertical.entropix-divider--spacing-md{margin:0 var(--entropix-spacing-4)}.entropix-divider--vertical.entropix-divider--spacing-lg{margin:0 var(--entropix-spacing-6)}@media (width>=768px){.entropix-container{padding-left:var(--entropix-space-layout-page-margin-md);padding-right:var(--entropix-space-layout-page-margin-md)}}@media (width>=1024px){.entropix-container{padding-left:var(--entropix-space-layout-page-margin-lg);padding-right:var(--entropix-space-layout-page-margin-lg)}}
@@ -1,62 +1 @@
1
- /* Menu @entropix/react */
2
-
3
- .entropix-menu-trigger {
4
- /* Inherits button styles if also .entropix-button */
5
- }
6
-
7
- .entropix-menu-content {
8
- min-width: 160px;
9
- padding: var(--entropix-spacing-1);
10
- background: var(--entropix-color-bg-primary);
11
- border: 1px solid var(--entropix-color-border-default);
12
- border-radius: var(--entropix-radius-md);
13
- box-shadow: var(--entropix-shadow-lg);
14
- z-index: 50;
15
- }
16
-
17
- .entropix-menu-item {
18
- display: flex;
19
- align-items: center;
20
- padding: var(--entropix-spacing-2) var(--entropix-spacing-3);
21
- border-radius: var(--entropix-radius-sm);
22
- font-family: var(--entropix-font-family-sans);
23
- font-size: var(--entropix-font-size-sm);
24
- color: var(--entropix-color-text-primary);
25
- cursor: pointer;
26
- user-select: none;
27
- transition: background var(--entropix-duration-fast) var(--entropix-easing-default);
28
- }
29
-
30
- .entropix-menu-item:hover {
31
- background: var(--entropix-color-action-secondary-default);
32
- }
33
-
34
- .entropix-menu-item[data-state="active"] {
35
- background: var(--entropix-color-action-secondary-default);
36
- }
37
-
38
- .entropix-menu-item[data-disabled="true"],
39
- .entropix-menu-item[aria-disabled="true"] {
40
- opacity: 0.5;
41
- cursor: not-allowed;
42
- pointer-events: none;
43
- }
44
-
45
- .entropix-menu-item:focus-visible {
46
- outline: 2px solid var(--entropix-color-border-focus);
47
- outline-offset: -2px;
48
- }
49
-
50
- /* === Responsive — Larger touch targets on mobile === */
51
-
52
- @media (max-width: 767px) {
53
- .entropix-menu-content {
54
- min-width: 200px;
55
- }
56
-
57
- .entropix-menu-item {
58
- padding: var(--entropix-spacing-3) var(--entropix-spacing-4);
59
- font-size: var(--entropix-font-size-base);
60
- min-height: 44px;
61
- }
62
- }
1
+ .entropix-menu-content{min-width:160px;padding:var(--entropix-spacing-1);background:var(--entropix-color-bg-primary);border:1px solid var(--entropix-color-border-default);border-radius:var(--entropix-radius-md);box-shadow:var(--entropix-shadow-lg);z-index:50}.entropix-menu-item{padding:var(--entropix-spacing-2) var(--entropix-spacing-3);border-radius:var(--entropix-radius-sm);font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);color:var(--entropix-color-text-primary);cursor:pointer;user-select:none;transition:background var(--entropix-duration-fast) var(--entropix-easing-default);align-items:center;display:flex}.entropix-menu-item:hover,.entropix-menu-item[data-state=active]{background:var(--entropix-color-action-secondary-default)}.entropix-menu-item[data-disabled=true],.entropix-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.entropix-menu-item:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:-2px}@media (width<=767px){.entropix-menu-content{min-width:200px}.entropix-menu-item{padding:var(--entropix-spacing-3) var(--entropix-spacing-4);font-size:var(--entropix-font-size-base);min-height:44px}}
@@ -1,128 +1 @@
1
- /* Radio @entropix/react */
2
-
3
- .entropix-radio-group {
4
- display: flex;
5
- gap: var(--entropix-spacing-2);
6
- }
7
-
8
- .entropix-radio-group[data-orientation="vertical"] {
9
- flex-direction: column;
10
- }
11
-
12
- .entropix-radio-group[data-orientation="horizontal"] {
13
- flex-direction: row;
14
- flex-wrap: wrap;
15
- }
16
-
17
- /* === Radio Item === */
18
-
19
- .entropix-radio-item {
20
- --radio-size: 20px;
21
- --radio-border-color: var(--entropix-color-border-default);
22
- --radio-checked-color: var(--entropix-color-action-primary-default);
23
- --radio-dot-size: 10px;
24
-
25
- display: inline-flex;
26
- align-items: center;
27
- gap: var(--entropix-spacing-2);
28
- padding: var(--entropix-spacing-1) 0;
29
- border: none;
30
- background: transparent;
31
- cursor: pointer;
32
- user-select: none;
33
- font-family: var(--entropix-font-family-sans);
34
- font-size: var(--entropix-font-size-sm);
35
- color: var(--entropix-color-text-primary);
36
- line-height: var(--entropix-line-height-normal);
37
- }
38
-
39
- /* === Indicator (circle) === */
40
-
41
- .entropix-radio-item__indicator {
42
- display: inline-flex;
43
- align-items: center;
44
- justify-content: center;
45
- width: var(--radio-size);
46
- height: var(--radio-size);
47
- border: 2px solid var(--radio-border-color);
48
- border-radius: 50%;
49
- background: var(--entropix-color-bg-primary);
50
- flex-shrink: 0;
51
- transition:
52
- border-color var(--entropix-duration-fast) var(--entropix-easing-default),
53
- background var(--entropix-duration-fast) var(--entropix-easing-default);
54
- }
55
-
56
- .entropix-radio-item__indicator[data-state="checked"] {
57
- border-color: var(--radio-checked-color);
58
- }
59
-
60
- /* Inner filled circle via ::after */
61
- .entropix-radio-item__indicator[data-state="checked"]::after {
62
- content: "";
63
- display: block;
64
- width: var(--radio-dot-size);
65
- height: var(--radio-dot-size);
66
- border-radius: 50%;
67
- background: var(--radio-checked-color);
68
- }
69
-
70
- /* === Label === */
71
-
72
- .entropix-radio-item__label {
73
- font-family: var(--entropix-font-family-sans);
74
- font-size: var(--entropix-font-size-sm);
75
- color: var(--entropix-color-text-primary);
76
- line-height: var(--entropix-line-height-normal);
77
- }
78
-
79
- /* === Hover === */
80
-
81
- .entropix-radio-item:hover:not(:disabled) .entropix-radio-item__indicator {
82
- border-color: var(--entropix-color-border-hover);
83
- }
84
-
85
- .entropix-radio-item:hover:not(:disabled)
86
- .entropix-radio-item__indicator[data-state="checked"] {
87
- border-color: var(--entropix-color-action-primary-hover);
88
- }
89
-
90
- .entropix-radio-item:hover:not(:disabled)
91
- .entropix-radio-item__indicator[data-state="checked"]::after {
92
- background: var(--entropix-color-action-primary-hover);
93
- }
94
-
95
- /* === Focus === */
96
-
97
- .entropix-radio-item:focus-visible {
98
- outline: 2px solid var(--entropix-color-border-focus);
99
- outline-offset: 2px;
100
- border-radius: var(--entropix-radius-sm);
101
- }
102
-
103
- /* === Disabled === */
104
-
105
- .entropix-radio-item:disabled,
106
- .entropix-radio-item[data-disabled] {
107
- opacity: 0.5;
108
- cursor: not-allowed;
109
- pointer-events: none;
110
- }
111
-
112
- /* === Responsive — Touch-friendly sizing on mobile === */
113
-
114
- @media (max-width: 767px) {
115
- .entropix-radio-item {
116
- min-height: 44px;
117
- }
118
-
119
- .entropix-radio-item__indicator {
120
- width: 22px;
121
- height: 22px;
122
- }
123
-
124
- .entropix-radio-item__indicator[data-state="checked"]::after {
125
- width: 10px;
126
- height: 10px;
127
- }
128
- }
1
+ .entropix-radio-group{gap:var(--entropix-spacing-2);display:flex}.entropix-radio-group[data-orientation=vertical]{flex-direction:column}.entropix-radio-group[data-orientation=horizontal]{flex-flow:wrap}.entropix-radio-item{--radio-size:20px;--radio-border-color:var(--entropix-color-border-default);--radio-checked-color:var(--entropix-color-action-primary-default);--radio-dot-size:10px;align-items:center;gap:var(--entropix-spacing-2);padding:var(--entropix-spacing-1) 0;cursor:pointer;user-select:none;font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);color:var(--entropix-color-text-primary);line-height:var(--entropix-line-height-normal);background:0 0;border:none;display:inline-flex}.entropix-radio-item__indicator{width:var(--radio-size);height:var(--radio-size);border:2px solid var(--radio-border-color);background:var(--entropix-color-bg-primary);transition:border-color var(--entropix-duration-fast) var(--entropix-easing-default), background var(--entropix-duration-fast) var(--entropix-easing-default);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.entropix-radio-item__indicator[data-state=checked]{border-color:var(--radio-checked-color)}.entropix-radio-item__indicator[data-state=checked]:after{content:"";width:var(--radio-dot-size);height:var(--radio-dot-size);background:var(--radio-checked-color);border-radius:50%;display:block}.entropix-radio-item__label{font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);color:var(--entropix-color-text-primary);line-height:var(--entropix-line-height-normal)}.entropix-radio-item:hover:not(:disabled) .entropix-radio-item__indicator{border-color:var(--entropix-color-border-hover)}.entropix-radio-item:hover:not(:disabled) .entropix-radio-item__indicator[data-state=checked]{border-color:var(--entropix-color-action-primary-hover)}.entropix-radio-item:hover:not(:disabled) .entropix-radio-item__indicator[data-state=checked]:after{background:var(--entropix-color-action-primary-hover)}.entropix-radio-item:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:2px;border-radius:var(--entropix-radius-sm)}.entropix-radio-item:disabled,.entropix-radio-item[data-disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (width<=767px){.entropix-radio-item{min-height:44px}.entropix-radio-item__indicator{width:22px;height:22px}.entropix-radio-item__indicator[data-state=checked]:after{width:10px;height:10px}}
@@ -1,148 +1 @@
1
- /* Select @entropix/react */
2
-
3
- .entropix-select {
4
- --select-border-color: var(--entropix-color-border-default);
5
- --select-border-radius: var(--entropix-radius-md);
6
- --select-bg: var(--entropix-color-bg-primary);
7
- --select-dropdown-shadow: var(--entropix-shadow-lg);
8
-
9
- display: flex;
10
- flex-direction: column;
11
- gap: var(--entropix-spacing-1);
12
- position: relative;
13
- width: 100%;
14
- }
15
-
16
- /* === Label === */
17
-
18
- .entropix-select-label {
19
- display: block;
20
- font-family: var(--entropix-font-family-sans);
21
- font-size: var(--entropix-font-size-sm);
22
- font-weight: var(--entropix-font-weight-medium);
23
- color: var(--entropix-color-text-primary);
24
- line-height: var(--entropix-line-height-normal);
25
- }
26
-
27
- /* === Trigger === */
28
-
29
- .entropix-select-trigger {
30
- display: inline-flex;
31
- align-items: center;
32
- justify-content: space-between;
33
- gap: var(--entropix-spacing-2);
34
- width: 100%;
35
- border: 1px solid var(--select-border-color);
36
- border-radius: var(--select-border-radius);
37
- background: var(--select-bg);
38
- color: var(--entropix-color-text-primary);
39
- font-family: var(--entropix-font-family-sans);
40
- font-size: var(--entropix-font-size-sm);
41
- line-height: var(--entropix-line-height-normal);
42
- padding: var(--entropix-spacing-2) var(--entropix-spacing-3);
43
- cursor: pointer;
44
- user-select: none;
45
- text-align: left;
46
- transition:
47
- border-color var(--entropix-duration-fast) var(--entropix-easing-default),
48
- box-shadow var(--entropix-duration-fast) var(--entropix-easing-default);
49
- }
50
-
51
- .entropix-select-trigger__value {
52
- flex: 1;
53
- overflow: hidden;
54
- text-overflow: ellipsis;
55
- white-space: nowrap;
56
- }
57
-
58
- .entropix-select-trigger__chevron {
59
- flex-shrink: 0;
60
- font-size: var(--entropix-font-size-xs);
61
- color: var(--entropix-color-text-secondary);
62
- line-height: 1;
63
- }
64
-
65
- /* === Trigger Hover === */
66
-
67
- .entropix-select-trigger:hover:not(:disabled) {
68
- border-color: var(--entropix-color-border-hover);
69
- }
70
-
71
- /* === Trigger Focus === */
72
-
73
- .entropix-select-trigger:focus-visible {
74
- outline: 2px solid var(--entropix-color-border-focus);
75
- outline-offset: 2px;
76
- }
77
-
78
- /* === Trigger Disabled === */
79
-
80
- .entropix-select-trigger:disabled {
81
- opacity: 0.5;
82
- cursor: not-allowed;
83
- pointer-events: none;
84
- }
85
-
86
- /* === Content (Dropdown) === */
87
-
88
- .entropix-select-content {
89
- position: absolute;
90
- top: 100%;
91
- left: 0;
92
- right: 0;
93
- z-index: 50;
94
- margin-top: var(--entropix-spacing-1);
95
- border: 1px solid var(--select-border-color);
96
- border-radius: var(--select-border-radius);
97
- background: var(--select-bg);
98
- box-shadow: var(--select-dropdown-shadow);
99
- padding: var(--entropix-spacing-1) 0;
100
- max-height: 240px;
101
- overflow-y: auto;
102
- }
103
-
104
- /* === Option === */
105
-
106
- .entropix-select-option {
107
- display: flex;
108
- align-items: center;
109
- padding: var(--entropix-spacing-2) var(--entropix-spacing-3);
110
- font-family: var(--entropix-font-family-sans);
111
- font-size: var(--entropix-font-size-sm);
112
- color: var(--entropix-color-text-primary);
113
- line-height: var(--entropix-line-height-normal);
114
- cursor: pointer;
115
- user-select: none;
116
- transition: background var(--entropix-duration-fast) var(--entropix-easing-default);
117
- }
118
-
119
- .entropix-select-option:hover:not([data-disabled]) {
120
- background: var(--entropix-color-action-secondary-hover);
121
- }
122
-
123
- .entropix-select-option[data-state="selected"] {
124
- background: var(--entropix-color-action-secondary-default);
125
- font-weight: var(--entropix-font-weight-medium);
126
- }
127
-
128
- .entropix-select-option[data-state="selected"]:hover {
129
- background: var(--entropix-color-action-secondary-hover);
130
- }
131
-
132
- .entropix-select-option[data-disabled] {
133
- opacity: 0.5;
134
- cursor: not-allowed;
135
- pointer-events: none;
136
- }
137
-
138
- /* === Responsive — Touch-friendly sizing on mobile === */
139
-
140
- @media (max-width: 767px) {
141
- .entropix-select-trigger {
142
- min-height: 44px;
143
- }
144
-
145
- .entropix-select-option {
146
- min-height: 44px;
147
- }
148
- }
1
+ .entropix-select{--select-border-color:var(--entropix-color-border-default);--select-border-radius:var(--entropix-radius-md);--select-bg:var(--entropix-color-bg-primary);--select-dropdown-shadow:var(--entropix-shadow-lg);gap:var(--entropix-spacing-1);flex-direction:column;width:100%;display:flex;position:relative}.entropix-select-label{font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);font-weight:var(--entropix-font-weight-medium);color:var(--entropix-color-text-primary);line-height:var(--entropix-line-height-normal);display:block}.entropix-select-trigger{justify-content:space-between;align-items:center;gap:var(--entropix-spacing-2);border:1px solid var(--select-border-color);border-radius:var(--select-border-radius);background:var(--select-bg);width:100%;color:var(--entropix-color-text-primary);font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);line-height:var(--entropix-line-height-normal);padding:var(--entropix-spacing-2) var(--entropix-spacing-3);cursor:pointer;user-select:none;text-align:left;transition:border-color var(--entropix-duration-fast) var(--entropix-easing-default), box-shadow var(--entropix-duration-fast) var(--entropix-easing-default);display:inline-flex}.entropix-select-trigger__value{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.entropix-select-trigger__chevron{font-size:var(--entropix-font-size-xs);color:var(--entropix-color-text-secondary);flex-shrink:0;line-height:1}.entropix-select-trigger:hover:not(:disabled){border-color:var(--entropix-color-border-hover)}.entropix-select-trigger:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:2px}.entropix-select-trigger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.entropix-select-content{z-index:50;margin-top:var(--entropix-spacing-1);border:1px solid var(--select-border-color);border-radius:var(--select-border-radius);background:var(--select-bg);box-shadow:var(--select-dropdown-shadow);padding:var(--entropix-spacing-1) 0;max-height:240px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.entropix-select-option{padding:var(--entropix-spacing-2) var(--entropix-spacing-3);font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);color:var(--entropix-color-text-primary);line-height:var(--entropix-line-height-normal);cursor:pointer;user-select:none;transition:background var(--entropix-duration-fast) var(--entropix-easing-default);align-items:center;display:flex}.entropix-select-option:hover:not([data-disabled]){background:var(--entropix-color-action-secondary-hover)}.entropix-select-option[data-state=selected]{background:var(--entropix-color-action-secondary-default);font-weight:var(--entropix-font-weight-medium)}.entropix-select-option[data-state=selected]:hover{background:var(--entropix-color-action-secondary-hover)}.entropix-select-option[data-disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (width<=767px){.entropix-select-trigger,.entropix-select-option{min-height:44px}}
@@ -1,53 +1 @@
1
- /* Switch @entropix/react */
2
-
3
- .entropix-switch {
4
- position: relative;
5
- display: inline-flex;
6
- align-items: center;
7
- width: 44px;
8
- height: 24px;
9
- padding: 2px;
10
- border: none;
11
- border-radius: var(--entropix-radius-full);
12
- background: var(--entropix-color-gray-300);
13
- cursor: pointer;
14
- transition: background var(--entropix-duration-fast) var(--entropix-easing-default);
15
- font-size: 0;
16
- color: transparent;
17
- overflow: hidden;
18
- }
19
-
20
- .entropix-switch::after {
21
- content: "";
22
- display: block;
23
- width: 20px;
24
- height: 20px;
25
- border-radius: var(--entropix-radius-full);
26
- background: var(--entropix-color-white);
27
- box-shadow: var(--entropix-shadow-sm);
28
- transition: transform var(--entropix-duration-fast) var(--entropix-easing-default);
29
- }
30
-
31
- .entropix-switch[data-state="checked"] {
32
- background: var(--entropix-color-action-primary-default);
33
- }
34
- .entropix-switch[data-state="checked"]::after {
35
- transform: translateX(20px);
36
- }
37
-
38
- .entropix-switch:hover:not(:disabled) {
39
- background: var(--entropix-color-gray-400);
40
- }
41
- .entropix-switch[data-state="checked"]:hover:not(:disabled) {
42
- background: var(--entropix-color-action-primary-hover);
43
- }
44
-
45
- .entropix-switch:disabled {
46
- opacity: 0.5;
47
- cursor: not-allowed;
48
- }
49
-
50
- .entropix-switch:focus-visible {
51
- outline: 2px solid var(--entropix-color-border-focus);
52
- outline-offset: 2px;
53
- }
1
+ .entropix-switch{border-radius:var(--entropix-radius-full);background:var(--entropix-color-gray-300);cursor:pointer;width:44px;height:24px;transition:background var(--entropix-duration-fast) var(--entropix-easing-default);color:#0000;border:none;align-items:center;padding:2px;font-size:0;display:inline-flex;position:relative;overflow:hidden}.entropix-switch:after{content:"";border-radius:var(--entropix-radius-full);background:var(--entropix-color-white);width:20px;height:20px;box-shadow:var(--entropix-shadow-sm);transition:transform var(--entropix-duration-fast) var(--entropix-easing-default);display:block}.entropix-switch[data-state=checked]{background:var(--entropix-color-action-primary-default)}.entropix-switch[data-state=checked]:after{transform:translate(20px)}.entropix-switch:hover:not(:disabled){background:var(--entropix-color-gray-400)}.entropix-switch[data-state=checked]:hover:not(:disabled){background:var(--entropix-color-action-primary-hover)}.entropix-switch:disabled{opacity:.5;cursor:not-allowed}.entropix-switch:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:2px}
@@ -1,84 +1 @@
1
- /* Tabs @entropix/react */
2
-
3
- .entropix-tabs {
4
- display: flex;
5
- flex-direction: column;
6
- }
7
-
8
- .entropix-tablist {
9
- display: flex;
10
- gap: var(--entropix-spacing-1);
11
- border-bottom: 1px solid var(--entropix-color-border-default);
12
- }
13
- .entropix-tablist[data-orientation="vertical"] {
14
- flex-direction: column;
15
- border-bottom: none;
16
- border-right: 1px solid var(--entropix-color-border-default);
17
- }
18
-
19
- .entropix-tab {
20
- display: inline-flex;
21
- align-items: center;
22
- justify-content: center;
23
- padding: var(--entropix-spacing-2) var(--entropix-spacing-4);
24
- border: none;
25
- border-bottom: 2px solid transparent;
26
- background: transparent;
27
- font-family: var(--entropix-font-family-sans);
28
- font-size: var(--entropix-font-size-sm);
29
- font-weight: var(--entropix-font-weight-medium);
30
- color: var(--entropix-color-text-secondary);
31
- cursor: pointer;
32
- transition:
33
- color var(--entropix-duration-fast) var(--entropix-easing-default),
34
- border-color var(--entropix-duration-fast) var(--entropix-easing-default);
35
- }
36
-
37
- .entropix-tab:hover:not(:disabled) {
38
- color: var(--entropix-color-text-primary);
39
- }
40
-
41
- .entropix-tab[data-state="active"] {
42
- color: var(--entropix-color-action-primary-default);
43
- border-bottom-color: var(--entropix-color-action-primary-default);
44
- }
45
-
46
- .entropix-tab:disabled,
47
- .entropix-tab[aria-disabled="true"] {
48
- opacity: 0.5;
49
- cursor: not-allowed;
50
- }
51
-
52
- .entropix-tab:focus-visible {
53
- outline: 2px solid var(--entropix-color-border-focus);
54
- outline-offset: -2px;
55
- border-radius: var(--entropix-radius-sm);
56
- }
57
-
58
- .entropix-tabpanel {
59
- padding: var(--entropix-spacing-4);
60
- }
61
-
62
- /* === Responsive — Scrollable tabs on mobile === */
63
-
64
- @media (max-width: 767px) {
65
- .entropix-tablist {
66
- overflow-x: auto;
67
- -webkit-overflow-scrolling: touch;
68
- scrollbar-width: none;
69
- -ms-overflow-style: none;
70
- }
71
-
72
- .entropix-tablist::-webkit-scrollbar {
73
- display: none;
74
- }
75
-
76
- .entropix-tab {
77
- white-space: nowrap;
78
- flex-shrink: 0;
79
- }
80
-
81
- .entropix-tabpanel {
82
- padding: var(--entropix-spacing-3);
83
- }
84
- }
1
+ .entropix-tabs{flex-direction:column;display:flex}.entropix-tablist{gap:var(--entropix-spacing-1);border-bottom:1px solid var(--entropix-color-border-default);display:flex}.entropix-tablist[data-orientation=vertical]{border-bottom:none;border-right:1px solid var(--entropix-color-border-default);flex-direction:column}.entropix-tab{padding:var(--entropix-spacing-2) var(--entropix-spacing-4);font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);font-weight:var(--entropix-font-weight-medium);color:var(--entropix-color-text-secondary);cursor:pointer;transition:color var(--entropix-duration-fast) var(--entropix-easing-default), border-color var(--entropix-duration-fast) var(--entropix-easing-default);background:0 0;border:none;border-bottom:2px solid #0000;justify-content:center;align-items:center;display:inline-flex}.entropix-tab:hover:not(:disabled){color:var(--entropix-color-text-primary)}.entropix-tab[data-state=active]{color:var(--entropix-color-action-primary-default);border-bottom-color:var(--entropix-color-action-primary-default)}.entropix-tab:disabled,.entropix-tab[aria-disabled=true]{opacity:.5;cursor:not-allowed}.entropix-tab:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:-2px;border-radius:var(--entropix-radius-sm)}.entropix-tabpanel{padding:var(--entropix-spacing-4)}@media (width<=767px){.entropix-tablist{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.entropix-tablist::-webkit-scrollbar{display:none}.entropix-tab{white-space:nowrap;flex-shrink:0}.entropix-tabpanel{padding:var(--entropix-spacing-3)}}
@@ -1,45 +1 @@
1
- /* Toggle (checkbox) @entropix/react */
2
-
3
- .entropix-toggle {
4
- display: inline-flex;
5
- align-items: center;
6
- justify-content: center;
7
- padding: var(--entropix-spacing-2) var(--entropix-spacing-3);
8
- border: 1px solid var(--entropix-color-border-default);
9
- border-radius: var(--entropix-radius-md);
10
- background: var(--entropix-color-bg-primary);
11
- color: var(--entropix-color-text-primary);
12
- font-family: var(--entropix-font-family-sans);
13
- font-size: var(--entropix-font-size-sm);
14
- font-weight: var(--entropix-font-weight-medium);
15
- cursor: pointer;
16
- user-select: none;
17
- transition:
18
- background var(--entropix-duration-fast) var(--entropix-easing-default),
19
- border-color var(--entropix-duration-fast) var(--entropix-easing-default),
20
- color var(--entropix-duration-fast) var(--entropix-easing-default);
21
- }
22
-
23
- .entropix-toggle:hover:not(:disabled) {
24
- background: var(--entropix-color-action-secondary-hover);
25
- }
26
-
27
- .entropix-toggle[data-state="checked"] {
28
- background: var(--entropix-color-action-primary-default);
29
- color: var(--entropix-color-text-inverse);
30
- border-color: transparent;
31
- }
32
- .entropix-toggle[data-state="checked"]:hover:not(:disabled) {
33
- background: var(--entropix-color-action-primary-hover);
34
- }
35
-
36
- .entropix-toggle:disabled {
37
- opacity: 0.5;
38
- cursor: not-allowed;
39
- pointer-events: none;
40
- }
41
-
42
- .entropix-toggle:focus-visible {
43
- outline: 2px solid var(--entropix-color-border-focus);
44
- outline-offset: 2px;
45
- }
1
+ .entropix-toggle{padding:var(--entropix-spacing-2) var(--entropix-spacing-3);border:1px solid var(--entropix-color-border-default);border-radius:var(--entropix-radius-md);background:var(--entropix-color-bg-primary);color:var(--entropix-color-text-primary);font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-sm);font-weight:var(--entropix-font-weight-medium);cursor:pointer;user-select:none;transition:background var(--entropix-duration-fast) var(--entropix-easing-default), border-color var(--entropix-duration-fast) var(--entropix-easing-default), color var(--entropix-duration-fast) var(--entropix-easing-default);justify-content:center;align-items:center;display:inline-flex}.entropix-toggle:hover:not(:disabled){background:var(--entropix-color-action-secondary-hover)}.entropix-toggle[data-state=checked]{background:var(--entropix-color-action-primary-default);color:var(--entropix-color-text-inverse);border-color:#0000}.entropix-toggle[data-state=checked]:hover:not(:disabled){background:var(--entropix-color-action-primary-hover)}.entropix-toggle:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.entropix-toggle:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:2px}