@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,135 +1 @@
1
- /* Button @entropix/react */
2
-
3
- @layer entropix {
4
- .entropix-button {
5
- display: inline-flex;
6
- align-items: center;
7
- justify-content: center;
8
- gap: var(--entropix-button-gap);
9
- border: 1px solid transparent;
10
- font-family: var(--entropix-font-family-sans);
11
- font-size: var(--entropix-button-font-size);
12
- font-weight: var(--entropix-button-font-weight);
13
- line-height: var(--entropix-button-line-height);
14
- border-radius: var(--entropix-button-border-radius);
15
- padding: var(--entropix-button-padding-y) var(--entropix-button-padding-x);
16
- cursor: pointer;
17
- text-decoration: none;
18
- user-select: none;
19
- transition:
20
- background var(--entropix-duration-fast) var(--entropix-easing-default),
21
- color var(--entropix-duration-fast) var(--entropix-easing-default),
22
- border-color var(--entropix-duration-fast) var(--entropix-easing-default),
23
- box-shadow var(--entropix-duration-fast) var(--entropix-easing-default);
24
- }
25
-
26
- /* === Variants === */
27
-
28
- .entropix-button--primary {
29
- background: var(--entropix-button-primary-bg);
30
- color: var(--entropix-button-primary-text);
31
- border-color: var(--entropix-button-primary-border);
32
- }
33
- .entropix-button--primary:hover:not(:disabled) {
34
- background: var(--entropix-button-primary-bg-hover);
35
- }
36
- .entropix-button--primary:active:not(:disabled) {
37
- background: var(--entropix-button-primary-bg-active);
38
- }
39
-
40
- .entropix-button--secondary {
41
- background: var(--entropix-button-secondary-bg);
42
- color: var(--entropix-button-secondary-text);
43
- border-color: var(--entropix-button-secondary-border);
44
- }
45
- .entropix-button--secondary:hover:not(:disabled) {
46
- background: var(--entropix-button-secondary-bg-hover);
47
- }
48
- .entropix-button--secondary:active:not(:disabled) {
49
- background: var(--entropix-button-secondary-bg-active);
50
- }
51
-
52
- .entropix-button--outline {
53
- background: transparent;
54
- color: var(--entropix-color-text-primary);
55
- border-color: var(--entropix-color-border-default);
56
- }
57
- .entropix-button--outline:hover:not(:disabled) {
58
- background: var(--entropix-color-action-secondary-hover);
59
- }
60
- .entropix-button--outline:active:not(:disabled) {
61
- background: var(--entropix-color-action-secondary-active);
62
- }
63
-
64
- .entropix-button--ghost {
65
- background: transparent;
66
- color: var(--entropix-color-text-primary);
67
- border-color: transparent;
68
- }
69
- .entropix-button--ghost:hover:not(:disabled) {
70
- background: var(--entropix-color-action-secondary-default);
71
- }
72
- .entropix-button--ghost:active:not(:disabled) {
73
- background: var(--entropix-color-action-secondary-hover);
74
- }
75
-
76
- .entropix-button--danger {
77
- background: var(--entropix-button-danger-bg);
78
- color: var(--entropix-button-danger-text);
79
- border-color: var(--entropix-button-danger-border);
80
- }
81
- .entropix-button--danger:hover:not(:disabled) {
82
- background: var(--entropix-button-danger-bg-hover);
83
- }
84
- .entropix-button--danger:active:not(:disabled) {
85
- background: var(--entropix-button-danger-bg-active);
86
- }
87
-
88
- /* === Sizes === */
89
-
90
- .entropix-button--sm {
91
- padding: var(--entropix-spacing-1) var(--entropix-spacing-3);
92
- font-size: var(--entropix-font-size-xs);
93
- border-radius: var(--entropix-radius-sm);
94
- }
95
-
96
- .entropix-button--md {
97
- padding: var(--entropix-button-padding-y) var(--entropix-button-padding-x);
98
- font-size: var(--entropix-button-font-size);
99
- }
100
-
101
- .entropix-button--lg {
102
- padding: var(--entropix-spacing-3) var(--entropix-spacing-6);
103
- font-size: var(--entropix-font-size-base);
104
- border-radius: var(--entropix-radius-lg);
105
- }
106
-
107
- /* === States === */
108
-
109
- .entropix-button:disabled,
110
- .entropix-button[data-state="disabled"],
111
- .entropix-button[data-state="loading"] {
112
- opacity: 0.5;
113
- cursor: not-allowed;
114
- pointer-events: none;
115
- }
116
-
117
- .entropix-button:focus-visible {
118
- outline: 2px solid var(--entropix-color-border-focus);
119
- outline-offset: 2px;
120
- }
121
-
122
- /* === Responsive — Touch-friendly sizing on mobile === */
123
-
124
- @media (max-width: 767px) {
125
- .entropix-button {
126
- min-height: 44px;
127
- }
128
-
129
- .entropix-button--sm {
130
- min-height: 36px;
131
- padding: var(--entropix-spacing-2) var(--entropix-spacing-3);
132
- font-size: var(--entropix-font-size-sm);
133
- }
134
- }
135
- }
1
+ .entropix-button{justify-content:center;align-items:center;gap:var(--entropix-button-gap);font-family:var(--entropix-font-family-sans);font-size:var(--entropix-button-font-size);font-weight:var(--entropix-button-font-weight);line-height:var(--entropix-button-line-height);border-radius:var(--entropix-button-border-radius);padding:var(--entropix-button-padding-y) var(--entropix-button-padding-x);cursor:pointer;user-select:none;transition:background var(--entropix-duration-fast) var(--entropix-easing-default), color var(--entropix-duration-fast) var(--entropix-easing-default), border-color var(--entropix-duration-fast) var(--entropix-easing-default), box-shadow var(--entropix-duration-fast) var(--entropix-easing-default);border:1px solid #0000;text-decoration:none;display:inline-flex}.entropix-button--primary{background:var(--entropix-button-primary-bg);color:var(--entropix-button-primary-text);border-color:var(--entropix-button-primary-border)}.entropix-button--primary:hover:not(:disabled){background:var(--entropix-button-primary-bg-hover)}.entropix-button--primary:active:not(:disabled){background:var(--entropix-button-primary-bg-active)}.entropix-button--secondary{background:var(--entropix-button-secondary-bg);color:var(--entropix-button-secondary-text);border-color:var(--entropix-button-secondary-border)}.entropix-button--secondary:hover:not(:disabled){background:var(--entropix-button-secondary-bg-hover)}.entropix-button--secondary:active:not(:disabled){background:var(--entropix-button-secondary-bg-active)}.entropix-button--outline{color:var(--entropix-color-text-primary);border-color:var(--entropix-color-border-default);background:0 0}.entropix-button--outline:hover:not(:disabled){background:var(--entropix-color-action-secondary-hover)}.entropix-button--outline:active:not(:disabled){background:var(--entropix-color-action-secondary-active)}.entropix-button--ghost{color:var(--entropix-color-text-primary);background:0 0;border-color:#0000}.entropix-button--ghost:hover:not(:disabled){background:var(--entropix-color-action-secondary-default)}.entropix-button--ghost:active:not(:disabled){background:var(--entropix-color-action-secondary-hover)}.entropix-button--danger{background:var(--entropix-button-danger-bg);color:var(--entropix-button-danger-text);border-color:var(--entropix-button-danger-border)}.entropix-button--danger:hover:not(:disabled){background:var(--entropix-button-danger-bg-hover)}.entropix-button--danger:active:not(:disabled){background:var(--entropix-button-danger-bg-active)}.entropix-button--sm{padding:var(--entropix-spacing-1) var(--entropix-spacing-3);font-size:var(--entropix-font-size-xs);border-radius:var(--entropix-radius-sm)}.entropix-button--md{padding:var(--entropix-button-padding-y) var(--entropix-button-padding-x);font-size:var(--entropix-button-font-size)}.entropix-button--lg{padding:var(--entropix-spacing-3) var(--entropix-spacing-6);font-size:var(--entropix-font-size-base);border-radius:var(--entropix-radius-lg)}.entropix-button:disabled,.entropix-button[data-state=disabled],.entropix-button[data-state=loading]{opacity:.5;cursor:not-allowed;pointer-events:none}.entropix-button:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:2px}@media (width<=767px){.entropix-button{min-height:44px}.entropix-button--sm{min-height:36px;padding:var(--entropix-spacing-2) var(--entropix-spacing-3);font-size:var(--entropix-font-size-sm)}}
@@ -1,121 +1 @@
1
- /* Checkbox @entropix/react */
2
-
3
- @layer entropix {
4
- .entropix-checkbox {
5
- --checkbox-size: 18px;
6
- --checkbox-border-color: var(--entropix-color-border-default);
7
- --checkbox-checked-bg: var(--entropix-color-action-primary-default);
8
- --checkbox-checked-border: var(--entropix-color-action-primary-default);
9
- --checkbox-border-radius: var(--entropix-radius-sm);
10
-
11
- display: inline-flex;
12
- align-items: center;
13
- gap: var(--entropix-spacing-2);
14
- padding: var(--entropix-spacing-1) 0;
15
- border: none;
16
- background: transparent;
17
- cursor: pointer;
18
- user-select: none;
19
- font-family: var(--entropix-font-family-sans);
20
- font-size: var(--entropix-font-size-sm);
21
- color: var(--entropix-color-text-primary);
22
- line-height: var(--entropix-line-height-normal);
23
- }
24
-
25
- /* === Indicator === */
26
-
27
- .entropix-checkbox__indicator {
28
- display: inline-flex;
29
- align-items: center;
30
- justify-content: center;
31
- width: var(--checkbox-size);
32
- height: var(--checkbox-size);
33
- border: 2px solid var(--checkbox-border-color);
34
- border-radius: var(--checkbox-border-radius);
35
- background: var(--entropix-color-bg-primary);
36
- flex-shrink: 0;
37
- transition:
38
- background var(--entropix-duration-fast) var(--entropix-easing-default),
39
- border-color var(--entropix-duration-fast) var(--entropix-easing-default);
40
- }
41
-
42
- .entropix-checkbox__indicator[data-state="checked"],
43
- .entropix-checkbox__indicator[data-state="indeterminate"] {
44
- background: var(--checkbox-checked-bg);
45
- border-color: var(--checkbox-checked-border);
46
- }
47
-
48
- /* Checkmark via ::after pseudo-element */
49
- .entropix-checkbox__indicator[data-state="checked"]::after {
50
- content: "";
51
- display: block;
52
- width: 5px;
53
- height: 9px;
54
- border: solid var(--entropix-color-text-inverse);
55
- border-width: 0 2px 2px 0;
56
- transform: rotate(45deg);
57
- margin-top: -1px;
58
- }
59
-
60
- /* Indeterminate minus via ::after pseudo-element */
61
- .entropix-checkbox__indicator[data-state="indeterminate"]::after {
62
- content: "";
63
- display: block;
64
- width: 8px;
65
- height: 2px;
66
- background: var(--entropix-color-text-inverse);
67
- border-radius: 1px;
68
- }
69
-
70
- /* === Label === */
71
-
72
- .entropix-checkbox__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-checkbox:hover:not(:disabled) .entropix-checkbox__indicator {
82
- border-color: var(--entropix-color-border-hover);
83
- }
84
-
85
- .entropix-checkbox:hover:not(:disabled)
86
- .entropix-checkbox__indicator[data-state="checked"],
87
- .entropix-checkbox:hover:not(:disabled)
88
- .entropix-checkbox__indicator[data-state="indeterminate"] {
89
- background: var(--entropix-color-action-primary-hover);
90
- border-color: var(--entropix-color-action-primary-hover);
91
- }
92
-
93
- /* === Focus === */
94
-
95
- .entropix-checkbox:focus-visible {
96
- outline: 2px solid var(--entropix-color-border-focus);
97
- outline-offset: 2px;
98
- border-radius: var(--checkbox-border-radius);
99
- }
100
-
101
- /* === Disabled === */
102
-
103
- .entropix-checkbox:disabled {
104
- opacity: 0.5;
105
- cursor: not-allowed;
106
- pointer-events: none;
107
- }
108
-
109
- /* === Responsive — Touch-friendly sizing on mobile === */
110
-
111
- @media (max-width: 767px) {
112
- .entropix-checkbox {
113
- min-height: 44px;
114
- }
115
-
116
- .entropix-checkbox__indicator {
117
- width: 22px;
118
- height: 22px;
119
- }
120
- }
121
- }
1
+ .entropix-checkbox{--checkbox-size:18px;--checkbox-border-color:var(--entropix-color-border-default);--checkbox-checked-bg:var(--entropix-color-action-primary-default);--checkbox-checked-border:var(--entropix-color-action-primary-default);--checkbox-border-radius:var(--entropix-radius-sm);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-checkbox__indicator{width:var(--checkbox-size);height:var(--checkbox-size);border:2px solid var(--checkbox-border-color);border-radius:var(--checkbox-border-radius);background:var(--entropix-color-bg-primary);transition:background var(--entropix-duration-fast) var(--entropix-easing-default), border-color var(--entropix-duration-fast) var(--entropix-easing-default);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.entropix-checkbox__indicator[data-state=checked],.entropix-checkbox__indicator[data-state=indeterminate]{background:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-border)}.entropix-checkbox__indicator[data-state=checked]:after{content:"";border:solid var(--entropix-color-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;margin-top:-1px;display:block;transform:rotate(45deg)}.entropix-checkbox__indicator[data-state=indeterminate]:after{content:"";background:var(--entropix-color-text-inverse);border-radius:1px;width:8px;height:2px;display:block}.entropix-checkbox__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-checkbox:hover:not(:disabled) .entropix-checkbox__indicator{border-color:var(--entropix-color-border-hover)}.entropix-checkbox:hover:not(:disabled) .entropix-checkbox__indicator[data-state=checked],.entropix-checkbox:hover:not(:disabled) .entropix-checkbox__indicator[data-state=indeterminate]{background:var(--entropix-color-action-primary-hover);border-color:var(--entropix-color-action-primary-hover)}.entropix-checkbox:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:2px;border-radius:var(--checkbox-border-radius)}.entropix-checkbox:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media (width<=767px){.entropix-checkbox{min-height:44px}.entropix-checkbox__indicator{width:22px;height:22px}}
@@ -1,104 +1 @@
1
- /* Dialog @entropix/react */
2
-
3
- @layer entropix {
4
- .entropix-dialog-overlay {
5
- position: fixed;
6
- inset: 0;
7
- background: rgba(0, 0, 0, 0.5);
8
- z-index: 50;
9
- }
10
-
11
- .entropix-dialog-content {
12
- position: fixed;
13
- top: 50%;
14
- left: 50%;
15
- transform: translate(-50%, -50%);
16
- background: var(--entropix-color-bg-primary);
17
- border-radius: var(--entropix-radius-lg);
18
- box-shadow: var(--entropix-shadow-xl);
19
- padding: var(--entropix-spacing-6);
20
- z-index: 51;
21
- max-width: 480px;
22
- width: 90vw;
23
- max-height: 85vh;
24
- overflow-y: auto;
25
- }
26
-
27
- .entropix-dialog-content:focus {
28
- outline: none;
29
- }
30
-
31
- .entropix-dialog-title {
32
- margin: 0;
33
- margin-bottom: var(--entropix-spacing-2);
34
- font-family: var(--entropix-text-heading-md-font-family);
35
- font-size: var(--entropix-text-heading-md-font-size);
36
- font-weight: var(--entropix-text-heading-md-font-weight);
37
- line-height: var(--entropix-text-heading-md-line-height);
38
- color: var(--entropix-color-text-primary);
39
- }
40
-
41
- .entropix-dialog-description {
42
- margin: 0;
43
- margin-bottom: var(--entropix-spacing-4);
44
- font-family: var(--entropix-text-body-md-font-family);
45
- font-size: var(--entropix-text-body-md-font-size);
46
- font-weight: var(--entropix-text-body-md-font-weight);
47
- line-height: var(--entropix-text-body-md-line-height);
48
- color: var(--entropix-color-text-secondary);
49
- }
50
-
51
- .entropix-dialog-close {
52
- position: absolute;
53
- top: var(--entropix-spacing-3);
54
- right: var(--entropix-spacing-3);
55
- display: inline-flex;
56
- align-items: center;
57
- justify-content: center;
58
- width: 32px;
59
- height: 32px;
60
- padding: 0;
61
- border: none;
62
- border-radius: var(--entropix-radius-sm);
63
- background: transparent;
64
- color: var(--entropix-color-text-secondary);
65
- cursor: pointer;
66
- transition: background var(--entropix-duration-fast) var(--entropix-easing-default);
67
- }
68
-
69
- .entropix-dialog-close:hover {
70
- background: var(--entropix-color-action-secondary-default);
71
- }
72
-
73
- .entropix-dialog-close:focus-visible {
74
- outline: 2px solid var(--entropix-color-border-focus);
75
- outline-offset: 2px;
76
- }
77
-
78
- .entropix-dialog-trigger {
79
- /* Inherits button styles if also .entropix-button */
80
- }
81
-
82
- /* === Responsive — Full-width bottom sheet on mobile === */
83
-
84
- @media (max-width: 767px) {
85
- .entropix-dialog-content {
86
- top: auto;
87
- bottom: 0;
88
- left: 0;
89
- right: 0;
90
- transform: none;
91
- width: 100%;
92
- max-width: 100%;
93
- border-radius: var(--entropix-radius-lg) var(--entropix-radius-lg) 0 0;
94
- max-height: 90vh;
95
- padding: var(--entropix-spacing-5);
96
- }
97
- }
98
-
99
- @media (min-width: 768px) {
100
- .entropix-dialog-content {
101
- max-width: 560px;
102
- }
103
- }
104
- }
1
+ .entropix-dialog-overlay{z-index:50;background:#00000080;position:fixed;inset:0}.entropix-dialog-content{background:var(--entropix-color-bg-primary);border-radius:var(--entropix-radius-lg);box-shadow:var(--entropix-shadow-xl);padding:var(--entropix-spacing-6);z-index:51;width:90vw;max-width:480px;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.entropix-dialog-content:focus{outline:none}.entropix-dialog-title{margin:0;margin-bottom:var(--entropix-spacing-2);font-family:var(--entropix-text-heading-md-font-family);font-size:var(--entropix-text-heading-md-font-size);font-weight:var(--entropix-text-heading-md-font-weight);line-height:var(--entropix-text-heading-md-line-height);color:var(--entropix-color-text-primary)}.entropix-dialog-description{margin:0;margin-bottom:var(--entropix-spacing-4);font-family:var(--entropix-text-body-md-font-family);font-size:var(--entropix-text-body-md-font-size);font-weight:var(--entropix-text-body-md-font-weight);line-height:var(--entropix-text-body-md-line-height);color:var(--entropix-color-text-secondary)}.entropix-dialog-close{top:var(--entropix-spacing-3);right:var(--entropix-spacing-3);border-radius:var(--entropix-radius-sm);width:32px;height:32px;color:var(--entropix-color-text-secondary);cursor:pointer;transition:background var(--entropix-duration-fast) var(--entropix-easing-default);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.entropix-dialog-close:hover{background:var(--entropix-color-action-secondary-default)}.entropix-dialog-close:focus-visible{outline:2px solid var(--entropix-color-border-focus);outline-offset:2px}@media (width<=767px){.entropix-dialog-content{border-radius:var(--entropix-radius-lg) var(--entropix-radius-lg) 0 0;width:100%;max-width:100%;max-height:90vh;padding:var(--entropix-spacing-5);inset:auto 0 0;transform:none}}@media (width>=768px){.entropix-dialog-content{max-width:560px}}
@@ -1,16 +1 @@
1
- /* Entropix Design System All Component Styles */
2
-
3
- @layer entropix;
4
-
5
- @import "./button.css";
6
- @import "./toggle.css";
7
- @import "./switch.css";
8
- @import "./tabs.css";
9
- @import "./accordion.css";
10
- @import "./dialog.css";
11
- @import "./menu.css";
12
- @import "./input.css";
13
- @import "./checkbox.css";
14
- @import "./radio.css";
15
- @import "./select.css";
16
- @import "./layout.css";
1
+ @import "./button.css";@import "./toggle.css";@import "./switch.css";@import "./tabs.css";@import "./accordion.css";@import "./dialog.css";@import "./menu.css";@import "./input.css";@import "./checkbox.css";@import "./radio.css";@import "./select.css";@import "./layout.css";
@@ -1,178 +1 @@
1
- /* Input & Textarea @entropix/react */
2
-
3
- @layer entropix {
4
- .entropix-input-wrapper {
5
- --input-border-color: var(--entropix-color-border-default);
6
- --input-border-radius: var(--entropix-radius-md);
7
- --input-bg: var(--entropix-color-bg-primary);
8
- --input-font-size: var(--entropix-font-size-sm);
9
- --input-padding-y: var(--entropix-spacing-2);
10
- --input-padding-x: var(--entropix-spacing-3);
11
- --input-focus-color: var(--entropix-color-border-focus);
12
- --input-error-color: var(--entropix-color-border-danger);
13
-
14
- display: flex;
15
- flex-direction: column;
16
- gap: var(--entropix-spacing-1);
17
- width: 100%;
18
- }
19
-
20
- /* === Label === */
21
-
22
- .entropix-input-label {
23
- display: block;
24
- font-family: var(--entropix-font-family-sans);
25
- font-size: var(--entropix-font-size-sm);
26
- font-weight: var(--entropix-font-weight-medium);
27
- color: var(--entropix-color-text-primary);
28
- line-height: var(--entropix-line-height-normal);
29
- }
30
-
31
- .entropix-input-required {
32
- color: var(--entropix-color-text-danger);
33
- margin-left: var(--entropix-spacing-1);
34
- }
35
-
36
- /* === Shared Input / Textarea base === */
37
-
38
- .entropix-input,
39
- .entropix-textarea {
40
- display: block;
41
- width: 100%;
42
- border: 1px solid var(--input-border-color);
43
- border-radius: var(--input-border-radius);
44
- background: var(--input-bg);
45
- color: var(--entropix-color-text-primary);
46
- font-family: var(--entropix-font-family-sans);
47
- font-size: var(--input-font-size);
48
- line-height: var(--entropix-line-height-normal);
49
- padding: var(--input-padding-y) var(--input-padding-x);
50
- transition:
51
- border-color var(--entropix-duration-fast) var(--entropix-easing-default),
52
- box-shadow var(--entropix-duration-fast) var(--entropix-easing-default),
53
- background var(--entropix-duration-fast) var(--entropix-easing-default);
54
- }
55
-
56
- .entropix-input::placeholder,
57
- .entropix-textarea::placeholder {
58
- color: var(--entropix-color-text-tertiary);
59
- }
60
-
61
- /* === Focus === */
62
-
63
- .entropix-input:focus,
64
- .entropix-textarea:focus {
65
- outline: none;
66
- border-color: var(--input-focus-color);
67
- box-shadow: 0 0 0 1px var(--input-focus-color);
68
- }
69
-
70
- .entropix-input:focus-visible,
71
- .entropix-textarea:focus-visible {
72
- outline: 2px solid var(--input-focus-color);
73
- outline-offset: 2px;
74
- }
75
-
76
- /* === Hover === */
77
-
78
- .entropix-input:hover:not(:disabled):not(:focus),
79
- .entropix-textarea:hover:not(:disabled):not(:focus) {
80
- border-color: var(--entropix-color-border-hover);
81
- }
82
-
83
- /* === Variants === */
84
-
85
- .entropix-input[data-variant="filled"],
86
- .entropix-textarea[data-variant="filled"] {
87
- background: var(--entropix-color-bg-secondary);
88
- border-color: transparent;
89
- }
90
-
91
- .entropix-input[data-variant="filled"]:focus,
92
- .entropix-textarea[data-variant="filled"]:focus {
93
- background: var(--input-bg);
94
- border-color: var(--input-focus-color);
95
- }
96
-
97
- /* === Sizes === */
98
-
99
- .entropix-input[data-size="sm"],
100
- .entropix-textarea[data-size="sm"] {
101
- padding: var(--entropix-spacing-1) var(--entropix-spacing-2);
102
- font-size: var(--entropix-font-size-xs);
103
- border-radius: var(--entropix-radius-sm);
104
- }
105
-
106
- .entropix-input[data-size="md"],
107
- .entropix-textarea[data-size="md"] {
108
- padding: var(--input-padding-y) var(--input-padding-x);
109
- font-size: var(--input-font-size);
110
- }
111
-
112
- .entropix-input[data-size="lg"],
113
- .entropix-textarea[data-size="lg"] {
114
- padding: var(--entropix-spacing-3) var(--entropix-spacing-4);
115
- font-size: var(--entropix-font-size-base);
116
- border-radius: var(--entropix-radius-lg);
117
- }
118
-
119
- /* === States === */
120
-
121
- .entropix-input[data-state="invalid"],
122
- .entropix-textarea[data-state="invalid"] {
123
- border-color: var(--input-error-color);
124
- }
125
-
126
- .entropix-input[data-state="invalid"]:focus,
127
- .entropix-textarea[data-state="invalid"]:focus {
128
- border-color: var(--input-error-color);
129
- box-shadow: 0 0 0 1px var(--input-error-color);
130
- }
131
-
132
- .entropix-input:disabled,
133
- .entropix-textarea:disabled,
134
- .entropix-input[data-state="disabled"],
135
- .entropix-textarea[data-state="disabled"] {
136
- opacity: 0.5;
137
- cursor: not-allowed;
138
- pointer-events: none;
139
- }
140
-
141
- /* === Helper & Error text === */
142
-
143
- .entropix-input-helper {
144
- font-family: var(--entropix-font-family-sans);
145
- font-size: var(--entropix-font-size-xs);
146
- color: var(--entropix-color-text-secondary);
147
- line-height: var(--entropix-line-height-normal);
148
- }
149
-
150
- .entropix-input-error {
151
- font-family: var(--entropix-font-family-sans);
152
- font-size: var(--entropix-font-size-xs);
153
- color: var(--entropix-color-text-danger);
154
- line-height: var(--entropix-line-height-normal);
155
- }
156
-
157
- /* === Textarea specific === */
158
-
159
- .entropix-textarea {
160
- min-height: 80px;
161
- }
162
-
163
- /* === Responsive — Touch-friendly sizing on mobile === */
164
-
165
- @media (max-width: 767px) {
166
- .entropix-input,
167
- .entropix-textarea {
168
- min-height: 44px;
169
- font-size: var(--entropix-font-size-base);
170
- }
171
-
172
- .entropix-input[data-size="sm"],
173
- .entropix-textarea[data-size="sm"] {
174
- min-height: 36px;
175
- font-size: var(--entropix-font-size-sm);
176
- }
177
- }
178
- }
1
+ .entropix-input-wrapper{--input-border-color:var(--entropix-color-border-default);--input-border-radius:var(--entropix-radius-md);--input-bg:var(--entropix-color-bg-primary);--input-font-size:var(--entropix-font-size-sm);--input-padding-y:var(--entropix-spacing-2);--input-padding-x:var(--entropix-spacing-3);--input-focus-color:var(--entropix-color-border-focus);--input-error-color:var(--entropix-color-border-danger);gap:var(--entropix-spacing-1);flex-direction:column;width:100%;display:flex}.entropix-input-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-input-required{color:var(--entropix-color-text-danger);margin-left:var(--entropix-spacing-1)}.entropix-input,.entropix-textarea{border:1px solid var(--input-border-color);border-radius:var(--input-border-radius);background:var(--input-bg);width:100%;color:var(--entropix-color-text-primary);font-family:var(--entropix-font-family-sans);font-size:var(--input-font-size);line-height:var(--entropix-line-height-normal);padding:var(--input-padding-y) var(--input-padding-x);transition:border-color var(--entropix-duration-fast) var(--entropix-easing-default), box-shadow var(--entropix-duration-fast) var(--entropix-easing-default), background var(--entropix-duration-fast) var(--entropix-easing-default);display:block}.entropix-input::placeholder,.entropix-textarea::placeholder{color:var(--entropix-color-text-tertiary)}.entropix-input:focus,.entropix-textarea:focus{border-color:var(--input-focus-color);box-shadow:0 0 0 1px var(--input-focus-color);outline:none}.entropix-input:focus-visible,.entropix-textarea:focus-visible{outline:2px solid var(--input-focus-color);outline-offset:2px}.entropix-input:hover:not(:disabled):not(:focus),.entropix-textarea:hover:not(:disabled):not(:focus){border-color:var(--entropix-color-border-hover)}.entropix-input[data-variant=filled],.entropix-textarea[data-variant=filled]{background:var(--entropix-color-bg-secondary);border-color:#0000}.entropix-input[data-variant=filled]:focus,.entropix-textarea[data-variant=filled]:focus{background:var(--input-bg);border-color:var(--input-focus-color)}.entropix-input[data-size=sm],.entropix-textarea[data-size=sm]{padding:var(--entropix-spacing-1) var(--entropix-spacing-2);font-size:var(--entropix-font-size-xs);border-radius:var(--entropix-radius-sm)}.entropix-input[data-size=md],.entropix-textarea[data-size=md]{padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--input-font-size)}.entropix-input[data-size=lg],.entropix-textarea[data-size=lg]{padding:var(--entropix-spacing-3) var(--entropix-spacing-4);font-size:var(--entropix-font-size-base);border-radius:var(--entropix-radius-lg)}.entropix-input[data-state=invalid],.entropix-textarea[data-state=invalid]{border-color:var(--input-error-color)}.entropix-input[data-state=invalid]:focus,.entropix-textarea[data-state=invalid]:focus{border-color:var(--input-error-color);box-shadow:0 0 0 1px var(--input-error-color)}.entropix-input:disabled,.entropix-textarea:disabled,.entropix-input[data-state=disabled],.entropix-textarea[data-state=disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.entropix-input-helper{font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-xs);color:var(--entropix-color-text-secondary);line-height:var(--entropix-line-height-normal)}.entropix-input-error{font-family:var(--entropix-font-family-sans);font-size:var(--entropix-font-size-xs);color:var(--entropix-color-text-danger);line-height:var(--entropix-line-height-normal)}.entropix-textarea{min-height:80px}@media (width<=767px){.entropix-input,.entropix-textarea{min-height:44px;font-size:var(--entropix-font-size-base)}.entropix-input[data-size=sm],.entropix-textarea[data-size=sm]{min-height:36px;font-size:var(--entropix-font-size-sm)}}