@k3-tech/react-kit 0.0.61 → 0.0.63
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +489 -9
- package/dist/kit/builder/data-table/components/DataTable.d.ts +3 -1
- package/dist/kit/builder/data-table/components/DataTable.d.ts.map +1 -1
- package/dist/kit/components/autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/kit/components/data-table-headers/DataTableHeader.d.ts +25 -0
- package/dist/kit/components/data-table-headers/DataTableHeader.d.ts.map +1 -0
- package/dist/kit/components/data-table-headers/DebouncedFilterField.d.ts +23 -0
- package/dist/kit/components/data-table-headers/DebouncedFilterField.d.ts.map +1 -0
- package/dist/kit/components/data-table-headers/FilterFieldRenderer.d.ts +19 -0
- package/dist/kit/components/data-table-headers/FilterFieldRenderer.d.ts.map +1 -0
- package/dist/kit/components/data-table-headers/index.d.ts +7 -0
- package/dist/kit/components/data-table-headers/index.d.ts.map +1 -0
- package/dist/kit/components/data-table-headers/types.d.ts +76 -0
- package/dist/kit/components/data-table-headers/types.d.ts.map +1 -0
- package/dist/kit/components/data-table-headers/urlSerialization.d.ts +12 -0
- package/dist/kit/components/data-table-headers/urlSerialization.d.ts.map +1 -0
- package/dist/kit/components/data-table-headers/useDataTableHeaderUrl.d.ts +36 -0
- package/dist/kit/components/data-table-headers/useDataTableHeaderUrl.d.ts.map +1 -0
- package/dist/kit/themes/clean-slate.css +8 -0
- package/dist/kit/themes/default.css +8 -0
- package/dist/kit/themes/minimal-modern.css +8 -0
- package/dist/kit/themes/spotify.css +8 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/kit/builder/data-table/components/DataTable.tsx +5 -2
- package/src/kit/components/autocomplete/Autocomplete.tsx +13 -0
- package/src/kit/components/data-table-headers/DataTableHeader.tsx +158 -0
- package/src/kit/components/data-table-headers/DebouncedFilterField.tsx +83 -0
- package/src/kit/components/data-table-headers/FilterFieldRenderer.tsx +194 -0
- package/src/kit/components/data-table-headers/index.ts +6 -0
- package/src/kit/components/data-table-headers/types.ts +89 -0
- package/src/kit/components/data-table-headers/urlSerialization.ts +173 -0
- package/src/kit/components/data-table-headers/useDataTableHeaderUrl.ts +107 -0
package/dist/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export * from './kit/components/fileuploader';
|
|
|
16
16
|
export * from './kit/components/numpad';
|
|
17
17
|
export * from './kit/components/keyboard';
|
|
18
18
|
export * from './kit/components/timepicker';
|
|
19
|
+
export * from './kit/components/data-table-headers';
|
|
19
20
|
export { default as AdminLayout } from './kit/layouts/admin/components/AdminLayout';
|
|
20
21
|
export { default as ThemeToggle } from './kit/layouts/admin/components/ThemeToggle';
|
|
21
22
|
export * from './kit/layouts/admin/hooks/menu';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAK1D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAK1D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAKpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACpF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC;AAChE,cAAc,2BAA2B,CAAC;AAK1C,cAAc,+BAA+B,CAAC;AAK9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAK/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9927,7 +9927,7 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
|
|
|
9927
9927
|
const isRadio = isRadioInput(ref);
|
|
9928
9928
|
const isCheckBox = isCheckBoxInput(ref);
|
|
9929
9929
|
const isRadioOrCheckbox2 = isRadio || isCheckBox;
|
|
9930
|
-
const
|
|
9930
|
+
const isEmpty2 = (valueAsNumber || isFileInput(ref)) && isUndefined(ref.value) && isUndefined(inputValue) || isHTMLElement$2(ref) && ref.value === "" || inputValue === "" || Array.isArray(inputValue) && !inputValue.length;
|
|
9931
9931
|
const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);
|
|
9932
9932
|
const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {
|
|
9933
9933
|
const message2 = exceedMax ? maxLengthMessage : minLengthMessage;
|
|
@@ -9938,7 +9938,7 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
|
|
|
9938
9938
|
...appendErrorsCurry(exceedMax ? maxType : minType, message2)
|
|
9939
9939
|
};
|
|
9940
9940
|
};
|
|
9941
|
-
if (isFieldArray ? !Array.isArray(inputValue) || !inputValue.length : required2 && (!isRadioOrCheckbox2 && (
|
|
9941
|
+
if (isFieldArray ? !Array.isArray(inputValue) || !inputValue.length : required2 && (!isRadioOrCheckbox2 && (isEmpty2 || isNullOrUndefined(inputValue)) || isBoolean$1(inputValue) && !inputValue || isCheckBox && !getCheckboxValue(refs).isValid || isRadio && !getRadioValue(refs).isValid)) {
|
|
9942
9942
|
const { value, message: message2 } = isString$2(required2) ? { value: !!required2, message: required2 } : getValueAndMessage(required2);
|
|
9943
9943
|
if (value) {
|
|
9944
9944
|
error[name] = {
|
|
@@ -9953,7 +9953,7 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
|
|
|
9953
9953
|
}
|
|
9954
9954
|
}
|
|
9955
9955
|
}
|
|
9956
|
-
if (!
|
|
9956
|
+
if (!isEmpty2 && (!isNullOrUndefined(min2) || !isNullOrUndefined(max2))) {
|
|
9957
9957
|
let exceedMax;
|
|
9958
9958
|
let exceedMin;
|
|
9959
9959
|
const maxOutput = getValueAndMessage(max2);
|
|
@@ -9986,7 +9986,7 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
|
|
|
9986
9986
|
}
|
|
9987
9987
|
}
|
|
9988
9988
|
}
|
|
9989
|
-
if ((maxLength || minLength) && !
|
|
9989
|
+
if ((maxLength || minLength) && !isEmpty2 && (isString$2(inputValue) || isFieldArray && Array.isArray(inputValue))) {
|
|
9990
9990
|
const maxLengthOutput = getValueAndMessage(maxLength);
|
|
9991
9991
|
const minLengthOutput = getValueAndMessage(minLength);
|
|
9992
9992
|
const exceedMax = !isNullOrUndefined(maxLengthOutput.value) && inputValue.length > +maxLengthOutput.value;
|
|
@@ -9999,7 +9999,7 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
|
|
|
9999
9999
|
}
|
|
10000
10000
|
}
|
|
10001
10001
|
}
|
|
10002
|
-
if (pattern && !
|
|
10002
|
+
if (pattern && !isEmpty2 && isString$2(inputValue)) {
|
|
10003
10003
|
const { value: patternValue, message: message2 } = getValueAndMessage(pattern);
|
|
10004
10004
|
if (isRegex(patternValue) && !inputValue.match(patternValue)) {
|
|
10005
10005
|
error[name] = {
|
|
@@ -23759,6 +23759,13 @@ function Autocomplete({
|
|
|
23759
23759
|
const values = Array.isArray(currentValue) ? currentValue : [];
|
|
23760
23760
|
return values.map(toItem);
|
|
23761
23761
|
}, [currentValue, isMultiple, getLabel2, loadingSelectedValues]);
|
|
23762
|
+
useEffect(() => {
|
|
23763
|
+
if (isMultiple || isOpen) return;
|
|
23764
|
+
const selected = selectedItems[0];
|
|
23765
|
+
if (selected && !selected.loading && searchInput !== selected.label) {
|
|
23766
|
+
setSearchInput(selected.label);
|
|
23767
|
+
}
|
|
23768
|
+
}, [isMultiple, isOpen, selectedItems, searchInput]);
|
|
23762
23769
|
const handleSelect = useCallback(
|
|
23763
23770
|
(item) => {
|
|
23764
23771
|
if (!item) return;
|
|
@@ -40233,6 +40240,7 @@ function DataTable({
|
|
|
40233
40240
|
onTable,
|
|
40234
40241
|
className,
|
|
40235
40242
|
emptyText = "No results.",
|
|
40243
|
+
formFilterForm,
|
|
40236
40244
|
formFilters,
|
|
40237
40245
|
formFilterValues,
|
|
40238
40246
|
onFormFilterChange,
|
|
@@ -40441,6 +40449,7 @@ function DataTable({
|
|
|
40441
40449
|
/* @__PURE__ */ jsx(AccordionContent, { className: "px-4 pb-4 pt-5", children: /* @__PURE__ */ jsx(
|
|
40442
40450
|
FormBuilder,
|
|
40443
40451
|
{
|
|
40452
|
+
form: formFilterForm,
|
|
40444
40453
|
sections: formFilters,
|
|
40445
40454
|
defaultValues: formFilterValues,
|
|
40446
40455
|
onSubmit: (data2) => onFormFilterChange == null ? void 0 : onFormFilterChange(data2),
|
|
@@ -40449,8 +40458,7 @@ function DataTable({
|
|
|
40449
40458
|
submitLabel: "Apply",
|
|
40450
40459
|
resetLabel: "Clear",
|
|
40451
40460
|
showActionsSeparator: filterShowActionsSeparator
|
|
40452
|
-
}
|
|
40453
|
-
JSON.stringify(formFilterValues ?? {})
|
|
40461
|
+
}
|
|
40454
40462
|
) })
|
|
40455
40463
|
] })
|
|
40456
40464
|
}
|
|
@@ -44674,7 +44682,7 @@ function requireLodash() {
|
|
|
44674
44682
|
function isElement2(value) {
|
|
44675
44683
|
return isObjectLike(value) && value.nodeType === 1 && !isPlainObject2(value);
|
|
44676
44684
|
}
|
|
44677
|
-
function
|
|
44685
|
+
function isEmpty2(value) {
|
|
44678
44686
|
if (value == null) {
|
|
44679
44687
|
return true;
|
|
44680
44688
|
}
|
|
@@ -45807,7 +45815,7 @@ function requireLodash() {
|
|
|
45807
45815
|
lodash2.isBuffer = isBuffer2;
|
|
45808
45816
|
lodash2.isDate = isDate2;
|
|
45809
45817
|
lodash2.isElement = isElement2;
|
|
45810
|
-
lodash2.isEmpty =
|
|
45818
|
+
lodash2.isEmpty = isEmpty2;
|
|
45811
45819
|
lodash2.isEqual = isEqual;
|
|
45812
45820
|
lodash2.isEqualWith = isEqualWith;
|
|
45813
45821
|
lodash2.isError = isError;
|
|
@@ -47847,6 +47855,470 @@ function Keyboard({
|
|
|
47847
47855
|
);
|
|
47848
47856
|
}
|
|
47849
47857
|
Keyboard.displayName = "Keyboard";
|
|
47858
|
+
function DebouncedFilterField({
|
|
47859
|
+
field,
|
|
47860
|
+
value,
|
|
47861
|
+
onChange,
|
|
47862
|
+
debounceMs,
|
|
47863
|
+
control,
|
|
47864
|
+
className
|
|
47865
|
+
}) {
|
|
47866
|
+
const [draft, setDraft] = useState(value);
|
|
47867
|
+
const lastPushedRef = useRef(value);
|
|
47868
|
+
const debounced = c$1((v) => {
|
|
47869
|
+
lastPushedRef.current = v;
|
|
47870
|
+
onChange(v);
|
|
47871
|
+
}, debounceMs);
|
|
47872
|
+
const handleChange = (v) => {
|
|
47873
|
+
setDraft(v);
|
|
47874
|
+
debounced(v);
|
|
47875
|
+
};
|
|
47876
|
+
useEffect(() => {
|
|
47877
|
+
if (!Object.is(value, lastPushedRef.current)) {
|
|
47878
|
+
debounced.cancel();
|
|
47879
|
+
lastPushedRef.current = value;
|
|
47880
|
+
setDraft(value);
|
|
47881
|
+
}
|
|
47882
|
+
}, [value]);
|
|
47883
|
+
useEffect(
|
|
47884
|
+
() => () => {
|
|
47885
|
+
debounced.flush();
|
|
47886
|
+
},
|
|
47887
|
+
[debounced]
|
|
47888
|
+
);
|
|
47889
|
+
const common = {
|
|
47890
|
+
field,
|
|
47891
|
+
control,
|
|
47892
|
+
fieldPath: field.name,
|
|
47893
|
+
value: draft,
|
|
47894
|
+
onChange: handleChange,
|
|
47895
|
+
className
|
|
47896
|
+
};
|
|
47897
|
+
if (field.type === "textarea") return /* @__PURE__ */ jsx(TextareaField, { ...common });
|
|
47898
|
+
if (field.type === "number") return /* @__PURE__ */ jsx(NumberField, { ...common });
|
|
47899
|
+
return /* @__PURE__ */ jsx(TextField, { ...common });
|
|
47900
|
+
}
|
|
47901
|
+
const DEBOUNCED_TYPES = /* @__PURE__ */ new Set([
|
|
47902
|
+
"text",
|
|
47903
|
+
"email",
|
|
47904
|
+
"password",
|
|
47905
|
+
"number",
|
|
47906
|
+
"textarea"
|
|
47907
|
+
]);
|
|
47908
|
+
const UNSUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
47909
|
+
"object",
|
|
47910
|
+
"array",
|
|
47911
|
+
"custom_field",
|
|
47912
|
+
"hidden"
|
|
47913
|
+
]);
|
|
47914
|
+
const warned = /* @__PURE__ */ new Set();
|
|
47915
|
+
const warnUnsupported = (type) => {
|
|
47916
|
+
if (process.env.NODE_ENV !== "production" && !warned.has(type)) {
|
|
47917
|
+
warned.add(type);
|
|
47918
|
+
console.warn(
|
|
47919
|
+
`[DataTableHeader] field type '${type}' is not supported in filter headers and was skipped.`
|
|
47920
|
+
);
|
|
47921
|
+
}
|
|
47922
|
+
};
|
|
47923
|
+
function FilterFieldRenderer({
|
|
47924
|
+
field,
|
|
47925
|
+
value,
|
|
47926
|
+
onChange,
|
|
47927
|
+
debounceMs,
|
|
47928
|
+
control
|
|
47929
|
+
}) {
|
|
47930
|
+
if (UNSUPPORTED_TYPES.has(field.type)) {
|
|
47931
|
+
warnUnsupported(field.type);
|
|
47932
|
+
return null;
|
|
47933
|
+
}
|
|
47934
|
+
const inputClassName = cn$1("bg-background", field.className);
|
|
47935
|
+
let input;
|
|
47936
|
+
if (DEBOUNCED_TYPES.has(field.type)) {
|
|
47937
|
+
input = /* @__PURE__ */ jsx(
|
|
47938
|
+
DebouncedFilterField,
|
|
47939
|
+
{
|
|
47940
|
+
field,
|
|
47941
|
+
value,
|
|
47942
|
+
onChange,
|
|
47943
|
+
debounceMs,
|
|
47944
|
+
control,
|
|
47945
|
+
className: inputClassName
|
|
47946
|
+
}
|
|
47947
|
+
);
|
|
47948
|
+
} else {
|
|
47949
|
+
const common = {
|
|
47950
|
+
field,
|
|
47951
|
+
control,
|
|
47952
|
+
fieldPath: field.name,
|
|
47953
|
+
value,
|
|
47954
|
+
onChange,
|
|
47955
|
+
className: inputClassName
|
|
47956
|
+
};
|
|
47957
|
+
switch (field.type) {
|
|
47958
|
+
case "select":
|
|
47959
|
+
input = /* @__PURE__ */ jsx(SelectField, { ...common });
|
|
47960
|
+
break;
|
|
47961
|
+
case "autocomplete":
|
|
47962
|
+
input = /* @__PURE__ */ jsx(AutocompleteField, { ...common });
|
|
47963
|
+
break;
|
|
47964
|
+
case "checkbox":
|
|
47965
|
+
input = /* @__PURE__ */ jsx(CheckboxField, { ...common });
|
|
47966
|
+
break;
|
|
47967
|
+
case "switch":
|
|
47968
|
+
input = /* @__PURE__ */ jsx(SwitchField, { ...common });
|
|
47969
|
+
break;
|
|
47970
|
+
case "radio":
|
|
47971
|
+
input = /* @__PURE__ */ jsx(RadioField, { ...common });
|
|
47972
|
+
break;
|
|
47973
|
+
case "date":
|
|
47974
|
+
input = /* @__PURE__ */ jsx(DateField, { ...common });
|
|
47975
|
+
break;
|
|
47976
|
+
case "date_picker":
|
|
47977
|
+
input = /* @__PURE__ */ jsx(DatePickerField, { ...common });
|
|
47978
|
+
break;
|
|
47979
|
+
case "date_range":
|
|
47980
|
+
input = /* @__PURE__ */ jsx(DateRangePickerField, { ...common });
|
|
47981
|
+
break;
|
|
47982
|
+
case "date_time":
|
|
47983
|
+
input = /* @__PURE__ */ jsx(DateTimePickerField, { ...common });
|
|
47984
|
+
break;
|
|
47985
|
+
case "date_time_range":
|
|
47986
|
+
input = /* @__PURE__ */ jsx(DateTimeRangePickerField, { ...common });
|
|
47987
|
+
break;
|
|
47988
|
+
case "month":
|
|
47989
|
+
input = /* @__PURE__ */ jsx(MonthPickerField, { ...common });
|
|
47990
|
+
break;
|
|
47991
|
+
case "month_range":
|
|
47992
|
+
input = /* @__PURE__ */ jsx(MonthRangePickerField, { ...common });
|
|
47993
|
+
break;
|
|
47994
|
+
case "time":
|
|
47995
|
+
input = /* @__PURE__ */ jsx(TimePickerField, { ...common });
|
|
47996
|
+
break;
|
|
47997
|
+
case "time_range":
|
|
47998
|
+
input = /* @__PURE__ */ jsx(TimeRangePickerField, { ...common });
|
|
47999
|
+
break;
|
|
48000
|
+
case "file":
|
|
48001
|
+
input = /* @__PURE__ */ jsx(FileField, { ...common });
|
|
48002
|
+
break;
|
|
48003
|
+
default:
|
|
48004
|
+
input = /* @__PURE__ */ jsx(
|
|
48005
|
+
DebouncedFilterField,
|
|
48006
|
+
{
|
|
48007
|
+
field,
|
|
48008
|
+
value,
|
|
48009
|
+
onChange,
|
|
48010
|
+
debounceMs,
|
|
48011
|
+
control,
|
|
48012
|
+
className: inputClassName
|
|
48013
|
+
}
|
|
48014
|
+
);
|
|
48015
|
+
}
|
|
48016
|
+
}
|
|
48017
|
+
const labelText = typeof field.label === "string" ? field.label.trim() : field.label;
|
|
48018
|
+
const showLabel = field.labelPlacement !== "hidden" && labelText != null && labelText !== "" && field.type !== "checkbox" && field.type !== "switch";
|
|
48019
|
+
return /* @__PURE__ */ jsxs(
|
|
48020
|
+
"div",
|
|
48021
|
+
{
|
|
48022
|
+
className: cn$1(
|
|
48023
|
+
"w-full space-y-1 sm:w-auto sm:min-w-[180px]",
|
|
48024
|
+
field.wrapperClassName
|
|
48025
|
+
),
|
|
48026
|
+
children: [
|
|
48027
|
+
showLabel && /* @__PURE__ */ jsx(Label$2, { htmlFor: field.name, className: "text-xs text-muted-foreground", children: field.label }),
|
|
48028
|
+
input
|
|
48029
|
+
]
|
|
48030
|
+
}
|
|
48031
|
+
);
|
|
48032
|
+
}
|
|
48033
|
+
const DATE_TYPES = /* @__PURE__ */ new Set([
|
|
48034
|
+
"date",
|
|
48035
|
+
"date_picker",
|
|
48036
|
+
"month",
|
|
48037
|
+
"time",
|
|
48038
|
+
"date_time"
|
|
48039
|
+
]);
|
|
48040
|
+
const RANGE_TYPES = /* @__PURE__ */ new Set([
|
|
48041
|
+
"date_range",
|
|
48042
|
+
"date_time_range",
|
|
48043
|
+
"month_range",
|
|
48044
|
+
"time_range"
|
|
48045
|
+
]);
|
|
48046
|
+
const SKIP_TYPES = /* @__PURE__ */ new Set(["object", "array", "custom_field", "hidden"]);
|
|
48047
|
+
const isEmpty = (v) => v === null || v === void 0 || v === "";
|
|
48048
|
+
const toIso = (v) => {
|
|
48049
|
+
const d = v instanceof Date ? v : new Date(v);
|
|
48050
|
+
return Number.isNaN(d.getTime()) ? null : d.toISOString();
|
|
48051
|
+
};
|
|
48052
|
+
const fromIso = (raw) => {
|
|
48053
|
+
const d = new Date(raw);
|
|
48054
|
+
return Number.isNaN(d.getTime()) ? null : d;
|
|
48055
|
+
};
|
|
48056
|
+
const recoverOptionValue = (field, raw) => {
|
|
48057
|
+
var _a2;
|
|
48058
|
+
const match2 = (_a2 = field.options) == null ? void 0 : _a2.find((o2) => String(o2.value) === raw);
|
|
48059
|
+
return match2 ? match2.value : raw;
|
|
48060
|
+
};
|
|
48061
|
+
const coerceScalar = (raw) => raw !== "" && !Number.isNaN(Number(raw)) ? Number(raw) : raw;
|
|
48062
|
+
function serializeAll(fields, values) {
|
|
48063
|
+
const params = {};
|
|
48064
|
+
for (const field of fields) {
|
|
48065
|
+
if (SKIP_TYPES.has(field.type)) continue;
|
|
48066
|
+
const name = field.name;
|
|
48067
|
+
const value = values[name];
|
|
48068
|
+
if (RANGE_TYPES.has(field.type)) {
|
|
48069
|
+
const range = value;
|
|
48070
|
+
const from = range && !isEmpty(range.from) ? toIso(range.from) : null;
|
|
48071
|
+
const to = range && !isEmpty(range.to) ? toIso(range.to) : null;
|
|
48072
|
+
if (from) params[`${name}_from`] = from;
|
|
48073
|
+
if (to) params[`${name}_to`] = to;
|
|
48074
|
+
continue;
|
|
48075
|
+
}
|
|
48076
|
+
if (isEmpty(value)) continue;
|
|
48077
|
+
if (Array.isArray(value)) {
|
|
48078
|
+
const arr = value.filter((v) => !isEmpty(v)).map((v) => String(v));
|
|
48079
|
+
if (arr.length) params[name] = arr;
|
|
48080
|
+
continue;
|
|
48081
|
+
}
|
|
48082
|
+
if (DATE_TYPES.has(field.type)) {
|
|
48083
|
+
const iso = toIso(value);
|
|
48084
|
+
if (iso) params[name] = iso;
|
|
48085
|
+
continue;
|
|
48086
|
+
}
|
|
48087
|
+
params[name] = String(value);
|
|
48088
|
+
}
|
|
48089
|
+
return params;
|
|
48090
|
+
}
|
|
48091
|
+
function deserializeAll(fields, params) {
|
|
48092
|
+
const result = {};
|
|
48093
|
+
const first = (v) => Array.isArray(v) ? v[0] : v;
|
|
48094
|
+
for (const field of fields) {
|
|
48095
|
+
if (SKIP_TYPES.has(field.type)) continue;
|
|
48096
|
+
const name = field.name;
|
|
48097
|
+
if (RANGE_TYPES.has(field.type)) {
|
|
48098
|
+
const from = first(params[`${name}_from`]);
|
|
48099
|
+
const to = first(params[`${name}_to`]);
|
|
48100
|
+
const range = {};
|
|
48101
|
+
if (from) {
|
|
48102
|
+
const d = fromIso(from);
|
|
48103
|
+
if (d) range.from = d;
|
|
48104
|
+
}
|
|
48105
|
+
if (to) {
|
|
48106
|
+
const d = fromIso(to);
|
|
48107
|
+
if (d) range.to = d;
|
|
48108
|
+
}
|
|
48109
|
+
if (range.from || range.to) result[name] = range;
|
|
48110
|
+
continue;
|
|
48111
|
+
}
|
|
48112
|
+
const raw = params[name];
|
|
48113
|
+
if (raw === void 0) continue;
|
|
48114
|
+
if (field.multiple || Array.isArray(raw)) {
|
|
48115
|
+
const arr = (Array.isArray(raw) ? raw : [raw]).map(coerceScalar);
|
|
48116
|
+
result[name] = arr;
|
|
48117
|
+
continue;
|
|
48118
|
+
}
|
|
48119
|
+
const value = raw;
|
|
48120
|
+
switch (field.type) {
|
|
48121
|
+
case "number":
|
|
48122
|
+
if (value !== "" && !Number.isNaN(Number(value)))
|
|
48123
|
+
result[name] = Number(value);
|
|
48124
|
+
break;
|
|
48125
|
+
case "checkbox":
|
|
48126
|
+
case "switch":
|
|
48127
|
+
result[name] = value === "true";
|
|
48128
|
+
break;
|
|
48129
|
+
case "select":
|
|
48130
|
+
case "radio":
|
|
48131
|
+
result[name] = recoverOptionValue(field, value);
|
|
48132
|
+
break;
|
|
48133
|
+
case "autocomplete":
|
|
48134
|
+
result[name] = coerceScalar(value);
|
|
48135
|
+
break;
|
|
48136
|
+
default:
|
|
48137
|
+
if (DATE_TYPES.has(field.type)) {
|
|
48138
|
+
const d = fromIso(value);
|
|
48139
|
+
if (d) result[name] = d;
|
|
48140
|
+
} else {
|
|
48141
|
+
result[name] = value;
|
|
48142
|
+
}
|
|
48143
|
+
}
|
|
48144
|
+
}
|
|
48145
|
+
return result;
|
|
48146
|
+
}
|
|
48147
|
+
const nativeAdapter = {
|
|
48148
|
+
read: () => {
|
|
48149
|
+
if (typeof window === "undefined") return {};
|
|
48150
|
+
const usp = new URLSearchParams(window.location.search);
|
|
48151
|
+
const out = {};
|
|
48152
|
+
for (const key of usp.keys()) {
|
|
48153
|
+
if (key in out) continue;
|
|
48154
|
+
const all = usp.getAll(key);
|
|
48155
|
+
out[key] = all.length > 1 ? all : all[0];
|
|
48156
|
+
}
|
|
48157
|
+
return out;
|
|
48158
|
+
},
|
|
48159
|
+
write: (params) => {
|
|
48160
|
+
if (typeof window === "undefined") return;
|
|
48161
|
+
const usp = new URLSearchParams();
|
|
48162
|
+
for (const [key, value] of Object.entries(params)) {
|
|
48163
|
+
if (Array.isArray(value))
|
|
48164
|
+
value.forEach((v) => {
|
|
48165
|
+
usp.append(key, v);
|
|
48166
|
+
});
|
|
48167
|
+
else usp.append(key, value);
|
|
48168
|
+
}
|
|
48169
|
+
const query = usp.toString();
|
|
48170
|
+
const url = query ? `${window.location.pathname}?${query}` : window.location.pathname;
|
|
48171
|
+
window.history.replaceState(null, "", url);
|
|
48172
|
+
}
|
|
48173
|
+
};
|
|
48174
|
+
function useDataTableHeaderUrl({
|
|
48175
|
+
enabled,
|
|
48176
|
+
fields,
|
|
48177
|
+
values,
|
|
48178
|
+
adapter,
|
|
48179
|
+
onHydrate
|
|
48180
|
+
}) {
|
|
48181
|
+
const hydratedRef = useRef(false);
|
|
48182
|
+
const lastWrittenRef = useRef(null);
|
|
48183
|
+
useEffect(() => {
|
|
48184
|
+
if (!enabled || hydratedRef.current) return;
|
|
48185
|
+
hydratedRef.current = true;
|
|
48186
|
+
const params = adapter.read();
|
|
48187
|
+
const hydrated = deserializeAll(fields, params);
|
|
48188
|
+
lastWrittenRef.current = JSON.stringify(serializeAll(fields, hydrated));
|
|
48189
|
+
if (Object.keys(hydrated).length) onHydrate(hydrated);
|
|
48190
|
+
}, [enabled]);
|
|
48191
|
+
useEffect(() => {
|
|
48192
|
+
if (!enabled) return;
|
|
48193
|
+
const params = serializeAll(fields, values);
|
|
48194
|
+
const serialized = JSON.stringify(params);
|
|
48195
|
+
if (serialized === lastWrittenRef.current) return;
|
|
48196
|
+
lastWrittenRef.current = serialized;
|
|
48197
|
+
adapter.write(params);
|
|
48198
|
+
}, [enabled, values]);
|
|
48199
|
+
}
|
|
48200
|
+
function useFilterControl() {
|
|
48201
|
+
const { control } = useForm();
|
|
48202
|
+
return control;
|
|
48203
|
+
}
|
|
48204
|
+
function DataTableHeader({
|
|
48205
|
+
fields,
|
|
48206
|
+
values,
|
|
48207
|
+
onChange,
|
|
48208
|
+
onChangeAll,
|
|
48209
|
+
debounceMs = 400,
|
|
48210
|
+
url = false,
|
|
48211
|
+
actions = [],
|
|
48212
|
+
onRefresh,
|
|
48213
|
+
children,
|
|
48214
|
+
className,
|
|
48215
|
+
filtersClassName,
|
|
48216
|
+
actionsClassName
|
|
48217
|
+
}) {
|
|
48218
|
+
const control = useFilterControl();
|
|
48219
|
+
const adapter = url === true ? nativeAdapter : url || nativeAdapter;
|
|
48220
|
+
const handleHydrate = useCallback(
|
|
48221
|
+
(next) => {
|
|
48222
|
+
if (onChangeAll) {
|
|
48223
|
+
onChangeAll({ ...values, ...next });
|
|
48224
|
+
return;
|
|
48225
|
+
}
|
|
48226
|
+
for (const [name, value] of Object.entries(next)) onChange(name, value);
|
|
48227
|
+
},
|
|
48228
|
+
// `values` intentionally omitted: hydration runs once on mount and we don't
|
|
48229
|
+
// want to re-bind to every value change.
|
|
48230
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48231
|
+
[onChange, onChangeAll]
|
|
48232
|
+
);
|
|
48233
|
+
useDataTableHeaderUrl({
|
|
48234
|
+
enabled: url !== false,
|
|
48235
|
+
fields,
|
|
48236
|
+
values,
|
|
48237
|
+
adapter,
|
|
48238
|
+
onHydrate: handleHydrate
|
|
48239
|
+
});
|
|
48240
|
+
const renderActionButton = (action, key) => {
|
|
48241
|
+
if (action.element)
|
|
48242
|
+
return /* @__PURE__ */ jsx(React__default.Fragment, { children: action.element }, key);
|
|
48243
|
+
const content = /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
48244
|
+
action.icon && /* @__PURE__ */ jsx(
|
|
48245
|
+
"span",
|
|
48246
|
+
{
|
|
48247
|
+
className: cn$1(action.iconPosition === "right" ? "order-last" : ""),
|
|
48248
|
+
children: action.icon
|
|
48249
|
+
}
|
|
48250
|
+
),
|
|
48251
|
+
action.label
|
|
48252
|
+
] });
|
|
48253
|
+
return /* @__PURE__ */ jsx(
|
|
48254
|
+
Button$1,
|
|
48255
|
+
{
|
|
48256
|
+
size: "sm",
|
|
48257
|
+
variant: action.variant ?? "default",
|
|
48258
|
+
disabled: action.disabled,
|
|
48259
|
+
onClick: action.onClick,
|
|
48260
|
+
className: "h-8",
|
|
48261
|
+
children: content
|
|
48262
|
+
},
|
|
48263
|
+
key
|
|
48264
|
+
);
|
|
48265
|
+
};
|
|
48266
|
+
return /* @__PURE__ */ jsxs(
|
|
48267
|
+
"div",
|
|
48268
|
+
{
|
|
48269
|
+
className: cn$1("flex items-start justify-between gap-3", className),
|
|
48270
|
+
children: [
|
|
48271
|
+
/* @__PURE__ */ jsx(
|
|
48272
|
+
"div",
|
|
48273
|
+
{
|
|
48274
|
+
className: cn$1(
|
|
48275
|
+
"flex min-w-0 flex-1 flex-wrap items-end gap-2",
|
|
48276
|
+
filtersClassName
|
|
48277
|
+
),
|
|
48278
|
+
children: fields.map((field) => /* @__PURE__ */ jsx(
|
|
48279
|
+
FilterFieldRenderer,
|
|
48280
|
+
{
|
|
48281
|
+
field,
|
|
48282
|
+
value: values[field.name],
|
|
48283
|
+
onChange: (value) => onChange(field.name, value),
|
|
48284
|
+
debounceMs,
|
|
48285
|
+
control
|
|
48286
|
+
},
|
|
48287
|
+
field.name
|
|
48288
|
+
))
|
|
48289
|
+
}
|
|
48290
|
+
),
|
|
48291
|
+
children,
|
|
48292
|
+
(actions.length > 0 || onRefresh) && /* @__PURE__ */ jsxs(
|
|
48293
|
+
"div",
|
|
48294
|
+
{
|
|
48295
|
+
className: cn$1(
|
|
48296
|
+
"flex shrink-0 flex-nowrap items-center gap-2",
|
|
48297
|
+
actionsClassName
|
|
48298
|
+
),
|
|
48299
|
+
children: [
|
|
48300
|
+
onRefresh && /* @__PURE__ */ jsxs(
|
|
48301
|
+
Button$1,
|
|
48302
|
+
{
|
|
48303
|
+
variant: "outline",
|
|
48304
|
+
size: "sm",
|
|
48305
|
+
onClick: onRefresh,
|
|
48306
|
+
className: "h-8",
|
|
48307
|
+
title: "Refresh",
|
|
48308
|
+
children: [
|
|
48309
|
+
/* @__PURE__ */ jsx(RefreshCw, { className: "h-4 w-4" }),
|
|
48310
|
+
/* @__PURE__ */ jsx("span", { children: "Refresh" })
|
|
48311
|
+
]
|
|
48312
|
+
}
|
|
48313
|
+
),
|
|
48314
|
+
actions.map((action) => renderActionButton(action, action.key))
|
|
48315
|
+
]
|
|
48316
|
+
}
|
|
48317
|
+
)
|
|
48318
|
+
]
|
|
48319
|
+
}
|
|
48320
|
+
);
|
|
48321
|
+
}
|
|
47850
48322
|
const MOBILE_BREAKPOINT = 768;
|
|
47851
48323
|
function useIsMobile() {
|
|
47852
48324
|
const [isMobile, setIsMobile] = React.useState(
|
|
@@ -67031,12 +67503,14 @@ export {
|
|
|
67031
67503
|
ContextMenuTrigger,
|
|
67032
67504
|
DataTable,
|
|
67033
67505
|
DataTableColumnHeader,
|
|
67506
|
+
DataTableHeader,
|
|
67034
67507
|
DataTablePagination,
|
|
67035
67508
|
DataTableViewOptions,
|
|
67036
67509
|
DatePicker,
|
|
67037
67510
|
DateRangePicker,
|
|
67038
67511
|
DateTimePicker,
|
|
67039
67512
|
DateTimeRangePicker,
|
|
67513
|
+
DebouncedFilterField,
|
|
67040
67514
|
Dialog,
|
|
67041
67515
|
DialogClose,
|
|
67042
67516
|
DialogContent,
|
|
@@ -67074,6 +67548,7 @@ export {
|
|
|
67074
67548
|
DropdownMenuSubTrigger,
|
|
67075
67549
|
DropdownMenuTrigger,
|
|
67076
67550
|
FileUploader,
|
|
67551
|
+
FilterFieldRenderer,
|
|
67077
67552
|
Form,
|
|
67078
67553
|
FormBuilder,
|
|
67079
67554
|
FormBuilderActions,
|
|
@@ -67243,11 +67718,14 @@ export {
|
|
|
67243
67718
|
createSection,
|
|
67244
67719
|
createStorage,
|
|
67245
67720
|
createTokenManager,
|
|
67721
|
+
deserializeAll,
|
|
67246
67722
|
dotAccessor,
|
|
67247
67723
|
evaluatePermissionRule,
|
|
67248
67724
|
expandPermissions,
|
|
67249
67725
|
expandRoles,
|
|
67726
|
+
nativeAdapter,
|
|
67250
67727
|
navigationMenuTriggerStyle,
|
|
67728
|
+
serializeAll,
|
|
67251
67729
|
toast,
|
|
67252
67730
|
toggleVariants,
|
|
67253
67731
|
transformers,
|
|
@@ -67263,8 +67741,10 @@ export {
|
|
|
67263
67741
|
useAuthToken,
|
|
67264
67742
|
useAuthUser,
|
|
67265
67743
|
useCan,
|
|
67744
|
+
useDataTableHeaderUrl,
|
|
67266
67745
|
useDialog,
|
|
67267
67746
|
useDialogController,
|
|
67747
|
+
useFilterControl,
|
|
67268
67748
|
useFormBuilder,
|
|
67269
67749
|
useFormField,
|
|
67270
67750
|
useIsAuthenticated,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ColumnDef, ColumnFiltersState, PaginationState, Table as ReactTable, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
2
|
+
import { UseFormReturn } from 'react-hook-form';
|
|
2
3
|
import { DataTableAction, DataTableBatchAction, DataTableFiltersProp } from '../types';
|
|
3
4
|
import * as React from 'react';
|
|
4
5
|
export interface DataTableProps<TData, TValue> {
|
|
@@ -25,6 +26,7 @@ export interface DataTableProps<TData, TValue> {
|
|
|
25
26
|
formFilters?: DataTableFiltersProp;
|
|
26
27
|
formFilterValues?: Record<string, unknown> | null;
|
|
27
28
|
onFormFilterChange?: (values: Record<string, unknown>) => void;
|
|
29
|
+
formFilterForm?: UseFormReturn<any>;
|
|
28
30
|
selectable?: boolean;
|
|
29
31
|
actions?: DataTableAction[];
|
|
30
32
|
batchActions?: DataTableBatchAction<TData>[];
|
|
@@ -40,5 +42,5 @@ export interface DataTableProps<TData, TValue> {
|
|
|
40
42
|
*/
|
|
41
43
|
CustomHeaderComponent?: () => React.ReactNode;
|
|
42
44
|
}
|
|
43
|
-
export declare function DataTable<TData, TValue>({ columns, data, loading, sorting, sortingState, onSortingChange, columnFilters, columnFiltersState, onColumnFiltersChange, rowCount, pagination, paginationVariant, onPaginationChange, paginationState, columnVisibility, columnVisibilityState, onColumnVisibilityChange, onTable, className, emptyText, formFilters, formFilterValues, onFormFilterChange, selectable, actions, batchActions, showStandardActions, onRefresh, onRowClick, filterWrapper, filterTitle, filterShowActionsSeparator, CustomHeaderComponent, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export declare function DataTable<TData, TValue>({ columns, data, loading, sorting, sortingState, onSortingChange, columnFilters, columnFiltersState, onColumnFiltersChange, rowCount, pagination, paginationVariant, onPaginationChange, paginationState, columnVisibility, columnVisibilityState, onColumnVisibilityChange, onTable, className, emptyText, formFilterForm, formFilters, formFilterValues, onFormFilterChange, selectable, actions, batchActions, showStandardActions, onRefresh, onRowClick, filterWrapper, filterTitle, filterShowActionsSeparator, CustomHeaderComponent, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
|
|
44
46
|
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/data-table/components/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,KAAK,IAAI,UAAU,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/data-table/components/DataTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAOnB,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EACV,mBAAmB,EAEnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,OAAO,IAAI;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EACtD,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAChE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,KACjB,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,QAAQ,EAAE,OAAO,KACd,KAAK,CAAC,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CACvC,CAAC;AAIF,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,EACxC,IAAe,EACf,OAAY,EACZ,OAAO,EACP,aAAa,EACb,QAA4B,EAC5B,KAAK,EAAE,eAAe,EACtB,QAAQ,EACR,WAAmC,EACnC,QAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,EACL,WAAyB,EACzB,aAAa,EACb,SAA8B,EAC9B,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAwB,EACxB,SAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,YAAY,GACb,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}
|