@rolster/styles-foundations 2.7.3 → 3.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 (192) hide show
  1. package/LICENSE +21 -21
  2. package/dist/design-system-bordered.css +4868 -0
  3. package/dist/design-system-bordered.css.map +1 -0
  4. package/dist/design-system-bordered.min.css +143 -0
  5. package/dist/design-system-filled.css +4783 -0
  6. package/dist/design-system-filled.css.map +1 -0
  7. package/dist/design-system-filled.min.css +141 -0
  8. package/dist/styles.css +363 -1242
  9. package/dist/styles.css.map +1 -1
  10. package/dist/styles.min.css +1 -53
  11. package/dist/styles.rtl.css +363 -1242
  12. package/dist/styles.rtl.min.css +1 -53
  13. package/package.json +41 -39
  14. package/scss/design-system-bordered/_index.scss +96 -0
  15. package/scss/{components → design-system-bordered}/app.scss +228 -145
  16. package/scss/design-system-bordered/atoms/amount.scss +58 -0
  17. package/scss/design-system-bordered/atoms/area-text.scss +100 -0
  18. package/scss/design-system-bordered/atoms/avatar.scss +50 -0
  19. package/scss/design-system-bordered/atoms/badge.scss +51 -0
  20. package/scss/design-system-bordered/atoms/breadcrumb.scss +87 -0
  21. package/scss/design-system-bordered/atoms/button-action.scss +124 -0
  22. package/scss/design-system-bordered/atoms/button-option.scss +49 -0
  23. package/scss/design-system-bordered/atoms/button.scss +249 -0
  24. package/scss/design-system-bordered/atoms/check-box.scss +49 -0
  25. package/scss/design-system-bordered/atoms/icon.scss +39 -0
  26. package/scss/design-system-bordered/atoms/image.scss +37 -0
  27. package/scss/design-system-bordered/atoms/input-decimal.scss +15 -0
  28. package/scss/design-system-bordered/atoms/input-money.scss +15 -0
  29. package/scss/design-system-bordered/atoms/input-number.scss +12 -0
  30. package/scss/design-system-bordered/atoms/input-password.scss +48 -0
  31. package/scss/design-system-bordered/atoms/input-percentage.scss +12 -0
  32. package/scss/design-system-bordered/atoms/input-search.scss +28 -0
  33. package/scss/design-system-bordered/atoms/input-text.scss +12 -0
  34. package/scss/design-system-bordered/atoms/input.scss +97 -0
  35. package/scss/design-system-bordered/atoms/label.scss +20 -0
  36. package/scss/design-system-bordered/atoms/message-icon.scss +21 -0
  37. package/scss/design-system-bordered/atoms/poster.scss +42 -0
  38. package/scss/design-system-bordered/atoms/progress-bar.scss +83 -0
  39. package/scss/design-system-bordered/atoms/progress-circular.scss +59 -0
  40. package/scss/design-system-bordered/atoms/radio-button.scss +55 -0
  41. package/scss/design-system-bordered/atoms/skeleton-text.scss +39 -0
  42. package/scss/design-system-bordered/atoms/skeleton.scss +46 -0
  43. package/scss/design-system-bordered/atoms/spinner.scss +102 -0
  44. package/scss/design-system-bordered/atoms/switch.scss +71 -0
  45. package/scss/design-system-bordered/atoms/tabular-text.scss +38 -0
  46. package/scss/design-system-bordered/molecules/accordion.scss +146 -0
  47. package/scss/design-system-bordered/molecules/alert.scss +52 -0
  48. package/scss/design-system-bordered/molecules/ballot.scss +110 -0
  49. package/scss/design-system-bordered/molecules/button-progress.scss +15 -0
  50. package/scss/design-system-bordered/molecules/button-toggle.scss +100 -0
  51. package/scss/design-system-bordered/molecules/field-area.scss +14 -0
  52. package/scss/{components → design-system-bordered/molecules}/field-box.scss +33 -2
  53. package/scss/design-system-bordered/molecules/field-decimal.scss +14 -0
  54. package/scss/design-system-bordered/molecules/field-file.scss +41 -0
  55. package/scss/design-system-bordered/molecules/field-list-suggestions.scss +65 -0
  56. package/scss/{components → design-system-bordered/molecules}/field-list.scss +52 -36
  57. package/scss/design-system-bordered/molecules/field-money.scss +14 -0
  58. package/scss/design-system-bordered/molecules/field-number.scss +14 -0
  59. package/scss/design-system-bordered/molecules/field-password.scss +23 -0
  60. package/scss/design-system-bordered/molecules/field-percentage.scss +14 -0
  61. package/scss/design-system-bordered/molecules/field-readonly.scss +24 -0
  62. package/scss/design-system-bordered/molecules/field-text.scss +14 -0
  63. package/scss/design-system-bordered/molecules/label-check-box.scss +72 -0
  64. package/scss/design-system-bordered/molecules/label-radio-button.scss +79 -0
  65. package/scss/design-system-bordered/molecules/label-switch.scss +71 -0
  66. package/scss/design-system-bordered/molecules/message-empty.scss +80 -0
  67. package/scss/design-system-bordered/molecules/pagination.scss +114 -0
  68. package/scss/design-system-bordered/molecules/picker-day-range.scss +109 -0
  69. package/scss/design-system-bordered/molecules/picker-day.scss +117 -0
  70. package/scss/design-system-bordered/molecules/picker-month.scss +67 -0
  71. package/scss/design-system-bordered/molecules/picker-selector-title.scss +54 -0
  72. package/scss/design-system-bordered/molecules/picker-year.scss +113 -0
  73. package/scss/design-system-bordered/molecules/slider.scss +74 -0
  74. package/scss/design-system-bordered/molecules/tabs.scss +51 -0
  75. package/scss/design-system-bordered/molecules/toolbar.scss +53 -0
  76. package/scss/design-system-bordered/organisms/bottom-sheet.scss +108 -0
  77. package/scss/design-system-bordered/organisms/card.scss +36 -0
  78. package/scss/design-system-bordered/organisms/confirmation.scss +186 -0
  79. package/scss/{components → design-system-bordered/organisms}/data-table.scss +8 -14
  80. package/scss/design-system-bordered/organisms/dropdown.scss +45 -0
  81. package/scss/design-system-bordered/organisms/field-autocomplete.scss +79 -0
  82. package/scss/design-system-bordered/organisms/field-clock.scss +62 -0
  83. package/scss/design-system-bordered/organisms/field-date-range.scss +60 -0
  84. package/scss/design-system-bordered/organisms/field-date.scss +61 -0
  85. package/scss/design-system-bordered/organisms/field-select.scss +18 -0
  86. package/scss/design-system-bordered/organisms/form-navigation.scss +46 -0
  87. package/scss/design-system-bordered/organisms/image-chooser.scss +50 -0
  88. package/scss/design-system-bordered/organisms/image-editor-modal.scss +23 -0
  89. package/scss/design-system-bordered/organisms/image-editor.scss +118 -0
  90. package/scss/design-system-bordered/organisms/modal-sheet.scss +138 -0
  91. package/scss/design-system-bordered/organisms/modal.scss +75 -0
  92. package/scss/design-system-bordered/organisms/picker-clock.scss +144 -0
  93. package/scss/design-system-bordered/organisms/picker-date-range.scss +84 -0
  94. package/scss/design-system-bordered/organisms/picker-date.scss +86 -0
  95. package/scss/design-system-bordered/organisms/snackbar.scss +93 -0
  96. package/scss/design-system-filled/_index.scss +96 -0
  97. package/scss/design-system-filled/app.scss +233 -0
  98. package/scss/design-system-filled/atoms/amount.scss +58 -0
  99. package/scss/design-system-filled/atoms/area-text.scss +100 -0
  100. package/scss/design-system-filled/atoms/avatar.scss +45 -0
  101. package/scss/design-system-filled/atoms/badge.scss +51 -0
  102. package/scss/design-system-filled/atoms/breadcrumb.scss +87 -0
  103. package/scss/design-system-filled/atoms/button-action.scss +124 -0
  104. package/scss/design-system-filled/atoms/button-option.scss +49 -0
  105. package/scss/design-system-filled/atoms/button.scss +222 -0
  106. package/scss/design-system-filled/atoms/check-box.scss +46 -0
  107. package/scss/design-system-filled/atoms/icon.scss +39 -0
  108. package/scss/design-system-filled/atoms/image.scss +37 -0
  109. package/scss/design-system-filled/atoms/input-decimal.scss +15 -0
  110. package/scss/design-system-filled/atoms/input-money.scss +15 -0
  111. package/scss/design-system-filled/atoms/input-number.scss +12 -0
  112. package/scss/design-system-filled/atoms/input-password.scss +48 -0
  113. package/scss/design-system-filled/atoms/input-percentage.scss +12 -0
  114. package/scss/design-system-filled/atoms/input-search.scss +26 -0
  115. package/scss/design-system-filled/atoms/input-text.scss +12 -0
  116. package/scss/design-system-filled/atoms/input.scss +97 -0
  117. package/scss/design-system-filled/atoms/label.scss +20 -0
  118. package/scss/design-system-filled/atoms/message-icon.scss +21 -0
  119. package/scss/design-system-filled/atoms/poster.scss +32 -0
  120. package/scss/design-system-filled/atoms/progress-bar.scss +83 -0
  121. package/scss/design-system-filled/atoms/progress-circular.scss +59 -0
  122. package/scss/design-system-filled/atoms/radio-button.scss +53 -0
  123. package/scss/design-system-filled/atoms/skeleton-text.scss +39 -0
  124. package/scss/design-system-filled/atoms/skeleton.scss +46 -0
  125. package/scss/design-system-filled/atoms/spinner.scss +102 -0
  126. package/scss/design-system-filled/atoms/switch.scss +71 -0
  127. package/scss/design-system-filled/atoms/tabular-text.scss +38 -0
  128. package/scss/design-system-filled/molecules/accordion.scss +138 -0
  129. package/scss/design-system-filled/molecules/alert.scss +52 -0
  130. package/scss/design-system-filled/molecules/ballot.scss +110 -0
  131. package/scss/design-system-filled/molecules/button-progress.scss +15 -0
  132. package/scss/design-system-filled/molecules/button-toggle.scss +100 -0
  133. package/scss/design-system-filled/molecules/field-area.scss +14 -0
  134. package/scss/design-system-filled/molecules/field-box.scss +170 -0
  135. package/scss/design-system-filled/molecules/field-decimal.scss +14 -0
  136. package/scss/design-system-filled/molecules/field-file.scss +41 -0
  137. package/scss/design-system-filled/molecules/field-list-suggestions.scss +65 -0
  138. package/scss/design-system-filled/molecules/field-list.scss +341 -0
  139. package/scss/design-system-filled/molecules/field-money.scss +14 -0
  140. package/scss/design-system-filled/molecules/field-number.scss +14 -0
  141. package/scss/design-system-filled/molecules/field-password.scss +23 -0
  142. package/scss/design-system-filled/molecules/field-percentage.scss +14 -0
  143. package/scss/design-system-filled/molecules/field-readonly.scss +24 -0
  144. package/scss/design-system-filled/molecules/field-text.scss +14 -0
  145. package/scss/design-system-filled/molecules/label-check-box.scss +72 -0
  146. package/scss/design-system-filled/molecules/label-radio-button.scss +79 -0
  147. package/scss/design-system-filled/molecules/label-switch.scss +71 -0
  148. package/scss/design-system-filled/molecules/message-empty.scss +80 -0
  149. package/scss/design-system-filled/molecules/pagination.scss +114 -0
  150. package/scss/design-system-filled/molecules/picker-day-range.scss +109 -0
  151. package/scss/design-system-filled/molecules/picker-day.scss +110 -0
  152. package/scss/design-system-filled/molecules/picker-month.scss +67 -0
  153. package/scss/design-system-filled/molecules/picker-selector-title.scss +55 -0
  154. package/scss/design-system-filled/molecules/picker-year.scss +113 -0
  155. package/scss/design-system-filled/molecules/slider.scss +74 -0
  156. package/scss/design-system-filled/molecules/tabs.scss +48 -0
  157. package/scss/design-system-filled/molecules/toolbar.scss +53 -0
  158. package/scss/design-system-filled/organisms/bottom-sheet.scss +108 -0
  159. package/scss/design-system-filled/organisms/card.scss +27 -0
  160. package/scss/design-system-filled/organisms/confirmation.scss +186 -0
  161. package/scss/design-system-filled/organisms/data-table.scss +427 -0
  162. package/scss/design-system-filled/organisms/dropdown.scss +44 -0
  163. package/scss/design-system-filled/organisms/field-autocomplete.scss +79 -0
  164. package/scss/design-system-filled/organisms/field-clock.scss +62 -0
  165. package/scss/design-system-filled/organisms/field-date-range.scss +60 -0
  166. package/scss/design-system-filled/organisms/field-date.scss +61 -0
  167. package/scss/design-system-filled/organisms/field-select.scss +18 -0
  168. package/scss/design-system-filled/organisms/form-navigation.scss +46 -0
  169. package/scss/design-system-filled/organisms/form.scss +27 -0
  170. package/scss/design-system-filled/organisms/image-chooser.scss +50 -0
  171. package/scss/design-system-filled/organisms/image-editor-modal.scss +23 -0
  172. package/scss/design-system-filled/organisms/image-editor.scss +118 -0
  173. package/scss/design-system-filled/organisms/modal-sheet.scss +138 -0
  174. package/scss/design-system-filled/organisms/modal.scss +75 -0
  175. package/scss/design-system-filled/organisms/picker-clock.scss +144 -0
  176. package/scss/design-system-filled/organisms/picker-date-range.scss +88 -0
  177. package/scss/design-system-filled/organisms/picker-date.scss +90 -0
  178. package/scss/design-system-filled/organisms/snackbar.scss +93 -0
  179. package/scss/foundations/borders.scss +14 -14
  180. package/scss/foundations/colors.scss +30 -30
  181. package/scss/foundations/elevations.scss +130 -128
  182. package/scss/foundations/flex-boxs.scss +96 -96
  183. package/scss/foundations/helpers.scss +123 -123
  184. package/scss/foundations/sizings.scss +6 -0
  185. package/scss/foundations/themes.scss +230 -230
  186. package/scss/styles.scss +0 -1
  187. package/scss/utilities/helpers.scss +124 -124
  188. package/scss/utilities/layout.scss +83 -83
  189. package/scss/utilities/texts.scss +5 -2
  190. package/scss/utilities/typographics.scss +208 -186
  191. package/scss/components.scss +0 -31
  192. /package/scss/{components → design-system-bordered/organisms}/form.scss +0 -0
@@ -0,0 +1,427 @@
1
+ // Rolster Technology Datatable Component
2
+ // v2.6.11
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 27/Abr/2026
7
+
8
+ @mixin datatable_cell_vars() {
9
+ --rlc-field-box-body-background: transparent;
10
+ --rlc-field-box-body-background-focused: transparent;
11
+ --rlc-field-box-body-background-disabled: transparent;
12
+ --rlc-field-box-body-padding: 0rem;
13
+ --rlc-field-box-body-border: none;
14
+ --rlc-field-box-body-border-focused: none;
15
+ --rlc-field-box-body-border-error: none;
16
+ --rlc-field-box-body-border-disabled: none;
17
+ --rlc-field-box-body-shadow: none;
18
+ --rlc-field-box-body-shadow-error: none;
19
+ --rlc-field-box-action-background: transparent;
20
+
21
+ --rlc-field-list-control-font-size: var(--pvt-datatable-font-size);
22
+ --rlc-field-list-control-font-weight: var(--rls-font-weight-medium);
23
+ --rlc-field-list-control-letter-spacing: var(--rls-body-letter-spacing);
24
+ --rlc-field-list-element-padding: var(--rls-sizing-x4);
25
+ --rlc-field-list-suggestions-bottom: var(--rls-sizing-x24);
26
+ --rlc-field-list-suggestions-top: var(--rls-sizing-x24);
27
+
28
+ --rlc-poster-font-size: var(--pvt-datatable-font-size);
29
+ --rlc-poster-width: calc(100% - var(--rls-sizing-x2));
30
+ --rlc-poster-height: var(--rls-sizing-x8);
31
+ --rlc-poster-padding: var(--rls-sizing-x2);
32
+ }
33
+
34
+ @mixin datatable_cell_control() {
35
+ --rlc-action-ripple-dimension: var(--rls-sizing-x16);
36
+ --rlc-action-ripple-position: -8rem;
37
+
38
+ --rlc-avatar-radius: var(--rls-sizing-x3);
39
+ --rlc-avatar-width: var(--rls-sizing-x16);
40
+ --rlc-avatar-height: var(--rls-sizing-x16);
41
+ --rlc-avatar-font-size: var(--pvt-datatable-font-size);
42
+
43
+ --rlc-image-width: var(--rls-sizing-x12);
44
+ --rlc-image-height: var(--rls-sizing-x12);
45
+
46
+ --rlc-switch-max-width: var(--rls-sizing-x16);
47
+ --rlc-switch-component-height: var(--rls-sizing-x8);
48
+ --rlc-switch-element-width: var(--rls-sizing-x6);
49
+ --rlc-switch-element-height: var(--rls-sizing-x4);
50
+ --rlc-switch-element-radius: var(--rls-sizing-x4);
51
+
52
+ display: flex;
53
+ justify-content: center;
54
+ align-items: center;
55
+ width: var(--rls-sizing-x24);
56
+ padding: 0rem;
57
+
58
+ & > img {
59
+ width: var(--rls-sizing-x12);
60
+ }
61
+ }
62
+
63
+ @mixin datatable_cell_styles() {
64
+ &--contained {
65
+ overflow: hidden;
66
+ }
67
+
68
+ &--control {
69
+ @include datatable_cell_control();
70
+ }
71
+
72
+ & > span {
73
+ display: block;
74
+ white-space: nowrap;
75
+ text-overflow: ellipsis;
76
+ overflow: hidden;
77
+ }
78
+
79
+ .rls-field-list {
80
+ --rlc-field-box-body-padding: var(--rls-sizing-x4) 0rem;
81
+ --rlc-field-box-action-dimension: var(--rls-sizing-x10);
82
+ }
83
+
84
+ .rls-poster {
85
+ overflow: hidden;
86
+ text-overflow: ellipsis;
87
+ white-space: nowrap;
88
+ }
89
+
90
+ & > a {
91
+ &:hover {
92
+ color: var(--rls-app-color-700);
93
+ text-decoration: underline;
94
+ }
95
+ }
96
+ }
97
+
98
+ .rls-datatable {
99
+ --pvt-datatable-font-size: var(
100
+ --rlc-datatable-font-size,
101
+ var(--rls-label-font-size)
102
+ );
103
+
104
+ --pvt-datatable-letter-spacing: var(
105
+ --rlc-datatable-letter-spacing,
106
+ var(--rls-label-letter-spacing)
107
+ );
108
+
109
+ --pvt-datatable-font-color: var(
110
+ --rlc-datatable-font-color,
111
+ var(--rls-app-color-900)
112
+ );
113
+
114
+ --pvt-datatable-padding-component: 0rem;
115
+ --pvt-datatable-padding-scroll: var(--rlc-datatable-padding-scroll, 0rem);
116
+
117
+ --pvt-datatable-table-overflow: initial;
118
+ --pvt-datatable-body-overflow: initial;
119
+
120
+ --pvt-datatable-border-radius: var(
121
+ --rlc-datatable-border-radius,
122
+ var(--rls-sizing-x6)
123
+ );
124
+
125
+ --pvt-datatable-header-padding-right: var(--pvt-datatable-padding-scroll);
126
+ --pvt-datatable-header-background: var(
127
+ --rlc-datatable-header-background,
128
+ var(--rls-app-color-200)
129
+ );
130
+
131
+ --pvt-datatable-row-background: var(
132
+ --rlc-datatable-row-background,
133
+ var(--rls-app-color-050)
134
+ );
135
+
136
+ --pvt-datatable-summary-background: var(
137
+ --rlc-datatable-summary-background,
138
+ var(--rls-app-color-200)
139
+ );
140
+
141
+ --pvt-datatable-footer-background: var(
142
+ --rlc-datatable-footer-background,
143
+ var(--rls-app-color-200)
144
+ );
145
+
146
+ --pvt-datatable-floating-background: var(--rls-app-color-200);
147
+
148
+ --rlc-amount-font-size: var(--pvt-datatable-font-size);
149
+ --rlc-amount-width: 100%;
150
+
151
+ --rlc-badge-padding: 0.5rem var(--rls-sizing-x2);
152
+
153
+ --rlc-ballot-padding: 0rem;
154
+ --rlc-ballot-component-row-gap: var(--rls-sizing-x1);
155
+ --rlc-ballot-title-letter-spacing: var(--rls-smalltext-letter-spacing);
156
+ --rlc-ballot-title-font-size: var(--rls-smalltext-font-size);
157
+ --rlc-ballot-title-line-height: var(--rls-smalltext-line-height);
158
+ --rlc-ballot-subtitle-letter-spacing: var(--rls-overline-letter-spacing);
159
+ --rlc-ballot-subtitle-font-size: var(--rls-overline-font-size);
160
+ --rlc-ballot-subtitle-line-height: var(--rls-overline-line-height);
161
+
162
+ --rlc-field-box-body-background: transparent;
163
+ --rlc-field-box-padding: 0rem;
164
+ --rlc-field-box-width: 100%;
165
+ --rlc-field-box-error-display: none;
166
+ --rlc-field-box-label-display: none;
167
+
168
+ --rlc-input-font-size: var(--pvt-datatable-font-size);
169
+ --rlc-input-letter-spacing: var(--pvt-datatable-letter-spacing);
170
+
171
+ --rlc-skeleton-text-column-gap: var(--rls-sizing-x2);
172
+
173
+ position: relative;
174
+ display: flex;
175
+ width: 100%;
176
+ height: var(--rlc-datatable-height, auto);
177
+ flex-direction: column;
178
+ row-gap: var(--rls-sizing-x6);
179
+ border-radius: var(--rls-sizing-x4);
180
+ box-sizing: border-box;
181
+
182
+ &--resizable {
183
+ --pvt-datatable-table-overflow: hidden;
184
+ --pvt-datatable-body-overflow: auto;
185
+
186
+ height: 100%;
187
+ }
188
+
189
+ &--scrolleable {
190
+ --pvt-datatable-padding-scroll: var(--rls-sizing-x4);
191
+
192
+ --pvt-datatable-header-padding-right: calc(
193
+ var(--pvt-datatable-padding-scroll) +
194
+ var(--rlc-datatable-width-scroll, var(--rls-sizing-x4))
195
+ );
196
+
197
+ --pvt-datatable-padding-component: 0rem
198
+ calc(var(--pvt-datatable-padding-scroll) + 5rem) 0rem 0rem;
199
+ }
200
+
201
+ &__toolbar {
202
+ display: flex;
203
+ flex: 0 0 auto;
204
+ column-gap: var(--rls-sizing-x6);
205
+ padding: var(--pvt-datatable-padding-component);
206
+ box-sizing: border-box;
207
+ background: var(--pvt-datatable-header-background);
208
+ border-radius: var(--pvt-datatable-border-radius);
209
+ }
210
+
211
+ &__table {
212
+ display: flex;
213
+ flex: 0 1 auto;
214
+ overflow: var(--pvt-datatable-table-overflow);
215
+
216
+ & > table {
217
+ display: flex;
218
+ width: 100%;
219
+ flex-direction: column;
220
+ row-gap: var(--rls-sizing-x4);
221
+ border-spacing: 0;
222
+ border-collapse: collapse;
223
+ }
224
+ }
225
+
226
+ &__head {
227
+ flex: 0 0 auto;
228
+ width: 100%;
229
+ padding-right: var(--pvt-datatable-header-padding-right);
230
+ box-sizing: border-box;
231
+ }
232
+
233
+ &__header {
234
+ display: flex;
235
+ column-gap: var(--rls-sizing-x6);
236
+ padding: 0rem var(--rls-sizing-x6);
237
+ box-sizing: border-box;
238
+ background: var(--pvt-datatable-header-background);
239
+ border-radius: var(--pvt-datatable-border-radius);
240
+ }
241
+
242
+ &__title {
243
+ @include datatable_cell_vars();
244
+
245
+ position: relative;
246
+ display: flex;
247
+ min-height: var(--rls-sizing-x20);
248
+ align-items: var(--rlc-datatable-align-items, center);
249
+ justify-content: var(--rlc-datatable-justify-content, flex-start);
250
+ text-align: left;
251
+ white-space: nowrap;
252
+ padding: var(--rls-sizing-x2) 0rem;
253
+ font-size: var(--pvt-datatable-font-size);
254
+ font-weight: var(
255
+ --rlc-datatable-header-font-weight,
256
+ var(--rls-font-weight-semibold)
257
+ );
258
+ letter-spacing: var(--pvt-datatable-letter-spacing);
259
+
260
+ @include datatable_cell_styles();
261
+
262
+ & > * {
263
+ color: var(--rls-app-color-700);
264
+ }
265
+ }
266
+
267
+ &__body {
268
+ display: flex;
269
+ flex: 1 1 auto;
270
+ flex-direction: column;
271
+ row-gap: var(--rls-sizing-x6);
272
+ padding-right: var(--pvt-datatable-padding-scroll);
273
+ box-sizing: border-box;
274
+ overflow-y: var(--pvt-datatable-body-overflow);
275
+ }
276
+
277
+ &__subheader,
278
+ &__record,
279
+ &__totals {
280
+ position: relative;
281
+ display: flex;
282
+ column-gap: var(--rls-sizing-x6);
283
+ padding: 0rem var(--rls-sizing-x6);
284
+ box-sizing: border-box;
285
+ background: var(--pvt-datatable-row-background);
286
+ border-radius: var(--pvt-datatable-border-radius);
287
+
288
+ &--contained {
289
+ overflow: hidden;
290
+ }
291
+
292
+ &--success {
293
+ --pvt-datatable-floating-background: var(--rls-success-color-200);
294
+
295
+ background: var(--rls-success-color-100);
296
+ }
297
+
298
+ &--info {
299
+ --pvt-datatable-floating-background: var(--rls-info-color-200);
300
+
301
+ background: var(--rls-info-color-100);
302
+ }
303
+
304
+ &--warning {
305
+ --pvt-datatable-floating-background: var(--rls-warning-color-200);
306
+
307
+ background: var(--rls-warning-color-100);
308
+ }
309
+
310
+ &--error {
311
+ --pvt-datatable-floating-background: var(--rls-danger-color-200);
312
+
313
+ background: var(--rls-danger-color-100);
314
+ }
315
+ }
316
+
317
+ &__subheader {
318
+ --pvt-data-font-color: var(--rls-app-color-700);
319
+ --pvt-data-font-weight: var(--rls-font-weight-semibold);
320
+
321
+ position: sticky;
322
+ top: 0px;
323
+ z-index: var(--rls-z-index-4);
324
+ background: var(--pvt-datatable-header-background);
325
+ }
326
+
327
+ &__cell,
328
+ &__data {
329
+ @include datatable_cell_vars();
330
+
331
+ position: relative;
332
+ display: flex;
333
+ min-height: var(--rls-sizing-x20);
334
+ align-items: var(--rlc-datatable-align-items, center);
335
+ justify-content: var(--rlc-datatable-justify-content, flex-start);
336
+ cursor: default;
337
+ text-align: left;
338
+ padding: var(--rls-sizing-x2) 0rem;
339
+ font-size: var(--pvt-datatable-font-size);
340
+ font-weight: var(
341
+ --rlc-datatable-cell-font-weight,
342
+ var(--rls-font-weight-regular)
343
+ );
344
+ letter-spacing: var(--pvt-datatable-letter-spacing);
345
+
346
+ @include datatable_cell_styles();
347
+ }
348
+
349
+ &__cell {
350
+ color: var(--pvt-datatable-font-color);
351
+ font-weight: var(--rls-font-weight-regular);
352
+ }
353
+
354
+ &__data {
355
+ color: var(--pvt-data-font-color, var(--pvt-datatable-font-color));
356
+ font-weight: var(--pvt-data-font-weight, var(--rls-font-weight-regular));
357
+ }
358
+
359
+ &__floating {
360
+ --pvt-action-tooltip-left: 0;
361
+ --pvt-action-tooltip-right: initial;
362
+ --pvt-action-tooltip-transform: translate(
363
+ calc(-100% - var(--rls-sizing-x4))
364
+ );
365
+
366
+ position: absolute;
367
+ display: flex;
368
+ left: initial;
369
+ right: 0;
370
+ height: 100%;
371
+ column-gap: 4rem;
372
+ align-items: center;
373
+ z-index: var(--rls-z-index-2);
374
+ padding: 0rem var(--rls-sizing-x6);
375
+ background: var(--pvt-datatable-floating-background);
376
+ border-right: none;
377
+ transform: translateX(calc(100% - var(--rls-sizing-x4)));
378
+ transition: transform 240ms var(--rls-standard-curve);
379
+
380
+ &:hover {
381
+ transform: translateX(0);
382
+ }
383
+
384
+ &--invested {
385
+ --pvt-action-tooltip-left: initial;
386
+ --pvt-action-tooltip-right: 0;
387
+ --pvt-action-tooltip-transform: translate(
388
+ calc(100% + var(--rls-sizing-x4))
389
+ );
390
+
391
+ right: initial;
392
+ left: 0;
393
+ transform: translateX(calc(-100% + var(--rls-sizing-x4)));
394
+ }
395
+
396
+ &[rls-theme] {
397
+ background: var(--rls-theme-color-050);
398
+ }
399
+
400
+ .rls-button-action__tooltip {
401
+ top: 0;
402
+ left: var(--pvt-action-tooltip-left);
403
+ right: var(--pvt-action-tooltip-right);
404
+ transform: var(--pvt-action-tooltip-transform);
405
+ z-index: var(--rls-z-index-2);
406
+ }
407
+ }
408
+
409
+ &__summary {
410
+ --pvt-datatable-row-background: var(--pvt-datatable-summary-background);
411
+
412
+ flex: 0 0 auto;
413
+ padding-right: var(--pvt-datatable-header-padding-right);
414
+ box-sizing: border-box;
415
+ }
416
+
417
+ &__footer {
418
+ --pvt-datatable-row-background: var(--pvt-datatable-footer-background);
419
+
420
+ position: relative;
421
+ flex: 0 0 auto;
422
+ width: 100%;
423
+ overflow: hidden;
424
+ padding: var(--pvt-datatable-padding-component);
425
+ box-sizing: border-box;
426
+ }
427
+ }
@@ -0,0 +1,44 @@
1
+ // Rolster Technology Dropdown Component
2
+ // v1.0.2
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 28/Abr/2026
7
+
8
+ .rls-dropdown {
9
+ --pvt-content-opacity: 0;
10
+ --pvt-content-transform: scale(0, 0);
11
+
12
+ position: var(--rlc-dropdown-position, absolute);
13
+ display: block;
14
+ opacity: 0;
15
+ width: auto;
16
+ z-index: -16;
17
+ pointer-events: none;
18
+ transition: opacity 240ms 0ms var(--rls-standard-curve);
19
+
20
+ &--visible {
21
+ --pvt-content-opacity: 1;
22
+ --pvt-content-transform: scale(1, 1);
23
+
24
+ opacity: 1;
25
+ pointer-events: initial;
26
+ z-index: var(--rlc-dropdown-z-index, var(--rls-z-index-4));
27
+ }
28
+
29
+ &__content {
30
+ display: block;
31
+ width: auto;
32
+ max-width: var(--rlc-dropdown-max-width, 150rem);
33
+ border-radius: var(--rlc-dropdown-radius, var(--rls-sizing-x6));
34
+ padding: var(--rlc-dropdown-padding, var(--rls-sizing-x6));
35
+ box-sizing: border-box;
36
+ background: var(--rlc-dropdown-background, var(--rls-app-color-050));
37
+ box-shadow: var(--rls-app-shadow-center-4);
38
+ opacity: var(--pvt-content-opacity);
39
+ transform: var(--pvt-content-transform);
40
+ transition:
41
+ transform 240ms 0ms var(--rls-standard-curve),
42
+ opacity 240ms 0ms var(--rls-standard-curve);
43
+ }
44
+ }
@@ -0,0 +1,79 @@
1
+ // Rolster Technology FieldAutocomplete Component
2
+ // v1.0.7
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-field-autocomplete {
9
+ --pvt-control-width: 100%;
10
+ --pvt-control-opacity: 1;
11
+
12
+ &.rls-field-box--selected {
13
+ --pvt-control-width: calc(100% - var(--pvt-action-dimension));
14
+ }
15
+
16
+ &.rls-field-box--disabled {
17
+ --pvt-control-opacity: 0.5;
18
+ }
19
+
20
+ .rls-field-list__ul {
21
+ &__search {
22
+ display: flex;
23
+ align-items: center;
24
+ width: 100%;
25
+ margin-top: var(--rls-sizing-x2);
26
+ margin-bottom: var(--rls-sizing-x6);
27
+ background: var(--rls-app-color-100);
28
+ border-radius: var(--rls-sizing-x4);
29
+ padding: var(--rls-sizing-x4);
30
+ box-sizing: border-box;
31
+
32
+ button {
33
+ color: var(--rls-app-color-600);
34
+ background: transparent;
35
+
36
+ &:not(:disabled):hover {
37
+ color: var(--rls-theme-color-300);
38
+ }
39
+
40
+ &:disabled {
41
+ opacity: 0.5;
42
+ }
43
+ }
44
+ }
45
+
46
+ &__control {
47
+ width: 100%;
48
+ height: var(--rls-sizing-x12);
49
+ line-height: var(--rls-sizing-x12);
50
+ padding: 0rem;
51
+ cursor: text;
52
+ border: none;
53
+ outline: none;
54
+ background: transparent;
55
+ color: var(--rls-app-color-900);
56
+ font-size: var(--rls-input-font-size);
57
+ font-weight: var(--rls-font-weight-medium);
58
+ letter-spacing: var(--rls-input-letter-spacing);
59
+
60
+ &::placeholder {
61
+ color: var(--rls-app-color-400);
62
+ }
63
+
64
+ &::selection {
65
+ background: var(--rls-theme-color-700);
66
+ color: var(--rls-app-color-050);
67
+ }
68
+
69
+ &:disabled {
70
+ opacity: 0.5;
71
+ pointer-events: none;
72
+ }
73
+ }
74
+
75
+ .rls-progress-bar {
76
+ margin-bottom: var(--rls-sizing-x8);
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,62 @@
1
+ // Rolster Technology FieldClock Component
2
+ // v1.1.0
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-field-clock {
9
+ --rlc-field-box-body-padding: var(--rls-sizing-x3) var(--rls-sizing-x4);
10
+
11
+ --pvt-font-size: var(--rlc-field-clock-font-size, var(--rls-input-font-size));
12
+
13
+ --pvt-letter-spacing: var(
14
+ --rlc-field-clock-letter-spacing,
15
+ var(--rls-input-letter-spacing)
16
+ );
17
+
18
+ position: relative;
19
+ width: 100%;
20
+ box-sizing: border-box;
21
+
22
+ .rls-field-box--readonly {
23
+ --pvt-control-width: 100%;
24
+ }
25
+
26
+ .rls-field-box__body {
27
+ column-gap: var(--rls-sizing-x2);
28
+ }
29
+
30
+ &__control {
31
+ position: relative;
32
+ width: 100%;
33
+ height: var(--rls-sizing-x12);
34
+ line-height: var(--rls-sizing-x12);
35
+ padding: 0rem;
36
+ cursor: default;
37
+ border: none;
38
+ outline: none;
39
+ background: transparent;
40
+ color: var(--rls-app-color-900);
41
+ font-weight: var(--rls-font-weight-medium);
42
+ font-size: var(--pvt-font-size);
43
+ letter-spacing: var(--pvt-letter-spacing);
44
+
45
+ &::placeholder {
46
+ color: var(--rls-app-color-400);
47
+ }
48
+
49
+ &:disabled {
50
+ opacity: 0.5;
51
+ cursor: not-allowed;
52
+ }
53
+ }
54
+ }
55
+
56
+ .rls-field-clock-modal {
57
+ --rlc-modal-background: transparent;
58
+ --rlc-modal-max-width: 150rem;
59
+ --rlc-picker-clock-radius: var(--rls-sizing-x6);
60
+ --rlc-picker-clock-background: var(--rls-app-color-050);
61
+ --rlc-picker-clock-padding: var(--rls-sizing-x4) 0rem;
62
+ }
@@ -0,0 +1,60 @@
1
+ // Rolster Technology FieldDateRange Component
2
+ // v1.1.8
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-field-date-range {
9
+ --rlc-field-box-body-padding: var(--rls-sizing-x3) var(--rls-sizing-x4);
10
+
11
+ --pvt-font-size: var(
12
+ --rlc-field-date-range-font-size,
13
+ var(--rls-input-font-size)
14
+ );
15
+
16
+ --pvt-letter-spacing: var(
17
+ --rlc-field-date-range-letter-spacing,
18
+ var(--rls-input-letter-spacing)
19
+ );
20
+
21
+ position: relative;
22
+ width: 100%;
23
+ box-sizing: border-box;
24
+
25
+ .rls-field-box--readonly {
26
+ --pvt-control-width: 100%;
27
+ }
28
+
29
+ &__control {
30
+ position: relative;
31
+ width: 100%;
32
+ height: var(--rls-sizing-x12);
33
+ line-height: var(--rls-sizing-x12);
34
+ padding: 0rem;
35
+ cursor: default;
36
+ border: none;
37
+ outline: none;
38
+ background: transparent;
39
+ color: var(--rls-app-color-900);
40
+ font-weight: var(--rls-font-weight-medium);
41
+ font-size: var(--pvt-font-size);
42
+ letter-spacing: var(--pvt-letter-spacing);
43
+
44
+ &::placeholder {
45
+ color: var(--rls-app-color-400);
46
+ }
47
+
48
+ &:disabled {
49
+ opacity: 0.5;
50
+ cursor: not-allowed;
51
+ }
52
+ }
53
+ }
54
+
55
+ .rls-field-date-range-modal {
56
+ --rlc-modal-background: transparent;
57
+ --rlc-modal-max-width: 150rem;
58
+ --rlc-picker-date-range-radius: var(--rls-sizing-x6);
59
+ --rlc-picker-date-range-background: var(--rls-app-color-050);
60
+ }