@helpwave/hightide 0.6.13 → 0.6.14

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.mts CHANGED
@@ -1155,8 +1155,10 @@ declare module '@tanstack/react-table' {
1155
1155
  text: FilterFn<unknown>;
1156
1156
  number: FilterFn<unknown>;
1157
1157
  date: FilterFn<unknown>;
1158
+ dateTime: FilterFn<unknown>;
1158
1159
  boolean: FilterFn<unknown>;
1159
1160
  tags: FilterFn<unknown>;
1161
+ tagsSingle: FilterFn<unknown>;
1160
1162
  generic: FilterFn<unknown>;
1161
1163
  }
1162
1164
  }
@@ -1358,7 +1360,7 @@ declare const TableFilterOperator: {
1358
1360
  readonly text: readonly ["textEquals", "textNotEquals", "textNotWhitespace", "textContains", "textNotContains", "textStartsWith", "textEndsWith"];
1359
1361
  readonly number: readonly ["numberEquals", "numberNotEquals", "numberGreaterThan", "numberGreaterThanOrEqual", "numberLessThan", "numberLessThanOrEqual", "numberBetween", "numberNotBetween"];
1360
1362
  readonly date: readonly ["dateEquals", "dateNotEquals", "dateGreaterThan", "dateGreaterThanOrEqual", "dateLessThan", "dateLessThanOrEqual", "dateBetween", "dateNotBetween"];
1361
- readonly datetime: readonly ["datetimeEquals", "datetimeNotEquals", "datetimeGreaterThan", "datetimeGreaterThanOrEqual", "datetimeLessThan", "datetimeLessThanOrEqual", "datetimeBetween", "datetimeNotBetween"];
1363
+ readonly dateTime: readonly ["dateTimeEquals", "dateTimeNotEquals", "dateTimeGreaterThan", "dateTimeGreaterThanOrEqual", "dateTimeLessThan", "dateTimeLessThanOrEqual", "dateTimeBetween", "dateTimeNotBetween"];
1362
1364
  readonly boolean: readonly ["booleanIsTrue", "booleanIsFalse"];
1363
1365
  readonly tags: readonly ["tagsEquals", "tagsNotEquals", "tagsContains", "tagsNotContains"];
1364
1366
  readonly tagsSingle: readonly ["tagsSingleEquals", "tagsSingleNotEquals", "tagsSingleContains", "tagsSingleNotContains"];
@@ -1368,7 +1370,7 @@ type TableGenericFilter = (typeof TableFilterOperator.generic)[number];
1368
1370
  type TableTextFilter = (typeof TableFilterOperator.text)[number] | TableGenericFilter;
1369
1371
  type TableNumberFilter = (typeof TableFilterOperator.number)[number] | TableGenericFilter;
1370
1372
  type TableDateFilter = (typeof TableFilterOperator.date)[number] | TableGenericFilter;
1371
- type TableDatetimeFilter = (typeof TableFilterOperator.datetime)[number] | TableGenericFilter;
1373
+ type TableDatetimeFilter = (typeof TableFilterOperator.dateTime)[number] | TableGenericFilter;
1372
1374
  type TableBooleanFilter = (typeof TableFilterOperator.boolean)[number] | TableGenericFilter;
1373
1375
  type TableTagsFilter = (typeof TableFilterOperator.tags)[number] | TableGenericFilter;
1374
1376
  type TableTagsSingleFilter = (typeof TableFilterOperator.tagsSingle)[number] | TableGenericFilter;
@@ -1440,7 +1442,7 @@ declare const TableFilter: {
1440
1442
  text: FilterFn<unknown>;
1441
1443
  number: FilterFn<unknown>;
1442
1444
  date: FilterFn<unknown>;
1443
- datetime: FilterFn<unknown>;
1445
+ dateTime: FilterFn<unknown>;
1444
1446
  boolean: FilterFn<unknown>;
1445
1447
  tags: FilterFn<unknown>;
1446
1448
  tagsSingle: FilterFn<unknown>;
@@ -2690,7 +2692,7 @@ declare function filterNumber(value: unknown, filterValue: NumberFilterValue): b
2690
2692
  */
2691
2693
  declare function filterDate(value: unknown, filterValue: DateFilterValue): boolean;
2692
2694
  /**
2693
- * Filters a datetime value based on the provided filter value.
2695
+ * Filters a dateTime value based on the provided filter value.
2694
2696
  */
2695
2697
  declare function filterDatetime(value: unknown, filterValue: DatetimeFilterValue): boolean;
2696
2698
  /**
package/dist/index.d.ts CHANGED
@@ -1155,8 +1155,10 @@ declare module '@tanstack/react-table' {
1155
1155
  text: FilterFn<unknown>;
1156
1156
  number: FilterFn<unknown>;
1157
1157
  date: FilterFn<unknown>;
1158
+ dateTime: FilterFn<unknown>;
1158
1159
  boolean: FilterFn<unknown>;
1159
1160
  tags: FilterFn<unknown>;
1161
+ tagsSingle: FilterFn<unknown>;
1160
1162
  generic: FilterFn<unknown>;
1161
1163
  }
1162
1164
  }
@@ -1358,7 +1360,7 @@ declare const TableFilterOperator: {
1358
1360
  readonly text: readonly ["textEquals", "textNotEquals", "textNotWhitespace", "textContains", "textNotContains", "textStartsWith", "textEndsWith"];
1359
1361
  readonly number: readonly ["numberEquals", "numberNotEquals", "numberGreaterThan", "numberGreaterThanOrEqual", "numberLessThan", "numberLessThanOrEqual", "numberBetween", "numberNotBetween"];
1360
1362
  readonly date: readonly ["dateEquals", "dateNotEquals", "dateGreaterThan", "dateGreaterThanOrEqual", "dateLessThan", "dateLessThanOrEqual", "dateBetween", "dateNotBetween"];
1361
- readonly datetime: readonly ["datetimeEquals", "datetimeNotEquals", "datetimeGreaterThan", "datetimeGreaterThanOrEqual", "datetimeLessThan", "datetimeLessThanOrEqual", "datetimeBetween", "datetimeNotBetween"];
1363
+ readonly dateTime: readonly ["dateTimeEquals", "dateTimeNotEquals", "dateTimeGreaterThan", "dateTimeGreaterThanOrEqual", "dateTimeLessThan", "dateTimeLessThanOrEqual", "dateTimeBetween", "dateTimeNotBetween"];
1362
1364
  readonly boolean: readonly ["booleanIsTrue", "booleanIsFalse"];
1363
1365
  readonly tags: readonly ["tagsEquals", "tagsNotEquals", "tagsContains", "tagsNotContains"];
1364
1366
  readonly tagsSingle: readonly ["tagsSingleEquals", "tagsSingleNotEquals", "tagsSingleContains", "tagsSingleNotContains"];
@@ -1368,7 +1370,7 @@ type TableGenericFilter = (typeof TableFilterOperator.generic)[number];
1368
1370
  type TableTextFilter = (typeof TableFilterOperator.text)[number] | TableGenericFilter;
1369
1371
  type TableNumberFilter = (typeof TableFilterOperator.number)[number] | TableGenericFilter;
1370
1372
  type TableDateFilter = (typeof TableFilterOperator.date)[number] | TableGenericFilter;
1371
- type TableDatetimeFilter = (typeof TableFilterOperator.datetime)[number] | TableGenericFilter;
1373
+ type TableDatetimeFilter = (typeof TableFilterOperator.dateTime)[number] | TableGenericFilter;
1372
1374
  type TableBooleanFilter = (typeof TableFilterOperator.boolean)[number] | TableGenericFilter;
1373
1375
  type TableTagsFilter = (typeof TableFilterOperator.tags)[number] | TableGenericFilter;
1374
1376
  type TableTagsSingleFilter = (typeof TableFilterOperator.tagsSingle)[number] | TableGenericFilter;
@@ -1440,7 +1442,7 @@ declare const TableFilter: {
1440
1442
  text: FilterFn<unknown>;
1441
1443
  number: FilterFn<unknown>;
1442
1444
  date: FilterFn<unknown>;
1443
- datetime: FilterFn<unknown>;
1445
+ dateTime: FilterFn<unknown>;
1444
1446
  boolean: FilterFn<unknown>;
1445
1447
  tags: FilterFn<unknown>;
1446
1448
  tagsSingle: FilterFn<unknown>;
@@ -2690,7 +2692,7 @@ declare function filterNumber(value: unknown, filterValue: NumberFilterValue): b
2690
2692
  */
2691
2693
  declare function filterDate(value: unknown, filterValue: DateFilterValue): boolean;
2692
2694
  /**
2693
- * Filters a datetime value based on the provided filter value.
2695
+ * Filters a dateTime value based on the provided filter value.
2694
2696
  */
2695
2697
  declare function filterDatetime(value: unknown, filterValue: DatetimeFilterValue): boolean;
2696
2698
  /**
package/dist/index.js CHANGED
@@ -13345,55 +13345,55 @@ function filterDate(value, filterValue) {
13345
13345
  return false;
13346
13346
  }
13347
13347
  }
13348
- function normalizeDatetime(datetime) {
13349
- const normalized = new Date(datetime);
13348
+ function normalizeDatetime(dateTime) {
13349
+ const normalized = new Date(dateTime);
13350
13350
  normalized.setSeconds(0, 0);
13351
13351
  return normalized;
13352
13352
  }
13353
13353
  function filterDatetime(value, filterValue) {
13354
13354
  const parameter = filterValue.parameter;
13355
13355
  const operator = filterValue.operator;
13356
- const datetime = parseDate(value);
13357
- if (!datetime && !TableFilterOperator.generic.some((o) => o === operator)) return false;
13358
- const normalizedDatetime = datetime ? normalizeDatetime(datetime) : null;
13356
+ const dateTime = parseDate(value);
13357
+ if (!dateTime && !TableFilterOperator.generic.some((o) => o === operator)) return false;
13358
+ const normalizedDatetime = dateTime ? normalizeDatetime(dateTime) : null;
13359
13359
  switch (operator) {
13360
- case "datetimeEquals": {
13360
+ case "dateTimeEquals": {
13361
13361
  const filterDatetime2 = parseDate(parameter.compareDatetime);
13362
13362
  if (!filterDatetime2 || !normalizedDatetime) return false;
13363
13363
  return normalizedDatetime.getTime() === normalizeDatetime(filterDatetime2).getTime();
13364
13364
  }
13365
- case "datetimeNotEquals": {
13365
+ case "dateTimeNotEquals": {
13366
13366
  const filterDatetime2 = parseDate(parameter.compareDatetime);
13367
13367
  if (!filterDatetime2 || !normalizedDatetime) return false;
13368
13368
  return normalizedDatetime.getTime() !== normalizeDatetime(filterDatetime2).getTime();
13369
13369
  }
13370
- case "datetimeGreaterThan": {
13370
+ case "dateTimeGreaterThan": {
13371
13371
  const filterDatetime2 = parseDate(parameter.compareDatetime);
13372
13372
  if (!filterDatetime2 || !normalizedDatetime) return false;
13373
13373
  return normalizedDatetime > normalizeDatetime(filterDatetime2);
13374
13374
  }
13375
- case "datetimeGreaterThanOrEqual": {
13375
+ case "dateTimeGreaterThanOrEqual": {
13376
13376
  const filterDatetime2 = parseDate(parameter.compareDatetime);
13377
13377
  if (!filterDatetime2 || !normalizedDatetime) return false;
13378
13378
  return normalizedDatetime >= normalizeDatetime(filterDatetime2);
13379
13379
  }
13380
- case "datetimeLessThan": {
13380
+ case "dateTimeLessThan": {
13381
13381
  const filterDatetime2 = parseDate(parameter.compareDatetime);
13382
13382
  if (!filterDatetime2 || !normalizedDatetime) return false;
13383
13383
  return normalizedDatetime < normalizeDatetime(filterDatetime2);
13384
13384
  }
13385
- case "datetimeLessThanOrEqual": {
13385
+ case "dateTimeLessThanOrEqual": {
13386
13386
  const filterDatetime2 = parseDate(parameter.compareDatetime);
13387
13387
  if (!filterDatetime2 || !normalizedDatetime) return false;
13388
13388
  return normalizedDatetime <= normalizeDatetime(filterDatetime2);
13389
13389
  }
13390
- case "datetimeBetween": {
13390
+ case "dateTimeBetween": {
13391
13391
  const minDatetime = parseDate(parameter.min);
13392
13392
  const maxDatetime = parseDate(parameter.max);
13393
13393
  if (!minDatetime || !maxDatetime || !normalizedDatetime) return false;
13394
13394
  return normalizedDatetime >= normalizeDatetime(minDatetime) && normalizedDatetime <= normalizeDatetime(maxDatetime);
13395
13395
  }
13396
- case "datetimeNotBetween": {
13396
+ case "dateTimeNotBetween": {
13397
13397
  const minDatetime = parseDate(parameter.min);
13398
13398
  const maxDatetime = parseDate(parameter.max);
13399
13399
  if (!minDatetime || !maxDatetime || !normalizedDatetime) return false;
@@ -13495,7 +13495,7 @@ var TableFilterOperator = {
13495
13495
  text: ["textEquals", "textNotEquals", "textNotWhitespace", "textContains", "textNotContains", "textStartsWith", "textEndsWith"],
13496
13496
  number: ["numberEquals", "numberNotEquals", "numberGreaterThan", "numberGreaterThanOrEqual", "numberLessThan", "numberLessThanOrEqual", "numberBetween", "numberNotBetween"],
13497
13497
  date: ["dateEquals", "dateNotEquals", "dateGreaterThan", "dateGreaterThanOrEqual", "dateLessThan", "dateLessThanOrEqual", "dateBetween", "dateNotBetween"],
13498
- datetime: ["datetimeEquals", "datetimeNotEquals", "datetimeGreaterThan", "datetimeGreaterThanOrEqual", "datetimeLessThan", "datetimeLessThanOrEqual", "datetimeBetween", "datetimeNotBetween"],
13498
+ dateTime: ["dateTimeEquals", "dateTimeNotEquals", "dateTimeGreaterThan", "dateTimeGreaterThanOrEqual", "dateTimeLessThan", "dateTimeLessThanOrEqual", "dateTimeBetween", "dateTimeNotBetween"],
13499
13499
  boolean: ["booleanIsTrue", "booleanIsFalse"],
13500
13500
  tags: ["tagsEquals", "tagsNotEquals", "tagsContains", "tagsNotContains"],
13501
13501
  tagsSingle: ["tagsSingleEquals", "tagsSingleNotEquals", "tagsSingleContains", "tagsSingleNotContains"],
@@ -13507,22 +13507,25 @@ function isTableFilterCategory(value) {
13507
13507
  var textFilter = (row, columnId, filterValue) => {
13508
13508
  const value = row.getValue(columnId);
13509
13509
  return filterText(value, filterValue);
13510
+ return filterText(value, filterValue);
13510
13511
  };
13511
13512
  var numberFilter = (row, columnId, filterValue) => {
13512
13513
  const value = row.getValue(columnId);
13513
13514
  return filterNumber(value, filterValue);
13515
+ return filterNumber(value, filterValue);
13514
13516
  };
13515
13517
  var dateFilter = (row, columnId, filterValue) => {
13516
13518
  const value = row.getValue(columnId);
13517
13519
  return filterDate(value, filterValue);
13518
13520
  };
13519
- var datetimeFilter = (row, columnId, filterValue) => {
13521
+ var dateTimeFilter = (row, columnId, filterValue) => {
13520
13522
  const value = row.getValue(columnId);
13521
13523
  return filterDatetime(value, filterValue);
13522
13524
  };
13523
13525
  var booleanFilter = (row, columnId, filterValue) => {
13524
13526
  const value = row.getValue(columnId);
13525
13527
  return filterBoolean(value, filterValue);
13528
+ return filterBoolean(value, filterValue);
13526
13529
  };
13527
13530
  var tagsFilter = (row, columnId, filterValue) => {
13528
13531
  const value = row.getValue(columnId);
@@ -13535,12 +13538,13 @@ var tagsSingleFilter = (row, columnId, filterValue) => {
13535
13538
  var genericFilter = (row, columnId, filterValue) => {
13536
13539
  const value = row.getValue(columnId);
13537
13540
  return filterGeneric(value, filterValue);
13541
+ return filterGeneric(value, filterValue);
13538
13542
  };
13539
13543
  var TableFilter = {
13540
13544
  text: textFilter,
13541
13545
  number: numberFilter,
13542
13546
  date: dateFilter,
13543
- datetime: datetimeFilter,
13547
+ dateTime: dateTimeFilter,
13544
13548
  boolean: booleanFilter,
13545
13549
  tags: tagsFilter,
13546
13550
  tagsSingle: tagsSingleFilter,
@@ -13680,8 +13684,10 @@ var TableProvider = ({
13680
13684
  text: TableFilter.text,
13681
13685
  number: TableFilter.number,
13682
13686
  date: TableFilter.date,
13687
+ dateTime: TableFilter.dateTime,
13683
13688
  boolean: TableFilter.boolean,
13684
13689
  tags: TableFilter.tags,
13690
+ tagsSingle: TableFilter.tagsSingle,
13685
13691
  generic: TableFilter.generic
13686
13692
  },
13687
13693
  onColumnSizingChange: (updaterOrValue) => {
@@ -15008,13 +15014,13 @@ var getOperatorInfo = (operator) => {
15008
15014
  return { icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.SearchCheck, { className: "w-4 h-4" }), translationKey: "contains" };
15009
15015
  case "tagsNotContains":
15010
15016
  return { icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.SearchX, { className: "w-4 h-4" }), translationKey: "notContains" };
15011
- case "datetimeEquals":
15017
+ case "dateTimeEquals":
15012
15018
  return { icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.Equal, { className: "w-4 h-4" }), translationKey: "equals" };
15013
- case "datetimeNotEquals":
15019
+ case "dateTimeNotEquals":
15014
15020
  return { icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.EqualNot, { className: "w-4 h-4" }), translationKey: "notEquals" };
15015
- case "datetimeGreaterThan":
15021
+ case "dateTimeGreaterThan":
15016
15022
  return { icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.ChevronRight, { className: "w-4 h-4" }), translationKey: "after" };
15017
- case "datetimeGreaterThanOrEqual":
15023
+ case "dateTimeGreaterThanOrEqual":
15018
15024
  return {
15019
15025
  icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-row-0 items-center", children: [
15020
15026
  /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.ChevronRight, { className: "w-4 h-4" }),
@@ -15022,9 +15028,9 @@ var getOperatorInfo = (operator) => {
15022
15028
  ] }),
15023
15029
  translationKey: "onOrAfter"
15024
15030
  };
15025
- case "datetimeLessThan":
15031
+ case "dateTimeLessThan":
15026
15032
  return { icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.ChevronLeft, { className: "w-4 h-4" }), translationKey: "before" };
15027
- case "datetimeLessThanOrEqual":
15033
+ case "dateTimeLessThanOrEqual":
15028
15034
  return {
15029
15035
  icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-row-0 items-center", children: [
15030
15036
  /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.ChevronLeft, { className: "w-4 h-4" }),
@@ -15032,7 +15038,7 @@ var getOperatorInfo = (operator) => {
15032
15038
  ] }),
15033
15039
  translationKey: "onOrBefore"
15034
15040
  };
15035
- case "datetimeBetween":
15041
+ case "dateTimeBetween":
15036
15042
  return {
15037
15043
  icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-row-0 items-center", children: [
15038
15044
  /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.ChevronRight, { className: "w-4 h-4" }),
@@ -15040,7 +15046,7 @@ var getOperatorInfo = (operator) => {
15040
15046
  ] }),
15041
15047
  translationKey: "between"
15042
15048
  };
15043
- case "datetimeNotBetween":
15049
+ case "dateTimeNotBetween":
15044
15050
  return {
15045
15051
  icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-row-0 items-center", children: [
15046
15052
  /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react18.ChevronLeft, { className: "w-4 h-4" }),
@@ -15114,6 +15120,22 @@ var TextFilter = ({ filterValue, onFilterValueChange }) => {
15114
15120
  className: "min-w-64"
15115
15121
  }
15116
15122
  ),
15123
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-row-2 items-center gap-2", children: [
15124
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
15125
+ Checkbox,
15126
+ {
15127
+ id,
15128
+ value: parameter.isCaseSensitive ?? false,
15129
+ onValueChange: (isCaseSensitive) => {
15130
+ onFilterValueChange({
15131
+ operator,
15132
+ parameter: { ...parameter, isCaseSensitive }
15133
+ });
15134
+ }
15135
+ }
15136
+ ),
15137
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("label", { htmlFor: id, children: translation("caseSensitive") })
15138
+ ] }),
15117
15139
  /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-row-2 items-center gap-2", children: [
15118
15140
  /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
15119
15141
  Checkbox,
@@ -15335,15 +15357,15 @@ var DateFilter = ({ filterValue, onFilterValueChange }) => {
15335
15357
  };
15336
15358
  var DatetimeFilter = ({ filterValue, onFilterValueChange }) => {
15337
15359
  const translation = useHightideTranslation();
15338
- const operator = filterValue?.operator ?? "datetimeBetween";
15360
+ const operator = filterValue?.operator ?? "dateTimeBetween";
15339
15361
  const parameter = filterValue?.parameter ?? {};
15340
15362
  const [temporaryMinDateValue, setTemporaryMinDateValue] = (0, import_react67.useState)(null);
15341
15363
  const [temporaryMaxDateValue, setTemporaryMaxDateValue] = (0, import_react67.useState)(null);
15342
15364
  const availableOperators = (0, import_react67.useMemo)(() => [
15343
- ...TableFilterOperator.datetime,
15365
+ ...TableFilterOperator.dateTime,
15344
15366
  ...TableFilterOperator.generic
15345
15367
  ], []);
15346
- const needsRangeInput = operator === "datetimeBetween" || operator === "datetimeNotBetween";
15368
+ const needsRangeInput = operator === "dateTimeBetween" || operator === "dateTimeNotBetween";
15347
15369
  const needsParameterInput = operator !== "undefined" && operator !== "notUndefined";
15348
15370
  return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-col-2 gap-2", children: [
15349
15371
  /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
@@ -15615,7 +15637,7 @@ var TableFilterContent = ({ filterType, ...props }) => {
15615
15637
  return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(NumberFilter, { ...props });
15616
15638
  case "date":
15617
15639
  return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DateFilter, { ...props });
15618
- case "datetime":
15640
+ case "dateTime":
15619
15641
  return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DatetimeFilter, { ...props });
15620
15642
  case "boolean":
15621
15643
  return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(BooleanFilter, { ...props });