@rolster/styles-foundations 2.7.3 → 3.0.0

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 +4883 -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 +4798 -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 +13 -11
  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 +435 -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,61 @@
1
+ // Rolster Technology FieldDate 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 {
9
+ --rlc-field-box-body-padding: var(--rls-sizing-x3) var(--rls-sizing-x4);
10
+
11
+ --pvt-font-size: var(--rlc-field-date-font-size, var(--rls-input-font-size));
12
+
13
+ --pvt-letter-spacing: var(
14
+ --rlc-field-date-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-date-modal {
57
+ --rlc-modal-background: transparent;
58
+ --rlc-modal-max-width: 150rem;
59
+ --rlc-picker-date-radius: var(--rls-sizing-x6);
60
+ --rlc-picker-date-background: var(--rls-app-color-050);
61
+ }
@@ -0,0 +1,18 @@
1
+ // Rolster Technology FieldSelect Component
2
+ // v1.0.6
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-field-select {
9
+ --rlc-field-list-control-cursor: pointer;
10
+
11
+ .rls-field-list__action {
12
+ transition: transform 160ms 0ms var(--rls-sharp-curve);
13
+
14
+ &--visible {
15
+ transform: rotate(180deg);
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,46 @@
1
+ // Rolster Technology FormNavigation Component
2
+ // v1.1.3
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-form-navigation {
9
+ --rlc-field-box-body-background: var(
10
+ --rlc-form-navigation-field-box-background,
11
+ var(--rls-app-color-050)
12
+ );
13
+
14
+ --pvt-component-transition: 160ms;
15
+
16
+ position: fixed;
17
+ display: flex;
18
+ top: 0rem;
19
+ right: 0rem;
20
+ width: calc(100% - var(--rls-sizing-x16));
21
+ max-width: var(--rlc-form-navigation-max-width, 160rem);
22
+ height: 100%;
23
+ justify-content: flex-end;
24
+ visibility: hidden;
25
+ transform: translateX(100%);
26
+ transition: opacity var(--pvt-component-transition) 0ms
27
+ var(--rls-deceleration-curve),
28
+ transform var(--pvt-component-transition) 0ms var(--rls-deceleration-curve),
29
+ visibility var(--pvt-component-transition) 0ms var(--rls-deceleration-curve);
30
+ z-index: var(--rls-z-index-16);
31
+
32
+ &--visible {
33
+ visibility: visible;
34
+ transform: translateX(0%);
35
+ }
36
+
37
+ &__component {
38
+ position: absolute;
39
+ display: flex;
40
+ width: 100%;
41
+ height: 100%;
42
+ flex-direction: column;
43
+ background: var(--rlc-form-navigation-background, var(--rls-app-color-100));
44
+ border-left: var(--rlc-form-navigation-border, var(--rls-app-border-1-200));
45
+ }
46
+ }
@@ -0,0 +1,27 @@
1
+ // Rolster Technology Form Component
2
+ // v2.1.0
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-form {
9
+ display: flex;
10
+ flex-direction: column;
11
+ row-gap: var(--rls-sizing-x8);
12
+
13
+ &__content {
14
+ position: relative;
15
+ padding: 0rem var(--rls-sizing-x8);
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ &__footer {
20
+ position: relative;
21
+ display: flex;
22
+ justify-content: var(--rlc-form-footer-justify-content, end);
23
+ column-gap: var(--rls-sizing-x8);
24
+ padding: 0rem var(--rls-sizing-x8);
25
+ box-sizing: border-box;
26
+ }
27
+ }
@@ -0,0 +1,50 @@
1
+ // Rolster Technology ImageChooser Component
2
+ // v2.0.3
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-image-chooser {
9
+ position: relative;
10
+ width: var(--rlc-image-chooser-width, 48rem);
11
+ height: var(--rlc-image-chooser-height, 48rem);
12
+ border-radius: var(--rlc-image-chooser-radius, 50%);
13
+ overflow: hidden;
14
+
15
+ &__avatar {
16
+ display: flex;
17
+ width: 100%;
18
+ height: 100%;
19
+ justify-content: center;
20
+ align-items: center;
21
+ background: var(--rls-theme-color-600);
22
+
23
+ img {
24
+ width: 100%;
25
+ }
26
+ }
27
+
28
+ & > input[type='file'] {
29
+ position: absolute;
30
+ z-index: -1;
31
+ visibility: hidden;
32
+ }
33
+
34
+ &__modal {
35
+ --rlc-image-editor-footer-padding: 0rem var(--rls-sizing-x12)
36
+ var(--rls-sizing-x12) var(--rls-sizing-x12);
37
+
38
+ --rlc-modal-max-width: calc(250rem - var(--rls-sizing-x16));
39
+ width: 100%;
40
+ }
41
+ }
42
+
43
+ @media only screen and (max-width: 480px) {
44
+ .rls-image-chooser__modal {
45
+ --rlc-image-editor-footer-padding: 0rem var(--rls-sizing-x8)
46
+ var(--rls-sizing-x8) var(--rls-sizing-x8);
47
+
48
+ --rlc-modal-max-width: 160rem;
49
+ }
50
+ }
@@ -0,0 +1,23 @@
1
+ // Rolster Technology ImageEditorModal Component
2
+ // v1.0.0
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-image-editor-modal {
9
+ --rlc-image-editor-footer-padding: 0rem var(--rls-sizing-x12)
10
+ var(--rls-sizing-x12) var(--rls-sizing-x12);
11
+
12
+ --rlc-modal-max-width: calc(250rem - var(--rls-sizing-x16));
13
+ width: 100%;
14
+ }
15
+
16
+ @media only screen and (max-width: 480px) {
17
+ .rls-image-editor-modal {
18
+ --rlc-image-editor-footer-padding: 0rem var(--rls-sizing-x8)
19
+ var(--rls-sizing-x8) var(--rls-sizing-x8);
20
+
21
+ --rlc-modal-max-width: 160rem;
22
+ }
23
+ }
@@ -0,0 +1,118 @@
1
+ // Rolster Technology ImageEditor Component
2
+ // v1.0.1
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-image-editor {
9
+ --pvt-overlay-background: var(--rls-theme-backdrop-900);
10
+ --pvt-sliders-padding: 0rem var(--rls-sizing-x8);
11
+ --pvt-actions-direction: row;
12
+ --pvt-actions-row-gap: 0rem;
13
+ --pvt-actions-column-gap: var(--rls-sizing-x8);
14
+
15
+ position: relative;
16
+ display: flex;
17
+ height: 100%;
18
+ flex-direction: column;
19
+ row-gap: var(--rls-sizing-x12);
20
+
21
+ &__body {
22
+ position: relative;
23
+ display: flex;
24
+ height: 100%;
25
+ justify-content: center;
26
+ background: var(--rls-app-color-900);
27
+
28
+ &__image {
29
+ overflow: hidden;
30
+ }
31
+
32
+ &__selection {
33
+ position: absolute;
34
+ cursor: move;
35
+ box-sizing: border-box;
36
+ z-index: var(--rls-z-index-4);
37
+ border: var(
38
+ --rlc-image-editor-selection-border,
39
+ 2px dashed var(--rls-app-color-050)
40
+ );
41
+ user-select: none;
42
+ }
43
+
44
+ &__overlay--top {
45
+ position: absolute;
46
+ top: 0rem;
47
+ z-index: var(--rls-z-index-2);
48
+ background: var(--pvt-overlay-background);
49
+ }
50
+
51
+ &__overlay--right {
52
+ position: absolute;
53
+ right: 0rem;
54
+ height: 100%;
55
+ z-index: var(--rls-z-index-2);
56
+ background: var(--pvt-overlay-background);
57
+ }
58
+
59
+ &__overlay--bottom {
60
+ position: absolute;
61
+ bottom: 0rem;
62
+ z-index: var(--rls-z-index-2);
63
+ background: var(--pvt-overlay-background);
64
+ }
65
+
66
+ &__overlay--left {
67
+ position: absolute;
68
+ right: 0rem;
69
+ height: 100%;
70
+ z-index: var(--rls-z-index-2);
71
+ background: var(--pvt-overlay-background);
72
+ }
73
+ }
74
+
75
+ &__footer {
76
+ display: flex;
77
+ flex-direction: column;
78
+ row-gap: var(--rls-sizing-x12);
79
+ padding: var(--rlc-image-editor-footer-padding, 0rem);
80
+ box-sizing: border-box;
81
+ }
82
+
83
+ &__sliders {
84
+ display: flex;
85
+ flex-direction: column;
86
+ row-gap: var(--rls-sizing-x6);
87
+ padding: var(--pvt-sliders-padding);
88
+ box-sizing: border-box;
89
+ }
90
+
91
+ &__actions {
92
+ display: flex;
93
+ flex-direction: var(--pvt-actions-direction);
94
+ justify-content: center;
95
+ row-gap: var(--pvt-actions-row-gap);
96
+ column-gap: var(--pvt-actions-column-gap);
97
+ }
98
+
99
+ & > canvas {
100
+ position: absolute;
101
+ top: 0rem;
102
+ left: 0rem;
103
+ z-index: -1;
104
+ visibility: hidden;
105
+ pointer-events: none;
106
+ }
107
+ }
108
+
109
+ @media only screen and (max-width: 420px) {
110
+ .rls-image-editor {
111
+ --pvt-sliders-padding: 0rem;
112
+ --pvt-actions-direction: column;
113
+ --pvt-actions-row-gap: var(--rls-sizing-x6);
114
+ --pvt-actions-column-gap: 0rem;
115
+
116
+ row-gap: var(--rls-sizing-x8);
117
+ }
118
+ }
@@ -0,0 +1,138 @@
1
+ // Rolster Technology ModalSheet Component
2
+ // v1.0.2
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-modal-sheet {
9
+ --pvt-component-transform: translateY(150px) scale(0.6);
10
+ --pvt-component-bottom: initial;
11
+ --pvt-component-max-width: var(
12
+ --rlc-modal-sheet-max-width,
13
+ calc(100% - var(--rls-sizing-x8))
14
+ );
15
+ --pvt-component-height: 0rem;
16
+ --pvt-component-max-height: calc(100% - var(--rls-sizing-x12));
17
+ --pvt-component-border-radius: var(
18
+ --rlc-modal-sheet-border-radius,
19
+ var(--rls-sizing-x4)
20
+ );
21
+ --pvt-component-opacity: 0;
22
+ --pvt-component-visibility: hidden;
23
+ --pvt-component-transition: 160ms;
24
+
25
+ --pvt-backdrop-opacity: 0;
26
+ --pvt-backdrop-bottom: initial;
27
+
28
+ position: fixed;
29
+ display: flex;
30
+ top: 0rem;
31
+ left: 0rem;
32
+ width: 100%;
33
+ height: 100%;
34
+ z-index: var(--rls-z-index-24);
35
+ visibility: hidden;
36
+ align-items: center;
37
+ justify-content: center;
38
+
39
+ &--visible {
40
+ --pvt-component-visibility: visible;
41
+ --pvt-component-height: auto;
42
+ --pvt-component-opacity: 1;
43
+ --pvt-component-transform: translateY(0) scale(1);
44
+ --pvt-backdrop-bottom: 0rem;
45
+ --pvt-backdrop-opacity: 1;
46
+
47
+ visibility: visible;
48
+ }
49
+
50
+ &__component {
51
+ position: absolute;
52
+ display: flex;
53
+ bottom: var(--pvt-component-bottom);
54
+ max-width: var(--pvt-component-max-width);
55
+ height: var(--pvt-component-height);
56
+ max-height: var(--pvt-component-max-height);
57
+ flex-direction: column;
58
+ opacity: var(--pvt-component-opacity);
59
+ visibility: var(--pvt-component-visibility);
60
+ z-index: var(--rls-z-index-2);
61
+ border-radius: var(--pvt-component-border-radius);
62
+ background: var(--rlc-modal-sheet-background, var(--rls-app-color-050));
63
+ transform: var(--pvt-component-transform);
64
+ transition:
65
+ opacity var(--pvt-component-transition) 0ms var(--rls-deceleration-curve),
66
+ transform var(--pvt-component-transition) 0ms
67
+ var(--rls-deceleration-curve),
68
+ visibility var(--pvt-component-transition) 0ms
69
+ var(--rls-deceleration-curve);
70
+ }
71
+
72
+ &__backdrop {
73
+ position: absolute;
74
+ display: block;
75
+ top: 0rem;
76
+ left: 0rem;
77
+ right: 0rem;
78
+ bottom: var(--pvt-backdrop-bottom);
79
+ opacity: var(--pvt-backdrop-opacity);
80
+ z-index: var(--rls-z-index-1);
81
+ background: var(
82
+ --rlc-modal-sheet-backdrop-color,
83
+ var(--rls-theme-backdrop-400)
84
+ );
85
+ backdrop-filter: var(--rlc-modal-sheet-backdrop-filter, blur(2px));
86
+ transition:
87
+ opacity 120ms 0ms var(--rls-deceleration-curve),
88
+ bottom 120ms 0ms var(--rls-deceleration-curve);
89
+ }
90
+ }
91
+
92
+ @media screen and (max-width: 640px) {
93
+ .rls-modal-sheet {
94
+ --pvt-component-transform: translateY(100%);
95
+ --pvt-component-bottom: 0px;
96
+ --pvt-component-max-width: 240rem;
97
+ --pvt-component-max-height: 75%;
98
+ --pvt-component-border-radius: var(--rls-sizing-x4) var(--rls-sizing-x4)
99
+ 0rem 0rem;
100
+ --pvt-component-transition: 320ms;
101
+
102
+ align-items: initial;
103
+
104
+ &--visible {
105
+ --pvt-component-transform: translateY(0);
106
+ }
107
+
108
+ &__component {
109
+ &::before {
110
+ display: block;
111
+ content: '';
112
+ width: var(--rls-sizing-x24);
113
+ height: var(--rls-sizing-x2);
114
+ border-radius: var(--rls-sizing-x2);
115
+ background: var(--rls-app-color-300);
116
+ margin: var(--rls-sizing-x3) auto;
117
+ }
118
+ }
119
+ }
120
+ }
121
+
122
+ @media screen and (max-width: 640px) and (max-height: 960px) {
123
+ .rls-modal-sheet {
124
+ --pvt-component-max-height: calc(100% - 32rem);
125
+ }
126
+ }
127
+
128
+ @media screen and (max-width: 640px) and (max-height: 720px) {
129
+ .rls-modal-sheet {
130
+ --pvt-component-max-height: calc(100% - 24rem);
131
+ }
132
+ }
133
+
134
+ @media screen and (max-width: 640px) and (max-height: 560px) {
135
+ .rls-modal-sheet {
136
+ --pvt-component-max-height: calc(100% - 16rem);
137
+ }
138
+ }
@@ -0,0 +1,75 @@
1
+ // Rolster Technology Modal Component
2
+ // v1.2.5
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 23/Abr/2026
7
+
8
+ .rls-modal {
9
+ --pvt-component-transform: translateY(150px) scale(0.6);
10
+ --pvt-component-height: 0rem;
11
+ --pvt-component-opacity: 0;
12
+ --pvt-component-visibility: hidden;
13
+ --pvt-component-transition: 160ms;
14
+ --pvt-backdrop-opacity: 0;
15
+ --pvt-backdrop-bottom: initial;
16
+
17
+ position: fixed;
18
+ display: flex;
19
+ top: 0rem;
20
+ left: 0rem;
21
+ width: 100%;
22
+ height: 100%;
23
+ z-index: var(--rls-z-index-24);
24
+ visibility: hidden;
25
+ align-items: center;
26
+ justify-content: center;
27
+
28
+ &--visible {
29
+ --pvt-component-visibility: visible;
30
+ --pvt-component-height: auto;
31
+ --pvt-component-opacity: 1;
32
+ --pvt-component-transform: translateY(0) scale(1);
33
+ --pvt-backdrop-bottom: 0rem;
34
+ --pvt-backdrop-opacity: 1;
35
+
36
+ visibility: visible;
37
+ }
38
+
39
+ &__component {
40
+ position: absolute;
41
+ display: flex;
42
+ max-width: var(--rlc-modal-max-width, calc(100% - var(--rls-sizing-x8)));
43
+ height: var(--pvt-component-height);
44
+ max-height: calc(100% - var(--rls-sizing-x12));
45
+ flex-direction: column;
46
+ opacity: var(--pvt-component-opacity);
47
+ visibility: var(--pvt-component-visibility);
48
+ z-index: var(--rls-z-index-2);
49
+ border-radius: var(--rls-sizing-x4);
50
+ background: var(--rlc-modal-background, var(--rls-app-color-050));
51
+ transform: var(--pvt-component-transform);
52
+ transition:
53
+ opacity var(--pvt-component-transition) 0ms var(--rls-deceleration-curve),
54
+ transform var(--pvt-component-transition) 0ms
55
+ var(--rls-deceleration-curve),
56
+ visibility var(--pvt-component-transition) 0ms
57
+ var(--rls-deceleration-curve);
58
+ }
59
+
60
+ &__backdrop {
61
+ position: absolute;
62
+ display: block;
63
+ top: 0rem;
64
+ left: 0rem;
65
+ right: 0rem;
66
+ bottom: var(--pvt-backdrop-bottom);
67
+ opacity: var(--pvt-backdrop-opacity);
68
+ z-index: var(--rls-z-index-1);
69
+ background: var(--rlc-modal-backdrop-color, var(--rls-theme-backdrop-400));
70
+ backdrop-filter: var(--rlc-modal-backdrop-filter, blur(2px));
71
+ transition:
72
+ opacity 120ms 0ms var(--rls-deceleration-curve),
73
+ bottom 120ms 0ms var(--rls-deceleration-curve);
74
+ }
75
+ }
@@ -0,0 +1,144 @@
1
+ // Rolster Technology PickerClock Component
2
+ // v2.0.2
3
+ // @license MIT
4
+ // Author: Rolster Developers
5
+ // Created: 23/Abr/2026
6
+ // Updated: 04/May/2026
7
+
8
+ .rls-picker-clock {
9
+ position: relative;
10
+ display: flex;
11
+ width: 150rem;
12
+ flex-direction: column;
13
+ row-gap: var(--rls-sizing-x8);
14
+ overflow: hidden;
15
+ user-select: none;
16
+ padding: var(--rlc-picker-clock-padding, 0rem);
17
+ box-sizing: border-box;
18
+ border-radius: var(--rlc-picker-clock-radius, 0rem);
19
+ background: var(--rlc-picker-clock-background, transparent);
20
+
21
+ &__header {
22
+ display: flex;
23
+ column-gap: var(--rls-sizing-x8);
24
+ padding: var(--rls-sizing-x4) var(--rls-sizing-x4) 0rem var(--rls-sizing-x4);
25
+ box-sizing: border-box;
26
+ justify-content: center;
27
+ }
28
+
29
+ &__title {
30
+ display: flex;
31
+ width: auto;
32
+ column-gap: var(--rls-sizing-x2);
33
+ align-items: center;
34
+
35
+ &__value {
36
+ text-align: center;
37
+ font-size: var(--rls-heading4-font-size);
38
+ font-weight: var(--rls-font-weight-semibold);
39
+ color: var(--rls-app-color-600);
40
+
41
+ &--active {
42
+ color: var(--rls-theme-color-500);
43
+ }
44
+
45
+ &:hover {
46
+ color: var(--rls-app-color-900);
47
+ }
48
+ }
49
+
50
+ &__separator {
51
+ font-size: var(--rls-title-font-size);
52
+ font-weight: var(--rls-font-weight-semibold);
53
+ }
54
+ }
55
+
56
+ &__zone {
57
+ display: flex;
58
+ width: auto;
59
+ column-gap: var(--rls-sizing-x4);
60
+ align-items: center;
61
+
62
+ &__value {
63
+ width: 18rem;
64
+ text-align: center;
65
+ padding: var(--rls-sizing-x1) var(--rls-sizing-x2);
66
+ border-radius: var(--rls-sizing-x2);
67
+ font-size: var(--rls-body-font-size);
68
+ font-weight: var(--rls-font-weight-semibold);
69
+ background: var(--rls-app-color-200);
70
+
71
+ &--active {
72
+ background: var(--rls-theme-gradient-500);
73
+ color: var(--rls-theme-color-050);
74
+ }
75
+ }
76
+ }
77
+
78
+ &__body {
79
+ display: flex;
80
+ justify-content: center;
81
+ }
82
+
83
+ &__plate {
84
+ width: 120rem;
85
+ height: 120rem;
86
+ border-radius: 50%;
87
+ border: var(--rls-app-border-2-200);
88
+ box-sizing: border-box;
89
+ overflow: hidden;
90
+ }
91
+
92
+ &__canvas {
93
+ position: absolute;
94
+
95
+ &__line {
96
+ stroke: var(--rls-theme-color-500);
97
+ stroke-width: var(--rls-sizing-x1);
98
+ }
99
+
100
+ &__center {
101
+ fill: var(--rls-theme-color-500);
102
+ }
103
+
104
+ &__indicator {
105
+ fill: var(--rls-theme-color-300);
106
+ }
107
+
108
+ &__point {
109
+ fill: var(--rls-theme-color-050);
110
+ }
111
+ }
112
+
113
+ &__tick {
114
+ position: absolute;
115
+ width: var(--rls-sizing-x14);
116
+ height: var(--rls-sizing-x14);
117
+ line-height: var(--rls-sizing-x14);
118
+ text-align: center;
119
+ cursor: pointer;
120
+ font-size: var(--rls-paragraph-font-size);
121
+ font-weight: var(--rls-font-weight-semibold);
122
+ }
123
+
124
+ &__footer {
125
+ --rlc-button-width: 100%;
126
+ --rlc-button-content-padding: 0rem var(--rls-sizing-x3);
127
+ --rls-button-font-size: 6.75rem;
128
+
129
+ display: flex;
130
+ column-gap: var(--rls-sizing-x6);
131
+ align-items: center;
132
+ padding: var(--rls-sizing-x4) var(--rls-sizing-x8) var(--rls-sizing-x6)
133
+ var(--rls-sizing-x8);
134
+ overflow: hidden;
135
+ box-sizing: border-box;
136
+
137
+ &--today {
138
+ display: flex;
139
+ width: var(--rls-sizing-x16);
140
+ align-items: center;
141
+ justify-content: center;
142
+ }
143
+ }
144
+ }