@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.
Files changed (35) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +489 -9
  4. package/dist/kit/builder/data-table/components/DataTable.d.ts +3 -1
  5. package/dist/kit/builder/data-table/components/DataTable.d.ts.map +1 -1
  6. package/dist/kit/components/autocomplete/Autocomplete.d.ts.map +1 -1
  7. package/dist/kit/components/data-table-headers/DataTableHeader.d.ts +25 -0
  8. package/dist/kit/components/data-table-headers/DataTableHeader.d.ts.map +1 -0
  9. package/dist/kit/components/data-table-headers/DebouncedFilterField.d.ts +23 -0
  10. package/dist/kit/components/data-table-headers/DebouncedFilterField.d.ts.map +1 -0
  11. package/dist/kit/components/data-table-headers/FilterFieldRenderer.d.ts +19 -0
  12. package/dist/kit/components/data-table-headers/FilterFieldRenderer.d.ts.map +1 -0
  13. package/dist/kit/components/data-table-headers/index.d.ts +7 -0
  14. package/dist/kit/components/data-table-headers/index.d.ts.map +1 -0
  15. package/dist/kit/components/data-table-headers/types.d.ts +76 -0
  16. package/dist/kit/components/data-table-headers/types.d.ts.map +1 -0
  17. package/dist/kit/components/data-table-headers/urlSerialization.d.ts +12 -0
  18. package/dist/kit/components/data-table-headers/urlSerialization.d.ts.map +1 -0
  19. package/dist/kit/components/data-table-headers/useDataTableHeaderUrl.d.ts +36 -0
  20. package/dist/kit/components/data-table-headers/useDataTableHeaderUrl.d.ts.map +1 -0
  21. package/dist/kit/themes/clean-slate.css +8 -0
  22. package/dist/kit/themes/default.css +8 -0
  23. package/dist/kit/themes/minimal-modern.css +8 -0
  24. package/dist/kit/themes/spotify.css +8 -0
  25. package/package.json +1 -1
  26. package/src/index.ts +1 -0
  27. package/src/kit/builder/data-table/components/DataTable.tsx +5 -2
  28. package/src/kit/components/autocomplete/Autocomplete.tsx +13 -0
  29. package/src/kit/components/data-table-headers/DataTableHeader.tsx +158 -0
  30. package/src/kit/components/data-table-headers/DebouncedFilterField.tsx +83 -0
  31. package/src/kit/components/data-table-headers/FilterFieldRenderer.tsx +194 -0
  32. package/src/kit/components/data-table-headers/index.ts +6 -0
  33. package/src/kit/components/data-table-headers/types.ts +89 -0
  34. package/src/kit/components/data-table-headers/urlSerialization.ts +173 -0
  35. 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';
@@ -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;AAK5C,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"}
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 isEmpty = (valueAsNumber || isFileInput(ref)) && isUndefined(ref.value) && isUndefined(inputValue) || isHTMLElement$2(ref) && ref.value === "" || inputValue === "" || Array.isArray(inputValue) && !inputValue.length;
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 && (isEmpty || isNullOrUndefined(inputValue)) || isBoolean$1(inputValue) && !inputValue || isCheckBox && !getCheckboxValue(refs).isValid || isRadio && !getRadioValue(refs).isValid)) {
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 (!isEmpty && (!isNullOrUndefined(min2) || !isNullOrUndefined(max2))) {
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) && !isEmpty && (isString$2(inputValue) || isFieldArray && Array.isArray(inputValue))) {
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 && !isEmpty && isString$2(inputValue)) {
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 isEmpty(value) {
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 = 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":"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"}
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":"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"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}