@chayns-components/date 5.0.0-beta.863 → 5.0.0-beta.864

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.
@@ -84,6 +84,23 @@ const OpeningTimes = ({
84
84
  });
85
85
  }, [onChange]);
86
86
  const handleAdd = (0, _react.useCallback)((time, id) => {
87
+ const updatedInvalidOpeningTimes = (newOpeningTimes === null || newOpeningTimes === void 0 ? void 0 : newOpeningTimes.reduce((acc, openingTime) => {
88
+ const invalidTimesIds = openingTime.times.filter(ivalidTime => ivalidTime.start < time.end && ivalidTime.end > time.start).map(t => t.id);
89
+ if (invalidTimesIds.length > 0) {
90
+ acc.push({
91
+ openingTimeId: id,
92
+ invalidTimeIds: invalidTimesIds
93
+ });
94
+ }
95
+ return acc;
96
+ }, [])) || [];
97
+ if (typeof onTimeAdd === 'function') {
98
+ onTimeAdd({
99
+ invalidOpeningTimes: updatedInvalidOpeningTimes,
100
+ dayId: id,
101
+ time
102
+ });
103
+ }
87
104
  setNewOpeningTimes(prevOpeningTimes => (prevOpeningTimes ?? []).map(openingTime => {
88
105
  if (openingTime.id === id) {
89
106
  return {
@@ -93,14 +110,7 @@ const OpeningTimes = ({
93
110
  }
94
111
  return openingTime;
95
112
  }));
96
- if (typeof onTimeAdd === 'function') {
97
- onTimeAdd({
98
- invalidOpeningTimes,
99
- dayId: id,
100
- time
101
- });
102
- }
103
- }, [invalidOpeningTimes, onTimeAdd]);
113
+ }, [newOpeningTimes, onTimeAdd]);
104
114
  const handleUpdateInvalidIds = (0, _react.useCallback)((openingTimeId, invalidTimeIds) => {
105
115
  setInvalidOpeningTimes(prevState => {
106
116
  const updatedInvalidOpeningTimes = prevState.map(invalidOpeningTime => {
@@ -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","onValidationStateChange","onTimeRemove","newOpeningTimes","setNewOpeningTimes","useState","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","useRef","popupRef","useEffect","handleCheckBoxChange","useCallback","id","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","newTime","newTimes","times","time","handleAdd","dayId","handleUpdateInvalidIds","openingTimeId","invalidTimeIds","prevState","updatedInvalidOpeningTimes","invalidOpeningTime","some","updatedInvalidOpeningId","length","push","updatedInvalidOpeningTime","handleRemove","content","useMemo","items","forEach","weekdayId","_weekdays$find","weekday","find","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 }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId,invalidOpeningTimes }: OnTimeAdd ) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * Function to be executed when Validation is changed.\n */\n onValidationStateChange?: (\n invalidOpeningTimes: { openingTimeId: string; invalidTimeIds: string[] }[],\n ) => void;\n\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\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 onValidationStateChange,\n onTimeRemove,\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 useEffect(() => {\n if (typeof onValidationStateChange === 'function') {\n onValidationStateChange(invalidOpeningTimes);\n }\n }, [invalidOpeningTimes, onValidationStateChange]);\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 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\n return time;\n });\n\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({ time: newTime });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\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 if (typeof onTimeAdd === 'function') {\n onTimeAdd({ invalidOpeningTimes, dayId: id, time });\n }\n },\n [invalidOpeningTimes, onTimeAdd],\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","onValidationStateChange","onTimeRemove","newOpeningTimes","setNewOpeningTimes","useState","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","useRef","popupRef","useEffect","handleCheckBoxChange","useCallback","id","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","newTime","newTimes","times","time","handleAdd","updatedInvalidOpeningTimes","reduce","acc","invalidTimesIds","ivalidTime","start","end","length","push","openingTimeId","invalidTimeIds","dayId","handleUpdateInvalidIds","prevState","invalidOpeningTime","some","updatedInvalidOpeningId","updatedInvalidOpeningTime","handleRemove","content","useMemo","items","forEach","weekdayId","_weekdays$find","weekday","find","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 }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId,invalidOpeningTimes }: OnTimeAdd ) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * Function to be executed when Validation is changed.\n */\n onValidationStateChange?: (\n invalidOpeningTimes: { openingTimeId: string; invalidTimeIds: string[] }[],\n ) => void;\n\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\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 onValidationStateChange,\n onTimeRemove,\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 useEffect(() => {\n if (typeof onValidationStateChange === 'function') {\n onValidationStateChange(invalidOpeningTimes);\n }\n }, [invalidOpeningTimes, onValidationStateChange]);\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 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\n return time;\n });\n\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({ time: newTime });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\n const updatedInvalidOpeningTimes = newOpeningTimes?.reduce(\n (acc: { openingTimeId: string; invalidTimeIds: string[] }[], openingTime) => {\n const invalidTimesIds = openingTime.times.filter((ivalidTime) =>\n (ivalidTime.start < time.end && ivalidTime.end > time.start)\n ).map((t) => t.id);\n\n if (invalidTimesIds.length > 0) {\n acc.push({ openingTimeId: id, invalidTimeIds: invalidTimesIds });\n }\n return acc;\n },\n [],\n ) || [];\n\n if (typeof onTimeAdd === 'function') {\n onTimeAdd({ invalidOpeningTimes: updatedInvalidOpeningTimes, dayId: id, time });\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 [newOpeningTimes, onTimeAdd],\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":[]}
@@ -76,6 +76,23 @@ const OpeningTimes = _ref => {
76
76
  });
77
77
  }, [onChange]);
78
78
  const handleAdd = useCallback((time, id) => {
79
+ const updatedInvalidOpeningTimes = newOpeningTimes?.reduce((acc, openingTime) => {
80
+ const invalidTimesIds = openingTime.times.filter(ivalidTime => ivalidTime.start < time.end && ivalidTime.end > time.start).map(t => t.id);
81
+ if (invalidTimesIds.length > 0) {
82
+ acc.push({
83
+ openingTimeId: id,
84
+ invalidTimeIds: invalidTimesIds
85
+ });
86
+ }
87
+ return acc;
88
+ }, []) || [];
89
+ if (typeof onTimeAdd === 'function') {
90
+ onTimeAdd({
91
+ invalidOpeningTimes: updatedInvalidOpeningTimes,
92
+ dayId: id,
93
+ time
94
+ });
95
+ }
79
96
  setNewOpeningTimes(prevOpeningTimes => (prevOpeningTimes ?? []).map(openingTime => {
80
97
  if (openingTime.id === id) {
81
98
  return {
@@ -85,14 +102,7 @@ const OpeningTimes = _ref => {
85
102
  }
86
103
  return openingTime;
87
104
  }));
88
- if (typeof onTimeAdd === 'function') {
89
- onTimeAdd({
90
- invalidOpeningTimes,
91
- dayId: id,
92
- time
93
- });
94
- }
95
- }, [invalidOpeningTimes, onTimeAdd]);
105
+ }, [newOpeningTimes, onTimeAdd]);
96
106
  const handleUpdateInvalidIds = useCallback((openingTimeId, invalidTimeIds) => {
97
107
  setInvalidOpeningTimes(prevState => {
98
108
  const updatedInvalidOpeningTimes = prevState.map(invalidOpeningTime => {
@@ -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","onValidationStateChange","onTimeRemove","newOpeningTimes","setNewOpeningTimes","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","popupRef","handleCheckBoxChange","id","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","newTime","newTimes","times","time","handleAdd","dayId","handleUpdateInvalidIds","openingTimeId","invalidTimeIds","prevState","updatedInvalidOpeningTimes","invalidOpeningTime","some","_ref2","updatedInvalidOpeningId","length","push","updatedInvalidOpeningTime","handleRemove","content","items","forEach","_ref3","weekdayId","weekday","find","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 }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId,invalidOpeningTimes }: OnTimeAdd ) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * Function to be executed when Validation is changed.\n */\n onValidationStateChange?: (\n invalidOpeningTimes: { openingTimeId: string; invalidTimeIds: string[] }[],\n ) => void;\n\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\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 onValidationStateChange,\n onTimeRemove,\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 useEffect(() => {\n if (typeof onValidationStateChange === 'function') {\n onValidationStateChange(invalidOpeningTimes);\n }\n }, [invalidOpeningTimes, onValidationStateChange]);\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 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\n return time;\n });\n\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({ time: newTime });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\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 if (typeof onTimeAdd === 'function') {\n onTimeAdd({ invalidOpeningTimes, dayId: id, time });\n }\n },\n [invalidOpeningTimes, onTimeAdd],\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","onValidationStateChange","onTimeRemove","newOpeningTimes","setNewOpeningTimes","invalidOpeningTimes","setInvalidOpeningTimes","isPopupOpen","setIsPopupOpen","ref","popupRef","handleCheckBoxChange","id","prevOpeningTimes","updatedOpeningTimes","map","openingTime","isDisabled","enabledDays","filter","item","handleChange","newTime","newTimes","times","time","handleAdd","updatedInvalidOpeningTimes","reduce","acc","invalidTimesIds","ivalidTime","start","end","t","length","push","openingTimeId","invalidTimeIds","dayId","handleUpdateInvalidIds","prevState","invalidOpeningTime","some","_ref2","updatedInvalidOpeningId","updatedInvalidOpeningTime","handleRemove","content","items","forEach","_ref3","weekdayId","weekday","find","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 }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId,invalidOpeningTimes }: OnTimeAdd ) => void;\n /**\n * Function to be executed when a time is removed.\n */\n onTimeRemove?: (id: string) => void;\n /**\n * Function to be executed when Validation is changed.\n */\n onValidationStateChange?: (\n invalidOpeningTimes: { openingTimeId: string; invalidTimeIds: string[] }[],\n ) => void;\n\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\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 onValidationStateChange,\n onTimeRemove,\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 useEffect(() => {\n if (typeof onValidationStateChange === 'function') {\n onValidationStateChange(invalidOpeningTimes);\n }\n }, [invalidOpeningTimes, onValidationStateChange]);\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 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\n return time;\n });\n\n return { ...openingTime, times: newTimes };\n }\n return openingTime;\n });\n\n if (typeof onChange === 'function') {\n onChange({ time: newTime });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\n const updatedInvalidOpeningTimes = newOpeningTimes?.reduce(\n (acc: { openingTimeId: string; invalidTimeIds: string[] }[], openingTime) => {\n const invalidTimesIds = openingTime.times.filter((ivalidTime) =>\n (ivalidTime.start < time.end && ivalidTime.end > time.start)\n ).map((t) => t.id);\n\n if (invalidTimesIds.length > 0) {\n acc.push({ openingTimeId: id, invalidTimeIds: invalidTimesIds });\n }\n return acc;\n },\n [],\n ) || [];\n\n if (typeof onTimeAdd === 'function') {\n onTimeAdd({ invalidOpeningTimes: updatedInvalidOpeningTimes, dayId: id, time });\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 [newOpeningTimes, onTimeAdd],\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":"AAAA,SAASA,QAAQ,EAAEC,KAAK,EAAEC,cAAc,QAAuB,yBAAyB;AACxF,OAAOC,KAAK,IAERC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QAEL,OAAO;AACd,SACIC,gBAAgB,QAMb,0BAA0B;AACjC,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,aAAa,MAAM,gCAAgC;AAC1D,SACIC,kBAAkB,EAClBC,gCAAgC,EAChCC,yBAAyB,EACzBC,yBAAyB,QACtB,uBAAuB;AAqD9B,MAAMC,YAAmC,GAAGC,IAAA,IAYtC;EAAA,IAZuC;IACzCC,UAAU,GAAG,QAAQ;IACrBC,YAAY;IACZC,QAAQ,GAAG,KAAK;IAChBC,QAAQ;IACRC,gBAAgB,GAAGb,gBAAgB,CAACc,MAAM;IAC1CC,YAAY;IACZC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,uBAAuB;IACvBC;EACJ,CAAC,GAAAZ,IAAA;EACG,MAAM,CAACa,eAAe,EAAEC,kBAAkB,CAAC,GAAGvB,QAAQ,CAAgB,CAAC;EACvE,MAAM,CAACwB,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGzB,QAAQ,CAE5D,EAAE,CAAC;EACL,MAAM,CAAC0B,WAAW,EAAEC,cAAc,CAAC,GAAG3B,QAAQ,CAAC,KAAK,CAAC;EAErD,MAAM4B,GAAG,GAAG7B,MAAM,CAAiB,IAAI,CAAC;EACxC,MAAM8B,QAAQ,GAAG9B,MAAM,CAAW,IAAI,CAAC;EAEvCF,SAAS,CAAC,MAAM;IACZ0B,kBAAkB,CAACP,YAAY,CAAC;EACpC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElBnB,SAAS,CAAC,MAAM;IACZ,IAAI,OAAOuB,uBAAuB,KAAK,UAAU,EAAE;MAC/CA,uBAAuB,CAACI,mBAAmB,CAAC;IAChD;EACJ,CAAC,EAAE,CAACA,mBAAmB,EAAEJ,uBAAuB,CAAC,CAAC;EAElD,MAAMU,oBAAoB,GAAGlC,WAAW,CACnCmC,EAAU,IAAK;IACZR,kBAAkB,CAAES,gBAAgB,IAAK;MACrC,MAAMC,mBAAmB,GAAG,CAACD,gBAAgB,IAAI,EAAE,EAAEE,GAAG,CAAEC,WAAW,IAAK;QACtE,IAAIA,WAAW,CAACJ,EAAE,KAAKA,EAAE,EAAE;UACvB,OAAO;YAAE,GAAGI,WAAW;YAAEC,UAAU,EAAE,CAACD,WAAW,CAACC;UAAW,CAAC;QAClE;QACA,OAAOD,WAAW;MACtB,CAAC,CAAC;MAEF,IAAI,OAAOjB,QAAQ,KAAK,UAAU,EAAE;QAChCA,QAAQ,CAAC;UACLmB,WAAW,EAAEJ,mBAAmB,CAC3BK,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACH,UAAU,CAAC,CAClCF,GAAG,CAAEK,IAAI,IAAKA,IAAI,CAACR,EAAE;QAC9B,CAAC,CAAC;MACN;MAEA,OAAOE,mBAAmB;IAC9B,CAAC,CAAC;EACN,CAAC,EACD,CAACf,QAAQ,CACb,CAAC;EAED,MAAMsB,YAAY,GAAG5C,WAAW,CAC5B,CAAC6C,OAAa,EAAEV,EAAU,KAAK;IAC3BR,kBAAkB,CAAES,gBAAgB,IAAK;MACrC,MAAMC,mBAAmB,GAAG,CAACD,gBAAgB,IAAI,EAAE,EAAEE,GAAG,CAAEC,WAAW,IAAK;QACtE,IAAIA,WAAW,CAACJ,EAAE,KAAKA,EAAE,EAAE;UACvB,MAAMW,QAAQ,GAAGP,WAAW,CAACQ,KAAK,CAACT,GAAG,CAAEU,IAAI,IAAK;YAC7C,IAAIA,IAAI,CAACb,EAAE,KAAKU,OAAO,CAACV,EAAE,EAAE;cACxB,OAAOU,OAAO;YAClB;YAEA,OAAOG,IAAI;UACf,CAAC,CAAC;UAEF,OAAO;YAAE,GAAGT,WAAW;YAAEQ,KAAK,EAAED;UAAS,CAAC;QAC9C;QACA,OAAOP,WAAW;MACtB,CAAC,CAAC;MAEF,IAAI,OAAOjB,QAAQ,KAAK,UAAU,EAAE;QAChCA,QAAQ,CAAC;UAAE0B,IAAI,EAAEH;QAAQ,CAAC,CAAC;MAC/B;MAEA,OAAOR,mBAAmB;IAC9B,CAAC,CAAC;EACN,CAAC,EACD,CAACf,QAAQ,CACb,CAAC;EAED,MAAM2B,SAAS,GAAGjD,WAAW,CACzB,CAACgD,IAAU,EAAEb,EAAU,KAAK;IACxB,MAAMe,0BAA0B,GAAGxB,eAAe,EAAEyB,MAAM,CACtD,CAACC,GAA0D,EAAEb,WAAW,KAAK;MACzE,MAAMc,eAAe,GAAGd,WAAW,CAACQ,KAAK,CAACL,MAAM,CAAEY,UAAU,IACvDA,UAAU,CAACC,KAAK,GAAGP,IAAI,CAACQ,GAAG,IAAIF,UAAU,CAACE,GAAG,GAAGR,IAAI,CAACO,KAC1D,CAAC,CAACjB,GAAG,CAAEmB,CAAC,IAAKA,CAAC,CAACtB,EAAE,CAAC;MAElB,IAAIkB,eAAe,CAACK,MAAM,GAAG,CAAC,EAAE;QAC5BN,GAAG,CAACO,IAAI,CAAC;UAAEC,aAAa,EAAEzB,EAAE;UAAE0B,cAAc,EAAER;QAAgB,CAAC,CAAC;MACpE;MACA,OAAOD,GAAG;IACd,CAAC,EACD,EACJ,CAAC,IAAI,EAAE;IAEP,IAAI,OAAO7B,SAAS,KAAK,UAAU,EAAE;MACjCA,SAAS,CAAC;QAAEK,mBAAmB,EAAEsB,0BAA0B;QAAEY,KAAK,EAAE3B,EAAE;QAAEa;MAAK,CAAC,CAAC;IACnF;IAEArB,kBAAkB,CAAES,gBAAgB,IAChC,CAACA,gBAAgB,IAAI,EAAE,EAAEE,GAAG,CAAEC,WAAW,IAAK;MAC1C,IAAIA,WAAW,CAACJ,EAAE,KAAKA,EAAE,EAAE;QACvB,OAAO;UAAE,GAAGI,WAAW;UAAEQ,KAAK,EAAE,CAAC,GAAGR,WAAW,CAACQ,KAAK,EAAEC,IAAI;QAAE,CAAC;MAClE;MACA,OAAOT,WAAW;IACtB,CAAC,CACL,CAAC;EACL,CAAC,EACD,CAACb,eAAe,EAAEH,SAAS,CAC/B,CAAC;EAED,MAAMwC,sBAAsB,GAAG/D,WAAW,CACtC,CAAC4D,aAAqB,EAAEC,cAAwB,KAAK;IACjDhC,sBAAsB,CAAEmC,SAAS,IAAK;MAClC,MAAMd,0BAA0B,GAAGc,SAAS,CAAC1B,GAAG,CAAE2B,kBAAkB,IAAK;QACrE,IAAIA,kBAAkB,CAACL,aAAa,KAAKA,aAAa,EAAE;UACpD,OAAO;YACHA,aAAa;YACbC;UACJ,CAAC;QACL;QACA,OAAOI,kBAAkB;MAC7B,CAAC,CAAC;MAEF,IACI,CAACf,0BAA0B,CAACgB,IAAI,CAC5BC,KAAA;QAAA,IAAC;UAAEP,aAAa,EAAEQ;QAAwB,CAAC,GAAAD,KAAA;QAAA,OACvCC,uBAAuB,KAAKR,aAAa;MAAA,CACjD,CAAC,IACDC,cAAc,CAACH,MAAM,GAAG,CAAC,EAC3B;QACER,0BAA0B,CAACS,IAAI,CAAC;UAAEC,aAAa;UAAEC;QAAe,CAAC,CAAC;MACtE;MAEA,OAAOX,0BAA0B,CAACR,MAAM,CACnC2B,yBAAyB,IACtBA,yBAAyB,CAACR,cAAc,CAACH,MAAM,KAAK,CAC5D,CAAC;IACL,CAAC,CAAC;EACN,CAAC,EACD,EACJ,CAAC;EAED,MAAMY,YAAY,GAAGtE,WAAW,CAC3BmC,EAAU,IAAK;IACZR,kBAAkB,CAAES,gBAAgB,IAChC,CAACA,gBAAgB,IAAI,EAAE,EAAEE,GAAG,CAAEC,WAAW,IAAK;MAC1C,MAAMO,QAAQ,GAAGP,WAAW,CAACQ,KAAK,CAACL,MAAM,CAAEM,IAAI,IAAKA,IAAI,CAACb,EAAE,KAAKA,EAAE,CAAC;MAEnE,OAAO;QAAC,GAAGI,WAAW;QAAEQ,KAAK,EAAED;MAAQ,CAAC;IAC5C,CAAC,CACL,CAAC;IAED,IAAI,OAAOrB,YAAY,KAAK,UAAU,EAAE;MACpCA,YAAY,CAACU,EAAE,CAAC;IACpB;EACJ,CAAC,EACD,CAACV,YAAY,CACjB,CAAC;EAED,MAAM8C,OAAO,GAAGrE,OAAO,CAAC,MAAM;IAC1B,MAAMsE,KAAqB,GAAG,EAAE;IAEhC,IAAI,CAAC9C,eAAe,EAAE;MAClB,OAAO8C,KAAK;IAChB;IAEA9C,eAAe,CAAC+C,OAAO,CAACC,KAAA,IAA0C;MAAA,IAAzC;QAAE3B,KAAK;QAAEZ,EAAE;QAAEwC,SAAS;QAAEnC;MAAW,CAAC,GAAAkC,KAAA;MACzD,MAAME,OAAO,GAAGvD,QAAQ,CAACwD,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAAC3C,EAAE,KAAKwC,SAAS,CAAC,EAAEI,IAAI;MAE1E,IAAI,CAACH,OAAO,EAAE;QACV;MACJ;MAEAJ,KAAK,CAACb,IAAI,cACN5D,KAAA,CAAAiF,aAAA,CAACrE,yBAAyB;QAACsE,GAAG,EAAE,iBAAiB9C,EAAE;MAAG,GACjDnB,QAAQ,gBACLjB,KAAA,CAAAiF,aAAA,CAACpF,QAAQ;QAACsF,SAAS,EAAE,CAAC1C,UAAW;QAAClB,QAAQ,EAAEA,CAAA,KAAMY,oBAAoB,CAACC,EAAE;MAAE,GACtEyC,OACK,CAAC,gBAEX7E,KAAA,CAAAiF,aAAA,CAACtE,yBAAyB,QAAEkE,OAAmC,CAClE,eACD7E,KAAA,CAAAiF,aAAA,CAACzE,aAAa;QACVO,UAAU,EAAEA,UAAW;QACvBC,YAAY,EAAEA,YAAa;QAC3BoB,EAAE,EAAEA,EAAG;QACPY,KAAK,EAAEA,KAAM;QACbP,UAAU,EAAEA,UAAW;QACvB2C,SAAS,EAAEpB,sBAAuB;QAClCzC,QAAQ,EAAGuB,OAAO,IAAKD,YAAY,CAACC,OAAO,EAAEV,EAAE,CAAE;QACjDiD,QAAQ,EAAEd,YAAa;QACvBe,KAAK,EAAEpC,SAAU;QACjBjC,QAAQ,EAAEA;MAAS,CACtB,CACsB,CAC/B,CAAC;IACL,CAAC,CAAC;IAEF,OAAOwD,KAAK;EAChB,CAAC,EAAE,CACC1D,UAAU,EACVC,YAAY,EACZC,QAAQ,EACRiC,SAAS,EACTL,YAAY,EACZV,oBAAoB,EACpBoC,YAAY,EACZP,sBAAsB,EACtBrC,eAAe,EACfL,QAAQ,CACX,CAAC;EAEF,MAAMiE,IAAI,GAAGxF,cAAc,CAACkC,GAAG,CAAC;EAEhC,MAAMuD,SAAS,GAAGvF,WAAW,CAAC,MAAM;IAChC+B,cAAc,CAAC,KAAK,CAAC;IACrBE,QAAQ,CAACuD,OAAO,EAAEC,IAAI,CAAC,CAAC;EAC5B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,SAAS,GAAG1F,WAAW,CAAC,MAAM;IAChC+B,cAAc,CAAC,IAAI,CAAC;IACpBE,QAAQ,CAACuD,OAAO,EAAEG,IAAI,CAAC,CAAC;EAC5B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAG1F,OAAO,CAAC,MAAM;IACnC,IAAI,CAACa,YAAY,IAAIC,QAAQ,EAAE;MAC3B,OAAOuD,OAAO;IAClB;IAEA,MAAMsB,SAAS,GAAGnE,eAAe,EAAEmD,IAAI,CAACiB,KAAA;MAAA,IAAC;QAAE3D;MAAG,CAAC,GAAA2D,KAAA;MAAA,OAAK3D,EAAE,KAAKpB,YAAY;IAAA,EAAC;IAExE,IAAI,CAAC8E,SAAS,EAAE;MACZ,OAAOtB,OAAO;IAClB;IAEA,MAAM;MAAEpC,EAAE;MAAEY,KAAK;MAAE4B;IAAU,CAAC,GAAGkB,SAAS;IAE1C,MAAMjB,OAAO,GAAGvD,QAAQ,CAACwD,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAAC3C,EAAE,KAAKwC,SAAS,CAAC,EAAEI,IAAI;IAE1E,oBACIhF,KAAA,CAAAiF,aAAA,CAACrE,yBAAyB;MACtBsE,GAAG,EAAE,eAAelE,YAAY,EAAG;MACnCgF,KAAK,EAAET,IAAI,IAAI;QAAEU,KAAK,EAAEV,IAAI,CAACU;MAAM,CAAE;MACrCC,YAAY,EAAEP,SAAU;MACxBQ,YAAY,EAAEX,SAAU;MACxBY,OAAO,EAAEA,CAAA,KAAOrE,WAAW,GAAGyD,SAAS,CAAC,CAAC,GAAGG,SAAS,CAAC;IAAG,gBAEzD3F,KAAA,CAAAiF,aAAA,CAACnF,KAAK;MACFuG,MAAM,EAAEA,CAAA,KAAMrE,cAAc,CAAC,IAAI,CAAE;MACnCsE,MAAM,EAAEA,CAAA,KAAMtE,cAAc,CAAC,KAAK,CAAE;MACpCC,GAAG,EAAEC,QAAS;MACdsC,OAAO,eACHxE,KAAA,CAAAiF,aAAA,CAACvE,gCAAgC;QAACwE,GAAG,EAAC;MAAsB,GACvDV,OAC6B;IACrC,gBAEDxE,KAAA,CAAAiF,aAAA,CAACtE,yBAAyB,QAAEkE,OAAmC,CAC5D,CAAC,eACR7E,KAAA,CAAAiF,aAAA,CAACzE,aAAa;MACVO,UAAU,EAAEA,UAAW;MACvBC,YAAY,EAAEA,YAAa;MAC3BoE,SAAS,EAAEpB,sBAAuB;MAClC5B,EAAE,EAAEA,EAAG;MACPY,KAAK,EAAEA,KAAM;MACb/B,QAAQ,EAAEA;IAAS,CACtB,CACsB,CAAC;EAEpC,CAAC,EAAE,CACCD,YAAY,EACZC,QAAQ,EACRU,eAAe,EACfL,QAAQ,EACRiE,IAAI,EACJI,SAAS,EACTH,SAAS,EACThB,OAAO,EACPzD,UAAU,EACViD,sBAAsB,EACtBjC,WAAW,CACd,CAAC;EAEF,MAAMwE,cAAc,GAAGpG,OAAO,CAC1B,MAAM0B,mBAAmB,CAAC8B,MAAM,GAAG,CAAC,EACpC,CAAC9B,mBAAmB,CAAC8B,MAAM,CAC/B,CAAC;EAED,OAAOxD,OAAO,CACV,mBACIH,KAAA,CAAAiF,aAAA,CAACxE,kBAAkB;IAACwB,GAAG,EAAEA;EAAI,GACxBsE,cAAc,IAAIrF,QAAQ,IAAIC,gBAAgB,KAAKb,gBAAgB,CAACkG,GAAG,iBACpExG,KAAA,CAAAiF,aAAA,CAAC1E,QAAQ;IAACkG,IAAI,EAAEvF;EAAS,CAAE,CAC9B,EACA2E,gBAAgB,EAChBU,cAAc,IAAIrF,QAAQ,IAAIC,gBAAgB,KAAKb,gBAAgB,CAACc,MAAM,iBACvEpB,KAAA,CAAAiF,aAAA,CAAC1E,QAAQ;IAACkG,IAAI,EAAEvF;EAAS,CAAE,CAEf,CACvB,EACD,CAAC2E,gBAAgB,EAAE3E,QAAQ,EAAEC,gBAAgB,EAAEoF,cAAc,CACjE,CAAC;AACL,CAAC;AAED1F,YAAY,CAAC6F,WAAW,GAAG,cAAc;AAEzC,eAAe7F,YAAY","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/date",
3
- "version": "5.0.0-beta.863",
3
+ "version": "5.0.0-beta.864",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -83,5 +83,5 @@
83
83
  "publishConfig": {
84
84
  "access": "public"
85
85
  },
86
- "gitHead": "d75a7e9a4960ea19264f8e78fc1cb7b90322654b"
86
+ "gitHead": "78c2c6ddc41a68933974fce77978e8bc68d3d98f"
87
87
  }