@k3-universe/react-kit 0.0.44 → 0.0.46

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 (37) hide show
  1. package/dist/index.js +116 -22
  2. package/dist/kit/builder/data-table/components/DataTablePagination.d.ts.map +1 -1
  3. package/dist/kit/builder/form/components/fields/DateField.d.ts +1 -1
  4. package/dist/kit/builder/form/components/fields/DateField.d.ts.map +1 -1
  5. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts +1 -1
  6. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts.map +1 -1
  7. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts +1 -1
  8. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts.map +1 -1
  9. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts +1 -1
  10. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts.map +1 -1
  11. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts +1 -1
  12. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts.map +1 -1
  13. package/dist/kit/builder/form/types.d.ts +2 -0
  14. package/dist/kit/builder/form/types.d.ts.map +1 -1
  15. package/dist/kit/builder/page/Page.d.ts +3 -1
  16. package/dist/kit/builder/page/Page.d.ts.map +1 -1
  17. package/dist/kit/builder/page/PageBackButton.d.ts +10 -0
  18. package/dist/kit/builder/page/PageBackButton.d.ts.map +1 -0
  19. package/dist/kit/themes/clean-slate.css +4 -0
  20. package/dist/kit/themes/default.css +4 -0
  21. package/dist/kit/themes/minimal-modern.css +4 -0
  22. package/dist/kit/themes/spotify.css +4 -0
  23. package/package.json +1 -1
  24. package/src/kit/builder/data-table/components/DataTablePagination.tsx +5 -1
  25. package/src/kit/builder/form/components/fields/DateField.tsx +19 -2
  26. package/src/kit/builder/form/components/fields/DatePickerField.tsx +18 -2
  27. package/src/kit/builder/form/components/fields/DateRangePickerField.tsx +18 -2
  28. package/src/kit/builder/form/components/fields/DateTimePickerField.tsx +18 -2
  29. package/src/kit/builder/form/components/fields/DateTimeRangePickerField.tsx +18 -2
  30. package/src/kit/builder/form/types.ts +2 -0
  31. package/src/kit/builder/page/Page.tsx +11 -8
  32. package/src/kit/builder/page/PageBackButton.tsx +52 -0
  33. package/src/kit/components/datepicker/DatePicker.tsx +1 -1
  34. package/src/kit/components/datetimepicker/DateTimePicker.tsx +1 -1
  35. package/src/kit/components/monthpicker/MonthInput.tsx +1 -1
  36. package/src/kit/components/timepicker/TimePicker.tsx +1 -1
  37. package/src/shadcn/ui/table.tsx +1 -1
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import * as React from "react";
6
6
  import React__default, { createContext, useSyncExternalStore, useEffect, useMemo, useContext, forwardRef, createElement, Fragment as Fragment$1, memo as memo$1, useRef, useCallback, useLayoutEffect, useReducer, cloneElement, Component, useState, useImperativeHandle, use as use$7, isValidElement, PureComponent } from "react";
7
7
  import * as ReactDOM from "react-dom";
8
8
  import ReactDOM__default from "react-dom";
9
- import { useLocation, Link as Link$1 } from "@tanstack/react-router";
9
+ import { useRouter, useLocation, Link as Link$1 } from "@tanstack/react-router";
10
10
  const isBrowser = typeof window !== "undefined" && typeof window.localStorage !== "undefined";
11
11
  class SimpleEncryption {
12
12
  constructor(key) {
@@ -9195,7 +9195,7 @@ function TableHead({ className, ...props2 }) {
9195
9195
  {
9196
9196
  "data-slot": "table-head",
9197
9197
  className: cn$1(
9198
- "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
9198
+ "bg-primary text-white h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
9199
9199
  className
9200
9200
  ),
9201
9201
  ...props2
@@ -22528,10 +22528,22 @@ function RadioField({
22528
22528
  }
22529
22529
  function DateField({
22530
22530
  field,
22531
+ control,
22531
22532
  value,
22532
22533
  onChange,
22533
22534
  className
22534
22535
  }) {
22536
+ const formValues = useWatch({ control });
22537
+ const minDate = React__default.useMemo(() => {
22538
+ if (field.minDateFromField && formValues[field.minDateFromField])
22539
+ return formValues[field.minDateFromField];
22540
+ return field.minDate;
22541
+ }, [field.minDate, field.minDateFromField, formValues]);
22542
+ const maxDate = React__default.useMemo(() => {
22543
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
22544
+ return formValues[field.maxDateFromField];
22545
+ return field.maxDate;
22546
+ }, [field.maxDate, field.maxDateFromField, formValues]);
22535
22547
  const parseDateValueForInput = (date2) => {
22536
22548
  if (date2 instanceof Date) {
22537
22549
  return date2.toISOString().split("T")[0];
@@ -22550,8 +22562,8 @@ function DateField({
22550
22562
  type: "date",
22551
22563
  value: parseDateValueForInput(value),
22552
22564
  defaultValue: parseDateValueForInput(value),
22553
- min: parseDateValueForInput(field.minDate),
22554
- max: parseDateValueForInput(field.maxDate),
22565
+ min: parseDateValueForInput(minDate),
22566
+ max: parseDateValueForInput(maxDate),
22555
22567
  onChange: (e2) => onChange(e2.target.value ? new Date(e2.target.value) : null)
22556
22568
  }
22557
22569
  );
@@ -26783,7 +26795,7 @@ function DatePicker({
26783
26795
  disabled,
26784
26796
  variant: buttonVariant,
26785
26797
  className: cn$1(
26786
- "w-[240px] justify-start text-left font-normal",
26798
+ "w-full justify-start text-left font-normal",
26787
26799
  !value && "text-muted-foreground"
26788
26800
  ),
26789
26801
  children: [
@@ -26843,10 +26855,22 @@ function DatePicker({
26843
26855
  DatePicker.displayName = "DatePicker";
26844
26856
  function DatePickerField({
26845
26857
  field,
26858
+ control,
26846
26859
  value,
26847
26860
  onChange,
26848
26861
  className
26849
26862
  }) {
26863
+ const formValues = useWatch({ control });
26864
+ const minDate = React.useMemo(() => {
26865
+ if (field.minDateFromField && formValues[field.minDateFromField])
26866
+ return formValues[field.minDateFromField];
26867
+ return field.minDate;
26868
+ }, [field.minDate, field.minDateFromField, formValues]);
26869
+ const maxDate = React.useMemo(() => {
26870
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
26871
+ return formValues[field.maxDateFromField];
26872
+ return field.maxDate;
26873
+ }, [field.maxDate, field.maxDateFromField, formValues]);
26850
26874
  const v = React.useMemo(() => {
26851
26875
  if (!value) return null;
26852
26876
  if (value instanceof Date) return value;
@@ -26859,8 +26883,8 @@ function DatePickerField({
26859
26883
  className,
26860
26884
  value: v,
26861
26885
  onChange: (d) => onChange(d),
26862
- minDate: field.minDate,
26863
- maxDate: field.maxDate,
26886
+ minDate,
26887
+ maxDate,
26864
26888
  disabledDates: field.disabledDates,
26865
26889
  format: field.dateFormat,
26866
26890
  placeholder: field.placeholder,
@@ -27276,10 +27300,22 @@ function coerceDate(input) {
27276
27300
  }
27277
27301
  function DateRangePickerField({
27278
27302
  field,
27303
+ control,
27279
27304
  value,
27280
27305
  onChange,
27281
27306
  className
27282
27307
  }) {
27308
+ const formValues = useWatch({ control });
27309
+ const minDate = React.useMemo(() => {
27310
+ if (field.minDateFromField && formValues[field.minDateFromField])
27311
+ return formValues[field.minDateFromField];
27312
+ return field.minDate;
27313
+ }, [field.minDate, field.minDateFromField, formValues]);
27314
+ const maxDate = React.useMemo(() => {
27315
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
27316
+ return formValues[field.maxDateFromField];
27317
+ return field.maxDate;
27318
+ }, [field.maxDate, field.maxDateFromField, formValues]);
27283
27319
  const v = React.useMemo(() => {
27284
27320
  if (!value) return null;
27285
27321
  if (typeof value === "object" && value !== null) {
@@ -27304,8 +27340,8 @@ function DateRangePickerField({
27304
27340
  className,
27305
27341
  value: v,
27306
27342
  onChange: (r2) => onChange(r2),
27307
- minDate: field.minDate,
27308
- maxDate: field.maxDate,
27343
+ minDate,
27344
+ maxDate,
27309
27345
  disabledDates: field.disabledDates,
27310
27346
  format: field.dateFormat ? dateFormat : void 0,
27311
27347
  placeholder: field.placeholder,
@@ -27492,7 +27528,7 @@ function MonthInput({
27492
27528
  disabled,
27493
27529
  variant: buttonVariant,
27494
27530
  className: cn$1(
27495
- "w-[240px] justify-start text-left font-normal",
27531
+ "w-full justify-start text-left font-normal",
27496
27532
  !value && "text-muted-foreground"
27497
27533
  ),
27498
27534
  children: [
@@ -28113,7 +28149,7 @@ function TimePicker({
28113
28149
  disabled,
28114
28150
  variant: buttonVariant,
28115
28151
  className: cn$1(
28116
- "w-[240px] justify-start text-left font-normal",
28152
+ "w-full justify-start text-left font-normal",
28117
28153
  !value && "text-muted-foreground"
28118
28154
  ),
28119
28155
  children: [
@@ -28765,7 +28801,7 @@ function DateTimePicker({
28765
28801
  disabled,
28766
28802
  variant: buttonVariant,
28767
28803
  className: cn$1(
28768
- "w-[280px] justify-start text-left font-normal",
28804
+ "w-full flex justify-start text-left font-normal",
28769
28805
  !value && "text-muted-foreground"
28770
28806
  ),
28771
28807
  children: [
@@ -28875,10 +28911,22 @@ function DateTimePicker({
28875
28911
  DateTimePicker.displayName = "DateTimePicker";
28876
28912
  function DateTimePickerField({
28877
28913
  field,
28914
+ control,
28878
28915
  value,
28879
28916
  onChange,
28880
28917
  className
28881
28918
  }) {
28919
+ const formValues = useWatch({ control });
28920
+ const minDate = React.useMemo(() => {
28921
+ if (field.minDateFromField && formValues[field.minDateFromField])
28922
+ return formValues[field.minDateFromField];
28923
+ return field.minDate;
28924
+ }, [field.minDate, field.minDateFromField, formValues]);
28925
+ const maxDate = React.useMemo(() => {
28926
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
28927
+ return formValues[field.maxDateFromField];
28928
+ return field.maxDate;
28929
+ }, [field.maxDate, field.maxDateFromField, formValues]);
28882
28930
  const v = React.useMemo(() => {
28883
28931
  if (!value) return null;
28884
28932
  if (value instanceof Date) return value;
@@ -28892,8 +28940,8 @@ function DateTimePickerField({
28892
28940
  value: v,
28893
28941
  onChange: (d) => onChange(d),
28894
28942
  placeholder: field.placeholder,
28895
- minDate: field.minDate,
28896
- maxDate: field.maxDate,
28943
+ minDate,
28944
+ maxDate,
28897
28945
  disabledDates: field.disabledDates,
28898
28946
  timePrecision: field.timePrecision ?? "minute",
28899
28947
  hourCycle: field.hourCycle ?? 24,
@@ -29436,10 +29484,22 @@ function DateTimeRangePicker({
29436
29484
  DateTimeRangePicker.displayName = "DateTimeRangePicker";
29437
29485
  function DateTimeRangePickerField({
29438
29486
  field,
29487
+ control,
29439
29488
  value,
29440
29489
  onChange,
29441
29490
  className
29442
29491
  }) {
29492
+ const formValues = useWatch({ control });
29493
+ const minDate = React.useMemo(() => {
29494
+ if (field.minDateFromField && formValues[field.minDateFromField])
29495
+ return formValues[field.minDateFromField];
29496
+ return field.minDate;
29497
+ }, [field.minDate, field.minDateFromField, formValues]);
29498
+ const maxDate = React.useMemo(() => {
29499
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
29500
+ return formValues[field.maxDateFromField];
29501
+ return field.maxDate;
29502
+ }, [field.maxDate, field.maxDateFromField, formValues]);
29443
29503
  const v = React.useMemo(() => {
29444
29504
  if (!value || typeof value !== "object")
29445
29505
  return null;
@@ -29461,8 +29521,8 @@ function DateTimeRangePickerField({
29461
29521
  value: v,
29462
29522
  onChange: (range) => onChange(range),
29463
29523
  placeholder: field.placeholder,
29464
- minDate: field.minDate,
29465
- maxDate: field.maxDate,
29524
+ minDate,
29525
+ maxDate,
29466
29526
  disabledDates: field.disabledDates,
29467
29527
  numberOfMonths: field.numberOfMonths ?? 2,
29468
29528
  popoverSide: field.popoverSide,
@@ -38387,12 +38447,12 @@ function DataTablePagination({
38387
38447
  }
38388
38448
  )
38389
38449
  ] }),
38390
- /* @__PURE__ */ jsxs("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
38450
+ /* @__PURE__ */ jsx("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: table.getRowCount() > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
38391
38451
  "Page ",
38392
38452
  pagination.pageIndex + 1,
38393
38453
  " of ",
38394
38454
  table.getPageCount()
38395
- ] }),
38455
+ ] }) : "Page 0 of 0" }),
38396
38456
  /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
38397
38457
  /* @__PURE__ */ jsxs(
38398
38458
  Button$1,
@@ -46451,6 +46511,33 @@ function DialogProvider({ children }) {
46451
46511
  ] });
46452
46512
  }
46453
46513
  const useDialog = useDialogController;
46514
+ function PageBackButton({
46515
+ onBack
46516
+ }) {
46517
+ const router = useRouter();
46518
+ const handleClick = useCallback(() => {
46519
+ if (onBack == null) {
46520
+ router.history.back();
46521
+ return;
46522
+ }
46523
+ onBack();
46524
+ }, [onBack, router]);
46525
+ return /* @__PURE__ */ jsx(Button$1, { variant: "ghost", className: "px-0! cursor-pointer", onClick: handleClick, children: /* @__PURE__ */ jsx(ChevronLeft, {}) });
46526
+ }
46527
+ function PageTitleWithBackButton({
46528
+ show = false,
46529
+ title = "",
46530
+ subtitle = "",
46531
+ onBack
46532
+ }) {
46533
+ return /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-1", children: [
46534
+ /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-x-2", children: [
46535
+ show && /* @__PURE__ */ jsx(PageBackButton, { onBack }),
46536
+ /* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold leading-none tracking-tight text-foreground", children: title })
46537
+ ] }),
46538
+ subtitle ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: subtitle }) : null
46539
+ ] });
46540
+ }
46454
46541
  const widthToClass = {
46455
46542
  full: "max-w-none",
46456
46543
  sm: "max-w-screen-sm",
@@ -46534,6 +46621,8 @@ function Page({
46534
46621
  title,
46535
46622
  subtitle,
46536
46623
  actions,
46624
+ backButton,
46625
+ onBackButtonClicked,
46537
46626
  containerWidth = "lg",
46538
46627
  className,
46539
46628
  headerClassName,
@@ -46559,10 +46648,15 @@ function Page({
46559
46648
  headerClassName
46560
46649
  ),
46561
46650
  children: [
46562
- /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-1", children: [
46563
- /* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold leading-none tracking-tight text-foreground", children: title }),
46564
- subtitle ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: subtitle }) : null
46565
- ] }),
46651
+ /* @__PURE__ */ jsx(
46652
+ PageTitleWithBackButton,
46653
+ {
46654
+ show: backButton,
46655
+ onBack: onBackButtonClicked,
46656
+ title,
46657
+ subtitle
46658
+ }
46659
+ ),
46566
46660
  actions && actions.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex shrink-0 flex-wrap items-center justify-end gap-2", children: actions.map(renderAction) }) : null
46567
46661
  ]
46568
46662
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataTablePagination.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/data-table/components/DataTablePagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAgBnD,MAAM,WAAW,wBAAwB,CAAC,KAAK;IAC7C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,EACzC,KAAK,EACL,iBAA0B,GAC3B,EAAE,wBAAwB,CAAC,KAAK,CAAC,2CAuFjC"}
1
+ {"version":3,"file":"DataTablePagination.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/data-table/components/DataTablePagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAgBnD,MAAM,WAAW,wBAAwB,CAAC,KAAK;IAC7C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,EACzC,KAAK,EACL,iBAA0B,GAC3B,EAAE,wBAAwB,CAAC,KAAK,CAAC,2CA2FjC"}
@@ -1,3 +1,3 @@
1
1
  import { FieldRenderProps } from './types';
2
- export declare function DateField({ field, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DateField({ field, control, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=DateField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CA4BlB"}
1
+ {"version":3,"file":"DateField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CA0ClB"}
@@ -1,3 +1,3 @@
1
1
  import { FieldRenderProps } from './types';
2
- export declare function DatePickerField({ field, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DatePickerField({ field, control, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=DatePickerField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DatePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAqBlB"}
1
+ {"version":3,"file":"DatePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DatePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAmClB"}
@@ -1,3 +1,3 @@
1
1
  import { FieldRenderProps } from './types';
2
- export declare function DateRangePickerField({ field, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DateRangePickerField({ field, control, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=DateRangePickerField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateRangePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAWhD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAqClB"}
1
+ {"version":3,"file":"DateRangePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateRangePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAYhD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAmDlB"}
@@ -1,4 +1,4 @@
1
1
  import { FieldRenderProps } from './types';
2
- export declare function DateTimePickerField({ field, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DateTimePickerField({ field, control, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
3
3
  export default DateTimePickerField;
4
4
  //# sourceMappingURL=DateTimePickerField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateTimePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CA0BlB;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DateTimePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateTimePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhD,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAwClB;AAED,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { FieldRenderProps } from './types';
2
- export declare function DateTimeRangePickerField({ field, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DateTimeRangePickerField({ field, control, value, onChange, className, }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
3
3
  export default DateTimeRangePickerField;
4
4
  //# sourceMappingURL=DateTimeRangePickerField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeRangePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateTimeRangePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAoClB;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"DateTimeRangePickerField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/DateTimeRangePickerField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhD,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAkDlB;AAED,eAAe,wBAAwB,CAAC"}
@@ -104,7 +104,9 @@ export interface FormBuilderFieldConfig<TFieldValues extends FieldValues = Field
104
104
  labelPlacement?: 'stacked' | 'inline' | 'hidden';
105
105
  wrapperClassName?: string;
106
106
  minDate?: Date;
107
+ minDateFromField?: string;
107
108
  maxDate?: Date;
109
+ maxDateFromField?: string;
108
110
  disabledDates?: Array<Date | {
109
111
  from: Date;
110
112
  to: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/types.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export type PageProps = {
35
35
  title: React.ReactNode;
36
36
  subtitle?: React.ReactNode;
37
37
  actions?: PageAction[];
38
+ backButton?: boolean;
39
+ onBackButtonClicked?: () => void;
38
40
  containerWidth?: PageContainerWidth;
39
41
  className?: string;
40
42
  headerClassName?: string;
@@ -43,6 +45,6 @@ export type PageProps = {
43
45
  footerRight?: React.ReactNode;
44
46
  children?: React.ReactNode;
45
47
  };
46
- export declare function Page({ title, subtitle, actions, containerWidth, className, headerClassName, contentClassName, footerLeft, footerRight, children, }: PageProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function Page({ title, subtitle, actions, backButton, onBackButtonClicked, containerWidth, className, headerClassName, contentClassName, footerLeft, footerRight, children, }: PageProps): import("react/jsx-runtime").JSX.Element;
47
49
  export default Page;
48
50
  //# sourceMappingURL=Page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/page/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAkB,MAAM,2BAA2B,CAAC;AAUnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,sBAAsB,GAAG;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAqFF,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,cAAqB,EACrB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,SAAS,2CAgDX;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/page/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAkB,MAAM,2BAA2B,CAAC;AAWnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,sBAAsB,GAAG;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAqFF,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,cAAqB,EACrB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,SAAS,2CA8CX;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function PageBackButton({ onBack }: {
2
+ onBack?: () => void;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ export declare function PageTitleWithBackButton({ show, title, subtitle, onBack, }: {
5
+ show?: boolean;
6
+ title?: React.ReactNode;
7
+ subtitle?: React.ReactNode;
8
+ onBack?: () => void;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=PageBackButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageBackButton.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/page/PageBackButton.tsx"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,EAC3B,MAAM,EACT,EAAE;IACC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,2CAgBA;AAED,wBAAgB,uBAAuB,CAAC,EACpC,IAAY,EACZ,KAAU,EACV,QAAa,EACb,MAAM,GACT,EAAE;IACC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,2CAcA"}
@@ -2260,6 +2260,10 @@
2260
2260
  padding-inline: calc(var(--spacing) * 0);
2261
2261
  }
2262
2262
 
2263
+ .px-0\! {
2264
+ padding-inline: calc(var(--spacing) * 0) !important;
2265
+ }
2266
+
2263
2267
  .px-1 {
2264
2268
  padding-inline: calc(var(--spacing) * 1);
2265
2269
  }
@@ -2263,6 +2263,10 @@
2263
2263
  padding-inline: calc(var(--spacing) * 0);
2264
2264
  }
2265
2265
 
2266
+ .px-0\! {
2267
+ padding-inline: calc(var(--spacing) * 0) !important;
2268
+ }
2269
+
2266
2270
  .px-1 {
2267
2271
  padding-inline: calc(var(--spacing) * 1);
2268
2272
  }
@@ -2260,6 +2260,10 @@
2260
2260
  padding-inline: calc(var(--spacing) * 0);
2261
2261
  }
2262
2262
 
2263
+ .px-0\! {
2264
+ padding-inline: calc(var(--spacing) * 0) !important;
2265
+ }
2266
+
2263
2267
  .px-1 {
2264
2268
  padding-inline: calc(var(--spacing) * 1);
2265
2269
  }
@@ -2260,6 +2260,10 @@
2260
2260
  padding-inline: calc(var(--spacing) * 0);
2261
2261
  }
2262
2262
 
2263
+ .px-0\! {
2264
+ padding-inline: calc(var(--spacing) * 0) !important;
2265
+ }
2266
+
2263
2267
  .px-1 {
2264
2268
  padding-inline: calc(var(--spacing) * 1);
2265
2269
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k3-universe/react-kit",
3
- "version": "0.0.44",
3
+ "version": "0.0.46",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -58,7 +58,11 @@ export function DataTablePagination<TData>({
58
58
  </div>
59
59
  )}
60
60
  <div className="flex w-[100px] items-center justify-center text-sm font-medium">
61
- Page {pagination.pageIndex + 1} of {table.getPageCount()}
61
+ {table.getRowCount() > 0
62
+ ? (
63
+ <>Page {pagination.pageIndex + 1} of {table.getPageCount()}</>
64
+ )
65
+ : "Page 0 of 0"}
62
66
  </div>
63
67
  <div className="flex items-center space-x-2">
64
68
  <Button
@@ -1,12 +1,29 @@
1
+ import React from 'react';
1
2
  import { Input } from '../../../../../shadcn/ui/input';
2
3
  import type { FieldRenderProps } from './types';
4
+ import { useWatch } from 'react-hook-form';
3
5
 
4
6
  export function DateField({
5
7
  field,
8
+ control,
6
9
  value,
7
10
  onChange,
8
11
  className,
9
12
  }: FieldRenderProps) {
13
+ const formValues = useWatch({ control });
14
+
15
+ const minDate = React.useMemo(() => {
16
+ if (field.minDateFromField && formValues[field.minDateFromField])
17
+ return formValues[field.minDateFromField];
18
+ return field.minDate;
19
+ }, [field.minDate, field.minDateFromField, formValues]);
20
+
21
+ const maxDate = React.useMemo(() => {
22
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
23
+ return formValues[field.maxDateFromField];
24
+ return field.maxDate;
25
+ }, [field.maxDate, field.maxDateFromField, formValues]);
26
+
10
27
  const parseDateValueForInput = (date: unknown) => {
11
28
  if (date instanceof Date) {
12
29
  return date.toISOString().split('T')[0];
@@ -27,8 +44,8 @@ export function DateField({
27
44
  type="date"
28
45
  value={parseDateValueForInput(value)}
29
46
  defaultValue={parseDateValueForInput(value)}
30
- min={parseDateValueForInput(field.minDate)}
31
- max={parseDateValueForInput(field.maxDate)}
47
+ min={parseDateValueForInput(minDate)}
48
+ max={parseDateValueForInput(maxDate)}
32
49
  onChange={(e) =>
33
50
  onChange(e.target.value ? new Date(e.target.value) : null)
34
51
  }
@@ -1,13 +1,29 @@
1
1
  import * as React from 'react';
2
2
  import type { FieldRenderProps } from './types';
3
3
  import { DatePicker } from '../../../../components/datepicker/DatePicker';
4
+ import { useWatch } from 'react-hook-form';
4
5
 
5
6
  export function DatePickerField({
6
7
  field,
8
+ control,
7
9
  value,
8
10
  onChange,
9
11
  className,
10
12
  }: FieldRenderProps) {
13
+ const formValues = useWatch({ control });
14
+
15
+ const minDate = React.useMemo(() => {
16
+ if (field.minDateFromField && formValues[field.minDateFromField])
17
+ return formValues[field.minDateFromField];
18
+ return field.minDate;
19
+ }, [field.minDate, field.minDateFromField, formValues]);
20
+
21
+ const maxDate = React.useMemo(() => {
22
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
23
+ return formValues[field.maxDateFromField];
24
+ return field.maxDate;
25
+ }, [field.maxDate, field.maxDateFromField, formValues]);
26
+
11
27
  const v = React.useMemo(() => {
12
28
  if (!value) return null;
13
29
  if (value instanceof Date) return value;
@@ -20,8 +36,8 @@ export function DatePickerField({
20
36
  className={className}
21
37
  value={v}
22
38
  onChange={(d: Date | null) => onChange(d)}
23
- minDate={field.minDate}
24
- maxDate={field.maxDate}
39
+ minDate={minDate}
40
+ maxDate={maxDate}
25
41
  disabledDates={field.disabledDates}
26
42
  format={field.dateFormat}
27
43
  placeholder={field.placeholder}
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import type { FieldRenderProps } from './types';
3
3
  import { DateRangePicker } from '../../../../components/datepicker/DateRangePicker';
4
4
  import type { DateRange } from 'react-day-picker';
5
+ import { useWatch } from 'react-hook-form';
5
6
 
6
7
  function coerceDate(input: unknown): Date | undefined {
7
8
  if (!input) return undefined;
@@ -12,10 +13,25 @@ function coerceDate(input: unknown): Date | undefined {
12
13
 
13
14
  export function DateRangePickerField({
14
15
  field,
16
+ control,
15
17
  value,
16
18
  onChange,
17
19
  className,
18
20
  }: FieldRenderProps) {
21
+ const formValues = useWatch({ control });
22
+
23
+ const minDate = React.useMemo(() => {
24
+ if (field.minDateFromField && formValues[field.minDateFromField])
25
+ return formValues[field.minDateFromField];
26
+ return field.minDate;
27
+ }, [field.minDate, field.minDateFromField, formValues]);
28
+
29
+ const maxDate = React.useMemo(() => {
30
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
31
+ return formValues[field.maxDateFromField];
32
+ return field.maxDate;
33
+ }, [field.maxDate, field.maxDateFromField, formValues]);
34
+
19
35
  const v = React.useMemo<DateRange | null>(() => {
20
36
  if (!value) return null;
21
37
  if (typeof value === 'object' && value !== null) {
@@ -40,8 +56,8 @@ export function DateRangePickerField({
40
56
  className={className}
41
57
  value={v}
42
58
  onChange={(r) => onChange(r)}
43
- minDate={field.minDate}
44
- maxDate={field.maxDate}
59
+ minDate={minDate}
60
+ maxDate={maxDate}
45
61
  disabledDates={field.disabledDates}
46
62
  format={field.dateFormat ? dateFormat : undefined}
47
63
  placeholder={field.placeholder}
@@ -1,13 +1,29 @@
1
1
  import * as React from 'react';
2
2
  import type { FieldRenderProps } from './types';
3
3
  import { DateTimePicker } from '../../../../components/datetimepicker/DateTimePicker';
4
+ import { useWatch } from 'react-hook-form';
4
5
 
5
6
  export function DateTimePickerField({
6
7
  field,
8
+ control,
7
9
  value,
8
10
  onChange,
9
11
  className,
10
12
  }: FieldRenderProps) {
13
+ const formValues = useWatch({ control });
14
+
15
+ const minDate = React.useMemo(() => {
16
+ if (field.minDateFromField && formValues[field.minDateFromField])
17
+ return formValues[field.minDateFromField];
18
+ return field.minDate;
19
+ }, [field.minDate, field.minDateFromField, formValues]);
20
+
21
+ const maxDate = React.useMemo(() => {
22
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
23
+ return formValues[field.maxDateFromField];
24
+ return field.maxDate;
25
+ }, [field.maxDate, field.maxDateFromField, formValues]);
26
+
11
27
  const v = React.useMemo(() => {
12
28
  if (!value) return null;
13
29
  if (value instanceof Date) return value;
@@ -21,8 +37,8 @@ export function DateTimePickerField({
21
37
  value={v}
22
38
  onChange={(d: Date | null) => onChange(d)}
23
39
  placeholder={field.placeholder}
24
- minDate={field.minDate}
25
- maxDate={field.maxDate}
40
+ minDate={minDate}
41
+ maxDate={maxDate}
26
42
  disabledDates={field.disabledDates}
27
43
  timePrecision={field.timePrecision ?? 'minute'}
28
44
  hourCycle={field.hourCycle ?? 24}
@@ -1,13 +1,29 @@
1
1
  import * as React from 'react';
2
2
  import type { FieldRenderProps } from './types';
3
3
  import { DateTimeRangePicker } from '../../../../components/datetimepicker/DateTimeRangePicker';
4
+ import { useWatch } from 'react-hook-form';
4
5
 
5
6
  export function DateTimeRangePickerField({
6
7
  field,
8
+ control,
7
9
  value,
8
10
  onChange,
9
11
  className,
10
12
  }: FieldRenderProps) {
13
+ const formValues = useWatch({ control });
14
+
15
+ const minDate = React.useMemo(() => {
16
+ if (field.minDateFromField && formValues[field.minDateFromField])
17
+ return formValues[field.minDateFromField];
18
+ return field.minDate;
19
+ }, [field.minDate, field.minDateFromField, formValues]);
20
+
21
+ const maxDate = React.useMemo(() => {
22
+ if (field.maxDateFromField && formValues[field.maxDateFromField])
23
+ return formValues[field.maxDateFromField];
24
+ return field.maxDate;
25
+ }, [field.maxDate, field.maxDateFromField, formValues]);
26
+
11
27
  const v = React.useMemo(() => {
12
28
  if (!value || typeof value !== 'object')
13
29
  return null as { from?: Date | null; to?: Date | null } | null;
@@ -29,8 +45,8 @@ export function DateTimeRangePickerField({
29
45
  value={v}
30
46
  onChange={(range) => onChange(range)}
31
47
  placeholder={field.placeholder}
32
- minDate={field.minDate}
33
- maxDate={field.maxDate}
48
+ minDate={minDate}
49
+ maxDate={maxDate}
34
50
  disabledDates={field.disabledDates}
35
51
  numberOfMonths={field.numberOfMonths ?? 2}
36
52
  popoverSide={field.popoverSide}
@@ -142,7 +142,9 @@ export interface FormBuilderFieldConfig<
142
142
  labelPlacement?: 'stacked' | 'inline' | 'hidden';
143
143
  wrapperClassName?: string;
144
144
  minDate?: Date;
145
+ minDateFromField?: string;
145
146
  maxDate?: Date;
147
+ maxDateFromField?: string;
146
148
  disabledDates?: Array<Date | { from: Date; to: Date }>;
147
149
  dateFormat?: (date: Date) => string;
148
150
  numberOfMonths?: number;
@@ -8,6 +8,7 @@ import {
8
8
  DropdownMenuSeparator,
9
9
  } from '../../../shadcn/ui/dropdown-menu';
10
10
  import { cn } from '../../../shadcn/lib/utils';
11
+ import { PageTitleWithBackButton } from './PageBackButton';
11
12
 
12
13
  export type PageContainerWidth = 'full' | 'sm' | 'md' | 'lg' | 'xl';
13
14
 
@@ -46,6 +47,8 @@ export type PageProps = {
46
47
  title: React.ReactNode;
47
48
  subtitle?: React.ReactNode;
48
49
  actions?: PageAction[];
50
+ backButton?: boolean;
51
+ onBackButtonClicked?: () => void;
49
52
  containerWidth?: PageContainerWidth;
50
53
  className?: string;
51
54
  headerClassName?: string;
@@ -142,6 +145,8 @@ export function Page({
142
145
  title,
143
146
  subtitle,
144
147
  actions,
148
+ backButton,
149
+ onBackButtonClicked,
145
150
  containerWidth = 'lg',
146
151
  className,
147
152
  headerClassName,
@@ -165,14 +170,12 @@ export function Page({
165
170
  headerClassName,
166
171
  )}
167
172
  >
168
- <div className="flex min-w-0 flex-col gap-1">
169
- <h1 className="text-2xl font-semibold leading-none tracking-tight text-foreground">
170
- {title}
171
- </h1>
172
- {subtitle ? (
173
- <p className="text-sm text-muted-foreground">{subtitle}</p>
174
- ) : null}
175
- </div>
173
+ <PageTitleWithBackButton
174
+ show={backButton}
175
+ onBack={onBackButtonClicked}
176
+ title={title}
177
+ subtitle={subtitle}
178
+ />
176
179
  {actions && actions.length > 0 ? (
177
180
  <div className="flex shrink-0 flex-wrap items-center justify-end gap-2">
178
181
  {actions.map(renderAction)}
@@ -0,0 +1,52 @@
1
+ import { Button } from "../../../shadcn/ui/button";
2
+ import { useRouter } from "@tanstack/react-router";
3
+ import { ChevronLeftIcon } from "lucide-react";
4
+ import { useCallback } from "react";
5
+
6
+ export function PageBackButton({
7
+ onBack
8
+ }: {
9
+ onBack?: () => void,
10
+ }) {
11
+ const router = useRouter();
12
+
13
+ const handleClick = useCallback(() => {
14
+ if (onBack == null) {
15
+ router.history.back();
16
+ return;
17
+ }
18
+ onBack();
19
+ }, [onBack, router]);
20
+
21
+ return (
22
+ <Button variant="ghost" className="px-0! cursor-pointer" onClick={handleClick}>
23
+ <ChevronLeftIcon/>
24
+ </Button>
25
+ )
26
+ }
27
+
28
+ export function PageTitleWithBackButton({
29
+ show = false,
30
+ title = "",
31
+ subtitle = "",
32
+ onBack,
33
+ }: {
34
+ show?: boolean,
35
+ title?: React.ReactNode,
36
+ subtitle?: React.ReactNode,
37
+ onBack?: () => void,
38
+ }) {
39
+ return (
40
+ <div className="flex min-w-0 flex-col gap-1">
41
+ <div className="inline-flex items-center gap-x-2">
42
+ {show && (<PageBackButton onBack={onBack} />)}
43
+ <h1 className="text-2xl font-semibold leading-none tracking-tight text-foreground">
44
+ {title}
45
+ </h1>
46
+ </div>
47
+ {subtitle ? (
48
+ <p className="text-sm text-muted-foreground">{subtitle}</p>
49
+ ) : null}
50
+ </div>
51
+ )
52
+ }
@@ -114,7 +114,7 @@ export function DatePicker({
114
114
  disabled={disabled}
115
115
  variant={buttonVariant}
116
116
  className={cn(
117
- 'w-[240px] justify-start text-left font-normal',
117
+ 'w-full justify-start text-left font-normal',
118
118
  !value && 'text-muted-foreground',
119
119
  )}
120
120
  >
@@ -312,7 +312,7 @@ export function DateTimePicker({
312
312
  disabled={disabled}
313
313
  variant={buttonVariant}
314
314
  className={cn(
315
- 'w-[280px] justify-start text-left font-normal',
315
+ 'w-full flex justify-start text-left font-normal',
316
316
  !value && 'text-muted-foreground',
317
317
  )}
318
318
  >
@@ -73,7 +73,7 @@ export function MonthInput({
73
73
  disabled={disabled}
74
74
  variant={buttonVariant}
75
75
  className={cn(
76
- 'w-[240px] justify-start text-left font-normal',
76
+ 'w-full justify-start text-left font-normal',
77
77
  !value && 'text-muted-foreground',
78
78
  )}
79
79
  >
@@ -169,7 +169,7 @@ export function TimePicker({
169
169
  disabled={disabled}
170
170
  variant={buttonVariant}
171
171
  className={cn(
172
- 'w-[240px] justify-start text-left font-normal',
172
+ 'w-full justify-start text-left font-normal',
173
173
  !value && 'text-muted-foreground',
174
174
  )}
175
175
  >
@@ -70,7 +70,7 @@ function TableHead({ className, ...props }: React.ComponentProps<'th'>) {
70
70
  <th
71
71
  data-slot="table-head"
72
72
  className={cn(
73
- 'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',
73
+ 'bg-primary text-white h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',
74
74
  className,
75
75
  )}
76
76
  {...props}