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