platformscode-new-react 0.0.2 → 0.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 (71) hide show
  1. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-Bold.woff +0 -0
  2. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-Bold.woff2 +0 -0
  3. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-Medium.woff +0 -0
  4. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-Medium.woff2 +0 -0
  5. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-Regular.woff +0 -0
  6. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-Regular.woff2 +0 -0
  7. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-SemiBold.woff +0 -0
  8. package/dist/assets/fonts/IBM-Plex-Sans-Arabic/IBMPlexSansArabic-SemiBold.woff2 +0 -0
  9. package/dist/components.d.ts +12 -1
  10. package/dist/index.cjs.js +68346 -1161
  11. package/dist/index.js +69302 -1852
  12. package/dist/style.css +1 -0
  13. package/package.json +5 -3
  14. package/src/assets/styles/abstracts/_functions.scss +3 -0
  15. package/src/assets/styles/abstracts/_mixins.scss +60 -0
  16. package/src/assets/styles/abstracts/_variables.scss +46 -0
  17. package/src/assets/styles/abstracts/variables/_colors.scss +145 -0
  18. package/src/assets/styles/abstracts/variables/_radius.scss +19 -0
  19. package/src/assets/styles/abstracts/variables/_shadows.scss +9 -0
  20. package/src/assets/styles/abstracts/variables/_spacing.scss +35 -0
  21. package/src/assets/styles/abstracts/variables/_widths.scss +306 -0
  22. package/src/assets/styles/base/_animation.scss +0 -0
  23. package/src/assets/styles/base/_base.scss +29 -0
  24. package/src/assets/styles/base/_typography.scss +73 -0
  25. package/src/assets/styles/base/_utilities.scss +260 -0
  26. package/src/assets/styles/components/_accordions.scss +184 -0
  27. package/src/assets/styles/components/_avatar.scss +87 -0
  28. package/src/assets/styles/components/_breadcrumbs.scss +63 -0
  29. package/src/assets/styles/components/_btns.scss +815 -0
  30. package/src/assets/styles/components/_card.scss +91 -0
  31. package/src/assets/styles/components/_checkbox.scss +241 -0
  32. package/src/assets/styles/components/_content-switcher.scss +108 -0
  33. package/src/assets/styles/components/_data-table.scss +155 -0
  34. package/src/assets/styles/components/_date-picker.scss +257 -0
  35. package/src/assets/styles/components/_dropdown.scss +479 -0
  36. package/src/assets/styles/components/_featured-icons.scss +127 -0
  37. package/src/assets/styles/components/_file-upload.scss +164 -0
  38. package/src/assets/styles/components/_icons.scss +3 -0
  39. package/src/assets/styles/components/_inline-alert.scss +166 -0
  40. package/src/assets/styles/components/_input.scss +473 -0
  41. package/src/assets/styles/components/_links.scss +130 -0
  42. package/src/assets/styles/components/_list.scss +130 -0
  43. package/src/assets/styles/components/_loading.scss +135 -0
  44. package/src/assets/styles/components/_menu.scss +85 -0
  45. package/src/assets/styles/components/_modals.scss +108 -0
  46. package/src/assets/styles/components/_notification-toast.scss +177 -0
  47. package/src/assets/styles/components/_notifications.scss +139 -0
  48. package/src/assets/styles/components/_pagination.scss +79 -0
  49. package/src/assets/styles/components/_progress-indicator.scss +230 -0
  50. package/src/assets/styles/components/_radio.scss +183 -0
  51. package/src/assets/styles/components/_rating.scss +77 -0
  52. package/src/assets/styles/components/_shadows.scss +23 -0
  53. package/src/assets/styles/components/_structured-list.scss +95 -0
  54. package/src/assets/styles/components/_switch.scss +192 -0
  55. package/src/assets/styles/components/_tabs.scss +231 -0
  56. package/src/assets/styles/components/_tag.scss +191 -0
  57. package/src/assets/styles/components/_textarea.scss +294 -0
  58. package/src/assets/styles/components/_tooltip.scss +257 -0
  59. package/src/assets/styles/layout/_footer.scss +186 -0
  60. package/src/assets/styles/layout/_grid.scss +73 -0
  61. package/src/assets/styles/layout/_header.scss +0 -0
  62. package/src/assets/styles/layout/_layouts.scss +33 -0
  63. package/src/assets/styles/layout/_nav-header.scss +449 -0
  64. package/src/assets/styles/layout/_sidepanel.scss +340 -0
  65. package/src/assets/styles/layout/_table-of-content.scss +179 -0
  66. package/src/assets/styles/main.scss +54 -0
  67. package/src/assets/styles/themes/_dark.scss +416 -0
  68. package/src/assets/styles/themes/_light.scss +404 -0
  69. package/src/components.ts +45 -1
  70. package/src/index.ts +1 -0
  71. package/vite.config.ts +21 -1
@@ -0,0 +1,135 @@
1
+ $bar-width: 2px;
2
+
3
+ .loading {
4
+ display: flex;
5
+ justify-content: center;
6
+ align-items: center;
7
+
8
+ &__circle {
9
+ position: relative;
10
+ border: $bar-width solid var(--background-neutral-100);
11
+ border-top-color: var(--background-black);
12
+ mix-blend-mode: multiply;
13
+ border-radius: 50%;
14
+ width: 100%;
15
+ height: 100%;
16
+ animation: spin 0.5s linear infinite;
17
+ animation-delay: 1ms;
18
+
19
+ // &::before,
20
+ // &::after {
21
+ // content: '';
22
+ // position: absolute;
23
+ // top: 0;
24
+ // right: 1px;
25
+ // width: $bar-width;
26
+ // height: $bar-width;
27
+ // background-color: var(--colors-gray-neutral-800);
28
+ // border-radius: 100%;
29
+ // transform: translateY(0.7px) translateX(.4px) rotate(0deg);
30
+ // animation: spin-bar 30.5s linear 1ms infinite;
31
+ // }
32
+
33
+ // &::after {
34
+ // right: auto;
35
+ // left: 1px;
36
+ // transform: translateY(0.7px) translateX(.4px) rotate(0deg);
37
+ // }
38
+ }
39
+
40
+ // sizes
41
+ &--tiny {
42
+ width: 20px;
43
+ height: 20px;
44
+
45
+ // & .loading__circle {
46
+
47
+ // &::after,
48
+ // &::before {
49
+ // transform: translateY(0.7px) translateX(.4px) rotate(0deg);
50
+ // }
51
+
52
+ // &::after {
53
+ // transform: translateY(0.7px) translateX(-.4px) rotate(0deg);
54
+ // }
55
+ // }
56
+ }
57
+
58
+ &--xs {
59
+ width: 24px;
60
+ height: 24px;
61
+ }
62
+
63
+ &--sm {
64
+ width: 28px;
65
+ height: 28px;
66
+ }
67
+
68
+ &--md {
69
+ width: 32px;
70
+ height: 32px;
71
+ }
72
+
73
+ &--lg {
74
+ width: 36px;
75
+ height: 36px;
76
+ }
77
+
78
+ &--xl {
79
+ width: 40px;
80
+ height: 40px;
81
+ }
82
+
83
+ &--huge {
84
+ width: 44px;
85
+ height: 44px;
86
+ }
87
+
88
+ // Styles
89
+ &--neutral {
90
+ & .loading__circle {
91
+ border-color: var(--background-neutral-100);
92
+ border-top-color: var(--background-black);
93
+
94
+ &::after,
95
+ &::before {
96
+ background-color: var(--background-black);
97
+ }
98
+ }
99
+ }
100
+
101
+ &--brand {
102
+ & .loading__circle {
103
+ border-color: var(--background-neutral-100);
104
+ border-top-color: var(--background-primary);
105
+
106
+ &::after,
107
+ &::before {
108
+ background-color: var(--background-primary);
109
+ }
110
+ }
111
+ }
112
+
113
+ &--on-color {
114
+ & .loading__circle {
115
+ border-color: var(--alpha-white-30);
116
+ border-top-color: var(--background-surface-oncolor);
117
+ mix-blend-mode: normal;
118
+
119
+ &::after,
120
+ &::before {
121
+ background-color: var(--background-surface-oncolor);
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ @keyframes spin {
128
+ 0% {
129
+ transform: rotate(0deg);
130
+ }
131
+
132
+ 100% {
133
+ transform: rotate(360deg);
134
+ }
135
+ }
@@ -0,0 +1,85 @@
1
+ .menu {
2
+ width: 240px;
3
+
4
+ display: flex;
5
+ width: 241px;
6
+ flex-direction: column;
7
+ align-items: flex-start;
8
+ border-radius: var(--radius-md);
9
+ border: 1px solid var(--border-border-default, #cbd5e1);
10
+ background: var(--colors-base-white);
11
+
12
+ @extend .shadow-2xl;
13
+
14
+ &-group {
15
+ padding: var(--spacing-md);
16
+ width: 100%;
17
+
18
+ &__label {
19
+ padding: var(--spacing-md);
20
+ color: var(--colors-gray-neutral-500);
21
+ @extend .text-xs-bold;
22
+ }
23
+ }
24
+ }
25
+
26
+ .menu-item {
27
+ display: flex;
28
+ padding: var(--spacing-md);
29
+ align-items: flex-start;
30
+ gap: var(--spacing-md);
31
+ align-self: stretch;
32
+ align-items: center;
33
+ cursor: pointer;
34
+ box-sizing: border-box;
35
+
36
+ &__icon {
37
+ width: 24px;
38
+ height: 24px;
39
+ }
40
+
41
+ &__label {
42
+ min-width: 100px;
43
+ color: var(--Text-text-primary);
44
+ flex: 1;
45
+
46
+ @extend .text-md-regular;
47
+ }
48
+
49
+ &__trail-element {
50
+ display: flex;
51
+ align-items: center;
52
+ justify-content: center;
53
+ @extend .text-md-regular;
54
+ }
55
+
56
+ &:hover {
57
+ border-radius: var(--radius-xs);
58
+ background: var(--colors-gray-neutral-100);
59
+ mix-blend-mode: multiply;
60
+ }
61
+
62
+ &:focus {
63
+ border-radius: var(--radius-xs);
64
+ border: 2px solid var(--colors-base-black);
65
+ mix-blend-mode: multiply;
66
+ }
67
+
68
+ &:active {
69
+ border-radius: var(--radius-xs);
70
+ border: 2px solid var(--colors-base-black);
71
+ mix-blend-mode: multiply;
72
+ }
73
+
74
+ &.disabled {
75
+ opacity: 0.5;
76
+ pointer-events: none;
77
+ }
78
+ }
79
+
80
+ .divider {
81
+ display: block;
82
+ height: 1px;
83
+ width: 100%;
84
+ background-color: var(--border-border-default, #cbd5e1);
85
+ }
@@ -0,0 +1,108 @@
1
+ body.modal-open {
2
+ overflow: hidden;
3
+ }
4
+ dialog {
5
+ justify-content: center;
6
+ position: fixed; /* Ensures dialog stays centered on scroll */
7
+ top: 0;
8
+ left: 0;
9
+ width: 100%;
10
+ height: 100%;
11
+ z-index: 1000;
12
+ background: rgba(0, 0, 0, 0);
13
+ border: none;
14
+ &::backdrop {
15
+ background: rgb(0 0 0 / 47%);
16
+ backdrop-filter: blur(3.1px);
17
+ }
18
+ .modal {
19
+ display: flex;
20
+ align-items: flex-start;
21
+ flex-direction: column;
22
+ gap: var(--spacing-md);
23
+ width: 600px;
24
+ padding: var(--spacing-3xl);
25
+ background-color: var(--colors-base-white);
26
+ border-radius: var(--radius-md);
27
+ @extend .shadow-3xl;
28
+
29
+ @include responsive(tab-port) {
30
+ width: 100%;
31
+ }
32
+
33
+ &__header {
34
+ width: 100%;
35
+ display: flex;
36
+ align-items: flex-start;
37
+ justify-content: space-between;
38
+ }
39
+
40
+ &__icon {
41
+ }
42
+
43
+ &__close {
44
+ }
45
+
46
+ &__body {
47
+ width: 100%;
48
+ }
49
+
50
+ &__heading {
51
+ color: var(--colors-text-primary);
52
+ @extend .text-lg-semibold;
53
+ }
54
+
55
+ &__content {
56
+ color: var(--colors-text-tertiary);
57
+ padding-bottom: var(--spacing-xl);
58
+ @extend .text-sm-regular;
59
+ }
60
+
61
+ &__actions {
62
+ width: 100%;
63
+
64
+ .btn {
65
+ margin: 0;
66
+ }
67
+
68
+ &,
69
+ &-btn-group {
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: space-between;
73
+ gap: 8px;
74
+
75
+ @include responsive(tab-port) {
76
+ flex-direction: column-reverse;
77
+ width: 100%;
78
+
79
+ .btn {
80
+ width: 100%;
81
+ }
82
+ }
83
+ }
84
+
85
+ &-btn {
86
+ @include responsive(tab-port) {
87
+ width: 100%;
88
+ }
89
+ }
90
+
91
+ & > &-btn:first-child {
92
+ display: flex;
93
+
94
+ @include responsive(tab-port) {
95
+ display: none;
96
+ }
97
+ }
98
+
99
+ & > &-btn:nth-child(2) {
100
+ display: none;
101
+
102
+ @include responsive(tab-port) {
103
+ display: flex;
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,177 @@
1
+ .notification-toast {
2
+ position: fixed;
3
+ z-index: 1000;
4
+ display: flex;
5
+ width: 484px;
6
+ padding: var(--spacing-xl) var(--spacing-3xl);
7
+ flex-direction: column;
8
+ align-items: flex-start;
9
+ gap: var(--spacing-xl);
10
+
11
+ border-radius: var(--radius-md, 8px);
12
+ background: var(--colors-base-white);
13
+
14
+ @extend .shadow-3xl;
15
+ // position: relative;
16
+ overflow: hidden;
17
+
18
+ &::after {
19
+ content: "";
20
+ display: block;
21
+ height: 100%;
22
+ width: 8px;
23
+ left: 0;
24
+ top: 0;
25
+ background-color: var(--colors-error-400);
26
+ position: absolute;
27
+ }
28
+
29
+ &__close-btn {
30
+ position: absolute;
31
+ top: calc(var(--spacing-xl));
32
+ right: calc(var(--spacing-3xl));
33
+
34
+ @include responsive(phone) {
35
+ position: absolute;
36
+ right: var(--spacing-xl);
37
+ }
38
+ }
39
+
40
+ &__header {
41
+ display: flex;
42
+ padding: var(--spacing-none);
43
+ align-items: flex-start;
44
+ gap: var(--spacing-lg);
45
+ }
46
+
47
+ &__body {
48
+ // min-width: 100%;
49
+ }
50
+
51
+ &__title {
52
+ margin-bottom: var(--spacing-xs);
53
+ }
54
+
55
+ &__action {
56
+ padding: var(--spacing-none, 0px) var(--spacing-5xl, 40px);
57
+ gap: var(--spacing-md);
58
+
59
+ &-mobile {
60
+ display: none;
61
+ flex-direction: column;
62
+ align-items: stretch;
63
+ width: 100%;
64
+ }
65
+
66
+ @include responsive(phone) {
67
+ display: none;
68
+
69
+ &-mobile {
70
+ display: flex;
71
+ gap: var(--spacing-md);
72
+ }
73
+ }
74
+ }
75
+
76
+ @include responsive(phone) {
77
+ width: 100%;
78
+ padding: var(--spacing-xl);
79
+
80
+ &::after {
81
+ width: 100%;
82
+ height: 8px;
83
+ }
84
+
85
+ &__header {
86
+ flex-direction: column;
87
+ gap: var(--spacing-xl);
88
+ }
89
+ }
90
+
91
+ &--neutral {
92
+ &::after {
93
+ background-color: var(--background-neutral-200);
94
+ }
95
+ & .notification-toast {
96
+ &__icon {
97
+ color: var(--icon-default) !important;
98
+ background-color: var(--background-neutral-50);
99
+ }
100
+ }
101
+ }
102
+
103
+ &--info {
104
+ &::after {
105
+ background-color: var(--background-info);
106
+ }
107
+ & .notification-toast {
108
+ &__icon {
109
+ color: var(--background-info) !important;
110
+ background-color: var(--background-info-50);
111
+ }
112
+ }
113
+ }
114
+
115
+ &--error {
116
+ &::after {
117
+ background-color: var(--background-error);
118
+ }
119
+ & .notification-toast {
120
+ &__icon {
121
+ color: var(--background-error) !important;
122
+ background-color: var(--background-error-50);
123
+ }
124
+ }
125
+ }
126
+
127
+ &--warning {
128
+ &::after {
129
+ background-color: var(--background-warning);
130
+ }
131
+ & .notification-toast {
132
+ &__icon {
133
+ color: var(--background-warning) !important;
134
+ background-color: var(--background-warning-50);
135
+ }
136
+ }
137
+ }
138
+
139
+ &--success {
140
+ &::after {
141
+ background-color: var(--background-success);
142
+ }
143
+ & .notification-toast {
144
+ &__icon {
145
+ color: var(--background-success) !important;
146
+ background-color: var(--background-success-50);
147
+ }
148
+ }
149
+ }
150
+ }
151
+
152
+ html[dir="rtl"] .notification-toast__close-btn,
153
+ html[lang="ar"] .notification-toast__close-btn {
154
+ right: auto;
155
+ left: calc(var(--spacing-3xl));
156
+
157
+ @include responsive(phone) {
158
+ right: auto;
159
+ left: var(--spacing-xl);
160
+ }
161
+ }
162
+
163
+ .vpostion-top {
164
+ top: 16px;
165
+ }
166
+
167
+ .vpostion-bottom {
168
+ bottom: 16px;
169
+ }
170
+
171
+ .hpostion-left {
172
+ left: 16px;
173
+ }
174
+
175
+ .hpostion-right {
176
+ right: 16px;
177
+ }
@@ -0,0 +1,139 @@
1
+ .notification {
2
+ width: 100%;
3
+ padding: var(--spacing-md) var(--spacing-3xl);
4
+ border-bottom: 2px solid;
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ position: relative;
9
+
10
+ &__content {
11
+ display: flex;
12
+ align-items: center;
13
+ flex-wrap: wrap;
14
+ flex: 1;
15
+ gap: var(--spacing-md);
16
+ padding: 0px var(--spacing-3xl);
17
+
18
+ p {
19
+ @extend .text-md-regular;
20
+ }
21
+ }
22
+
23
+ &__icon {
24
+ color: var(--controls-control-neutral-pressed);
25
+ }
26
+
27
+ &__lead-text {
28
+ color: var(--colors-text-secondary);
29
+ @extend .text-md-bold;
30
+ }
31
+
32
+ &__dismiss {
33
+ position: absolute;
34
+ right: var(--spacing-3xl);
35
+ transform: translateX(50%);
36
+ }
37
+
38
+ &--critical {
39
+ border-color: var(--background-error);
40
+ background-color: var(--notification-background-error-light);
41
+
42
+ & .notification {
43
+ &__content {
44
+ color: var(--text-error);
45
+ }
46
+
47
+ &__icon {
48
+ color: var(--text-error);
49
+ }
50
+
51
+ &__lead-text {
52
+ color: var(--text-error);
53
+ }
54
+ }
55
+ }
56
+
57
+ &--warning {
58
+ border-color: var(--background-warning);
59
+ background-color: var(--notification-background-warning-light);
60
+
61
+ & .notification {
62
+ &__content {
63
+ color: var(--text-warning);
64
+ }
65
+
66
+ &__icon {
67
+ color: var(--text-warning);
68
+ }
69
+
70
+ &__lead-text {
71
+ color: var(--text-warning);
72
+ }
73
+ }
74
+ }
75
+
76
+ &--success {
77
+ border-color: var(--background-success);
78
+ background-color: var(--notification-background-success-light);
79
+
80
+ & .notification {
81
+ &__content {
82
+ color: var(--text-success);
83
+ }
84
+
85
+ &__icon {
86
+ color: var(--text-success);
87
+ }
88
+
89
+ &__lead-text {
90
+ color: var(--text-success);
91
+ }
92
+ }
93
+ }
94
+
95
+ &--info {
96
+ border-color: var(--background-info);
97
+ background-color: var(--notification-background-info-light);
98
+
99
+ & .notification {
100
+ &__content {
101
+ color: var(--text-info);
102
+ }
103
+
104
+ &__icon {
105
+ color: var(--text-info);
106
+ }
107
+
108
+ &__lead-text {
109
+ color: var(--text-info);
110
+ }
111
+ }
112
+ }
113
+
114
+ &--neutral {
115
+ border-color: var(--background-black);
116
+ background-color: var(--colors-gray-neutral-50);
117
+
118
+ & .notification {
119
+ &__content {
120
+ color: var(--text-primary-paragraph);
121
+ }
122
+
123
+ &__icon {
124
+ color: var(--text-primary-paragraph);
125
+ }
126
+
127
+ &__lead-text {
128
+ color: var(--text-primary-paragraph);
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ html[dir="rtl"] .notification__dismiss,
135
+ html[lang="ar"] .notification__dismiss {
136
+ right: auto;
137
+ left: var(--spacing-3xl);
138
+ transform: translateX(-50%);
139
+ }
@@ -0,0 +1,79 @@
1
+ .pagination {
2
+ display: flex;
3
+ gap: 8px;
4
+ align-items: center;
5
+ list-style: none;
6
+
7
+ &__item {
8
+ position: relative;
9
+ button {
10
+ width: 24px;
11
+ height: 24px;
12
+ // padding: 4px;
13
+ background-color: transparent;
14
+ cursor: pointer;
15
+ border: none;
16
+
17
+ display: grid;
18
+ place-items: center;
19
+ &:hover {
20
+ background: var(--colors-gray-neutral-100);
21
+ color: #161616;
22
+ border-radius: 4px;
23
+ }
24
+ &:active {
25
+ background-color: transparent;
26
+ border: 2px solid #161616;
27
+ border-radius: 4px;
28
+ }
29
+ }
30
+
31
+ &--active {
32
+ &::after {
33
+ content: "";
34
+ // width: 16px;
35
+ width: calc(100% - 8px);
36
+ height: 3px;
37
+ position: absolute;
38
+ // left: 4px;
39
+ left: 50%;
40
+ transform: translateX(-50%);
41
+ bottom: -1px;
42
+ border-radius: var(--radius-full, 9999px);
43
+ background: var(--Colors-SA-Flag-600, #1b8354);
44
+ }
45
+ }
46
+ }
47
+
48
+ &--small {
49
+ .pagination__item {
50
+ button {
51
+ width: 24px;
52
+ height: 24px;
53
+ }
54
+ }
55
+ }
56
+
57
+ &--meduim {
58
+ .pagination__item {
59
+ button {
60
+ width: 32px;
61
+ height: 32px;
62
+ }
63
+ }
64
+ }
65
+
66
+ &--large {
67
+ .pagination__item {
68
+ button {
69
+ width: 40px;
70
+ height: 40px;
71
+ }
72
+ }
73
+ }
74
+ }
75
+
76
+
77
+ [dir="rtl"] .pagination__arrow button {
78
+ transform: rotate(180deg);
79
+ }