@react-fabric/form 1.0.0-beta.36 → 1.0.0-beta.37
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/{src/input/ArrayInput.module.css → css/_arrayInput.css} +8 -8
- package/{src/input/ColorPicker.module.css → css/_colorPicker.css} +13 -13
- package/{src/internal/Field.module.css → css/_field.css} +17 -17
- package/{src/input/File.module.css → css/_file.css} +7 -7
- package/css/styles.css +27 -0
- package/dist/cjs/builder/FileField.js +35 -23
- package/dist/cjs/input/ArrayInput.js +3 -4
- package/dist/cjs/input/AvatarInput.js +1 -1
- package/dist/cjs/input/Checkbox.js +1 -1
- package/dist/cjs/input/ColorInput.js +1 -1
- package/dist/cjs/input/ColorPicker.js +1 -2
- package/dist/cjs/input/Field.js +1 -2
- package/dist/cjs/input/File.js +1 -2
- package/dist/cjs/input/Radio.js +1 -1
- package/dist/cjs/internal/ErrorIcon.js +1 -1
- package/dist/cjs/internal/FieldWrapper.js +1 -2
- package/dist/cjs/internal/InputWrapper.js +4 -5
- package/dist/cjs/select/AutoComplete.js +1 -1
- package/dist/cjs/select/Select.js +1 -1
- package/dist/esm/builder/FileField.js +37 -25
- package/dist/esm/input/ArrayInput.js +3 -4
- package/dist/esm/input/AvatarInput.js +1 -1
- package/dist/esm/input/Checkbox.js +1 -1
- package/dist/esm/input/ColorInput.js +1 -1
- package/dist/esm/input/ColorPicker.js +1 -2
- package/dist/esm/input/Field.js +1 -2
- package/dist/esm/input/File.js +1 -2
- package/dist/esm/input/Radio.js +1 -1
- package/dist/esm/internal/ErrorIcon.js +1 -1
- package/dist/esm/internal/FieldWrapper.js +1 -2
- package/dist/esm/internal/InputWrapper.js +4 -5
- package/dist/esm/select/AutoComplete.js +1 -1
- package/dist/esm/select/Select.js +1 -1
- package/dist/types/builder/FileField.d.ts +3 -1
- package/package.json +16 -5
- package/src/builder/FileField.tsx +48 -23
- package/src/input/ArrayInput.tsx +3 -4
- package/src/input/AvatarInput.tsx +1 -1
- package/src/input/Checkbox.tsx +1 -1
- package/src/input/ColorInput.tsx +1 -1
- package/src/input/ColorPicker.tsx +1 -2
- package/src/input/Field.tsx +1 -2
- package/src/input/File.tsx +2 -5
- package/src/input/Radio.tsx +1 -1
- package/src/internal/ErrorIcon.tsx +1 -1
- package/src/internal/FieldWrapper.tsx +1 -2
- package/src/internal/InputWrapper.tsx +6 -7
- package/src/select/AutoComplete.tsx +1 -1
- package/src/select/Select.tsx +1 -1
- package/dist/cjs/input/ArrayInput.module.css +0 -1
- package/dist/cjs/input/ColorPicker.module.css +0 -1
- package/dist/cjs/input/File.module.css +0 -1
- package/dist/cjs/internal/Field.module.css +0 -1
- package/dist/esm/input/ArrayInput.module.css +0 -1
- package/dist/esm/input/ColorPicker.module.css +0 -1
- package/dist/esm/input/File.module.css +0 -1
- package/dist/esm/internal/Field.module.css +0 -1
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
import classNames from "classnames";
|
|
25
|
-
import classes from "./Field.module.css";
|
|
26
25
|
|
|
27
26
|
export const FieldWrapper = ({
|
|
28
27
|
label,
|
|
@@ -41,7 +40,7 @@ export const FieldWrapper = ({
|
|
|
41
40
|
return (
|
|
42
41
|
<div
|
|
43
42
|
className={classNames(
|
|
44
|
-
|
|
43
|
+
"fabric-fieldWrapper",
|
|
45
44
|
className,
|
|
46
45
|
inline ? "flex flex-nowrap gap-1" : "block",
|
|
47
46
|
)}
|
|
@@ -34,7 +34,6 @@ import {
|
|
|
34
34
|
} from "react";
|
|
35
35
|
import { Fragment } from "react/jsx-runtime";
|
|
36
36
|
import { ErrorIcon } from "./ErrorIcon";
|
|
37
|
-
import classes from "./Field.module.css";
|
|
38
37
|
import { FieldWrapper } from "./FieldWrapper";
|
|
39
38
|
|
|
40
39
|
export const InputWrapper = ({
|
|
@@ -104,11 +103,11 @@ export const InputWrapper = ({
|
|
|
104
103
|
role="none"
|
|
105
104
|
ref={wrapperRef}
|
|
106
105
|
className={classNames(
|
|
107
|
-
|
|
108
|
-
invalid &&
|
|
106
|
+
"fabric-inputWrapper",
|
|
107
|
+
invalid && "fabric-invalidWrapper",
|
|
109
108
|
!noOutline &&
|
|
110
109
|
!noBorder &&
|
|
111
|
-
"bg-
|
|
110
|
+
"bg-(--fabric-input) outline overflow-hidden",
|
|
112
111
|
"flex flex-nowrap items-center flex-1",
|
|
113
112
|
textarea ? "rounded-capped group" : "rounded",
|
|
114
113
|
isExpanded
|
|
@@ -129,7 +128,7 @@ export const InputWrapper = ({
|
|
|
129
128
|
<div
|
|
130
129
|
onClickCapture={doFocus}
|
|
131
130
|
className={classNames(
|
|
132
|
-
|
|
131
|
+
"fabric-decorate",
|
|
133
132
|
"text-muted leading-none flex-content",
|
|
134
133
|
isString(decorateStart) && "px-1",
|
|
135
134
|
)}
|
|
@@ -145,7 +144,7 @@ export const InputWrapper = ({
|
|
|
145
144
|
onClick={handleClear}
|
|
146
145
|
className={classNames(
|
|
147
146
|
"text-tint-500 hover:text-tint-700 p-1 z-1 flex-content",
|
|
148
|
-
|
|
147
|
+
"fabric-inputClear",
|
|
149
148
|
textarea && "self-start mt-1 me-1",
|
|
150
149
|
)}
|
|
151
150
|
/>
|
|
@@ -154,7 +153,7 @@ export const InputWrapper = ({
|
|
|
154
153
|
<div
|
|
155
154
|
onClickCapture={doFocus}
|
|
156
155
|
className={classNames(
|
|
157
|
-
|
|
156
|
+
"fabric-decorate",
|
|
158
157
|
"text-muted leading-none flex-content",
|
|
159
158
|
isString(decorateEnd) && "px-1",
|
|
160
159
|
decorateEndHideWhenEmpty && "peer-placeholder-shown:hidden",
|
|
@@ -328,7 +328,7 @@ export const AutoComplete = ({
|
|
|
328
328
|
>
|
|
329
329
|
<Options
|
|
330
330
|
ref={refs.setFloating}
|
|
331
|
-
className="outline shadow-lg max-h-[40vh] z-
|
|
331
|
+
className="outline shadow-lg max-h-[40vh] z-(--z-popover)"
|
|
332
332
|
style={{
|
|
333
333
|
width: refs.reference.current?.getBoundingClientRect().width,
|
|
334
334
|
...floatingStyles,
|
package/src/select/Select.tsx
CHANGED
|
@@ -330,7 +330,7 @@ export const Select = <T extends AnyObject = string>({
|
|
|
330
330
|
>
|
|
331
331
|
<Options
|
|
332
332
|
ref={refs.setFloating}
|
|
333
|
-
className="outline shadow-lg max-h-[40vh] z-
|
|
333
|
+
className="outline shadow-lg max-h-[40vh] z-(--z-popover)"
|
|
334
334
|
style={{
|
|
335
335
|
width: refs.reference.current?.getBoundingClientRect().width,
|
|
336
336
|
...floatingStyles,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer var{.arrayInput{& [data-ref=fieldWrapper]{flex:1 1 0%}& .addButton :global(.buttonInner){color:theme(colors.tint.600);outline:1px dashed theme(colors.tint.600);&[data-invalid=true]{background-color:theme(colors.danger.100);color:theme(colors.danger.600);outline:1px dashed theme(colors.danger.600)}}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer comp{.colorPicker{--color-shadow:theme(borderColor.base);& input{background-color:theme(backgroundColor.base);border:1px solid theme(borderColor.base);border-radius:theme(borderRadius.sm);box-shadow:none;color:theme(textColor.base);line-height:2;padding:0 4px!important;&:focus{border-color:theme(borderColor.primary.DEFAULT)}}& label{color:theme(textColor.base)}& :global(.flexbox-fix){border-color:theme(borderColor.muted);justify-content:center;&>div>div{text-align:center}& span>div{box-shadow:inset 0 0 1px 1px theme(borderColor.base)!important}}& :global(.saturation-black)~div{pointer-events:none}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer comp{.fileInput{&::-webkit-file-upload-button{background-color:theme(backgroundColor.primary.500);border:0;border-radius:theme(borderRadius.DEFAULT);color:theme(textColor.white);cursor:pointer;opacity:.8;padding-block:0;&:hover{opacity:.9}}&[aria-invalid=true]::-webkit-file-upload-button{background-color:theme(backgroundColor.danger.500)}&:disabled::-webkit-file-upload-button{background-color:theme(backgroundColor.muted);pointer-events:none}&[readOnly]{pointer-events:none}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer comp{}@layer var{.inputWrapper{&:after{inset-inline:50%;transition:all .3s;transition-delay:.1s}& .decorate:has([data-ref=button]){align-self:stretch;display:flex}&:has(input[disabled],textarea[disabled]){background-color:theme(colors.tint.50);cursor:not-allowed;& input,& textarea{cursor:not-allowed}}&:focus-within,&:has([data-open=true]){background-color:var(--fabric-input-focus);outline-color:var(--primary);z-index:1;&:not(:has([aria-readonly=true]:not([hidden]))):after{inset-inline:0}}&:global(.fixed){box-shadow:0 0 2rem .5rem var(--fabric-shadow)}& input,& textarea{max-width:100%}&>input[type=number]+.inputClear{margin-inline:-3rem 0}& input::-ms-clear,& select::-ms-clear,& textarea::-ms-clear{display:none}& input[type=search]::-webkit-search-cancel-button{display:none}& input[type=password]:not(:placeholder-shown){font-family:caption;letter-spacing:2px}& input[type=date]::-webkit-calendar-picker-indicator,& input[type=datetime-local]::-webkit-calendar-picker-indicator{appearance:none;display:none}& input[type=date]:global(.empty)::-webkit-datetime-edit,& input[type=datetime-local]:global(.empty)::-webkit-datetime-edit{color:theme(colors.tint.400)}& input:-webkit-autofill{box-shadow:0 0 0 999em var(--fabric-input) inset;-webkit-text-fill-color:theme(colors.accent.700)}& input:-webkit-autofill:focus{box-shadow:0 0 0 999em var(--fabric-input-focus) inset;-webkit-text-fill-color:theme(colors.accent.700)}&.invalidWrapper{outline-color:theme(colors.danger.500);&:after{background-color:theme(colors.danger.500)}}}.fieldGroup{>*{line-height:1}>:not(:first-child){&,&>[data-ref=button]>[role=button],&>[role=button],&>div{border-end-start-radius:0;border-start-start-radius:0}}>:not(:last-child){&,&>[data-ref=button]>[role=button],&>[role=button],&>div{border-end-end-radius:0;border-start-end-radius:0}}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer var{.arrayInput{& [data-ref=fieldWrapper]{flex:1 1 0%}& .addButton :global(.buttonInner){color:theme(colors.tint.600);outline:1px dashed theme(colors.tint.600);&[data-invalid=true]{background-color:theme(colors.danger.100);color:theme(colors.danger.600);outline:1px dashed theme(colors.danger.600)}}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer comp{.colorPicker{--color-shadow:theme(borderColor.base);& input{background-color:theme(backgroundColor.base);border:1px solid theme(borderColor.base);border-radius:theme(borderRadius.sm);box-shadow:none;color:theme(textColor.base);line-height:2;padding:0 4px!important;&:focus{border-color:theme(borderColor.primary.DEFAULT)}}& label{color:theme(textColor.base)}& :global(.flexbox-fix){border-color:theme(borderColor.muted);justify-content:center;&>div>div{text-align:center}& span>div{box-shadow:inset 0 0 1px 1px theme(borderColor.base)!important}}& :global(.saturation-black)~div{pointer-events:none}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer comp{.fileInput{&::-webkit-file-upload-button{background-color:theme(backgroundColor.primary.500);border:0;border-radius:theme(borderRadius.DEFAULT);color:theme(textColor.white);cursor:pointer;opacity:.8;padding-block:0;&:hover{opacity:.9}}&[aria-invalid=true]::-webkit-file-upload-button{background-color:theme(backgroundColor.danger.500)}&:disabled::-webkit-file-upload-button{background-color:theme(backgroundColor.muted);pointer-events:none}&[readOnly]{pointer-events:none}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer comp{}@layer var{.inputWrapper{&:after{inset-inline:50%;transition:all .3s;transition-delay:.1s}& .decorate:has([data-ref=button]){align-self:stretch;display:flex}&:has(input[disabled],textarea[disabled]){background-color:theme(colors.tint.50);cursor:not-allowed;& input,& textarea{cursor:not-allowed}}&:focus-within,&:has([data-open=true]){background-color:var(--fabric-input-focus);outline-color:var(--primary);z-index:1;&:not(:has([aria-readonly=true]:not([hidden]))):after{inset-inline:0}}&:global(.fixed){box-shadow:0 0 2rem .5rem var(--fabric-shadow)}& input,& textarea{max-width:100%}&>input[type=number]+.inputClear{margin-inline:-3rem 0}& input::-ms-clear,& select::-ms-clear,& textarea::-ms-clear{display:none}& input[type=search]::-webkit-search-cancel-button{display:none}& input[type=password]:not(:placeholder-shown){font-family:caption;letter-spacing:2px}& input[type=date]::-webkit-calendar-picker-indicator,& input[type=datetime-local]::-webkit-calendar-picker-indicator{appearance:none;display:none}& input[type=date]:global(.empty)::-webkit-datetime-edit,& input[type=datetime-local]:global(.empty)::-webkit-datetime-edit{color:theme(colors.tint.400)}& input:-webkit-autofill{box-shadow:0 0 0 999em var(--fabric-input) inset;-webkit-text-fill-color:theme(colors.accent.700)}& input:-webkit-autofill:focus{box-shadow:0 0 0 999em var(--fabric-input-focus) inset;-webkit-text-fill-color:theme(colors.accent.700)}&.invalidWrapper{outline-color:theme(colors.danger.500);&:after{background-color:theme(colors.danger.500)}}}.fieldGroup{>*{line-height:1}>:not(:first-child){&,&>[data-ref=button]>[role=button],&>[role=button],&>div{border-end-start-radius:0;border-start-start-radius:0}}>:not(:last-child){&,&>[data-ref=button]>[role=button],&>[role=button],&>div{border-end-end-radius:0;border-start-end-radius:0}}}}
|