@uxf/ui 1.0.0-beta.51 → 1.0.0-beta.55
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/css/avatar-file-input.css +9 -0
- package/css/button.css +108 -0
- package/css/checkbox-input.css +4 -0
- package/css/checkbox.css +19 -0
- package/css/combobox.css +23 -0
- package/css/component-structure-analyzer.css +31 -0
- package/css/dropdown.css +11 -0
- package/css/error-message.css +3 -0
- package/css/form-control.css +7 -0
- package/css/icon.css +8 -0
- package/css/input-basic.css +18 -0
- package/css/input.css +98 -0
- package/css/label.css +7 -0
- package/css/radio-group.css +8 -0
- package/css/radio.css +20 -0
- package/css/raster-image.css +16 -0
- package/css/select.css +21 -0
- package/css/textarea.css +56 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
.uxf-avatar-file-input {
|
|
3
|
+
@apply overflow-hidden relative mx-auto h-24 w-24 rounded-full bg-gray-300 text-gray-300 transition
|
|
4
|
+
before:absolute before:inset-0 before:border before:border-dashed before:border-current before:rounded-full
|
|
5
|
+
hover:before:border-2 is-focused:text-gray-800 is-focused:bg-white
|
|
6
|
+
is-disabled:opacity-50 is-disabled:pointer-events-none is-readonly:pointer-events-none
|
|
7
|
+
is-invalid:text-red-600 is-invalid:is-focused:ring-red-300;
|
|
8
|
+
}
|
|
9
|
+
|
package/css/button.css
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
@keyframes spinner {
|
|
2
|
+
to {transform: rotate(360deg);}
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.uxf-button {
|
|
6
|
+
@apply inline-flex items-center rounded font-medium shadow-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 relative cursor-pointer;
|
|
7
|
+
|
|
8
|
+
&__text {
|
|
9
|
+
@apply truncate;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&--full-width {
|
|
13
|
+
@apply w-full flex flex-row justify-center;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&.is-disabled {
|
|
17
|
+
@apply opacity-50 pointer-events-none shadow-none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&.is-loading:after {
|
|
21
|
+
content: '';
|
|
22
|
+
width: 20px;
|
|
23
|
+
height: 20px;
|
|
24
|
+
border-radius: 50%;
|
|
25
|
+
border-top: 2px solid;
|
|
26
|
+
border-right: 2px solid transparent;
|
|
27
|
+
animation: spinner .8s linear infinite;
|
|
28
|
+
margin-left: 8px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&--size-xs {
|
|
32
|
+
@apply px-2.5 py-1.5 text-xs;
|
|
33
|
+
|
|
34
|
+
&.is-loading:after {
|
|
35
|
+
width: 14px;
|
|
36
|
+
height: 14px;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&--size-sm {
|
|
41
|
+
@apply px-3 py-2 text-sm leading-4;
|
|
42
|
+
|
|
43
|
+
&.is-loading:after {
|
|
44
|
+
width: 16px;
|
|
45
|
+
height: 16px;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&--size-default {
|
|
50
|
+
@apply px-4 py-2 text-sm;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&--size-lg {
|
|
54
|
+
@apply px-4 py-2 text-base;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&--size-xl {
|
|
58
|
+
@apply border px-6 py-3 text-base;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&--variant-outlined {
|
|
62
|
+
@apply border bg-white;
|
|
63
|
+
|
|
64
|
+
&.uxf-button--color-default {
|
|
65
|
+
@apply border-primary-500 text-primary-700 hover:bg-primary-50 focus:ring-primary-500;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&.uxf-button--color-white {
|
|
69
|
+
@apply border-gray-300 text-gray-700 hover:bg-gray-50 focus:ring-gray-500;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&.uxf-button--color-success {
|
|
73
|
+
@apply border-success-500 text-success-700 hover:bg-success-50 focus:ring-success-500;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&.uxf-button--color-warning {
|
|
77
|
+
@apply border-warning-500 text-warning-700 hover:bg-warning-50 focus:ring-warning-500;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&.uxf-button--color-error {
|
|
81
|
+
@apply border-error-500 text-error-700 hover:bg-error-50 focus:ring-error-500;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&--variant-default {
|
|
86
|
+
@apply border-transparent text-white;
|
|
87
|
+
|
|
88
|
+
&.uxf-button--color-default {
|
|
89
|
+
@apply bg-primary-500 hover:bg-primary-600 focus:ring-primary-400;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&.uxf-button--color-white {
|
|
93
|
+
@apply bg-gray-50 text-gray-700 shadow-none hover:bg-gray-100 focus:ring-gray-500;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&.uxf-button--color-success {
|
|
97
|
+
@apply bg-success-500 hover:bg-success-600 focus:ring-success-400;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&.uxf-button--color-warning {
|
|
101
|
+
@apply bg-warning-500 hover:bg-warning-600 focus:ring-warning-400;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&.uxf-button--color-error {
|
|
105
|
+
@apply bg-error-500 hover:bg-error-600 focus:ring-error-400;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
package/css/checkbox.css
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.uxf-checkbox {
|
|
2
|
+
@apply shrink-0 inline-flex items-center justify-center relative rounded-lg text-gray-300 h-6 w-6
|
|
3
|
+
bg-white transition outline-none
|
|
4
|
+
before:border before:absolute before:inset-0 before:rounded-lg before:border-current
|
|
5
|
+
is-selected:text-indigo-600 is-selected:before:border-transparent is-selected:bg-current
|
|
6
|
+
is-disabled:text-gray-300 is-selected:before:border-transparent
|
|
7
|
+
is-invalid:text-red-600 is-invalid:before:border-transparent
|
|
8
|
+
focus-visible:before:border-2 focus-visible:text-gray-800
|
|
9
|
+
is-selected:hover:text-indigo-900 is-selected:is-invalid:hover:text-red-800
|
|
10
|
+
is-selected:focus-visible:text-indigo-900
|
|
11
|
+
is-selected:focus-visible:ring-indigo-600 is-selected:focus-visible:ring-2
|
|
12
|
+
is-selected:is-invalid:focus-visible:text-red-800 is-selected:is-invalid:focus-visible:ring-red-600
|
|
13
|
+
is-selected:is-invalid:focus-visible:ring-2;
|
|
14
|
+
|
|
15
|
+
&__label {
|
|
16
|
+
@apply sr-only;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
package/css/combobox.css
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.uxf-combobox {
|
|
2
|
+
@apply relative;
|
|
3
|
+
|
|
4
|
+
&__button {
|
|
5
|
+
@apply items-center flex flex-row relative w-full cursor-default rounded-md border border-gray-300 bg-white
|
|
6
|
+
py-2 px-3 text-left shadow-sm focus:border-indigo-500 focus:outline-none focus:ring-1
|
|
7
|
+
focus:ring-indigo-500 sm:text-sm;
|
|
8
|
+
|
|
9
|
+
&.is-invalid {
|
|
10
|
+
@apply border-error-500 ring-error-500;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&__input {
|
|
15
|
+
@apply flex-grow focus:ring-0 focus:border-0 focus:outline-none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&__button-icon {
|
|
19
|
+
&.is-open {
|
|
20
|
+
@apply rotate-180;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
.uxf-component-structure-analyzer {
|
|
2
|
+
padding-bottom: 32px;
|
|
3
|
+
|
|
4
|
+
* {
|
|
5
|
+
padding: 32px !important;
|
|
6
|
+
border: 2px solid black !important;
|
|
7
|
+
position: relative !important;
|
|
8
|
+
color: lightgray !important;
|
|
9
|
+
background-color: white !important;
|
|
10
|
+
border-radius: initial !important;
|
|
11
|
+
margin: 4px !important;
|
|
12
|
+
font-family: monospace;
|
|
13
|
+
font-size: 12px;
|
|
14
|
+
min-width: 200px;
|
|
15
|
+
height: auto !important;
|
|
16
|
+
top: initial !important;
|
|
17
|
+
left: initial !important;
|
|
18
|
+
right: initial !important;
|
|
19
|
+
|
|
20
|
+
&::before {
|
|
21
|
+
position: absolute;
|
|
22
|
+
left: 4px;
|
|
23
|
+
top: 2px;
|
|
24
|
+
content: attr(class);
|
|
25
|
+
font-size: 12px;
|
|
26
|
+
line-height: 14px;
|
|
27
|
+
color: black;
|
|
28
|
+
font-weight: 500;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
package/css/dropdown.css
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
.uxf-dropdown {
|
|
2
|
+
@apply absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm;
|
|
3
|
+
|
|
4
|
+
&__item {
|
|
5
|
+
@apply relative cursor-default select-none py-2 px-4;
|
|
6
|
+
|
|
7
|
+
&.is-active {
|
|
8
|
+
@apply bg-primary-500 text-white;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
package/css/icon.css
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.uxf-input {
|
|
2
|
+
@apply flex flex-row;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.uxf-input__wrapper {
|
|
6
|
+
@apply flex w-full flex-row;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.uxf-input__element {
|
|
10
|
+
@apply w-full;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.uxf-input__left-element,
|
|
14
|
+
.uxf-input__right-element,
|
|
15
|
+
.uxf-input__left-addon,
|
|
16
|
+
.uxf-input__right-addon {
|
|
17
|
+
@apply flex flex-row items-center whitespace-nowrap;
|
|
18
|
+
}
|
package/css/input.css
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
.uxf-input {
|
|
2
|
+
@apply rounded-md shadow-sm sm:text-sm;
|
|
3
|
+
|
|
4
|
+
&__left-element,
|
|
5
|
+
&__right-element {
|
|
6
|
+
@apply text-gray-400;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
&__left-element {
|
|
10
|
+
@apply mr-2;
|
|
11
|
+
}
|
|
12
|
+
&__right-element {
|
|
13
|
+
@apply ml-2;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&__left-addon,
|
|
17
|
+
&__right-addon {
|
|
18
|
+
@apply border border-gray-300 bg-gray-50 px-2 text-gray-500;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__left-addon {
|
|
22
|
+
@apply rounded-l-md border-r-0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__right-addon {
|
|
26
|
+
@apply rounded-r-md border-l-0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&__wrapper {
|
|
30
|
+
@apply h-10 rounded-md border border-gray-300 px-3;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&__element {
|
|
34
|
+
@apply bg-transparent outline-none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&--has-right-addon {
|
|
38
|
+
.uxf-input__wrapper {
|
|
39
|
+
@apply rounded-r-none;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&--has-left-addon {
|
|
44
|
+
.uxf-input__wrapper {
|
|
45
|
+
@apply rounded-l-none;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&.is-focused {
|
|
50
|
+
.uxf-input__wrapper {
|
|
51
|
+
@apply border-primary-500 ring-1 ring-inset ring-primary-500 ring-offset-0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&.is-disabled {
|
|
56
|
+
@apply cursor-not-allowed;
|
|
57
|
+
|
|
58
|
+
.uxf-input__element {
|
|
59
|
+
@apply cursor-not-allowed text-gray-500;
|
|
60
|
+
}
|
|
61
|
+
.uxf-input__wrapper {
|
|
62
|
+
@apply bg-gray-50;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&.is-readonly {
|
|
67
|
+
@apply cursor-not-allowed;
|
|
68
|
+
|
|
69
|
+
.uxf-input__element {
|
|
70
|
+
@apply cursor-not-allowed;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.uxf-input__wrapper {
|
|
74
|
+
@apply ring-0 border-gray-300;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&.is-invalid {
|
|
79
|
+
&.is-focused {
|
|
80
|
+
.uxf-input__wrapper {
|
|
81
|
+
@apply ring-1 ring-inset ring-error-500 border-error-500 ring-offset-0;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.uxf-input__wrapper {
|
|
86
|
+
@apply border-error-500 placeholder-error-300;
|
|
87
|
+
|
|
88
|
+
.uxf-input__left-element,
|
|
89
|
+
.uxf-input__right-element {
|
|
90
|
+
@apply text-error-500;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.uxf-input__element {
|
|
94
|
+
@apply text-error-900 placeholder-error-300;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
package/css/label.css
ADDED
package/css/radio.css
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.uxf-radio {
|
|
2
|
+
@apply h-4 w-4 border rounded-full border-gray-300 text-indigo-600;
|
|
3
|
+
|
|
4
|
+
&.is-selected,.is-readonly {
|
|
5
|
+
@apply border-primary-500 border-4;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
&.is-invalid {
|
|
9
|
+
@apply border-error-500;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&.is-disabled {
|
|
13
|
+
@apply border-gray-200
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&__inner {
|
|
17
|
+
@apply bg-current rounded-full h-3.5 w-3.5 opacity-0 is-selected:opacity-100;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
package/css/select.css
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.uxf-select {
|
|
2
|
+
@apply relative;
|
|
3
|
+
|
|
4
|
+
&__button {
|
|
5
|
+
@apply h-10 items-center flex flex-row relative w-full cursor-default rounded-md border border-gray-300 bg-white py-2 px-3 text-left shadow-sm focus:border-indigo-500 focus:outline-none focus:ring-1 focus:ring-indigo-500 sm:text-sm;
|
|
6
|
+
|
|
7
|
+
&.is-invalid {
|
|
8
|
+
@apply border-error-500 ring-error-500;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&__button-text {
|
|
13
|
+
@apply flex-grow;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&__button-icon {
|
|
17
|
+
&.is-open {
|
|
18
|
+
@apply rotate-180;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
package/css/textarea.css
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
.uxf-textarea {
|
|
2
|
+
&__wrapper {
|
|
3
|
+
@apply rounded-md shadow-sm sm:text-sm
|
|
4
|
+
border border-gray-300 p-2;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
&__element {
|
|
8
|
+
@apply bg-transparent outline-none resize-none;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&.is-focused {
|
|
12
|
+
.uxf-textarea__wrapper {
|
|
13
|
+
@apply border-primary-500 ring-1 ring-inset ring-primary-500 ring-offset-0;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&.is-disabled {
|
|
18
|
+
@apply cursor-not-allowed;
|
|
19
|
+
.uxf-textarea__wrapper {
|
|
20
|
+
@apply bg-gray-50;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.uxf-textarea__element {
|
|
24
|
+
@apply cursor-not-allowed text-gray-500;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.is-readonly {
|
|
29
|
+
@apply cursor-not-allowed;
|
|
30
|
+
|
|
31
|
+
.uxf-textarea__wrapper {
|
|
32
|
+
@apply ring-0 border-gray-300;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.uxf-textarea__element {
|
|
36
|
+
@apply cursor-not-allowed;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&.is-invalid {
|
|
41
|
+
&.is-focused {
|
|
42
|
+
.uxf-textarea__wrapper {
|
|
43
|
+
@apply ring-1 ring-inset ring-error-500 border-error-500 ring-offset-0;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.uxf-textarea__wrapper {
|
|
48
|
+
@apply border-error-500 placeholder-error-300;
|
|
49
|
+
|
|
50
|
+
.uxf-textarea__element {
|
|
51
|
+
@apply text-error-900 placeholder-error-300;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|