@chayns-components/date 5.0.0-beta.872 → 5.0.0-beta.874

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.
@@ -82,9 +82,10 @@ const OpeningTimes = ({
82
82
  }
83
83
  return openingTime;
84
84
  });
85
+ const changedOpeningTime = updatedOpeningTimes.find(updatedOpeningTime => updatedOpeningTime.id === id);
85
86
  if (isValid && typeof onChange === 'function') {
86
87
  onChange({
87
- dayId: newTime.id,
88
+ dayId: changedOpeningTime === null || changedOpeningTime === void 0 ? void 0 : changedOpeningTime.id,
88
89
  time: newTime
89
90
  });
90
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpeningTimes.js","names":["_core","require","_react","_interopRequireWildcard","_openingTimes","_HintText","_interopRequireDefault","_OpeningInputs","_OpeningTimes","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OpeningTimes","closedText","currentDayId","editMode","hintText","hintTextPosition","HintTextPosition","Bottom","openingTimes","weekdays","onChange","onTimeAdd","onTimeRemove","shouldNotValidate","newOpeningTimes","setNewOpeningTimes","useState","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","useRef","popupRef","useEffect","validateTime","useCallback","newTime","dayId","_newOpeningTimes$find","start","end","dayTimes","find","day","id","times","every","time","handleCheckBoxChange","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","isValid","newTimes","handleAdd","handleUpdateInvalidIds","openingTimeId","invalidTimeIds","prevState","updatedInvalidOpeningTimes","invalidOpeningTime","some","updatedInvalidOpeningId","length","push","updatedInvalidOpeningTime","handleRemove","content","useMemo","items","forEach","weekdayId","_weekdays$find","weekday","weekDay","name","createElement","StyledOpeningTimesWrapper","key","Checkbox","isChecked","StyledOpeningTimesWeekDay","onInvalid","onRemove","onAdd","size","useElementSize","hidePopup","_popupRef$current","current","hide","showPopup","_popupRef$current2","show","displayedContent","_weekdays$find2","singleDay","style","width","onMouseEnter","onMouseLeave","onClick","Popup","onShow","onHide","StyledOpeningTimesTooltipContent","shouldShowHint","StyledOpeningTimes","Top","text","displayName","_default","exports"],"sources":["../../../../src/components/opening-times/OpeningTimes.tsx"],"sourcesContent":["import { Checkbox, Popup, useElementSize, type PopupRef } from '@chayns-components/core';\nimport React, {\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactElement,\n} from 'react';\nimport {\n HintTextPosition,\n type OnChange,\n type OnTimeAdd,\n type OpeningTime,\n type Time,\n type Weekday,\n} from '../../types/openingTimes';\nimport HintText from './hint-text/HintText';\nimport OpeningInputs from './opening-inputs/OpeningInputs';\nimport {\n StyledOpeningTimes,\n StyledOpeningTimesTooltipContent,\n StyledOpeningTimesWeekDay,\n StyledOpeningTimesWrapper,\n} from './OpeningTimes.styles';\n\nexport type OpeningTimesProps = {\n /**\n * The text that should be displayed when a day is closed.\n */\n closedText?: string;\n /**\n * If set just the current day is displayed and the whole week in a tooltip.\n */\n currentDayId?: OpeningTime['id'];\n /**\n * Whether the opening times can be edited.\n */\n editMode?: boolean;\n /**\n * The text that should be displayed if times are colliding.\n */\n hintText?: string;\n /**\n * The position of the hint text.\n */\n hintTextPosition?: HintTextPosition;\n /**\n * Function to be executed when a time is changed or a day is enabled/disabled.\n * @param openingTimes\n */\n onChange?: ({ time, enabledDays, dayId }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId }: OnTimeAdd) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * The opening times corresponding to its weekday.\n */\n openingTimes: OpeningTime[];\n /**\n * The weekdays that should be displayed.\n */\n weekdays: Weekday[];\n /**\n * When set to true, events are triggered without validation.\n */\n shouldNotValidate?: boolean;\n};\n\nconst OpeningTimes: FC<OpeningTimesProps> = ({\n closedText = 'closed',\n currentDayId,\n editMode = false,\n hintText,\n hintTextPosition = HintTextPosition.Bottom,\n openingTimes,\n weekdays,\n onChange,\n onTimeAdd,\n onTimeRemove,\n shouldNotValidate = false,\n}) => {\n const [newOpeningTimes, setNewOpeningTimes] = useState<OpeningTime[]>();\n const [invalidOpeningTimes, setInvalidOpeningTimes] = useState<\n { openingTimeId: string; invalidTimeIds: string[] }[]\n >([]);\n const [isPopupOpen, setIsPopupOpen] = useState(false);\n\n const ref = useRef<HTMLDivElement>(null);\n const popupRef = useRef<PopupRef>(null);\n\n useEffect(() => {\n setNewOpeningTimes(openingTimes);\n }, [openingTimes]);\n\n const validateTime = useCallback(\n (newTime: Time, dayId: string): boolean => {\n if (newTime.start === newTime.end) {\n return false;\n }\n const dayTimes = newOpeningTimes?.find((day) => day.id === dayId)?.times || [];\n\n return dayTimes.every(\n (time) =>\n time.id === newTime.id ||\n newTime.end <= time.start ||\n newTime.start >= time.end,\n );\n },\n [newOpeningTimes],\n );\n\n const handleCheckBoxChange = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, isDisabled: !openingTime.isDisabled };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({\n enabledDays: updatedOpeningTimes\n .filter((item) => !item.isDisabled)\n .map((item) => item.id),\n });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleChange = useCallback(\n (newTime: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(newTime, id);\n if (!isValid) {\n return;\n }\n\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n const newTimes = openingTime.times.map((time) => {\n if (time.id === newTime.id) {\n return newTime;\n }\n return time;\n });\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n if (isValid && typeof onChange === 'function') {\n onChange({ dayId: newTime.id, time: newTime });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange, shouldNotValidate, validateTime],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(time, id);\n\n if (isValid && typeof onTimeAdd === 'function') {\n onTimeAdd({ time, dayId: id });\n }\n\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, times: [...openingTime.times, time] };\n }\n return openingTime;\n }),\n );\n },\n [onTimeAdd, shouldNotValidate, validateTime],\n );\n\n const handleUpdateInvalidIds = useCallback(\n (openingTimeId: string, invalidTimeIds: string[]) => {\n setInvalidOpeningTimes((prevState) => {\n const updatedInvalidOpeningTimes = prevState.map((invalidOpeningTime) => {\n if (invalidOpeningTime.openingTimeId === openingTimeId) {\n return {\n openingTimeId,\n invalidTimeIds,\n };\n }\n return invalidOpeningTime;\n });\n\n if (\n !updatedInvalidOpeningTimes.some(\n ({ openingTimeId: updatedInvalidOpeningId }) =>\n updatedInvalidOpeningId === openingTimeId,\n ) &&\n invalidTimeIds.length > 0\n ) {\n updatedInvalidOpeningTimes.push({ openingTimeId, invalidTimeIds });\n }\n\n return updatedInvalidOpeningTimes.filter(\n (updatedInvalidOpeningTime) =>\n updatedInvalidOpeningTime.invalidTimeIds.length !== 0,\n );\n });\n },\n [],\n );\n\n const handleRemove = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n const newTimes = openingTime.times.filter((time) => time.id !== id);\n\n return { ...openingTime, times: newTimes };\n }),\n );\n\n if (typeof onTimeRemove === 'function') {\n onTimeRemove(id);\n }\n },\n [onTimeRemove],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!newOpeningTimes) {\n return items;\n }\n\n newOpeningTimes.forEach(({ times, id, weekdayId, isDisabled }) => {\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n if (!weekday) {\n return;\n }\n\n items.push(\n <StyledOpeningTimesWrapper key={`openingTimes__${id}`}>\n {editMode ? (\n <Checkbox isChecked={!isDisabled} onChange={() => handleCheckBoxChange(id)}>\n {weekday}\n </Checkbox>\n ) : (\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n )}\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n id={id}\n times={times}\n isDisabled={isDisabled}\n onInvalid={handleUpdateInvalidIds}\n onChange={(newTime) => handleChange(newTime, id)}\n onRemove={handleRemove}\n onAdd={handleAdd}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>,\n );\n });\n\n return items;\n }, [\n closedText,\n currentDayId,\n editMode,\n handleAdd,\n handleChange,\n handleCheckBoxChange,\n handleRemove,\n handleUpdateInvalidIds,\n newOpeningTimes,\n weekdays,\n ]);\n\n const size = useElementSize(ref);\n\n const hidePopup = useCallback(() => {\n setIsPopupOpen(false);\n popupRef.current?.hide();\n }, []);\n\n const showPopup = useCallback(() => {\n setIsPopupOpen(true);\n popupRef.current?.show();\n }, []);\n\n const displayedContent = useMemo(() => {\n if (!currentDayId || editMode) {\n return content;\n }\n\n const singleDay = newOpeningTimes?.find(({ id }) => id === currentDayId);\n\n if (!singleDay) {\n return content;\n }\n\n const { id, times, weekdayId } = singleDay;\n\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n return (\n <StyledOpeningTimesWrapper\n key={`currentDay__${currentDayId}`}\n style={size && { width: size.width }}\n onMouseEnter={showPopup}\n onMouseLeave={hidePopup}\n onClick={() => (isPopupOpen ? hidePopup() : showPopup())}\n >\n <Popup\n onShow={() => setIsPopupOpen(true)}\n onHide={() => setIsPopupOpen(false)}\n ref={popupRef}\n content={\n <StyledOpeningTimesTooltipContent key=\"opening-time-tooltip\">\n {content}\n </StyledOpeningTimesTooltipContent>\n }\n >\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n </Popup>\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n onInvalid={handleUpdateInvalidIds}\n id={id}\n times={times}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>\n );\n }, [\n currentDayId,\n editMode,\n newOpeningTimes,\n weekdays,\n size,\n showPopup,\n hidePopup,\n content,\n closedText,\n handleUpdateInvalidIds,\n isPopupOpen,\n ]);\n\n const shouldShowHint = useMemo(\n () => invalidOpeningTimes.length > 0,\n [invalidOpeningTimes.length],\n );\n\n return useMemo(\n () => (\n <StyledOpeningTimes ref={ref}>\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Top && (\n <HintText text={hintText} />\n )}\n {displayedContent}\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Bottom && (\n <HintText text={hintText} />\n )}\n </StyledOpeningTimes>\n ),\n [displayedContent, hintText, hintTextPosition, shouldShowHint],\n );\n};\n\nOpeningTimes.displayName = 'OpeningTimes';\n\nexport default OpeningTimes;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpeningTimes.js","names":["_core","require","_react","_interopRequireWildcard","_openingTimes","_HintText","_interopRequireDefault","_OpeningInputs","_OpeningTimes","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OpeningTimes","closedText","currentDayId","editMode","hintText","hintTextPosition","HintTextPosition","Bottom","openingTimes","weekdays","onChange","onTimeAdd","onTimeRemove","shouldNotValidate","newOpeningTimes","setNewOpeningTimes","useState","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","useRef","popupRef","useEffect","validateTime","useCallback","newTime","dayId","_newOpeningTimes$find","start","end","dayTimes","find","day","id","times","every","time","handleCheckBoxChange","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","isValid","newTimes","changedOpeningTime","updatedOpeningTime","handleAdd","handleUpdateInvalidIds","openingTimeId","invalidTimeIds","prevState","updatedInvalidOpeningTimes","invalidOpeningTime","some","updatedInvalidOpeningId","length","push","updatedInvalidOpeningTime","handleRemove","content","useMemo","items","forEach","weekdayId","_weekdays$find","weekday","weekDay","name","createElement","StyledOpeningTimesWrapper","key","Checkbox","isChecked","StyledOpeningTimesWeekDay","onInvalid","onRemove","onAdd","size","useElementSize","hidePopup","_popupRef$current","current","hide","showPopup","_popupRef$current2","show","displayedContent","_weekdays$find2","singleDay","style","width","onMouseEnter","onMouseLeave","onClick","Popup","onShow","onHide","StyledOpeningTimesTooltipContent","shouldShowHint","StyledOpeningTimes","Top","text","displayName","_default","exports"],"sources":["../../../../src/components/opening-times/OpeningTimes.tsx"],"sourcesContent":["import { Checkbox, Popup, useElementSize, type PopupRef } from '@chayns-components/core';\nimport React, {\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactElement,\n} from 'react';\nimport {\n HintTextPosition,\n type OnChange,\n type OnTimeAdd,\n type OpeningTime,\n type Time,\n type Weekday,\n} from '../../types/openingTimes';\nimport HintText from './hint-text/HintText';\nimport OpeningInputs from './opening-inputs/OpeningInputs';\nimport {\n StyledOpeningTimes,\n StyledOpeningTimesTooltipContent,\n StyledOpeningTimesWeekDay,\n StyledOpeningTimesWrapper,\n} from './OpeningTimes.styles';\n\nexport type OpeningTimesProps = {\n /**\n * The text that should be displayed when a day is closed.\n */\n closedText?: string;\n /**\n * If set just the current day is displayed and the whole week in a tooltip.\n */\n currentDayId?: OpeningTime['id'];\n /**\n * Whether the opening times can be edited.\n */\n editMode?: boolean;\n /**\n * The text that should be displayed if times are colliding.\n */\n hintText?: string;\n /**\n * The position of the hint text.\n */\n hintTextPosition?: HintTextPosition;\n /**\n * Function to be executed when a time is changed or a day is enabled/disabled.\n * @param openingTimes\n */\n onChange?: ({ time, enabledDays, dayId }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId }: OnTimeAdd) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * The opening times corresponding to its weekday.\n */\n openingTimes: OpeningTime[];\n /**\n * The weekdays that should be displayed.\n */\n weekdays: Weekday[];\n /**\n * When set to true, events are triggered without validation.\n */\n shouldNotValidate?: boolean;\n};\n\nconst OpeningTimes: FC<OpeningTimesProps> = ({\n closedText = 'closed',\n currentDayId,\n editMode = false,\n hintText,\n hintTextPosition = HintTextPosition.Bottom,\n openingTimes,\n weekdays,\n onChange,\n onTimeAdd,\n onTimeRemove,\n shouldNotValidate = false,\n}) => {\n const [newOpeningTimes, setNewOpeningTimes] = useState<OpeningTime[]>();\n const [invalidOpeningTimes, setInvalidOpeningTimes] = useState<\n { openingTimeId: string; invalidTimeIds: string[] }[]\n >([]);\n const [isPopupOpen, setIsPopupOpen] = useState(false);\n\n const ref = useRef<HTMLDivElement>(null);\n const popupRef = useRef<PopupRef>(null);\n\n useEffect(() => {\n setNewOpeningTimes(openingTimes);\n }, [openingTimes]);\n\n const validateTime = useCallback(\n (newTime: Time, dayId: string): boolean => {\n if (newTime.start === newTime.end) {\n return false;\n }\n const dayTimes = newOpeningTimes?.find((day) => day.id === dayId)?.times || [];\n\n return dayTimes.every(\n (time) =>\n time.id === newTime.id ||\n newTime.end <= time.start ||\n newTime.start >= time.end,\n );\n },\n [newOpeningTimes],\n );\n\n const handleCheckBoxChange = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, isDisabled: !openingTime.isDisabled };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({\n enabledDays: updatedOpeningTimes\n .filter((item) => !item.isDisabled)\n .map((item) => item.id),\n });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleChange = useCallback(\n (newTime: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(newTime, id);\n if (!isValid) {\n return;\n }\n\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n const newTimes = openingTime.times.map((time) => {\n if (time.id === newTime.id) {\n return newTime;\n }\n return time;\n });\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n const changedOpeningTime = updatedOpeningTimes.find(\n (updatedOpeningTime) => updatedOpeningTime.id === id,\n );\n\n if (isValid && typeof onChange === 'function') {\n onChange({\n dayId: changedOpeningTime?.id,\n time: newTime,\n });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange, shouldNotValidate, validateTime],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(time, id);\n\n if (isValid && typeof onTimeAdd === 'function') {\n onTimeAdd({ time, dayId: id });\n }\n\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, times: [...openingTime.times, time] };\n }\n return openingTime;\n }),\n );\n },\n [onTimeAdd, shouldNotValidate, validateTime],\n );\n\n const handleUpdateInvalidIds = useCallback(\n (openingTimeId: string, invalidTimeIds: string[]) => {\n setInvalidOpeningTimes((prevState) => {\n const updatedInvalidOpeningTimes = prevState.map((invalidOpeningTime) => {\n if (invalidOpeningTime.openingTimeId === openingTimeId) {\n return {\n openingTimeId,\n invalidTimeIds,\n };\n }\n return invalidOpeningTime;\n });\n\n if (\n !updatedInvalidOpeningTimes.some(\n ({ openingTimeId: updatedInvalidOpeningId }) =>\n updatedInvalidOpeningId === openingTimeId,\n ) &&\n invalidTimeIds.length > 0\n ) {\n updatedInvalidOpeningTimes.push({ openingTimeId, invalidTimeIds });\n }\n\n return updatedInvalidOpeningTimes.filter(\n (updatedInvalidOpeningTime) =>\n updatedInvalidOpeningTime.invalidTimeIds.length !== 0,\n );\n });\n },\n [],\n );\n\n const handleRemove = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n const newTimes = openingTime.times.filter((time) => time.id !== id);\n\n return { ...openingTime, times: newTimes };\n }),\n );\n\n if (typeof onTimeRemove === 'function') {\n onTimeRemove(id);\n }\n },\n [onTimeRemove],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!newOpeningTimes) {\n return items;\n }\n\n newOpeningTimes.forEach(({ times, id, weekdayId, isDisabled }) => {\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n if (!weekday) {\n return;\n }\n\n items.push(\n <StyledOpeningTimesWrapper key={`openingTimes__${id}`}>\n {editMode ? (\n <Checkbox isChecked={!isDisabled} onChange={() => handleCheckBoxChange(id)}>\n {weekday}\n </Checkbox>\n ) : (\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n )}\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n id={id}\n times={times}\n isDisabled={isDisabled}\n onInvalid={handleUpdateInvalidIds}\n onChange={(newTime) => handleChange(newTime, id)}\n onRemove={handleRemove}\n onAdd={handleAdd}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>,\n );\n });\n\n return items;\n }, [\n closedText,\n currentDayId,\n editMode,\n handleAdd,\n handleChange,\n handleCheckBoxChange,\n handleRemove,\n handleUpdateInvalidIds,\n newOpeningTimes,\n weekdays,\n ]);\n\n const size = useElementSize(ref);\n\n const hidePopup = useCallback(() => {\n setIsPopupOpen(false);\n popupRef.current?.hide();\n }, []);\n\n const showPopup = useCallback(() => {\n setIsPopupOpen(true);\n popupRef.current?.show();\n }, []);\n\n const displayedContent = useMemo(() => {\n if (!currentDayId || editMode) {\n return content;\n }\n\n const singleDay = newOpeningTimes?.find(({ id }) => id === currentDayId);\n\n if (!singleDay) {\n return content;\n }\n\n const { id, times, weekdayId } = singleDay;\n\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n return (\n <StyledOpeningTimesWrapper\n key={`currentDay__${currentDayId}`}\n style={size && { width: size.width }}\n onMouseEnter={showPopup}\n onMouseLeave={hidePopup}\n onClick={() => (isPopupOpen ? hidePopup() : showPopup())}\n >\n <Popup\n onShow={() => setIsPopupOpen(true)}\n onHide={() => setIsPopupOpen(false)}\n ref={popupRef}\n content={\n <StyledOpeningTimesTooltipContent key=\"opening-time-tooltip\">\n {content}\n </StyledOpeningTimesTooltipContent>\n }\n >\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n </Popup>\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n onInvalid={handleUpdateInvalidIds}\n id={id}\n times={times}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>\n );\n }, [\n currentDayId,\n editMode,\n newOpeningTimes,\n weekdays,\n size,\n showPopup,\n hidePopup,\n content,\n closedText,\n handleUpdateInvalidIds,\n isPopupOpen,\n ]);\n\n const shouldShowHint = useMemo(\n () => invalidOpeningTimes.length > 0,\n [invalidOpeningTimes.length],\n );\n\n return useMemo(\n () => (\n <StyledOpeningTimes ref={ref}>\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Top && (\n <HintText text={hintText} />\n )}\n {displayedContent}\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Bottom && (\n <HintText text={hintText} />\n )}\n </StyledOpeningTimes>\n ),\n [displayedContent, hintText, hintTextPosition, shouldShowHint],\n );\n};\n\nOpeningTimes.displayName = 'OpeningTimes';\n\nexport default OpeningTimes;\n"],"mappings":"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","ignoreList":[]}
@@ -73,9 +73,10 @@ const OpeningTimes = _ref => {
73
73
  }
74
74
  return openingTime;
75
75
  });
76
+ const changedOpeningTime = updatedOpeningTimes.find(updatedOpeningTime => updatedOpeningTime.id === id);
76
77
  if (isValid && typeof onChange === 'function') {
77
78
  onChange({
78
- dayId: newTime.id,
79
+ dayId: changedOpeningTime?.id,
79
80
  time: newTime
80
81
  });
81
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpeningTimes.js","names":["Checkbox","Popup","useElementSize","React","useCallback","useEffect","useMemo","useRef","useState","HintTextPosition","HintText","OpeningInputs","StyledOpeningTimes","StyledOpeningTimesTooltipContent","StyledOpeningTimesWeekDay","StyledOpeningTimesWrapper","OpeningTimes","_ref","closedText","currentDayId","editMode","hintText","hintTextPosition","Bottom","openingTimes","weekdays","onChange","onTimeAdd","onTimeRemove","shouldNotValidate","newOpeningTimes","setNewOpeningTimes","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","popupRef","validateTime","newTime","dayId","start","end","dayTimes","find","day","id","times","every","time","handleCheckBoxChange","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","isValid","newTimes","handleAdd","handleUpdateInvalidIds","openingTimeId","invalidTimeIds","prevState","updatedInvalidOpeningTimes","invalidOpeningTime","some","_ref2","updatedInvalidOpeningId","length","push","updatedInvalidOpeningTime","handleRemove","content","items","forEach","_ref3","weekdayId","weekday","weekDay","name","createElement","key","isChecked","onInvalid","onRemove","onAdd","size","hidePopup","current","hide","showPopup","show","displayedContent","singleDay","_ref4","style","width","onMouseEnter","onMouseLeave","onClick","onShow","onHide","shouldShowHint","Top","text","displayName"],"sources":["../../../../src/components/opening-times/OpeningTimes.tsx"],"sourcesContent":["import { Checkbox, Popup, useElementSize, type PopupRef } from '@chayns-components/core';\nimport React, {\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactElement,\n} from 'react';\nimport {\n HintTextPosition,\n type OnChange,\n type OnTimeAdd,\n type OpeningTime,\n type Time,\n type Weekday,\n} from '../../types/openingTimes';\nimport HintText from './hint-text/HintText';\nimport OpeningInputs from './opening-inputs/OpeningInputs';\nimport {\n StyledOpeningTimes,\n StyledOpeningTimesTooltipContent,\n StyledOpeningTimesWeekDay,\n StyledOpeningTimesWrapper,\n} from './OpeningTimes.styles';\n\nexport type OpeningTimesProps = {\n /**\n * The text that should be displayed when a day is closed.\n */\n closedText?: string;\n /**\n * If set just the current day is displayed and the whole week in a tooltip.\n */\n currentDayId?: OpeningTime['id'];\n /**\n * Whether the opening times can be edited.\n */\n editMode?: boolean;\n /**\n * The text that should be displayed if times are colliding.\n */\n hintText?: string;\n /**\n * The position of the hint text.\n */\n hintTextPosition?: HintTextPosition;\n /**\n * Function to be executed when a time is changed or a day is enabled/disabled.\n * @param openingTimes\n */\n onChange?: ({ time, enabledDays, dayId }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId }: OnTimeAdd) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * The opening times corresponding to its weekday.\n */\n openingTimes: OpeningTime[];\n /**\n * The weekdays that should be displayed.\n */\n weekdays: Weekday[];\n /**\n * When set to true, events are triggered without validation.\n */\n shouldNotValidate?: boolean;\n};\n\nconst OpeningTimes: FC<OpeningTimesProps> = ({\n closedText = 'closed',\n currentDayId,\n editMode = false,\n hintText,\n hintTextPosition = HintTextPosition.Bottom,\n openingTimes,\n weekdays,\n onChange,\n onTimeAdd,\n onTimeRemove,\n shouldNotValidate = false,\n}) => {\n const [newOpeningTimes, setNewOpeningTimes] = useState<OpeningTime[]>();\n const [invalidOpeningTimes, setInvalidOpeningTimes] = useState<\n { openingTimeId: string; invalidTimeIds: string[] }[]\n >([]);\n const [isPopupOpen, setIsPopupOpen] = useState(false);\n\n const ref = useRef<HTMLDivElement>(null);\n const popupRef = useRef<PopupRef>(null);\n\n useEffect(() => {\n setNewOpeningTimes(openingTimes);\n }, [openingTimes]);\n\n const validateTime = useCallback(\n (newTime: Time, dayId: string): boolean => {\n if (newTime.start === newTime.end) {\n return false;\n }\n const dayTimes = newOpeningTimes?.find((day) => day.id === dayId)?.times || [];\n\n return dayTimes.every(\n (time) =>\n time.id === newTime.id ||\n newTime.end <= time.start ||\n newTime.start >= time.end,\n );\n },\n [newOpeningTimes],\n );\n\n const handleCheckBoxChange = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, isDisabled: !openingTime.isDisabled };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({\n enabledDays: updatedOpeningTimes\n .filter((item) => !item.isDisabled)\n .map((item) => item.id),\n });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleChange = useCallback(\n (newTime: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(newTime, id);\n if (!isValid) {\n return;\n }\n\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n const newTimes = openingTime.times.map((time) => {\n if (time.id === newTime.id) {\n return newTime;\n }\n return time;\n });\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n if (isValid && typeof onChange === 'function') {\n onChange({ dayId: newTime.id, time: newTime });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange, shouldNotValidate, validateTime],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(time, id);\n\n if (isValid && typeof onTimeAdd === 'function') {\n onTimeAdd({ time, dayId: id });\n }\n\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, times: [...openingTime.times, time] };\n }\n return openingTime;\n }),\n );\n },\n [onTimeAdd, shouldNotValidate, validateTime],\n );\n\n const handleUpdateInvalidIds = useCallback(\n (openingTimeId: string, invalidTimeIds: string[]) => {\n setInvalidOpeningTimes((prevState) => {\n const updatedInvalidOpeningTimes = prevState.map((invalidOpeningTime) => {\n if (invalidOpeningTime.openingTimeId === openingTimeId) {\n return {\n openingTimeId,\n invalidTimeIds,\n };\n }\n return invalidOpeningTime;\n });\n\n if (\n !updatedInvalidOpeningTimes.some(\n ({ openingTimeId: updatedInvalidOpeningId }) =>\n updatedInvalidOpeningId === openingTimeId,\n ) &&\n invalidTimeIds.length > 0\n ) {\n updatedInvalidOpeningTimes.push({ openingTimeId, invalidTimeIds });\n }\n\n return updatedInvalidOpeningTimes.filter(\n (updatedInvalidOpeningTime) =>\n updatedInvalidOpeningTime.invalidTimeIds.length !== 0,\n );\n });\n },\n [],\n );\n\n const handleRemove = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n const newTimes = openingTime.times.filter((time) => time.id !== id);\n\n return { ...openingTime, times: newTimes };\n }),\n );\n\n if (typeof onTimeRemove === 'function') {\n onTimeRemove(id);\n }\n },\n [onTimeRemove],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!newOpeningTimes) {\n return items;\n }\n\n newOpeningTimes.forEach(({ times, id, weekdayId, isDisabled }) => {\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n if (!weekday) {\n return;\n }\n\n items.push(\n <StyledOpeningTimesWrapper key={`openingTimes__${id}`}>\n {editMode ? (\n <Checkbox isChecked={!isDisabled} onChange={() => handleCheckBoxChange(id)}>\n {weekday}\n </Checkbox>\n ) : (\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n )}\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n id={id}\n times={times}\n isDisabled={isDisabled}\n onInvalid={handleUpdateInvalidIds}\n onChange={(newTime) => handleChange(newTime, id)}\n onRemove={handleRemove}\n onAdd={handleAdd}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>,\n );\n });\n\n return items;\n }, [\n closedText,\n currentDayId,\n editMode,\n handleAdd,\n handleChange,\n handleCheckBoxChange,\n handleRemove,\n handleUpdateInvalidIds,\n newOpeningTimes,\n weekdays,\n ]);\n\n const size = useElementSize(ref);\n\n const hidePopup = useCallback(() => {\n setIsPopupOpen(false);\n popupRef.current?.hide();\n }, []);\n\n const showPopup = useCallback(() => {\n setIsPopupOpen(true);\n popupRef.current?.show();\n }, []);\n\n const displayedContent = useMemo(() => {\n if (!currentDayId || editMode) {\n return content;\n }\n\n const singleDay = newOpeningTimes?.find(({ id }) => id === currentDayId);\n\n if (!singleDay) {\n return content;\n }\n\n const { id, times, weekdayId } = singleDay;\n\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n return (\n <StyledOpeningTimesWrapper\n key={`currentDay__${currentDayId}`}\n style={size && { width: size.width }}\n onMouseEnter={showPopup}\n onMouseLeave={hidePopup}\n onClick={() => (isPopupOpen ? hidePopup() : showPopup())}\n >\n <Popup\n onShow={() => setIsPopupOpen(true)}\n onHide={() => setIsPopupOpen(false)}\n ref={popupRef}\n content={\n <StyledOpeningTimesTooltipContent key=\"opening-time-tooltip\">\n {content}\n </StyledOpeningTimesTooltipContent>\n }\n >\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n </Popup>\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n onInvalid={handleUpdateInvalidIds}\n id={id}\n times={times}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>\n );\n }, [\n currentDayId,\n editMode,\n newOpeningTimes,\n weekdays,\n size,\n showPopup,\n hidePopup,\n content,\n closedText,\n handleUpdateInvalidIds,\n isPopupOpen,\n ]);\n\n const shouldShowHint = useMemo(\n () => invalidOpeningTimes.length > 0,\n [invalidOpeningTimes.length],\n );\n\n return useMemo(\n () => (\n <StyledOpeningTimes ref={ref}>\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Top && (\n <HintText text={hintText} />\n )}\n {displayedContent}\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Bottom && (\n <HintText text={hintText} />\n )}\n </StyledOpeningTimes>\n ),\n [displayedContent, hintText, hintTextPosition, shouldShowHint],\n );\n};\n\nOpeningTimes.displayName = 'OpeningTimes';\n\nexport default OpeningTimes;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpeningTimes.js","names":["Checkbox","Popup","useElementSize","React","useCallback","useEffect","useMemo","useRef","useState","HintTextPosition","HintText","OpeningInputs","StyledOpeningTimes","StyledOpeningTimesTooltipContent","StyledOpeningTimesWeekDay","StyledOpeningTimesWrapper","OpeningTimes","_ref","closedText","currentDayId","editMode","hintText","hintTextPosition","Bottom","openingTimes","weekdays","onChange","onTimeAdd","onTimeRemove","shouldNotValidate","newOpeningTimes","setNewOpeningTimes","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","popupRef","validateTime","newTime","dayId","start","end","dayTimes","find","day","id","times","every","time","handleCheckBoxChange","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","isValid","newTimes","changedOpeningTime","updatedOpeningTime","handleAdd","handleUpdateInvalidIds","openingTimeId","invalidTimeIds","prevState","updatedInvalidOpeningTimes","invalidOpeningTime","some","_ref2","updatedInvalidOpeningId","length","push","updatedInvalidOpeningTime","handleRemove","content","items","forEach","_ref3","weekdayId","weekday","weekDay","name","createElement","key","isChecked","onInvalid","onRemove","onAdd","size","hidePopup","current","hide","showPopup","show","displayedContent","singleDay","_ref4","style","width","onMouseEnter","onMouseLeave","onClick","onShow","onHide","shouldShowHint","Top","text","displayName"],"sources":["../../../../src/components/opening-times/OpeningTimes.tsx"],"sourcesContent":["import { Checkbox, Popup, useElementSize, type PopupRef } from '@chayns-components/core';\nimport React, {\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactElement,\n} from 'react';\nimport {\n HintTextPosition,\n type OnChange,\n type OnTimeAdd,\n type OpeningTime,\n type Time,\n type Weekday,\n} from '../../types/openingTimes';\nimport HintText from './hint-text/HintText';\nimport OpeningInputs from './opening-inputs/OpeningInputs';\nimport {\n StyledOpeningTimes,\n StyledOpeningTimesTooltipContent,\n StyledOpeningTimesWeekDay,\n StyledOpeningTimesWrapper,\n} from './OpeningTimes.styles';\n\nexport type OpeningTimesProps = {\n /**\n * The text that should be displayed when a day is closed.\n */\n closedText?: string;\n /**\n * If set just the current day is displayed and the whole week in a tooltip.\n */\n currentDayId?: OpeningTime['id'];\n /**\n * Whether the opening times can be edited.\n */\n editMode?: boolean;\n /**\n * The text that should be displayed if times are colliding.\n */\n hintText?: string;\n /**\n * The position of the hint text.\n */\n hintTextPosition?: HintTextPosition;\n /**\n * Function to be executed when a time is changed or a day is enabled/disabled.\n * @param openingTimes\n */\n onChange?: ({ time, enabledDays, dayId }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId }: OnTimeAdd) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * The opening times corresponding to its weekday.\n */\n openingTimes: OpeningTime[];\n /**\n * The weekdays that should be displayed.\n */\n weekdays: Weekday[];\n /**\n * When set to true, events are triggered without validation.\n */\n shouldNotValidate?: boolean;\n};\n\nconst OpeningTimes: FC<OpeningTimesProps> = ({\n closedText = 'closed',\n currentDayId,\n editMode = false,\n hintText,\n hintTextPosition = HintTextPosition.Bottom,\n openingTimes,\n weekdays,\n onChange,\n onTimeAdd,\n onTimeRemove,\n shouldNotValidate = false,\n}) => {\n const [newOpeningTimes, setNewOpeningTimes] = useState<OpeningTime[]>();\n const [invalidOpeningTimes, setInvalidOpeningTimes] = useState<\n { openingTimeId: string; invalidTimeIds: string[] }[]\n >([]);\n const [isPopupOpen, setIsPopupOpen] = useState(false);\n\n const ref = useRef<HTMLDivElement>(null);\n const popupRef = useRef<PopupRef>(null);\n\n useEffect(() => {\n setNewOpeningTimes(openingTimes);\n }, [openingTimes]);\n\n const validateTime = useCallback(\n (newTime: Time, dayId: string): boolean => {\n if (newTime.start === newTime.end) {\n return false;\n }\n const dayTimes = newOpeningTimes?.find((day) => day.id === dayId)?.times || [];\n\n return dayTimes.every(\n (time) =>\n time.id === newTime.id ||\n newTime.end <= time.start ||\n newTime.start >= time.end,\n );\n },\n [newOpeningTimes],\n );\n\n const handleCheckBoxChange = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, isDisabled: !openingTime.isDisabled };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({\n enabledDays: updatedOpeningTimes\n .filter((item) => !item.isDisabled)\n .map((item) => item.id),\n });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleChange = useCallback(\n (newTime: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(newTime, id);\n if (!isValid) {\n return;\n }\n\n setNewOpeningTimes((prevOpeningTimes) => {\n const updatedOpeningTimes = (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n const newTimes = openingTime.times.map((time) => {\n if (time.id === newTime.id) {\n return newTime;\n }\n return time;\n });\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n const changedOpeningTime = updatedOpeningTimes.find(\n (updatedOpeningTime) => updatedOpeningTime.id === id,\n );\n\n if (isValid && typeof onChange === 'function') {\n onChange({\n dayId: changedOpeningTime?.id,\n time: newTime,\n });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange, shouldNotValidate, validateTime],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\n const isValid = shouldNotValidate || validateTime(time, id);\n\n if (isValid && typeof onTimeAdd === 'function') {\n onTimeAdd({ time, dayId: id });\n }\n\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n if (openingTime.id === id) {\n return { ...openingTime, times: [...openingTime.times, time] };\n }\n return openingTime;\n }),\n );\n },\n [onTimeAdd, shouldNotValidate, validateTime],\n );\n\n const handleUpdateInvalidIds = useCallback(\n (openingTimeId: string, invalidTimeIds: string[]) => {\n setInvalidOpeningTimes((prevState) => {\n const updatedInvalidOpeningTimes = prevState.map((invalidOpeningTime) => {\n if (invalidOpeningTime.openingTimeId === openingTimeId) {\n return {\n openingTimeId,\n invalidTimeIds,\n };\n }\n return invalidOpeningTime;\n });\n\n if (\n !updatedInvalidOpeningTimes.some(\n ({ openingTimeId: updatedInvalidOpeningId }) =>\n updatedInvalidOpeningId === openingTimeId,\n ) &&\n invalidTimeIds.length > 0\n ) {\n updatedInvalidOpeningTimes.push({ openingTimeId, invalidTimeIds });\n }\n\n return updatedInvalidOpeningTimes.filter(\n (updatedInvalidOpeningTime) =>\n updatedInvalidOpeningTime.invalidTimeIds.length !== 0,\n );\n });\n },\n [],\n );\n\n const handleRemove = useCallback(\n (id: string) => {\n setNewOpeningTimes((prevOpeningTimes) =>\n (prevOpeningTimes ?? []).map((openingTime) => {\n const newTimes = openingTime.times.filter((time) => time.id !== id);\n\n return { ...openingTime, times: newTimes };\n }),\n );\n\n if (typeof onTimeRemove === 'function') {\n onTimeRemove(id);\n }\n },\n [onTimeRemove],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!newOpeningTimes) {\n return items;\n }\n\n newOpeningTimes.forEach(({ times, id, weekdayId, isDisabled }) => {\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n if (!weekday) {\n return;\n }\n\n items.push(\n <StyledOpeningTimesWrapper key={`openingTimes__${id}`}>\n {editMode ? (\n <Checkbox isChecked={!isDisabled} onChange={() => handleCheckBoxChange(id)}>\n {weekday}\n </Checkbox>\n ) : (\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n )}\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n id={id}\n times={times}\n isDisabled={isDisabled}\n onInvalid={handleUpdateInvalidIds}\n onChange={(newTime) => handleChange(newTime, id)}\n onRemove={handleRemove}\n onAdd={handleAdd}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>,\n );\n });\n\n return items;\n }, [\n closedText,\n currentDayId,\n editMode,\n handleAdd,\n handleChange,\n handleCheckBoxChange,\n handleRemove,\n handleUpdateInvalidIds,\n newOpeningTimes,\n weekdays,\n ]);\n\n const size = useElementSize(ref);\n\n const hidePopup = useCallback(() => {\n setIsPopupOpen(false);\n popupRef.current?.hide();\n }, []);\n\n const showPopup = useCallback(() => {\n setIsPopupOpen(true);\n popupRef.current?.show();\n }, []);\n\n const displayedContent = useMemo(() => {\n if (!currentDayId || editMode) {\n return content;\n }\n\n const singleDay = newOpeningTimes?.find(({ id }) => id === currentDayId);\n\n if (!singleDay) {\n return content;\n }\n\n const { id, times, weekdayId } = singleDay;\n\n const weekday = weekdays.find((weekDay) => weekDay.id === weekdayId)?.name;\n\n return (\n <StyledOpeningTimesWrapper\n key={`currentDay__${currentDayId}`}\n style={size && { width: size.width }}\n onMouseEnter={showPopup}\n onMouseLeave={hidePopup}\n onClick={() => (isPopupOpen ? hidePopup() : showPopup())}\n >\n <Popup\n onShow={() => setIsPopupOpen(true)}\n onHide={() => setIsPopupOpen(false)}\n ref={popupRef}\n content={\n <StyledOpeningTimesTooltipContent key=\"opening-time-tooltip\">\n {content}\n </StyledOpeningTimesTooltipContent>\n }\n >\n <StyledOpeningTimesWeekDay>{weekday}</StyledOpeningTimesWeekDay>\n </Popup>\n <OpeningInputs\n closedText={closedText}\n currentDayId={currentDayId}\n onInvalid={handleUpdateInvalidIds}\n id={id}\n times={times}\n editMode={editMode}\n />\n </StyledOpeningTimesWrapper>\n );\n }, [\n currentDayId,\n editMode,\n newOpeningTimes,\n weekdays,\n size,\n showPopup,\n hidePopup,\n content,\n closedText,\n handleUpdateInvalidIds,\n isPopupOpen,\n ]);\n\n const shouldShowHint = useMemo(\n () => invalidOpeningTimes.length > 0,\n [invalidOpeningTimes.length],\n );\n\n return useMemo(\n () => (\n <StyledOpeningTimes ref={ref}>\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Top && (\n <HintText text={hintText} />\n )}\n {displayedContent}\n {shouldShowHint && hintText && hintTextPosition === HintTextPosition.Bottom && (\n <HintText text={hintText} />\n )}\n </StyledOpeningTimes>\n ),\n [displayedContent, hintText, hintTextPosition, shouldShowHint],\n );\n};\n\nOpeningTimes.displayName = 'OpeningTimes';\n\nexport default OpeningTimes;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/date",
3
- "version": "5.0.0-beta.872",
3
+ "version": "5.0.0-beta.874",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -69,7 +69,7 @@
69
69
  "typescript": "^5.6.3"
70
70
  },
71
71
  "dependencies": {
72
- "@chayns-components/core": "^5.0.0-beta.869",
72
+ "@chayns-components/core": "^5.0.0-beta.874",
73
73
  "date-fns": "^3.6.0",
74
74
  "uuid": "^10.0.0"
75
75
  },
@@ -83,5 +83,5 @@
83
83
  "publishConfig": {
84
84
  "access": "public"
85
85
  },
86
- "gitHead": "64861ea928fd45efddff95a5c68fcd23a7dca91c"
86
+ "gitHead": "8191543ee7749d5f23d2f077c7b162fc659e12d6"
87
87
  }