@trackunit/react-form-components 0.0.81 → 0.0.83

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/index.cjs CHANGED
@@ -14382,7 +14382,7 @@ const TimeRange = ({ id, className, dataTestId, children, range, onChange, disab
14382
14382
  return (jsxRuntime.jsxs("div", { id: id, className: cvaTimeRange({ className }), "data-testid": dataTestId, children: [jsxRuntime.jsx(BaseInput, { dataTestId: `${dataTestId}-from`, disabled: disabled, isInvalid: isInvalid, type: "time", onChange: (time) => onChangeFrom(time.currentTarget.value), onBlur: onRangeChange, value: (_a = timeRange === null || timeRange === void 0 ? void 0 : timeRange.timeFrom) !== null && _a !== void 0 ? _a : "" }), children !== null && children !== void 0 ? children : jsxRuntime.jsx("div", { "data-testid": `${dataTestId}-separator`, children: "-" }), jsxRuntime.jsx(BaseInput, { dataTestId: `${dataTestId}-to`, disabled: disabled, isInvalid: isInvalid, type: "time", onChange: (time) => onChangeTo(time.currentTarget.value), onBlur: onRangeChange, value: (_b = timeRange === null || timeRange === void 0 ? void 0 : timeRange.timeTo) !== null && _b !== void 0 ? _b : "" })] }));
14383
14383
  };
14384
14384
 
14385
- const cvaScheduleItem = cssClassVarianceUtilities.cvaMerge(["grid", "pb-4", "gap-2", "grid-cols-3"]);
14385
+ const cvaScheduleItem = cssClassVarianceUtilities.cvaMerge(["grid", "pb-4", "gap-2", "grid-cols-[60px,200px,60px,2fr]"]);
14386
14386
  const cvaScheduleItemText = cssClassVarianceUtilities.cvaMerge(["flex", "font-bold", "self-center"]);
14387
14387
 
14388
14388
  /**
@@ -14400,8 +14400,13 @@ const Schedule = ({ className, dataTestId, schedule, onChange, invalidKeys = []
14400
14400
  const newSchedule = schedule.map((day, dayIndex) => (index === dayIndex ? Object.assign(Object.assign({}, day), { isActive }) : day));
14401
14401
  onChange(newSchedule);
14402
14402
  };
14403
- return (jsxRuntime.jsx("div", { "data-testid": dataTestId, className: className, children: schedule.map(({ label, range, isActive, key, checkboxLabel }, index) => {
14404
- return (jsxRuntime.jsxs("div", { className: cvaScheduleItem(), children: [jsxRuntime.jsx(reactComponents.Text, { className: cvaScheduleItemText(), size: "medium", children: label }), jsxRuntime.jsx(TimeRange, { dataTestId: `${dataTestId}-${label}-range`, range: range, onChange: (newRange) => onRangeChange(newRange, index), disabled: !isActive, isInvalid: !!invalidKeys.find((invalidKey) => invalidKey === key) }), jsxRuntime.jsx(Checkbox, { dataTestId: `${dataTestId}-${label}-checkbox`, checked: isActive, onChange: (event) => onActiveChange(Boolean(event.currentTarget.checked), index), label: checkboxLabel })] }, key));
14403
+ const onAllDayChange = (isAllDayChecked, index) => {
14404
+ const newSchedule = schedule.map((day, dayIndex) => index === dayIndex
14405
+ ? Object.assign(Object.assign({}, day), { range: { timeFrom: "", timeTo: "" }, isAllDayActive: isAllDayChecked }) : day);
14406
+ onChange(newSchedule);
14407
+ };
14408
+ return (jsxRuntime.jsx("div", { "data-testid": dataTestId, className: className, children: schedule.map(({ label, range, isActive, key, checkboxLabel, isAllDayActive }, index) => {
14409
+ return (jsxRuntime.jsxs("div", { className: cvaScheduleItem(), children: [jsxRuntime.jsx(Checkbox, { dataTestId: `${dataTestId}-${key}-checkbox`, checked: isActive, onChange: (event) => onActiveChange(Boolean(event.currentTarget.checked), index), label: checkboxLabel }), jsxRuntime.jsx(reactComponents.Text, { className: cvaScheduleItemText(), size: "medium", children: label }), jsxRuntime.jsx(Checkbox, { dataTestId: `${dataTestId}-${key}-allday-checkbox`, disabled: !isActive, checked: isAllDayActive && isActive, onChange: (event) => onAllDayChange(Boolean(event.currentTarget.checked), index) }), jsxRuntime.jsx(TimeRange, { dataTestId: `${dataTestId}-${key}-range`, range: range, onChange: (newRange) => onRangeChange(newRange, index), disabled: !isActive || isAllDayActive, isInvalid: !!invalidKeys.find((invalidKey) => invalidKey === key) })] }, key));
14405
14410
  }) }));
14406
14411
  };
14407
14412
 
package/index.js CHANGED
@@ -14356,7 +14356,7 @@ const TimeRange = ({ id, className, dataTestId, children, range, onChange, disab
14356
14356
  return (jsxs("div", { id: id, className: cvaTimeRange({ className }), "data-testid": dataTestId, children: [jsx$1(BaseInput, { dataTestId: `${dataTestId}-from`, disabled: disabled, isInvalid: isInvalid, type: "time", onChange: (time) => onChangeFrom(time.currentTarget.value), onBlur: onRangeChange, value: (_a = timeRange === null || timeRange === void 0 ? void 0 : timeRange.timeFrom) !== null && _a !== void 0 ? _a : "" }), children !== null && children !== void 0 ? children : jsx$1("div", { "data-testid": `${dataTestId}-separator`, children: "-" }), jsx$1(BaseInput, { dataTestId: `${dataTestId}-to`, disabled: disabled, isInvalid: isInvalid, type: "time", onChange: (time) => onChangeTo(time.currentTarget.value), onBlur: onRangeChange, value: (_b = timeRange === null || timeRange === void 0 ? void 0 : timeRange.timeTo) !== null && _b !== void 0 ? _b : "" })] }));
14357
14357
  };
14358
14358
 
14359
- const cvaScheduleItem = cvaMerge(["grid", "pb-4", "gap-2", "grid-cols-3"]);
14359
+ const cvaScheduleItem = cvaMerge(["grid", "pb-4", "gap-2", "grid-cols-[60px,200px,60px,2fr]"]);
14360
14360
  const cvaScheduleItemText = cvaMerge(["flex", "font-bold", "self-center"]);
14361
14361
 
14362
14362
  /**
@@ -14374,8 +14374,13 @@ const Schedule = ({ className, dataTestId, schedule, onChange, invalidKeys = []
14374
14374
  const newSchedule = schedule.map((day, dayIndex) => (index === dayIndex ? Object.assign(Object.assign({}, day), { isActive }) : day));
14375
14375
  onChange(newSchedule);
14376
14376
  };
14377
- return (jsx$1("div", { "data-testid": dataTestId, className: className, children: schedule.map(({ label, range, isActive, key, checkboxLabel }, index) => {
14378
- return (jsxs("div", { className: cvaScheduleItem(), children: [jsx$1(Text, { className: cvaScheduleItemText(), size: "medium", children: label }), jsx$1(TimeRange, { dataTestId: `${dataTestId}-${label}-range`, range: range, onChange: (newRange) => onRangeChange(newRange, index), disabled: !isActive, isInvalid: !!invalidKeys.find((invalidKey) => invalidKey === key) }), jsx$1(Checkbox, { dataTestId: `${dataTestId}-${label}-checkbox`, checked: isActive, onChange: (event) => onActiveChange(Boolean(event.currentTarget.checked), index), label: checkboxLabel })] }, key));
14377
+ const onAllDayChange = (isAllDayChecked, index) => {
14378
+ const newSchedule = schedule.map((day, dayIndex) => index === dayIndex
14379
+ ? Object.assign(Object.assign({}, day), { range: { timeFrom: "", timeTo: "" }, isAllDayActive: isAllDayChecked }) : day);
14380
+ onChange(newSchedule);
14381
+ };
14382
+ return (jsx$1("div", { "data-testid": dataTestId, className: className, children: schedule.map(({ label, range, isActive, key, checkboxLabel, isAllDayActive }, index) => {
14383
+ return (jsxs("div", { className: cvaScheduleItem(), children: [jsx$1(Checkbox, { dataTestId: `${dataTestId}-${key}-checkbox`, checked: isActive, onChange: (event) => onActiveChange(Boolean(event.currentTarget.checked), index), label: checkboxLabel }), jsx$1(Text, { className: cvaScheduleItemText(), size: "medium", children: label }), jsx$1(Checkbox, { dataTestId: `${dataTestId}-${key}-allday-checkbox`, disabled: !isActive, checked: isAllDayActive && isActive, onChange: (event) => onAllDayChange(Boolean(event.currentTarget.checked), index) }), jsx$1(TimeRange, { dataTestId: `${dataTestId}-${key}-range`, range: range, onChange: (newRange) => onRangeChange(newRange, index), disabled: !isActive || isAllDayActive, isInvalid: !!invalidKeys.find((invalidKey) => invalidKey === key) })] }, key));
14379
14384
  }) }));
14380
14385
  };
14381
14386
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-form-components",
3
- "version": "0.0.81",
3
+ "version": "0.0.83",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -18,6 +18,10 @@ export interface ScheduleItem {
18
18
  * Indicates whether the schedule item is active.
19
19
  */
20
20
  isActive: boolean;
21
+ /**
22
+ * Indicates whether the all day schedule item is active.
23
+ */
24
+ isAllDayActive?: boolean;
21
25
  /**
22
26
  * Checkbox text
23
27
  */