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