@lion-npm/ui 1.0.2 → 1.0.4

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 (106) hide show
  1. package/dist/components/buttons/AndroidButton.d.ts +16 -0
  2. package/dist/components/buttons/BootstrapButton.d.ts +16 -0
  3. package/dist/components/buttons/IOSButton.d.ts +16 -0
  4. package/dist/components/buttons/LionButton.d.ts +18 -0
  5. package/dist/components/inputs/AndroidInput.d.ts +20 -0
  6. package/dist/components/inputs/BootstrapInput.d.ts +16 -0
  7. package/dist/components/inputs/IOSInput.d.ts +21 -0
  8. package/dist/components/inputs/LionInput.d.ts +27 -0
  9. package/dist/components/loadings/LoadingBar.d.ts +5 -0
  10. package/dist/components/modals/LionModal.d.ts +17 -0
  11. package/dist/context/LionUIComponentsContext.d.ts +5 -0
  12. package/{src/index.ts → dist/index.d.ts} +1 -3
  13. package/dist/index.js +2564 -0
  14. package/{src/interfaces/LionUIComponentsProviderProps.tsx → dist/interfaces/LionUIComponentsProviderProps.d.ts} +1 -2
  15. package/{src/interfaces/LionUIContextProps.tsx → dist/interfaces/LionUIContextProps.d.ts} +1 -2
  16. package/{src/interfaces/LionUIState.tsx → dist/interfaces/LionUIState.d.ts} +2 -3
  17. package/dist/style.css +2 -0
  18. package/dist/types/Android/AndroidInputShapeTypes.d.ts +5 -0
  19. package/dist/types/Android/AndroidInputStyleTypes.d.ts +5 -0
  20. package/dist/types/Android/AndroidShapeTypes.d.ts +5 -0
  21. package/dist/types/Android/AndroidStyleTypes.d.ts +8 -0
  22. package/dist/types/ButtonTypes.d.ts +7 -0
  23. package/dist/types/IOS/IOSInputShapeTypes.d.ts +6 -0
  24. package/dist/types/IOS/IOSInputStyleTypes.d.ts +8 -0
  25. package/dist/types/IOS/IOSShapeTypes.d.ts +5 -0
  26. package/dist/types/IOS/IOSStyleTypes.d.ts +7 -0
  27. package/dist/types/InputTypes.d.ts +11 -0
  28. package/dist/types/PlatformTypes.d.ts +7 -0
  29. package/dist/types/SizeTypes.d.ts +9 -0
  30. package/dist/types/VariantTypes.d.ts +17 -0
  31. package/dist/types/Web/BootstrapInputShapeTypes.d.ts +6 -0
  32. package/dist/types/Web/BootstrapInputStyleTypes.d.ts +5 -0
  33. package/dist/types/Web/BootstrapShapeTypes.d.ts +6 -0
  34. package/dist/types/Web/BootstrapStyleTypes.d.ts +5 -0
  35. package/package.json +19 -2
  36. package/.oxlintrc.json +0 -8
  37. package/AGENTS.md +0 -0
  38. package/Dockerfile +0 -7
  39. package/compose.yml +0 -14
  40. package/index.html +0 -15
  41. package/src/App.tsx +0 -84
  42. package/src/assets/css/buttons/buttons-android.css +0 -251
  43. package/src/assets/css/buttons/buttons-ios.css +0 -213
  44. package/src/assets/css/buttons/buttons-web.css +0 -138
  45. package/src/assets/css/custom.css +0 -8
  46. package/src/assets/css/index.css +0 -60
  47. package/src/assets/css/inputs/inputs-android.css +0 -259
  48. package/src/assets/css/inputs/inputs-bootstrap.css +0 -74
  49. package/src/assets/css/inputs/inputs-ios.css +0 -268
  50. package/src/assets/css/loadings/loading-bar.css +0 -86
  51. package/src/assets/css/modals/modals.css +0 -236
  52. package/src/components/buttons/AndroidButton.tsx +0 -43
  53. package/src/components/buttons/BootstrapButton.tsx +0 -50
  54. package/src/components/buttons/IOSButton.tsx +0 -42
  55. package/src/components/buttons/LionButton.tsx +0 -73
  56. package/src/components/inputs/AndroidInput.tsx +0 -158
  57. package/src/components/inputs/BootstrapInput.tsx +0 -106
  58. package/src/components/inputs/IOSInput.tsx +0 -163
  59. package/src/components/inputs/LionInput.tsx +0 -81
  60. package/src/components/loadings/LoadingBar.tsx +0 -21
  61. package/src/components/modals/LionModal.tsx +0 -155
  62. package/src/context/LionUIComponentsContext.tsx +0 -73
  63. package/src/features/Header.tsx +0 -83
  64. package/src/features/VariantList.tsx +0 -19
  65. package/src/features/buttons/ButtonsSection.tsx +0 -7
  66. package/src/features/buttons/components/ButtonsAndroidSection.tsx +0 -79
  67. package/src/features/buttons/components/ButtonsBootstrapSection.tsx +0 -77
  68. package/src/features/buttons/components/ButtonsCustomSection.tsx +0 -234
  69. package/src/features/buttons/components/ButtonsIOSSection.tsx +0 -78
  70. package/src/features/inputs/InputsSection.tsx +0 -7
  71. package/src/features/inputs/components/InputsAndroidSection.tsx +0 -155
  72. package/src/features/inputs/components/InputsBootstrapSection.tsx +0 -154
  73. package/src/features/inputs/components/InputsCustomSection.tsx +0 -234
  74. package/src/features/inputs/components/InputsIOSSection.tsx +0 -156
  75. package/src/features/loadings/LoadingSection.tsx +0 -5
  76. package/src/features/loadings/components/LoadingBarSection.tsx +0 -74
  77. package/src/features/modals/ModalsSection.tsx +0 -5
  78. package/src/features/modals/components/ModalsAndroidSection.tsx +0 -108
  79. package/src/features/modals/components/ModalsDefaultForm.tsx +0 -31
  80. package/src/features/modals/components/ModalsDefaultInput.tsx +0 -22
  81. package/src/features/modals/components/ModalsIOSSection.tsx +0 -106
  82. package/src/features/modals/components/ModalsWebSection.tsx +0 -104
  83. package/src/main.tsx +0 -9
  84. package/src/types/Android/AndroidInputShapeTypes.tsx +0 -7
  85. package/src/types/Android/AndroidInputStyleTypes.tsx +0 -7
  86. package/src/types/Android/AndroidShapeTypes.tsx +0 -6
  87. package/src/types/Android/AndroidStyleTypes.tsx +0 -9
  88. package/src/types/ButtonTypes.tsx +0 -9
  89. package/src/types/IOS/IOSInputShapeTypes.tsx +0 -9
  90. package/src/types/IOS/IOSInputStyleTypes.tsx +0 -11
  91. package/src/types/IOS/IOSShapeTypes.tsx +0 -7
  92. package/src/types/IOS/IOSStyleTypes.tsx +0 -9
  93. package/src/types/InputTypes.tsx +0 -13
  94. package/src/types/PlatformTypes.tsx +0 -9
  95. package/src/types/SizeTypes.tsx +0 -11
  96. package/src/types/VariantTypes.tsx +0 -19
  97. package/src/types/Web/BootstrapInputShapeTypes.tsx +0 -9
  98. package/src/types/Web/BootstrapInputStyleTypes.tsx +0 -8
  99. package/src/types/Web/BootstrapShapeTypes.tsx +0 -8
  100. package/src/types/Web/BootstrapStyleTypes.tsx +0 -7
  101. package/tsconfig.app.json +0 -26
  102. package/tsconfig.json +0 -7
  103. package/tsconfig.node.json +0 -23
  104. package/vite.config.ts +0 -30
  105. /package/{public → dist}/favicon.svg +0 -0
  106. /package/{public → dist}/icons.svg +0 -0
@@ -1,259 +0,0 @@
1
- /* ==========================================================================
2
- Android Material Design 3 - Isolated Input Configuration
3
- ========================================================================== */
4
-
5
- .android-input-container {
6
- --android-input-color: var(--bs-primary, #0d6efd);
7
- --android-input-label-bg: var(--bs-body-bg, #ffffff);
8
- --android-input-border-color: var(--bs-border-color, #ccc);
9
- --android-input-error-color: var(--bs-danger, #dc3545);
10
-
11
- position: relative;
12
- display: flex;
13
- flex-direction: column;
14
- width: 100%;
15
- max-width: 100%;
16
- font-family: var(--bs-body-font-family, Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
17
- box-sizing: border-box;
18
- }
19
-
20
- .android-input-field-wrapper {
21
- position: relative;
22
- display: flex;
23
- align-items: center;
24
- width: 100%;
25
- max-width: 100%;
26
- box-sizing: border-box;
27
- transition: all 0.4s ease-in-out;
28
- }
29
-
30
- /* --- Real Input Element --- */
31
- .android-input-element {
32
- width: 100%;
33
- max-width: 100%;
34
- border: 1px solid var(--android-input-border-color);
35
- border-radius: var(--bs-border-radius-sm, 4px);
36
- background-color: transparent;
37
- color: var(--bs-body-color, #212529);
38
- font: inherit;
39
- font-size: 1rem;
40
- outline: none;
41
- box-sizing: border-box;
42
- transition: border-color 0.4s, box-shadow 0.4s, background-color 0.4s;
43
- }
44
-
45
- /* Android Sizes */
46
- .android-input-field-wrapper.android-size-normal .android-input-element {
47
- padding: 14.5px 14px;
48
- }
49
-
50
- .android-input-field-wrapper.android-size-small .android-input-element {
51
- padding: 10px 12px;
52
- font-size: 0.875rem;
53
- }
54
-
55
- /* --- Outlined Style (Default) --- */
56
- .android-input-field-wrapper.android-style-outlined {
57
- background-color: transparent;
58
- }
59
-
60
- .android-input-field-wrapper.android-style-outlined .android-input-element:focus,
61
- .android-input-field-wrapper.android-style-outlined .android-input-element:not(:placeholder-shown) {
62
- border-color: var(--android-active-color, var(--android-input-color));
63
- }
64
-
65
- .android-input-field-wrapper.android-style-outlined .android-input-element:focus {
66
- box-shadow: 0 0 0 1px var(--android-active-color, var(--android-input-color));
67
- }
68
-
69
- /* --- Filled Style --- */
70
- .android-input-field-wrapper.android-style-filled {
71
- background-color: color-mix(in srgb, var(--android-active-color, var(--android-input-color)) 8%, var(--bs-body-bg, #ffffff));
72
- border-radius: 4px 4px 0 0;
73
- border-bottom: 1px solid var(--android-input-border-color);
74
- }
75
-
76
- .android-input-field-wrapper.android-style-filled .android-input-element {
77
- border: none;
78
- background: transparent;
79
- }
80
-
81
- /* Specific top padding for Filled based on size */
82
- .android-input-field-wrapper.android-style-filled.android-size-normal .android-input-element {
83
- padding: 22px 14px 6px 14px;
84
- }
85
-
86
- .android-input-field-wrapper.android-style-filled.android-size-small .android-input-element {
87
- padding: 18px 12px 4px 12px;
88
- }
89
-
90
- /* Active bottom border and background for Filled with focus or value */
91
- .android-input-field-wrapper.android-style-filled.is-focused,
92
- .android-input-field-wrapper.android-style-filled:has(.android-input-element:not(:placeholder-shown)) {
93
- border-bottom: 2px solid var(--android-active-color, var(--android-input-color));
94
- background-color: color-mix(in srgb, var(--android-active-color, var(--android-input-color)) 14%, var(--bs-body-bg, #ffffff));
95
- }
96
-
97
- /* ==========================================================================
98
- Android Floating Label Logic (Proportional to Normal and Small sizes)
99
- ========================================================================== */
100
-
101
- .android-input-label {
102
- position: absolute;
103
- left: 14px;
104
- top: 50%;
105
- transform: translateY(-50%);
106
- pointer-events: none;
107
- color: var(--bs-secondary-color, #777);
108
- font-size: 1rem;
109
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
110
- background-color: transparent;
111
- padding: 0 4px;
112
- z-index: 2;
113
- margin: 0;
114
- white-space: nowrap;
115
- max-width: calc(100% - 28px);
116
- overflow: hidden;
117
- text-overflow: ellipsis;
118
- }
119
-
120
- .android-input-field-wrapper.android-size-small .android-input-label {
121
- left: 12px;
122
- font-size: 0.875rem;
123
- max-width: calc(100% - 24px);
124
- }
125
-
126
- /* --- Outlined Floating States --- */
127
- .android-input-field-wrapper.android-style-outlined.android-size-normal .android-input-element:focus ~ .android-input-label,
128
- .android-input-field-wrapper.android-style-outlined.android-size-normal .android-input-element:not(:placeholder-shown) ~ .android-input-label {
129
- top: 0;
130
- transform: translateY(-50%);
131
- font-size: 0.75rem;
132
- color: var(--android-active-color, var(--android-input-color));
133
- background-color: var(--android-input-label-bg);
134
- }
135
-
136
- .android-input-field-wrapper.android-style-outlined.android-size-small .android-input-element:focus ~ .android-input-label,
137
- .android-input-field-wrapper.android-style-outlined.android-size-small .android-input-element:not(:placeholder-shown) ~ .android-input-label {
138
- top: 0;
139
- transform: translateY(-50%);
140
- font-size: 0.68rem;
141
- color: var(--android-active-color, var(--android-input-color));
142
- background-color: var(--android-input-label-bg);
143
- }
144
-
145
- /* --- Filled Floating States (Proportionally adjusted for Normal and Small) --- */
146
- .android-input-field-wrapper.android-style-filled.android-size-normal .android-input-element:focus ~ .android-input-label,
147
- .android-input-field-wrapper.android-style-filled.android-size-normal .android-input-element:not(:placeholder-shown) ~ .android-input-label {
148
- top: 8px;
149
- transform: translateY(0);
150
- font-size: 0.75rem;
151
- color: var(--android-active-color, var(--android-input-color));
152
- background-color: transparent;
153
- }
154
-
155
- .android-input-field-wrapper.android-style-filled.android-size-small .android-input-element:focus ~ .android-input-label,
156
- .android-input-field-wrapper.android-style-filled.android-size-small .android-input-element:not(:placeholder-shown) ~ .android-input-label {
157
- top: 5px;
158
- transform: translateY(0);
159
- font-size: 0.68rem;
160
- color: var(--android-active-color, var(--android-input-color));
161
- background-color: transparent;
162
- }
163
-
164
- /* Hide placeholder at rest */
165
- .android-input-element:not(:focus)::placeholder {
166
- color: transparent !important;
167
- }
168
-
169
- .android-input-element:focus::placeholder {
170
- color: var(--bs-secondary-color, #aaa);
171
- opacity: 0.7;
172
- }
173
-
174
- /* ==========================================================================
175
- Android Color Variants Mapping
176
- ========================================================================== */
177
- .android-input-container.android-variant-primary {
178
- --android-active-color: var(--bs-primary, #0d6efd);
179
- }
180
-
181
- .android-input-container.android-variant-secondary {
182
- --android-active-color: var(--bs-secondary, #6c757d);
183
- }
184
-
185
- .android-input-container.android-variant-success {
186
- --android-active-color: var(--bs-success, #198754);
187
- }
188
-
189
- .android-input-container.android-variant-danger {
190
- --android-active-color: var(--bs-danger, #dc3545);
191
- }
192
-
193
- .android-input-container.android-variant-warning {
194
- --android-active-color: var(--bs-warning, #ffc107);
195
- }
196
-
197
- .android-input-container.android-variant-info {
198
- --android-active-color: var(--bs-info, #0dcaf0);
199
- }
200
-
201
- .android-input-container.android-variant-dark {
202
- --android-active-color: var(--bs-dark, #212529);
203
- }
204
-
205
- /* Custom Lion Variants */
206
- .android-input-container.android-variant-lion-packages {
207
- --android-active-color: var(--lion-packages, #6f42c1);
208
- }
209
-
210
- .android-input-container.android-variant-lion-parking {
211
- --android-active-color: var(--lion-parking, #20c997);
212
- }
213
-
214
- .android-input-container.android-variant-lion-tech {
215
- --android-active-color: var(--lion-tech, #fd7e14);
216
- }
217
-
218
- .android-input-container.android-variant-lion-glam {
219
- --android-active-color: var(--lion-glam, #e83e8c);
220
- }
221
-
222
- /* --- Error States & Subtext --- */
223
- .android-input-field-wrapper.has-error {
224
- border-color: var(--android-input-error-color) !important;
225
- }
226
-
227
- .android-input-field-wrapper.has-error .android-input-element {
228
- border-color: var(--android-input-error-color) !important;
229
- }
230
-
231
- .android-input-field-wrapper.has-error .android-input-label {
232
- color: var(--android-input-error-color) !important;
233
- }
234
-
235
- .android-input-subtext-container {
236
- display: flex;
237
- justify-content: space-between;
238
- padding: 0.25rem 0.25rem 0 0.25rem;
239
- }
240
-
241
- .android-input-error-text {
242
- font-size: 0.78rem;
243
- color: var(--android-input-error-color);
244
- margin-top: 0.25rem;
245
- font-weight: 500;
246
- }
247
-
248
- .android-input-helper-text {
249
- font-size: 0.78rem;
250
- color: var(--bs-secondary-color, #777);
251
- margin-top: 0.25rem;
252
- }
253
-
254
- .android-input-counter {
255
- margin-left: auto;
256
- margin-top: 0.25rem;
257
- color: var(--bs-secondary-color, #777);
258
- font-size: 0.78rem;
259
- }
@@ -1,74 +0,0 @@
1
- /* ==========================================================================
2
- LION UI LIBRARY - BOOTSTRAP 5 INPUT SYSTEM
3
- ========================================================================== */
4
-
5
- /* --- Color Variables Mapping per Variant --- */
6
- .form-control.bootstrap-variant-primary { --bootstrap-active-color: var(--bs-primary, #0d6efd); }
7
- .form-control.bootstrap-variant-secondary { --bootstrap-active-color: var(--bs-secondary, #6c757d); }
8
- .form-control.bootstrap-variant-success { --bootstrap-active-color: var(--bs-success, #198754); }
9
- .form-control.bootstrap-variant-danger { --bootstrap-active-color: var(--bs-danger, #dc3545); }
10
- .form-control.bootstrap-variant-warning { --bootstrap-active-color: var(--bs-warning, #ffc107); }
11
- .form-control.bootstrap-variant-info { --bootstrap-active-color: var(--bs-info, #0dcaf0); }
12
- .form-control.bootstrap-variant-dark { --bootstrap-active-color: var(--bs-dark, #212529); }
13
-
14
- /* Custom Lion Variants */
15
- .form-control.bootstrap-variant-lion-packages { --bootstrap-active-color: var(--lion-packages, #6f42c1); }
16
- .form-control.bootstrap-variant-lion-parking { --bootstrap-active-color: var(--lion-parking, #20c997); }
17
- .form-control.bootstrap-variant-lion-tech { --bootstrap-active-color: var(--lion-tech, #fd7e14); }
18
- .form-control.bootstrap-variant-lion-glam { --bootstrap-active-color: var(--lion-glam, #e83e8c); }
19
-
20
- /* --- Native Bootstrap Focus Overrides --- */
21
- .form-control.bootstrap-variant-primary:focus,
22
- .form-control.bootstrap-variant-secondary:focus,
23
- .form-control.bootstrap-variant-success:focus,
24
- .form-control.bootstrap-variant-danger:focus,
25
- .form-control.bootstrap-variant-warning:focus,
26
- .form-control.bootstrap-variant-info:focus,
27
- .form-control.bootstrap-variant-dark:focus,
28
- .form-control.bootstrap-variant-lion-packages:focus,
29
- .form-control.bootstrap-variant-lion-parking:focus,
30
- .form-control.bootstrap-variant-lion-tech:focus,
31
- .form-control.bootstrap-variant-lion-glam:focus {
32
- border-color: var(--bootstrap-active-color);
33
- box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--bootstrap-active-color) 25%, transparent);
34
- }
35
-
36
- /* --- Floating Label Color Synchronization --- */
37
- .form-floating:has(.form-control.bootstrap-variant-primary:focus) > label,
38
- .form-floating:has(.form-control.bootstrap-variant-primary:not(:placeholder-shown)) > label { color: var(--bs-primary); }
39
-
40
- .form-floating:has(.form-control.bootstrap-variant-secondary:focus) > label,
41
- .form-floating:has(.form-control.bootstrap-variant-secondary:not(:placeholder-shown)) > label { color: var(--bs-secondary); }
42
-
43
- .form-floating:has(.form-control.bootstrap-variant-success:focus) > label,
44
- .form-floating:has(.form-control.bootstrap-variant-success:not(:placeholder-shown)) > label { color: var(--bs-success); }
45
-
46
- .form-floating:has(.form-control.bootstrap-variant-danger:focus) > label,
47
- .form-floating:has(.form-control.bootstrap-variant-danger:not(:placeholder-shown)) > label { color: var(--bs-danger); }
48
-
49
- .form-floating:has(.form-control.bootstrap-variant-warning:focus) > label,
50
- .form-floating:has(.form-control.bootstrap-variant-warning:not(:placeholder-shown)) > label { color: var(--bs-warning); }
51
-
52
- .form-floating:has(.form-control.bootstrap-variant-info:focus) > label,
53
- .form-floating:has(.form-control.bootstrap-variant-info:not(:placeholder-shown)) > label { color: var(--bs-info); }
54
-
55
- .form-floating:has(.form-control.bootstrap-variant-dark:focus) > label,
56
- .form-floating:has(.form-control.bootstrap-variant-dark:not(:placeholder-shown)) > label { color: var(--bs-dark); }
57
-
58
- .form-floating:has(.form-control.bootstrap-variant-lion-packages:focus) > label,
59
- .form-floating:has(.form-control.bootstrap-variant-lion-packages:not(:placeholder-shown)) > label { color: var(--lion-packages, #6f42c1); }
60
-
61
- .form-floating:has(.form-control.bootstrap-variant-lion-parking:focus) > label,
62
- .form-floating:has(.form-control.bootstrap-variant-lion-parking:not(:placeholder-shown)) > label { color: var(--lion-parking, #20c997); }
63
-
64
- .form-floating:has(.form-control.bootstrap-variant-lion-tech:focus) > label,
65
- .form-floating:has(.form-control.bootstrap-variant-lion-tech:not(:placeholder-shown)) > label { color: var(--lion-tech, #fd7e14); }
66
-
67
- .form-floating:has(.form-control.bootstrap-variant-lion-glam:focus) > label,
68
- .form-floating:has(.form-control.bootstrap-variant-lion-glam:not(:placeholder-shown)) > label { color: var(--lion-glam, #e83e8c); }
69
-
70
- /* --- Shape Utility Overrides --- */
71
- .form-control.rounded-pill {
72
- padding-left: 1.25rem;
73
- padding-right: 1.25rem;
74
- }
@@ -1,268 +0,0 @@
1
- /* ==========================================================================
2
- LION UI LIBRARY - IOS INPUT SYSTEM (STANDARDIZED & ISOLATED)
3
- ========================================================================== */
4
-
5
- .ios-input-container {
6
- --ios-input-bg: var(--bs-body-bg, #ffffff);
7
- --ios-input-color: var(--bs-body-color, #212529);
8
- --ios-input-border-color: var(--bs-border-color, #dee2e6);
9
- --ios-input-placeholder-color: var(--bs-secondary-color, #6c757d);
10
- --ios-input-focus-color: var(--bs-primary, #0d6efd);
11
- --ios-input-error-color: var(--bs-danger, #dc3545);
12
- --ios-input-disabled-bg: var(--bs-tertiary-bg, #f8f9fa);
13
-
14
- display: flex;
15
- flex-direction: column;
16
- gap: 6px;
17
- font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", sans-serif;
18
- width: 100%;
19
- box-sizing: border-box;
20
- }
21
-
22
- .ios-input-label {
23
- font-size: 13px;
24
- font-weight: 600;
25
- color: var(--ios-input-color);
26
- margin-left: 4px;
27
- letter-spacing: -0.08px;
28
- }
29
-
30
- /* Wrapper Base */
31
- .ios-input-wrapper {
32
- position: relative;
33
- display: flex;
34
- align-items: center;
35
- background-color: var(--ios-input-bg);
36
- color: var(--ios-input-color);
37
- transition: all 0.2s ease-in-out;
38
- box-sizing: border-box;
39
- width: 100%;
40
- overflow: hidden;
41
- }
42
-
43
- /* --- Sizes (Scoped with ios-size-) --- */
44
- .ios-input-wrapper.ios-size-sx {
45
- min-height: 30px;
46
- font-size: 12px;
47
- padding: 0 8px;
48
- }
49
-
50
- .ios-input-wrapper.ios-size-sm {
51
- min-height: 36px;
52
- font-size: 14px;
53
- padding: 0 10px;
54
- }
55
-
56
- .ios-input-wrapper.ios-size-md {
57
- min-height: 44px;
58
- font-size: 16px;
59
- padding: 0 14px;
60
- }
61
-
62
- .ios-input-wrapper.ios-size-lg {
63
- min-height: 52px;
64
- font-size: 18px;
65
- padding: 0 16px;
66
- }
67
-
68
- /* --- Shapes (Scoped with ios-shape-) --- */
69
- .ios-input-wrapper.ios-shape-rounded {
70
- border-radius: 12px !important;
71
- }
72
-
73
- .ios-input-wrapper.ios-shape-pill {
74
- border-radius: 9999px !important;
75
- padding-left: 18px !important;
76
- padding-right: 18px !important;
77
- }
78
-
79
- .ios-input-wrapper.ios-shape-square {
80
- border-radius: 4px !important;
81
- }
82
-
83
- /* --- Style Types (Scoped with ios-style-) --- */
84
-
85
- .ios-input-wrapper.ios-style-rounded-border,
86
- .ios-input-wrapper.ios-style-outlined {
87
- border: 1.5px solid var(--ios-input-border-color);
88
- background-color: transparent;
89
- }
90
-
91
- .ios-input-wrapper.ios-style-rounded-border.is-focused,
92
- .ios-input-wrapper.ios-style-outlined.is-focused {
93
- border-color: var(--ios-active-color, var(--ios-input-focus-color));
94
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--ios-active-color, var(--ios-input-focus-color)) 20%, transparent);
95
- }
96
-
97
- .ios-input-wrapper.ios-style-form {
98
- background-color: transparent;
99
- border: none;
100
- border-bottom: 1px solid var(--ios-input-border-color);
101
- border-radius: 0 !important;
102
- padding-left: 0 !important;
103
- padding-right: 0 !important;
104
- }
105
-
106
- .ios-input-wrapper.ios-style-form.is-focused {
107
- border-bottom-color: var(--ios-active-color, var(--ios-input-focus-color));
108
- box-shadow: none;
109
- }
110
-
111
- .ios-input-wrapper.ios-style-filled {
112
- background-color: var(--bs-tertiary-bg, #f1f3f5);
113
- border: 1px solid transparent;
114
- }
115
-
116
- .ios-input-wrapper.ios-style-filled.is-focused {
117
- background-color: var(--ios-input-bg);
118
- border-color: var(--ios-active-color, var(--ios-input-focus-color));
119
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--ios-active-color, var(--ios-input-focus-color)) 20%, transparent);
120
- }
121
-
122
- .ios-input-wrapper.ios-style-plain {
123
- background-color: transparent;
124
- border: none;
125
- padding: 0 !important;
126
- }
127
-
128
- /* --- Variants Mapping (Scoped with ios-variant-) --- */
129
- .ios-input-container.ios-variant-primary {
130
- --ios-active-color: var(--bs-primary, #0d6efd);
131
- }
132
-
133
- .ios-input-container.ios-variant-secondary {
134
- --ios-active-color: var(--bs-secondary, #6c757d);
135
- }
136
-
137
- .ios-input-container.ios-variant-success {
138
- --ios-active-color: var(--bs-success, #198754);
139
- }
140
-
141
- .ios-input-container.ios-variant-danger {
142
- --ios-active-color: var(--bs-danger, #dc3545);
143
- }
144
-
145
- .ios-input-container.ios-variant-warning {
146
- --ios-active-color: var(--bs-warning, #ffc107);
147
- }
148
-
149
- .ios-input-container.ios-variant-info {
150
- --ios-active-color: var(--bs-info, #0dcaf0);
151
- }
152
-
153
- .ios-input-container.ios-variant-dark {
154
- --ios-active-color: var(--bs-dark, #212529);
155
- }
156
-
157
- /* Custom Lion Variants */
158
- .ios-input-container.ios-variant-lion-packages {
159
- --ios-active-color: var(--lion-packages, #6f42c1);
160
- }
161
-
162
- .ios-input-container.ios-variant-lion-parking {
163
- --ios-active-color: var(--lion-parking, #20c997);
164
- }
165
-
166
- .ios-input-container.ios-variant-lion-tech {
167
- --ios-active-color: var(--lion-tech, #fd7e14);
168
- }
169
-
170
- .ios-input-container.ios-variant-lion-glam {
171
- --ios-active-color: var(--lion-glam, #e83e8c);
172
- }
173
-
174
- /* --- States --- */
175
- .ios-input-wrapper.has-error {
176
- border-color: var(--ios-input-error-color) !important;
177
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--ios-input-error-color) 20%, transparent) !important;
178
- }
179
-
180
- .ios-input-wrapper.is-disabled {
181
- background-color: var(--ios-input-disabled-bg);
182
- opacity: 0.6;
183
- cursor: not-allowed;
184
- }
185
-
186
- .ios-input-wrapper.is-readonly {
187
- background-color: var(--ios-input-disabled-bg);
188
- }
189
-
190
- /* --- Internal Elements --- */
191
- .ios-input-element {
192
- width: 100%;
193
- border: none;
194
- outline: none;
195
- background: transparent;
196
- color: inherit;
197
- padding: 6px 0;
198
- font-family: inherit;
199
- font-size: inherit;
200
- }
201
-
202
- .ios-input-element::placeholder {
203
- color: var(--ios-input-placeholder-color);
204
- opacity: 1;
205
- }
206
-
207
- .ios-input-icon-left,
208
- .ios-input-icon-right {
209
- display: flex;
210
- align-items: center;
211
- justify-content: center;
212
- color: var(--ios-input-placeholder-color);
213
- flex-shrink: 0;
214
- }
215
-
216
- .ios-input-icon-left {
217
- margin-right: 8px;
218
- }
219
-
220
- .ios-input-icon-right {
221
- margin-left: 8px;
222
- }
223
-
224
- .input-prefix {
225
- margin-right: 6px;
226
- color: var(--ios-input-placeholder-color);
227
- }
228
-
229
- .input-suffix {
230
- margin-left: 6px;
231
- color: var(--ios-input-placeholder-color);
232
- }
233
-
234
- .ios-clear-button {
235
- border: none;
236
- background: var(--bs-secondary-bg, #e9ecef);
237
- color: var(--ios-input-color);
238
- border-radius: 50%;
239
- width: 18px;
240
- height: 18px;
241
- display: flex;
242
- align-items: center;
243
- justify-content: center;
244
- font-size: 10px;
245
- cursor: pointer;
246
- padding: 0;
247
- margin-left: 6px;
248
- flex-shrink: 0;
249
- transition: background 0.2s;
250
- }
251
-
252
- .ios-clear-button:hover {
253
- background: var(--bs-secondary, #6c757d);
254
- color: #fff;
255
- }
256
-
257
- .ios-input-helper-text {
258
- font-size: 12px;
259
- color: var(--ios-input-placeholder-color);
260
- margin-left: 4px;
261
- }
262
-
263
- .ios-input-error-text {
264
- font-size: 12px;
265
- color: var(--ios-input-error-color);
266
- margin-left: 4px;
267
- font-weight: 500;
268
- }
@@ -1,86 +0,0 @@
1
- .custom-progress-bar {
2
- position: relative;
3
- height: 4px;
4
- background-color: #E0E0E0;
5
- overflow: hidden;
6
- border-radius: 4px;
7
- --lion-active-color: var(--bs-primary, #0d6efd);
8
- }
9
-
10
- .custom-progress-bar.loading-variant-primary {
11
- --lion-active-color: var(--bs-primary, #0d6efd);
12
- }
13
-
14
- .custom-progress-bar.loading-variant-secondary {
15
- --lion-active-color: var(--bs-secondary, #6c757d);
16
- }
17
-
18
- .custom-progress-bar.loading-variant-success {
19
- --lion-active-color: var(--bs-success, #198754);
20
- }
21
-
22
- .custom-progress-bar.loading-variant-danger {
23
- --lion-active-color: var(--bs-danger, #dc3545);
24
- }
25
-
26
- .custom-progress-bar.loading-variant-warning {
27
- --lion-active-color: var(--bs-warning, #ffc107);
28
- }
29
-
30
- .custom-progress-bar.loading-variant-info {
31
- --lion-active-color: var(--bs-info, #0dcaf0);
32
- }
33
-
34
- .custom-progress-bar.loading-variant-light {
35
- --lion-active-color: var(--bs-dark, #212529);
36
- }
37
-
38
- .custom-progress-bar.loading-variant-dark {
39
- --lion-active-color: var(--bs-dark, #212529);
40
- }
41
-
42
- .custom-progress-bar.loading-variant-link {
43
- --lion-active-color: var(--bs-primary, #0d6efd);
44
- }
45
-
46
- .custom-progress-bar.loading-variant-lion-packages {
47
- --lion-active-color: var(--lion-packages, #6f42c1);
48
- }
49
-
50
- .custom-progress-bar.loading-variant-lion-parking {
51
- --lion-active-color: var(--lion-parking, #20c997);
52
- }
53
-
54
- .custom-progress-bar.loading-variant-lion-tech {
55
- --lion-active-color: var(--lion-tech, #fd7e14);
56
- }
57
-
58
- .custom-progress-bar.loading-variant-lion-glam {
59
- --lion-active-color: var(--lion-glam, #e83e8c);
60
- }
61
-
62
- .custom-progress-bar .indeterminate {
63
- position: absolute;
64
- background-color: var(--lion-active-color);
65
- top: 0;
66
- left: -40%;
67
- height: 100%;
68
- width: 40%;
69
- animation: indeterminate 1.2s infinite;
70
- border-radius: 4px;
71
- }
72
-
73
- @keyframes indeterminate {
74
- 0% {
75
- left: -40%;
76
- width: 40%;
77
- }
78
- 50% {
79
- left: 20%;
80
- width: 60%;
81
- }
82
- 100% {
83
- left: 100%;
84
- width: 40%;
85
- }
86
- }