@sikka/hawa 0.0.145 → 0.0.146
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.
- package/dist/styles.css +86 -58
- package/es/blocks/Misc/EmptyState.d.ts +3 -1
- package/es/blocks/Misc/NotFound.d.ts +3 -1
- package/es/index.es.js +1 -1
- package/es/layout/HawaContainer.d.ts +1 -1
- package/es/util.d.ts +8 -4
- package/lib/blocks/Misc/EmptyState.d.ts +3 -1
- package/lib/blocks/Misc/NotFound.d.ts +3 -1
- package/lib/index.js +1 -1
- package/lib/layout/HawaContainer.d.ts +1 -1
- package/lib/util.d.ts +8 -4
- package/package.json +3 -2
- package/src/blocks/Misc/EmptyState.tsx +13 -11
- package/src/blocks/Misc/NotFound.tsx +11 -16
- package/src/blocks/Payment/SelectPayment.tsx +0 -1
- package/src/elements/DraggableCard.tsx +1 -1
- package/src/elements/HawaButton.tsx +6 -5
- package/src/elements/HawaLogoButton.tsx +1 -1
- package/src/elements/HawaMenu.tsx +1 -1
- package/src/layout/HawaAppLayout.tsx +137 -95
- package/src/layout/HawaContainer.tsx +6 -4
- package/src/styles.css +86 -58
- package/src/tailwind.css +4 -0
- package/src/util.ts +142 -29
- package/storybook-static/{767.232e4e4c88bb0a2ed02d.manager.bundle.js → 767.8e4ffb17eae12c283b3b.manager.bundle.js} +2 -2
- package/storybook-static/{767.232e4e4c88bb0a2ed02d.manager.bundle.js.LICENSE.txt → 767.8e4ffb17eae12c283b3b.manager.bundle.js.LICENSE.txt} +0 -0
- package/storybook-static/870.c002064e.iframe.bundle.js +2 -0
- package/storybook-static/{870.32eb3abe.iframe.bundle.js.LICENSE.txt → 870.c002064e.iframe.bundle.js.LICENSE.txt} +0 -0
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/index.html +1 -1
- package/storybook-static/main.8977634c.iframe.bundle.js +1 -0
- package/storybook-static/project.json +1 -1
- package/tailwind.config.js +63 -0
- package/storybook-static/870.32eb3abe.iframe.bundle.js +0 -2
- package/storybook-static/main.caad440f.iframe.bundle.js +0 -1
package/src/styles.css
CHANGED
|
@@ -374,6 +374,10 @@ video {
|
|
|
374
374
|
[hidden] {
|
|
375
375
|
display: none;
|
|
376
376
|
}
|
|
377
|
+
:root {
|
|
378
|
+
/* --color-text: #4c37eb; */
|
|
379
|
+
--color-text: #d8f021;
|
|
380
|
+
}
|
|
377
381
|
input[type="number"]::-webkit-inner-spin-button,
|
|
378
382
|
input[type="number"]::-webkit-outer-spin-button {
|
|
379
383
|
-webkit-appearance: none;
|
|
@@ -586,12 +590,12 @@ video {
|
|
|
586
590
|
.m-2 {
|
|
587
591
|
margin: 0.5rem;
|
|
588
592
|
}
|
|
589
|
-
.m-1 {
|
|
590
|
-
margin: 0.25rem;
|
|
591
|
-
}
|
|
592
593
|
.m-0 {
|
|
593
594
|
margin: 0px;
|
|
594
595
|
}
|
|
596
|
+
.m-1 {
|
|
597
|
+
margin: 0.25rem;
|
|
598
|
+
}
|
|
595
599
|
.mx-1 {
|
|
596
600
|
margin-left: 0.25rem;
|
|
597
601
|
margin-right: 0.25rem;
|
|
@@ -674,11 +678,17 @@ video {
|
|
|
674
678
|
.mr-4 {
|
|
675
679
|
margin-right: 1rem;
|
|
676
680
|
}
|
|
681
|
+
.ml-14 {
|
|
682
|
+
margin-left: 3.5rem;
|
|
683
|
+
}
|
|
684
|
+
.ml-40 {
|
|
685
|
+
margin-left: 10rem;
|
|
686
|
+
}
|
|
677
687
|
.mb-9 {
|
|
678
688
|
margin-bottom: 2.25rem;
|
|
679
689
|
}
|
|
680
|
-
.mt
|
|
681
|
-
margin-top: 3.
|
|
690
|
+
.mt-\[3\.6rem\] {
|
|
691
|
+
margin-top: 3.6rem;
|
|
682
692
|
}
|
|
683
693
|
.mt-5 {
|
|
684
694
|
margin-top: 1.25rem;
|
|
@@ -738,6 +748,9 @@ video {
|
|
|
738
748
|
height: -moz-fit-content;
|
|
739
749
|
height: fit-content;
|
|
740
750
|
}
|
|
751
|
+
.h-32 {
|
|
752
|
+
height: 8rem;
|
|
753
|
+
}
|
|
741
754
|
.h-full {
|
|
742
755
|
height: 100%;
|
|
743
756
|
}
|
|
@@ -768,9 +781,6 @@ video {
|
|
|
768
781
|
.h-4 {
|
|
769
782
|
height: 1rem;
|
|
770
783
|
}
|
|
771
|
-
.h-32 {
|
|
772
|
-
height: 8rem;
|
|
773
|
-
}
|
|
774
784
|
.h-0\.5 {
|
|
775
785
|
height: 0.125rem;
|
|
776
786
|
}
|
|
@@ -783,9 +793,6 @@ video {
|
|
|
783
793
|
.h-\[1px\] {
|
|
784
794
|
height: 1px;
|
|
785
795
|
}
|
|
786
|
-
.h-20 {
|
|
787
|
-
height: 5rem;
|
|
788
|
-
}
|
|
789
796
|
.h-96 {
|
|
790
797
|
height: 24rem;
|
|
791
798
|
}
|
|
@@ -854,24 +861,24 @@ video {
|
|
|
854
861
|
.w-\[calc\(100\%-3rem\)\] {
|
|
855
862
|
width: calc(100% - 3rem);
|
|
856
863
|
}
|
|
857
|
-
.w-12 {
|
|
858
|
-
width: 3rem;
|
|
859
|
-
}
|
|
860
864
|
.w-40 {
|
|
861
865
|
width: 10rem;
|
|
862
866
|
}
|
|
867
|
+
.w-12 {
|
|
868
|
+
width: 3rem;
|
|
869
|
+
}
|
|
863
870
|
.w-10\/12 {
|
|
864
871
|
width: 83.333333%;
|
|
865
872
|
}
|
|
873
|
+
.w-\[calc\(100\%-10rem\)\] {
|
|
874
|
+
width: calc(100% - 10rem);
|
|
875
|
+
}
|
|
866
876
|
.w-\[calc\(100\%-1rem\)\] {
|
|
867
877
|
width: calc(100% - 1rem);
|
|
868
878
|
}
|
|
869
879
|
.w-80 {
|
|
870
880
|
width: 20rem;
|
|
871
881
|
}
|
|
872
|
-
.w-20 {
|
|
873
|
-
width: 5rem;
|
|
874
|
-
}
|
|
875
882
|
.min-w-max {
|
|
876
883
|
min-width: -moz-max-content;
|
|
877
884
|
min-width: max-content;
|
|
@@ -924,6 +931,14 @@ video {
|
|
|
924
931
|
--tw-translate-x: 3rem;
|
|
925
932
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
926
933
|
}
|
|
934
|
+
.translate-x-\[3\.54rem\] {
|
|
935
|
+
--tw-translate-x: 3.54rem;
|
|
936
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
937
|
+
}
|
|
938
|
+
.translate-x-\[10\.54rem\] {
|
|
939
|
+
--tw-translate-x: 10.54rem;
|
|
940
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
941
|
+
}
|
|
927
942
|
.-translate-y-\[1rem\] {
|
|
928
943
|
--tw-translate-y: -1rem;
|
|
929
944
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -977,9 +992,6 @@ video {
|
|
|
977
992
|
.flex-wrap {
|
|
978
993
|
flex-wrap: wrap;
|
|
979
994
|
}
|
|
980
|
-
.content-center {
|
|
981
|
-
align-content: center;
|
|
982
|
-
}
|
|
983
995
|
.items-start {
|
|
984
996
|
align-items: flex-start;
|
|
985
997
|
}
|
|
@@ -1063,6 +1075,9 @@ video {
|
|
|
1063
1075
|
.justify-self-end {
|
|
1064
1076
|
justify-self: end;
|
|
1065
1077
|
}
|
|
1078
|
+
.overflow-auto {
|
|
1079
|
+
overflow: auto;
|
|
1080
|
+
}
|
|
1066
1081
|
.overflow-hidden {
|
|
1067
1082
|
overflow: hidden;
|
|
1068
1083
|
}
|
|
@@ -1162,6 +1177,9 @@ video {
|
|
|
1162
1177
|
.border-2 {
|
|
1163
1178
|
border-width: 2px;
|
|
1164
1179
|
}
|
|
1180
|
+
.border-4 {
|
|
1181
|
+
border-width: 4px;
|
|
1182
|
+
}
|
|
1165
1183
|
.border-b-0 {
|
|
1166
1184
|
border-bottom-width: 0px;
|
|
1167
1185
|
}
|
|
@@ -1255,10 +1273,6 @@ video {
|
|
|
1255
1273
|
--tw-border-opacity: 1;
|
|
1256
1274
|
border-color: rgb(37 99 235 / var(--tw-border-opacity));
|
|
1257
1275
|
}
|
|
1258
|
-
.border-primary-200 {
|
|
1259
|
-
--tw-border-opacity: 1;
|
|
1260
|
-
border-color: rgb(196 222 253 / var(--tw-border-opacity));
|
|
1261
|
-
}
|
|
1262
1276
|
.border-t-white {
|
|
1263
1277
|
--tw-border-opacity: 1;
|
|
1264
1278
|
border-top-color: rgb(255 255 255 / var(--tw-border-opacity));
|
|
@@ -1271,9 +1285,9 @@ video {
|
|
|
1271
1285
|
--tw-bg-opacity: 1;
|
|
1272
1286
|
background-color: rgb(17 24 39 / var(--tw-bg-opacity));
|
|
1273
1287
|
}
|
|
1274
|
-
.bg-
|
|
1288
|
+
.bg-layoutPrimary-default {
|
|
1275
1289
|
--tw-bg-opacity: 1;
|
|
1276
|
-
background-color: rgb(
|
|
1290
|
+
background-color: rgb(210 205 250 / var(--tw-bg-opacity));
|
|
1277
1291
|
}
|
|
1278
1292
|
.bg-white {
|
|
1279
1293
|
--tw-bg-opacity: 1;
|
|
@@ -1302,17 +1316,9 @@ video {
|
|
|
1302
1316
|
.bg-transparent {
|
|
1303
1317
|
background-color: transparent;
|
|
1304
1318
|
}
|
|
1305
|
-
.bg-
|
|
1306
|
-
--tw-bg-opacity: 1;
|
|
1307
|
-
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
|
1308
|
-
}
|
|
1309
|
-
.bg-primary-default {
|
|
1310
|
-
--tw-bg-opacity: 1;
|
|
1311
|
-
background-color: rgb(18 121 248 / var(--tw-bg-opacity));
|
|
1312
|
-
}
|
|
1313
|
-
.bg-secondary-default {
|
|
1319
|
+
.bg-buttonPrimary-default {
|
|
1314
1320
|
--tw-bg-opacity: 1;
|
|
1315
|
-
background-color: rgb(
|
|
1321
|
+
background-color: rgb(76 55 235 / var(--tw-bg-opacity));
|
|
1316
1322
|
}
|
|
1317
1323
|
.bg-red-200 {
|
|
1318
1324
|
--tw-bg-opacity: 1;
|
|
@@ -1342,6 +1348,10 @@ video {
|
|
|
1342
1348
|
--tw-bg-opacity: 1;
|
|
1343
1349
|
background-color: rgb(191 219 254 / var(--tw-bg-opacity));
|
|
1344
1350
|
}
|
|
1351
|
+
.bg-layout-1200 {
|
|
1352
|
+
--tw-bg-opacity: 1;
|
|
1353
|
+
background-color: rgb(238 247 252 / var(--tw-bg-opacity));
|
|
1354
|
+
}
|
|
1345
1355
|
.bg-primary-500 {
|
|
1346
1356
|
--tw-bg-opacity: 1;
|
|
1347
1357
|
background-color: rgb(61 147 249 / var(--tw-bg-opacity));
|
|
@@ -1350,6 +1360,10 @@ video {
|
|
|
1350
1360
|
--tw-bg-opacity: 1;
|
|
1351
1361
|
background-color: rgb(107 114 128 / var(--tw-bg-opacity));
|
|
1352
1362
|
}
|
|
1363
|
+
.bg-gray-200 {
|
|
1364
|
+
--tw-bg-opacity: 1;
|
|
1365
|
+
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
|
1366
|
+
}
|
|
1353
1367
|
.bg-blue-600 {
|
|
1354
1368
|
--tw-bg-opacity: 1;
|
|
1355
1369
|
background-color: rgb(37 99 235 / var(--tw-bg-opacity));
|
|
@@ -1370,26 +1384,22 @@ video {
|
|
|
1370
1384
|
--tw-bg-opacity: 1;
|
|
1371
1385
|
background-color: rgb(31 41 55 / var(--tw-bg-opacity));
|
|
1372
1386
|
}
|
|
1373
|
-
.bg-green-
|
|
1387
|
+
.bg-green-400 {
|
|
1374
1388
|
--tw-bg-opacity: 1;
|
|
1375
|
-
background-color: rgb(
|
|
1389
|
+
background-color: rgb(74 222 128 / var(--tw-bg-opacity));
|
|
1376
1390
|
}
|
|
1377
|
-
.bg-
|
|
1391
|
+
.bg-green-500 {
|
|
1378
1392
|
--tw-bg-opacity: 1;
|
|
1379
|
-
background-color: rgb(
|
|
1393
|
+
background-color: rgb(34 197 94 / var(--tw-bg-opacity));
|
|
1380
1394
|
}
|
|
1381
|
-
.bg-
|
|
1395
|
+
.bg-gray-300 {
|
|
1382
1396
|
--tw-bg-opacity: 1;
|
|
1383
|
-
background-color: rgb(
|
|
1397
|
+
background-color: rgb(209 213 219 / var(--tw-bg-opacity));
|
|
1384
1398
|
}
|
|
1385
1399
|
.bg-yellow-300 {
|
|
1386
1400
|
--tw-bg-opacity: 1;
|
|
1387
1401
|
background-color: rgb(253 224 71 / var(--tw-bg-opacity));
|
|
1388
1402
|
}
|
|
1389
|
-
.bg-primary-300 {
|
|
1390
|
-
--tw-bg-opacity: 1;
|
|
1391
|
-
background-color: rgb(156 199 252 / var(--tw-bg-opacity));
|
|
1392
|
-
}
|
|
1393
1403
|
.bg-opacity-75 {
|
|
1394
1404
|
--tw-bg-opacity: 0.75;
|
|
1395
1405
|
}
|
|
@@ -1710,6 +1720,11 @@ video {
|
|
|
1710
1720
|
--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
|
|
1711
1721
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
1712
1722
|
}
|
|
1723
|
+
.shadow-neobrutalism {
|
|
1724
|
+
--tw-shadow: 10px 10px 0px 0px rgba(0,0,0,1);;
|
|
1725
|
+
--tw-shadow-colored: 10px 10px 0px 0px var(--tw-shadow-color);
|
|
1726
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
1727
|
+
}
|
|
1713
1728
|
.ring-1 {
|
|
1714
1729
|
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
1715
1730
|
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
@@ -1842,9 +1857,9 @@ body {
|
|
|
1842
1857
|
--tw-bg-opacity: 1;
|
|
1843
1858
|
background-color: rgb(209 213 219 / var(--tw-bg-opacity));
|
|
1844
1859
|
}
|
|
1845
|
-
.hover\:bg-
|
|
1860
|
+
.hover\:bg-buttonPrimary-darker:hover {
|
|
1846
1861
|
--tw-bg-opacity: 1;
|
|
1847
|
-
background-color: rgb(
|
|
1862
|
+
background-color: rgb(57 41 176 / var(--tw-bg-opacity));
|
|
1848
1863
|
}
|
|
1849
1864
|
.hover\:bg-secondary-700:hover {
|
|
1850
1865
|
--tw-bg-opacity: 1;
|
|
@@ -1870,9 +1885,9 @@ body {
|
|
|
1870
1885
|
--tw-bg-opacity: 1;
|
|
1871
1886
|
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
|
|
1872
1887
|
}
|
|
1873
|
-
.hover\:bg-
|
|
1888
|
+
.hover\:bg-buttonPrimary-lighter:hover {
|
|
1874
1889
|
--tw-bg-opacity: 1;
|
|
1875
|
-
background-color: rgb(
|
|
1890
|
+
background-color: rgb(237 235 253 / var(--tw-bg-opacity));
|
|
1876
1891
|
}
|
|
1877
1892
|
.hover\:text-gray-900:hover {
|
|
1878
1893
|
--tw-text-opacity: 1;
|
|
@@ -1902,6 +1917,19 @@ body {
|
|
|
1902
1917
|
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
1903
1918
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
1904
1919
|
}
|
|
1920
|
+
.hover\:ring-1:hover {
|
|
1921
|
+
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
1922
|
+
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
1923
|
+
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
1924
|
+
}
|
|
1925
|
+
.hover\:ring-buttonPrimary-default:hover {
|
|
1926
|
+
--tw-ring-opacity: 1;
|
|
1927
|
+
--tw-ring-color: rgb(76 55 235 / var(--tw-ring-opacity));
|
|
1928
|
+
}
|
|
1929
|
+
.hover\:brightness-90:hover {
|
|
1930
|
+
--tw-brightness: brightness(.9);
|
|
1931
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
1932
|
+
}
|
|
1905
1933
|
.focus\:border-blue-500:focus {
|
|
1906
1934
|
--tw-border-opacity: 1;
|
|
1907
1935
|
border-color: rgb(59 130 246 / var(--tw-border-opacity));
|
|
@@ -2017,10 +2045,6 @@ body {
|
|
|
2017
2045
|
--tw-bg-opacity: 1;
|
|
2018
2046
|
background-color: rgb(187 247 208 / var(--tw-bg-opacity));
|
|
2019
2047
|
}
|
|
2020
|
-
.dark .dark\:bg-primary-600 {
|
|
2021
|
-
--tw-bg-opacity: 1;
|
|
2022
|
-
background-color: rgb(6 92 198 / var(--tw-bg-opacity));
|
|
2023
|
-
}
|
|
2024
2048
|
.dark .dark\:bg-gray-700 {
|
|
2025
2049
|
--tw-bg-opacity: 1;
|
|
2026
2050
|
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
|
|
@@ -2029,6 +2053,10 @@ body {
|
|
|
2029
2053
|
--tw-bg-opacity: 1;
|
|
2030
2054
|
background-color: rgb(75 85 99 / var(--tw-bg-opacity));
|
|
2031
2055
|
}
|
|
2056
|
+
.dark .dark\:bg-layoutPrimary-dark {
|
|
2057
|
+
--tw-bg-opacity: 1;
|
|
2058
|
+
background-color: rgb(37 27 115 / var(--tw-bg-opacity));
|
|
2059
|
+
}
|
|
2032
2060
|
.dark .dark\:text-gray-300 {
|
|
2033
2061
|
--tw-text-opacity: 1;
|
|
2034
2062
|
color: rgb(209 213 219 / var(--tw-text-opacity));
|
|
@@ -2100,10 +2128,6 @@ body {
|
|
|
2100
2128
|
--tw-bg-opacity: 1;
|
|
2101
2129
|
background-color: rgb(31 41 55 / var(--tw-bg-opacity));
|
|
2102
2130
|
}
|
|
2103
|
-
.dark .dark\:hover\:bg-primary-700:hover {
|
|
2104
|
-
--tw-bg-opacity: 1;
|
|
2105
|
-
background-color: rgb(6 92 198 / var(--tw-bg-opacity));
|
|
2106
|
-
}
|
|
2107
2131
|
.dark .dark\:hover\:bg-primary-600:hover {
|
|
2108
2132
|
--tw-bg-opacity: 1;
|
|
2109
2133
|
background-color: rgb(6 92 198 / var(--tw-bg-opacity));
|
|
@@ -2116,6 +2140,10 @@ body {
|
|
|
2116
2140
|
--tw-text-opacity: 1;
|
|
2117
2141
|
color: rgb(59 130 246 / var(--tw-text-opacity));
|
|
2118
2142
|
}
|
|
2143
|
+
.dark .dark\:hover\:brightness-90:hover {
|
|
2144
|
+
--tw-brightness: brightness(.9);
|
|
2145
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
2146
|
+
}
|
|
2119
2147
|
.dark .dark\:focus\:border-blue-500:focus {
|
|
2120
2148
|
--tw-border-opacity: 1;
|
|
2121
2149
|
border-color: rgb(59 130 246 / var(--tw-border-opacity));
|
package/src/tailwind.css
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
@import "tailwindcss/utilities";
|
|
4
4
|
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@300;400;500;700&display=swap");
|
|
5
5
|
@layer base {
|
|
6
|
+
:root {
|
|
7
|
+
/* --color-text: #4c37eb; */
|
|
8
|
+
--color-text: #d8f021;
|
|
9
|
+
}
|
|
6
10
|
input[type="number"]::-webkit-inner-spin-button,
|
|
7
11
|
input[type="number"]::-webkit-outer-spin-button {
|
|
8
12
|
-webkit-appearance: none;
|
package/src/util.ts
CHANGED
|
@@ -1,30 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
|
|
2
|
+
type Palette = {
|
|
3
|
+
name: string
|
|
4
|
+
colors: {
|
|
5
|
+
[key: number]: string
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
type Rgb = {
|
|
9
|
+
r: number
|
|
10
|
+
g: number
|
|
11
|
+
b: number
|
|
12
|
+
}
|
|
13
|
+
function hexToRgb(hex: string): Rgb | null {
|
|
14
|
+
const sanitizedHex = hex.replaceAll("##", "#")
|
|
15
|
+
const colorParts = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(
|
|
16
|
+
sanitizedHex
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
if (!colorParts) {
|
|
20
|
+
return null
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const [, r, g, b] = colorParts
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
r: parseInt(r, 16),
|
|
27
|
+
g: parseInt(g, 16),
|
|
28
|
+
b: parseInt(b, 16),
|
|
29
|
+
} as Rgb
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function rgbToHex(r: number, g: number, b: number): string {
|
|
33
|
+
const toHex = (c: number) => `0${c.toString(16)}`.slice(-2)
|
|
34
|
+
return `#${toHex(r)}${toHex(g)}${toHex(b)}`
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function getTextColor(color: string): "#FFF" | "#333" {
|
|
38
|
+
const rgbColor = hexToRgb(color)
|
|
39
|
+
|
|
40
|
+
if (!rgbColor) {
|
|
41
|
+
return "#333"
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const { r, g, b } = rgbColor
|
|
45
|
+
const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b
|
|
46
|
+
|
|
47
|
+
return luma < 120 ? "#FFF" : "#333"
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function lighten(hex: string, intensity: number): string {
|
|
51
|
+
const color = hexToRgb(`#${hex}`)
|
|
52
|
+
|
|
53
|
+
if (!color) {
|
|
54
|
+
return ""
|
|
17
55
|
}
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
56
|
+
|
|
57
|
+
const r = Math.round(color.r + (255 - color.r) * intensity)
|
|
58
|
+
const g = Math.round(color.g + (255 - color.g) * intensity)
|
|
59
|
+
const b = Math.round(color.b + (255 - color.b) * intensity)
|
|
60
|
+
|
|
61
|
+
return rgbToHex(r, g, b)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function darken(hex: string, intensity: number): string {
|
|
65
|
+
const color = hexToRgb(hex)
|
|
66
|
+
|
|
67
|
+
if (!color) {
|
|
68
|
+
return ""
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const r = Math.round(color.r * intensity)
|
|
72
|
+
const g = Math.round(color.g * intensity)
|
|
73
|
+
const b = Math.round(color.b * intensity)
|
|
74
|
+
|
|
75
|
+
return rgbToHex(r, g, b)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function getPallette(baseColor: string): Palette {
|
|
79
|
+
const name = baseColor
|
|
80
|
+
|
|
81
|
+
const response: Palette = {
|
|
82
|
+
name,
|
|
83
|
+
colors: {
|
|
84
|
+
500: `#${baseColor}`.replace("##", "#"),
|
|
85
|
+
},
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const intensityMap: {
|
|
89
|
+
[key: number]: number
|
|
90
|
+
} = {
|
|
91
|
+
50: 0.95,
|
|
92
|
+
100: 0.9,
|
|
93
|
+
200: 0.75,
|
|
94
|
+
300: 0.6,
|
|
95
|
+
400: 0.3,
|
|
96
|
+
600: 0.9,
|
|
97
|
+
700: 0.75,
|
|
98
|
+
800: 0.6,
|
|
99
|
+
900: 0.49,
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
;[50, 100, 200, 300, 400].forEach((level) => {
|
|
103
|
+
response.colors[level] = lighten(baseColor, intensityMap[level])
|
|
104
|
+
})
|
|
105
|
+
;[600, 700, 800, 900].forEach((level) => {
|
|
106
|
+
response.colors[level] = darken(baseColor, intensityMap[level])
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
return response as Palette
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export { getPallette };
|
|
113
|
+
|
|
114
|
+
// const hexToRgb = (hex) => {
|
|
115
|
+
// let d = hex?.split("#")[1];
|
|
116
|
+
// var aRgbHex = d?.match(/.{1,2}/g);
|
|
117
|
+
// var aRgb = [
|
|
118
|
+
// parseInt(aRgbHex[0], 16),
|
|
119
|
+
// parseInt(aRgbHex[1], 16),
|
|
120
|
+
// parseInt(aRgbHex[2], 16)
|
|
121
|
+
// ];
|
|
122
|
+
// return aRgb;
|
|
123
|
+
// };
|
|
124
|
+
// const getTextColor = (backColor) => {
|
|
125
|
+
// let rgbArray = hexToRgb(backColor);
|
|
126
|
+
// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {
|
|
127
|
+
// return "#000000";
|
|
128
|
+
// } else {
|
|
129
|
+
// return "#ffffff";
|
|
130
|
+
// }
|
|
131
|
+
// };
|
|
132
|
+
// const replaceAt = function (string, index, replacement) {
|
|
133
|
+
// // if (replacement == "" || replacement == " ") {
|
|
134
|
+
// // return (
|
|
135
|
+
// // string.substring(0, index) +
|
|
136
|
+
// // string.substring(index + replacement.length )
|
|
137
|
+
// // );
|
|
138
|
+
// // }
|
|
139
|
+
// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)
|
|
140
|
+
// return replaced
|
|
141
|
+
// };
|
|
142
|
+
|
|
143
|
+
// export { hexToRgb, getTextColor, replaceAt };
|