@1doc/1ds-react 0.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 (80) hide show
  1. package/README.md +34 -0
  2. package/dist/components/Alert/Alert.css +188 -0
  3. package/dist/components/Alert/Alert.d.ts +65 -0
  4. package/dist/components/Alert/Alert.js +56 -0
  5. package/dist/components/Avatar/Avatar.css +88 -0
  6. package/dist/components/Avatar/Avatar.d.ts +34 -0
  7. package/dist/components/Avatar/Avatar.js +16 -0
  8. package/dist/components/Avatar/AvatarGroup.d.ts +12 -0
  9. package/dist/components/Avatar/AvatarGroup.js +8 -0
  10. package/dist/components/Badge/Badge.css +155 -0
  11. package/dist/components/Badge/Badge.d.ts +46 -0
  12. package/dist/components/Badge/Badge.js +17 -0
  13. package/dist/components/Button/Button.css +199 -0
  14. package/dist/components/Button/Button.d.ts +23 -0
  15. package/dist/components/Button/Button.js +62 -0
  16. package/dist/components/Checkbox/Checkbox.css +122 -0
  17. package/dist/components/Checkbox/Checkbox.d.ts +21 -0
  18. package/dist/components/Checkbox/Checkbox.js +49 -0
  19. package/dist/components/Divider/Divider.css +81 -0
  20. package/dist/components/Divider/Divider.d.ts +18 -0
  21. package/dist/components/Divider/Divider.js +26 -0
  22. package/dist/components/Grid/Grid.css +154 -0
  23. package/dist/components/Grid/Grid.d.ts +21 -0
  24. package/dist/components/Grid/Grid.js +53 -0
  25. package/dist/components/Icon/Icon.css +41 -0
  26. package/dist/components/Icon/Icon.d.ts +12 -0
  27. package/dist/components/Icon/Icon.js +29 -0
  28. package/dist/components/Input/Input.css +190 -0
  29. package/dist/components/Input/Input.d.ts +32 -0
  30. package/dist/components/Input/Input.js +58 -0
  31. package/dist/components/Link/Link.css +76 -0
  32. package/dist/components/Link/Link.d.ts +15 -0
  33. package/dist/components/Link/Link.js +19 -0
  34. package/dist/components/Logo/Logo.css +32 -0
  35. package/dist/components/Logo/Logo.d.ts +10 -0
  36. package/dist/components/Logo/Logo.js +16 -0
  37. package/dist/components/Modal/Modal.css +155 -0
  38. package/dist/components/Modal/Modal.d.ts +36 -0
  39. package/dist/components/Modal/Modal.js +55 -0
  40. package/dist/components/Radio/Radio.css +114 -0
  41. package/dist/components/Radio/Radio.d.ts +19 -0
  42. package/dist/components/Radio/Radio.js +39 -0
  43. package/dist/components/Select/Select.css +291 -0
  44. package/dist/components/Select/Select.d.ts +38 -0
  45. package/dist/components/Select/Select.js +246 -0
  46. package/dist/components/Spinner/Spinner.css +60 -0
  47. package/dist/components/Spinner/Spinner.d.ts +16 -0
  48. package/dist/components/Spinner/Spinner.js +16 -0
  49. package/dist/components/Switch/Switch.css +127 -0
  50. package/dist/components/Switch/Switch.d.ts +18 -0
  51. package/dist/components/Switch/Switch.js +57 -0
  52. package/dist/components/Tabs/Tab.d.ts +19 -0
  53. package/dist/components/Tabs/Tab.js +76 -0
  54. package/dist/components/Tabs/TabContent.d.ts +15 -0
  55. package/dist/components/Tabs/TabContent.js +11 -0
  56. package/dist/components/Tabs/Tabs.css +124 -0
  57. package/dist/components/Tabs/Tabs.d.ts +20 -0
  58. package/dist/components/Tabs/Tabs.js +14 -0
  59. package/dist/components/Tabs/TabsContent.d.ts +16 -0
  60. package/dist/components/Tabs/TabsContent.js +12 -0
  61. package/dist/components/Tabs/tabs.context.d.ts +2 -0
  62. package/dist/components/Tabs/tabs.context.js +2 -0
  63. package/dist/components/Tag/Tag.css +140 -0
  64. package/dist/components/Tag/Tag.d.ts +63 -0
  65. package/dist/components/Tag/Tag.js +48 -0
  66. package/dist/components/Text/Text.css +1213 -0
  67. package/dist/components/Text/Text.d.ts +70 -0
  68. package/dist/components/Text/Text.js +89 -0
  69. package/dist/components/Textarea/Textarea.css +133 -0
  70. package/dist/components/Textarea/Textarea.d.ts +28 -0
  71. package/dist/components/Textarea/Textarea.js +72 -0
  72. package/dist/index.d.ts +25 -0
  73. package/dist/index.js +27 -0
  74. package/dist/utils/theme.d.ts +30 -0
  75. package/dist/utils/theme.js +106 -0
  76. package/package.json +26 -0
  77. package/scripts/postbuild.js +21 -0
  78. package/src/index.ts +28 -0
  79. package/src/utils/theme.ts +136 -0
  80. package/tsconfig.json +29 -0
@@ -0,0 +1,154 @@
1
+ /* Base Grid Style - GENERATED FILE - DO NOT EDIT MANUALLY */
2
+ .umds-grid {
3
+ box-sizing: border-box;
4
+ }
5
+
6
+ /* Container Styles */
7
+ .umds-grid--container {
8
+ display: flex;
9
+ width: 100%;
10
+ flex-wrap: wrap; /* Default wrap */
11
+ }
12
+
13
+ /* Flex Properties */
14
+ .umds-grid--wrap-nowrap { flex-wrap: nowrap; }
15
+ .umds-grid--wrap-wrap { flex-wrap: wrap; }
16
+ .umds-grid--wrap-wrap-reverse { flex-wrap: wrap-reverse; }
17
+
18
+ .umds-grid--direction-row { flex-direction: row; }
19
+ .umds-grid--direction-row-reverse { flex-direction: row-reverse; }
20
+ .umds-grid--direction-column { flex-direction: column; }
21
+ .umds-grid--direction-column-reverse { flex-direction: column-reverse; }
22
+
23
+ .umds-grid--justify-flex-start { justify-content: flex-start; }
24
+ .umds-grid--justify-center { justify-content: center; }
25
+ .umds-grid--justify-flex-end { justify-content: flex-end; }
26
+ .umds-grid--justify-space-between { justify-content: space-between; }
27
+ .umds-grid--justify-space-around { justify-content: space-around; }
28
+ .umds-grid--justify-space-evenly { justify-content: space-evenly; }
29
+
30
+ .umds-grid--align-flex-start { align-items: flex-start; }
31
+ .umds-grid--align-center { align-items: center; }
32
+ .umds-grid--align-flex-end { align-items: flex-end; }
33
+ .umds-grid--align-stretch { align-items: stretch; }
34
+ .umds-grid--align-baseline { align-items: baseline; }
35
+
36
+ /* Item Styles */
37
+ .umds-grid--item {
38
+ margin: 0;
39
+ }
40
+
41
+ /* Helper for gap calculation */
42
+ /* Formula: calc(P% - (1 - P/100) * gap) */
43
+
44
+ /* XS (Mobile / Default) */
45
+ .umds-grid--xs-auto { flex-grow: 1; max-width: none; flex-basis: auto; }
46
+ .umds-grid--xs-grow { flex-grow: 1; max-width: 100%; flex-basis: 0; }
47
+ .umds-grid--xs-1 { flex-basis: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); }
48
+ .umds-grid--xs-2 { flex-basis: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); }
49
+ .umds-grid--xs-3 { flex-basis: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); }
50
+ .umds-grid--xs-4 { flex-basis: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); }
51
+ .umds-grid--xs-5 { flex-basis: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); }
52
+ .umds-grid--xs-6 { flex-basis: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); }
53
+ .umds-grid--xs-7 { flex-basis: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); }
54
+ .umds-grid--xs-8 { flex-basis: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); }
55
+ .umds-grid--xs-9 { flex-basis: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); }
56
+ .umds-grid--xs-10 { flex-basis: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); }
57
+ .umds-grid--xs-11 { flex-basis: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); }
58
+ .umds-grid--xs-12 { flex-basis: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); }
59
+
60
+
61
+ /* SM */
62
+ @media (min-width: 640px) {
63
+ .umds-grid--sm-auto { flex-grow: 1; max-width: none; flex-basis: auto; }
64
+ .umds-grid--sm-grow { flex-grow: 1; max-width: 100%; flex-basis: 0; }
65
+ .umds-grid--sm-1 { flex-basis: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); }
66
+ .umds-grid--sm-2 { flex-basis: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); }
67
+ .umds-grid--sm-3 { flex-basis: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); }
68
+ .umds-grid--sm-4 { flex-basis: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); }
69
+ .umds-grid--sm-5 { flex-basis: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); }
70
+ .umds-grid--sm-6 { flex-basis: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); }
71
+ .umds-grid--sm-7 { flex-basis: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); }
72
+ .umds-grid--sm-8 { flex-basis: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); }
73
+ .umds-grid--sm-9 { flex-basis: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); }
74
+ .umds-grid--sm-10 { flex-basis: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); }
75
+ .umds-grid--sm-11 { flex-basis: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); }
76
+ .umds-grid--sm-12 { flex-basis: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); }
77
+
78
+ }
79
+
80
+ /* MD */
81
+ @media (min-width: 768px) {
82
+ .umds-grid--md-auto { flex-grow: 1; max-width: none; flex-basis: auto; }
83
+ .umds-grid--md-grow { flex-grow: 1; max-width: 100%; flex-basis: 0; }
84
+ .umds-grid--md-1 { flex-basis: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); }
85
+ .umds-grid--md-2 { flex-basis: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); }
86
+ .umds-grid--md-3 { flex-basis: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); }
87
+ .umds-grid--md-4 { flex-basis: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); }
88
+ .umds-grid--md-5 { flex-basis: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); }
89
+ .umds-grid--md-6 { flex-basis: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); }
90
+ .umds-grid--md-7 { flex-basis: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); }
91
+ .umds-grid--md-8 { flex-basis: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); }
92
+ .umds-grid--md-9 { flex-basis: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); }
93
+ .umds-grid--md-10 { flex-basis: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); }
94
+ .umds-grid--md-11 { flex-basis: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); }
95
+ .umds-grid--md-12 { flex-basis: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); }
96
+
97
+ }
98
+
99
+ /* LG */
100
+ @media (min-width: 1024px) {
101
+ .umds-grid--lg-auto { flex-grow: 1; max-width: none; flex-basis: auto; }
102
+ .umds-grid--lg-grow { flex-grow: 1; max-width: 100%; flex-basis: 0; }
103
+ .umds-grid--lg-1 { flex-basis: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); }
104
+ .umds-grid--lg-2 { flex-basis: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); }
105
+ .umds-grid--lg-3 { flex-basis: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); }
106
+ .umds-grid--lg-4 { flex-basis: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); }
107
+ .umds-grid--lg-5 { flex-basis: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); }
108
+ .umds-grid--lg-6 { flex-basis: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); }
109
+ .umds-grid--lg-7 { flex-basis: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); }
110
+ .umds-grid--lg-8 { flex-basis: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); }
111
+ .umds-grid--lg-9 { flex-basis: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); }
112
+ .umds-grid--lg-10 { flex-basis: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); }
113
+ .umds-grid--lg-11 { flex-basis: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); }
114
+ .umds-grid--lg-12 { flex-basis: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); }
115
+
116
+ }
117
+
118
+ /* XL */
119
+ @media (min-width: 1280px) {
120
+ .umds-grid--xl-auto { flex-grow: 1; max-width: none; flex-basis: auto; }
121
+ .umds-grid--xl-grow { flex-grow: 1; max-width: 100%; flex-basis: 0; }
122
+ .umds-grid--xl-1 { flex-basis: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); }
123
+ .umds-grid--xl-2 { flex-basis: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); }
124
+ .umds-grid--xl-3 { flex-basis: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); }
125
+ .umds-grid--xl-4 { flex-basis: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); }
126
+ .umds-grid--xl-5 { flex-basis: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); }
127
+ .umds-grid--xl-6 { flex-basis: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); }
128
+ .umds-grid--xl-7 { flex-basis: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); }
129
+ .umds-grid--xl-8 { flex-basis: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); }
130
+ .umds-grid--xl-9 { flex-basis: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); }
131
+ .umds-grid--xl-10 { flex-basis: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); }
132
+ .umds-grid--xl-11 { flex-basis: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); }
133
+ .umds-grid--xl-12 { flex-basis: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); }
134
+
135
+ }
136
+
137
+ /* XXL */
138
+ @media (min-width: 1536px) {
139
+ .umds-grid--xxl-auto { flex-grow: 1; max-width: none; flex-basis: auto; }
140
+ .umds-grid--xxl-grow { flex-grow: 1; max-width: 100%; flex-basis: 0; }
141
+ .umds-grid--xxl-1 { flex-basis: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(8.333333% - ((0.916667) * var(--umds-grid-gap, 0px))); }
142
+ .umds-grid--xxl-2 { flex-basis: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(16.666667% - ((0.833333) * var(--umds-grid-gap, 0px))); }
143
+ .umds-grid--xxl-3 { flex-basis: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(25.000000% - ((0.750000) * var(--umds-grid-gap, 0px))); }
144
+ .umds-grid--xxl-4 { flex-basis: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(33.333333% - ((0.666667) * var(--umds-grid-gap, 0px))); }
145
+ .umds-grid--xxl-5 { flex-basis: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(41.666667% - ((0.583333) * var(--umds-grid-gap, 0px))); }
146
+ .umds-grid--xxl-6 { flex-basis: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(50.000000% - ((0.500000) * var(--umds-grid-gap, 0px))); }
147
+ .umds-grid--xxl-7 { flex-basis: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(58.333333% - ((0.416667) * var(--umds-grid-gap, 0px))); }
148
+ .umds-grid--xxl-8 { flex-basis: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(66.666667% - ((0.333333) * var(--umds-grid-gap, 0px))); }
149
+ .umds-grid--xxl-9 { flex-basis: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(75.000000% - ((0.250000) * var(--umds-grid-gap, 0px))); }
150
+ .umds-grid--xxl-10 { flex-basis: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(83.333333% - ((0.166667) * var(--umds-grid-gap, 0px))); }
151
+ .umds-grid--xxl-11 { flex-basis: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(91.666667% - ((0.083333) * var(--umds-grid-gap, 0px))); }
152
+ .umds-grid--xxl-12 { flex-basis: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); flex-grow: 0; max-width: calc(100.000000% - ((0.000000) * var(--umds-grid-gap, 0px))); }
153
+
154
+ }
@@ -0,0 +1,21 @@
1
+ import './Grid.css';
2
+ export interface GridProps {
3
+ alignItems?: "flex-start" | "center" | "flex-end" | "stretch" | "baseline";
4
+ children?: any;
5
+ container?: boolean;
6
+ direction?: "row" | "row-reverse" | "column" | "column-reverse";
7
+ item?: boolean;
8
+ justifyContent?: "flex-start" | "center" | "flex-end" | "space-between" | "space-around" | "space-evenly";
9
+ lg?: boolean | number | "auto";
10
+ md?: boolean | number | "auto";
11
+ sm?: boolean | number | "auto";
12
+ spacing?: string;
13
+ wrap?: "nowrap" | "wrap" | "wrap-reverse";
14
+ xl?: boolean | number | "auto";
15
+ xxl?: boolean | number | "auto";
16
+ xs?: boolean | number | "auto";
17
+ className?: string;
18
+ [key: string]: any;
19
+ }
20
+ declare function Grid(props: GridProps): import("react/jsx-runtime").JSX.Element;
21
+ export default Grid;
@@ -0,0 +1,53 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import './Grid.css';
3
+ function Grid(props) {
4
+ function classes() {
5
+ const classes = ["umds-grid"];
6
+ if (props.container) {
7
+ classes.push("umds-grid--container");
8
+ if (props.spacing) {
9
+ classes.push(`umds-grid--spacing-${props.spacing}`);
10
+ }
11
+ if (props.wrap)
12
+ classes.push(`umds-grid--wrap-${props.wrap}`);
13
+ if (props.direction)
14
+ classes.push(`umds-grid--direction-${props.direction}`);
15
+ if (props.justifyContent)
16
+ classes.push(`umds-grid--justify-${props.justifyContent}`);
17
+ if (props.alignItems)
18
+ classes.push(`umds-grid--align-${props.alignItems}`);
19
+ }
20
+ if (props.item) {
21
+ classes.push("umds-grid--item");
22
+ const sizes = {
23
+ xs: props.xs,
24
+ sm: props.sm,
25
+ md: props.md,
26
+ lg: props.lg,
27
+ xl: props.xl,
28
+ xxl: props.xxl,
29
+ };
30
+ Object.entries(sizes).forEach(([key, value]) => {
31
+ if (value !== undefined) {
32
+ const sizeClass = value === true ? "grow" : value;
33
+ classes.push(`umds-grid--${key}-${sizeClass}`);
34
+ }
35
+ });
36
+ }
37
+ if (props.className) {
38
+ classes.push(props.className);
39
+ }
40
+ return classes.filter(Boolean).join(" ");
41
+ }
42
+ function style() {
43
+ const style = {};
44
+ if (props.container && props.spacing) {
45
+ const gapValue = `var(--umds-primitive-spacing-${props.spacing})`;
46
+ style.gap = gapValue;
47
+ style["--umds-grid-gap"] = gapValue;
48
+ }
49
+ return style;
50
+ }
51
+ return (_jsx("div", { style: style(), ...props, className: classes(), children: _jsx(_Fragment, { children: props.children }) }));
52
+ }
53
+ export default Grid;
@@ -0,0 +1,41 @@
1
+ .umds-icon {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ line-height: 1;
6
+ }
7
+
8
+ .umds-icon svg {
9
+ width: 1em;
10
+ height: 1em;
11
+ }
12
+
13
+ /* Sizes */
14
+ .umds-icon--sm {
15
+ font-size: 16px;
16
+ }
17
+
18
+ .umds-icon--md {
19
+ font-size: 20px;
20
+ }
21
+
22
+ .umds-icon--lg {
23
+ font-size: 24px;
24
+ }
25
+
26
+ /* Variants */
27
+ .umds-icon--primary {
28
+ color: var(--umds-semantic-color-primary-pure);
29
+ }
30
+
31
+ .umds-icon--secondary {
32
+ color: var(--umds-semantic-color-primary-medium);
33
+ }
34
+
35
+ .umds-icon--neutral {
36
+ color: var(--umds-semantic-color-neutral-dark-down);
37
+ }
38
+
39
+ .umds-icon--inherit {
40
+ color: inherit;
41
+ }
@@ -0,0 +1,12 @@
1
+ import './Icon.css';
2
+ export interface IconProps {
3
+ name?: string;
4
+ component?: any;
5
+ size?: "sm" | "md" | "lg";
6
+ customSize?: string;
7
+ variant?: "primary" | "secondary" | "neutral" | "inherit";
8
+ className?: string;
9
+ [key: string]: any;
10
+ }
11
+ declare function Icon(props: IconProps): import("react/jsx-runtime").JSX.Element;
12
+ export default Icon;
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import './Icon.css';
3
+ function Icon(props) {
4
+ function classes() {
5
+ return [
6
+ "umds-icon",
7
+ props.name ? `iconoir-${props.name}` : "",
8
+ // Only apply size class if customSize is not provided
9
+ props.customSize ? "" : `umds-icon--${props.size || "md"}`,
10
+ `umds-icon--${props.variant || "inherit"}`,
11
+ props.className,
12
+ ]
13
+ .filter(Boolean)
14
+ .join(" ");
15
+ }
16
+ function style() {
17
+ // If customSize is provided, use it for width and height
18
+ if (props.customSize) {
19
+ return {
20
+ width: props.customSize,
21
+ height: props.customSize,
22
+ fontSize: props.customSize,
23
+ };
24
+ }
25
+ return undefined;
26
+ }
27
+ return (_jsx("span", { style: style(), ...props, className: classes(), children: props.component ? _jsx(props.component, {}) : null }));
28
+ }
29
+ export default Icon;
@@ -0,0 +1,190 @@
1
+ /* Base Wrapper */
2
+ .umds-input {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: var(--umds-primitive-spacing-nano);
6
+ /* 1.5 spacing unit fallback */
7
+ font-family: var(--umds-semantic-font-family-base);
8
+ width: 320px;
9
+ /* Default width */
10
+ }
11
+
12
+ .umds-input--full-width {
13
+ width: 100%;
14
+ }
15
+
16
+ /* Label */
17
+ .umds-input__label {
18
+ display: flex;
19
+ align-items: center;
20
+ gap: 2px;
21
+ /* Font styles handled by Text component */
22
+ }
23
+
24
+ .umds-input__required {
25
+ color: var(--umds-semantic-color-feedback-negative-pure);
26
+ font-weight: bold;
27
+ }
28
+
29
+ /* Input Container (Box) */
30
+ .umds-input__container {
31
+ display: flex;
32
+ align-items: center;
33
+ position: relative;
34
+ background-color: var(--umds-semantic-color-background-white);
35
+ border: 1px solid var(--umds-semantic-color-neutral-dark-up);
36
+ border-radius: var(--umds-primitive-border-radius-sm);
37
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
38
+ }
39
+
40
+ /* Sizes */
41
+ .umds-input--md .umds-input__container {
42
+ height: var(--umds-primitive-spacing-sm);
43
+ padding: 0 var(--umds-primitive-spacing-xxxs);
44
+ }
45
+
46
+ .umds-input--lg .umds-input__container {
47
+ height: var(--umds-primitive-spacing-md);
48
+ padding: 0 var(--umds-primitive-spacing-xxs);
49
+ }
50
+
51
+ .umds-input--sm .umds-input__container {
52
+ height: var(--umds-primitive-spacing-xs);
53
+ padding: 0 var(--umds-primitive-spacing-nano);
54
+ }
55
+
56
+ .umds-input--xs .umds-input__container {
57
+ height: var(--umds-primitive-spacing-xxs);
58
+ padding: 0 var(--umds-primitive-spacing-nano);
59
+ }
60
+
61
+ /* Control (Input element) */
62
+ .umds-input__control {
63
+ flex: 1;
64
+ border: none;
65
+ background: transparent;
66
+ outline: none;
67
+ color: var(--umds-semantic-color-neutral-pure);
68
+ font-size: var(--umds-primitive-font-size-xs);
69
+ width: 100%;
70
+ padding: 0;
71
+ margin: 0;
72
+ }
73
+
74
+ .umds-input__control::placeholder {
75
+ color: var(--umds-semantic-color-neutral-light-down);
76
+ }
77
+
78
+ .umds-input--lg .umds-input__control {
79
+ font-size: var(--umds-primitive-font-size-sm);
80
+ }
81
+
82
+ .umds-input--sm .umds-input__control {
83
+ font-size: var(--umds-primitive-font-size-xxs);
84
+ }
85
+
86
+ .umds-input--xs .umds-input__control {
87
+ font-size: var(--umds-primitive-font-size-xxxs);
88
+ }
89
+
90
+ /* States */
91
+ .umds-input__container:hover {
92
+ border-color: var(--umds-semantic-color-neutral-dark-up);
93
+ }
94
+
95
+ .umds-input__container:focus-within {
96
+ /* Match Button Focus Style */
97
+ outline: 2px solid var(--umds-semantic-color-neutral-dark-down);
98
+ outline-offset: 2px;
99
+ border-color: var(--umds-semantic-color-neutral-light-medium);
100
+ /* Keep original border */
101
+ }
102
+
103
+ /* Error State */
104
+ .umds-input--error .umds-input__container {
105
+ border-color: var(--umds-semantic-color-feedback-negative-pure);
106
+ }
107
+
108
+ .umds-input--error .umds-input__container:focus-within {
109
+ outline: 2px solid var(--umds-semantic-color-feedback-negative-pure);
110
+ border-color: var(--umds-semantic-color-feedback-negative-pure);
111
+ }
112
+
113
+ /* Disabled State */
114
+ .umds-input--disabled .umds-input__label,
115
+ .umds-input--disabled .umds-input__message {
116
+ color: var(--umds-semantic-color-neutral-light-down);
117
+ }
118
+
119
+ .umds-input--disabled .umds-input__container {
120
+ background-color: var(--umds-semantic-color-neutral-light-medium);
121
+ border-color: var(--umds-semantic-color-neutral-light-down);
122
+ pointer-events: none;
123
+ /* Prevent interaction */
124
+ }
125
+
126
+ .umds-input--disabled .umds-input__control {
127
+ color: var(--umds-semantic-color-neutral-light-down);
128
+ -webkit-text-fill-color: var(--umds-semantic-color-neutral-light-down);
129
+ /* Fix for Safari/Chrome disabled text color */
130
+ }
131
+
132
+ .umds-input--disabled .umds-input__icon-left,
133
+ .umds-input--disabled .umds-input__actions-right {
134
+ color: var(--umds-semantic-color-neutral-light-down);
135
+ opacity: 1;
136
+ }
137
+
138
+ .umds-input--disabled .umds-input__required {
139
+ opacity: 0.3;
140
+ }
141
+
142
+ /* Ensure cursor is applied effectively */
143
+ .umds-input--disabled,
144
+ .umds-input--disabled input,
145
+ .umds-input--disabled button {
146
+ cursor: not-allowed;
147
+ }
148
+
149
+ /* Read Only State */
150
+ .umds-input--readonly .umds-input__container {
151
+ background-color: var(--umds-semantic-color-background-light);
152
+ border-color: var(--umds-semantic-color-neutral-light-medium);
153
+ }
154
+
155
+ /* Icons */
156
+ .umds-input__icon-left {
157
+ display: flex;
158
+ align-items: center;
159
+ justify-content: center;
160
+ margin-right: var(--umds-primitive-spacing-nano);
161
+ color: var(--umds-semantic-color-neutral-dark-up);
162
+ }
163
+
164
+ .umds-input__actions-right {
165
+ display: flex;
166
+ align-items: center;
167
+ gap: var(--umds-primitive-spacing-nano);
168
+ margin-left: var(--umds-primitive-spacing-nano);
169
+ }
170
+
171
+ .umds-input__action-btn {
172
+ display: flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ background: none;
176
+ border: none;
177
+ cursor: pointer;
178
+ padding: 0;
179
+ color: var(--umds-semantic-color-neutral-dark-up);
180
+ transition: color 0.15s ease;
181
+ }
182
+
183
+ .umds-input__action-btn:hover {
184
+ color: var(--umds-semantic-color-primary-pure);
185
+ }
186
+
187
+ .umds-input__action-btn:focus {
188
+ outline: none;
189
+ color: var(--umds-semantic-color-primary-dark);
190
+ }
@@ -0,0 +1,32 @@
1
+ import './Input.css';
2
+ export interface InputAction {
3
+ icon: any;
4
+ onClick?: (event: any) => void;
5
+ label?: string;
6
+ tooltip?: string;
7
+ }
8
+ export interface InputProps {
9
+ label?: any;
10
+ type?: "text" | "password" | "email" | "number" | "tel" | "url" | "search";
11
+ name?: string;
12
+ value?: string;
13
+ defaultValue?: string;
14
+ placeholder?: string;
15
+ helperText?: any;
16
+ errorMessage?: any;
17
+ disabled?: boolean;
18
+ readOnly?: boolean;
19
+ required?: boolean;
20
+ size?: "xs" | "sm" | "md" | "lg";
21
+ fullWidth?: boolean;
22
+ className?: string;
23
+ iconLeft?: any;
24
+ iconsRight?: InputAction[];
25
+ onChange?: (event: any) => void;
26
+ onFocus?: (event: any) => void;
27
+ onBlur?: (event: any) => void;
28
+ mask?: string;
29
+ [key: string]: any;
30
+ }
31
+ declare function Input(props: InputProps): import("react/jsx-runtime").JSX.Element;
32
+ export default Input;
@@ -0,0 +1,58 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './Input.css';
3
+ "use client";
4
+ import { useState } from "react";
5
+ import Icon from "../Icon/Icon";
6
+ import Text from "../Text/Text";
7
+ function Input(props) {
8
+ const [isPasswordVisible, setIsPasswordVisible] = useState(() => false);
9
+ function togglePassword() {
10
+ setIsPasswordVisible(!isPasswordVisible);
11
+ }
12
+ const [internalValue, setInternalValue] = useState(() => props.defaultValue);
13
+ function inputType() {
14
+ if (props.type === "password" && isPasswordVisible) {
15
+ return "text";
16
+ }
17
+ return props.type || "text";
18
+ }
19
+ function wrapperClasses() {
20
+ const hasError = props.errorMessage && props.errorMessage.length > 0;
21
+ return [
22
+ "umds-input",
23
+ props.fullWidth ? "umds-input--full-width" : "",
24
+ hasError ? "umds-input--error" : "",
25
+ props.disabled ? "umds-input--disabled" : "",
26
+ props.readOnly ? "umds-input--readonly" : "",
27
+ `umds-input--${props.size || "md"}`,
28
+ props.className,
29
+ ]
30
+ .filter(Boolean)
31
+ .join(" ");
32
+ }
33
+ function inputContainerClasses() {
34
+ const hasError = props.errorMessage && props.errorMessage.length > 0;
35
+ return [
36
+ "umds-input__container",
37
+ hasError ? "umds-input__container--error" : "",
38
+ props.disabled ? "umds-input__container--disabled" : "",
39
+ props.readOnly ? "umds-input__container--readonly" : "",
40
+ ]
41
+ .filter(Boolean)
42
+ .join(" ");
43
+ }
44
+ function iconSize() {
45
+ return props.size === "sm" || props.size === "xs" ? "sm" : "md";
46
+ }
47
+ function handleChange(event) {
48
+ setInternalValue(event.target.value);
49
+ if (props.onChange) {
50
+ props.onChange(event);
51
+ }
52
+ }
53
+ return (_jsxs("div", { className: wrapperClasses(), children: [props.label ? (_jsxs(Text, { as: "label", variant: "label", className: "umds-input__label", children: [_jsx(_Fragment, { children: props.label || "{props.label}" }), props.required ? (_jsx("span", { className: "umds-input__required", children: "*" })) : null] })) : null, _jsxs("div", { className: inputContainerClasses(), children: [props.iconLeft ? (_jsx("div", { className: "umds-input__icon-left", children: typeof props.iconLeft === "string" ? (_jsx(Icon, { name: props.iconLeft, size: iconSize() })) : (_jsx(_Fragment, { children: props.iconLeft || "{props.iconLeft}" })) })) : null, _jsx("input", { className: "umds-input__control", type: inputType(), name: props.name, disabled: props.disabled, readOnly: props.readOnly, placeholder: props.placeholder, value: props.value !== undefined ? props.value : internalValue, defaultValue: props.defaultValue, onChange: (event) => handleChange(event), onFocus: (event) => props.onFocus?.(event), onBlur: (event) => props.onBlur?.(event), "aria-invalid": !!(props.errorMessage && props.errorMessage.length > 0), required: props.required }), _jsxs("div", { className: "umds-input__actions-right", children: [props.type === "password" ? (_jsx("button", { type: "button", className: "umds-input__action-btn", onClick: (event) => togglePassword(), "aria-label": isPasswordVisible ? "Ocultar senha" : "Mostrar senha", children: _jsx(Icon, { name: isPasswordVisible ? "eye-closed" : "eye-solid", size: iconSize() }) })) : null, props.iconsRight?.length ? (_jsx(_Fragment, { children: props.iconsRight?.map((action, index) => (_jsxs("button", { type: "button", className: "umds-input__action-btn", onClick: (e) => {
54
+ e.stopPropagation();
55
+ action.onClick?.(e);
56
+ }, title: action.tooltip, "aria-label": action.label || action.tooltip, children: [typeof action.icon === "string" ? (_jsx(Icon, { name: action.icon, size: iconSize() })) : null, typeof action.icon !== "string" ? _jsx(_Fragment, { children: action.icon }) : null] }))) })) : null] })] }), props.errorMessage ? (_jsx(Text, { as: "span", variant: "caption", color: "error", children: props.errorMessage })) : null, props.helperText ? (_jsx(Text, { as: "span", variant: "caption", color: "secondary", children: _jsx(_Fragment, { children: props.helperText || "{props.helperText}" }) })) : null] }));
57
+ }
58
+ export default Input;