@chayns-components/date 5.0.0-beta.998 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/lib/cjs/components/calendar/Calendar.js +9 -22
  2. package/lib/cjs/components/calendar/Calendar.js.map +1 -1
  3. package/lib/cjs/components/calendar/Calendar.styles.js +7 -1
  4. package/lib/cjs/components/calendar/Calendar.styles.js.map +1 -1
  5. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.js +9 -4
  6. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.js.map +1 -1
  7. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.styles.js +2 -2
  8. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.styles.js.map +1 -1
  9. package/lib/cjs/components/calendar/month-wrapper/month/Month.js +64 -32
  10. package/lib/cjs/components/calendar/month-wrapper/month/Month.js.map +1 -1
  11. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js +5 -4
  12. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js.map +1 -1
  13. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.js +7 -4
  14. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.js.map +1 -1
  15. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js +17 -3
  16. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js.map +1 -1
  17. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js +1 -2
  18. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js.map +1 -1
  19. package/lib/cjs/components/calendar/month-year-pickers/MonthYearPickers.js +4 -3
  20. package/lib/cjs/components/calendar/month-year-pickers/MonthYearPickers.js.map +1 -1
  21. package/lib/cjs/components/date-info/DateInfo.js +4 -3
  22. package/lib/cjs/components/date-info/DateInfo.js.map +1 -1
  23. package/lib/cjs/components/opening-times/OpeningTimes.js +12 -15
  24. package/lib/cjs/components/opening-times/OpeningTimes.js.map +1 -1
  25. package/lib/cjs/components/opening-times/hint-text/HintText.js +1 -2
  26. package/lib/cjs/components/opening-times/hint-text/HintText.js.map +1 -1
  27. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.js +16 -17
  28. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.js.map +1 -1
  29. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.styles.js +3 -4
  30. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.styles.js.map +1 -1
  31. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.js +1 -2
  32. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.js.map +1 -1
  33. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js +2 -2
  34. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js.map +1 -1
  35. package/lib/cjs/hooks/useDateInfo.js +3 -1
  36. package/lib/cjs/hooks/useDateInfo.js.map +1 -1
  37. package/lib/cjs/index.js +6 -0
  38. package/lib/cjs/index.js.map +1 -1
  39. package/lib/cjs/types/calendar.js.map +1 -1
  40. package/lib/cjs/types/dateinfo.js +4 -0
  41. package/lib/cjs/types/dateinfo.js.map +1 -1
  42. package/lib/cjs/types/openingTimes.js.map +1 -1
  43. package/lib/cjs/utils/calendar.js.map +1 -1
  44. package/lib/cjs/utils/date.js.map +1 -1
  45. package/lib/cjs/utils/dateInfo.js +52 -28
  46. package/lib/cjs/utils/dateInfo.js.map +1 -1
  47. package/lib/esm/components/calendar/Calendar.js +26 -39
  48. package/lib/esm/components/calendar/Calendar.js.map +1 -1
  49. package/lib/esm/components/calendar/Calendar.styles.js +12 -12
  50. package/lib/esm/components/calendar/Calendar.styles.js.map +1 -1
  51. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.js +28 -23
  52. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.js.map +1 -1
  53. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.styles.js +7 -13
  54. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.styles.js.map +1 -1
  55. package/lib/esm/components/calendar/month-wrapper/month/Month.js +51 -25
  56. package/lib/esm/components/calendar/month-wrapper/month/Month.js.map +1 -1
  57. package/lib/esm/components/calendar/month-wrapper/month/Month.styles.js +3 -6
  58. package/lib/esm/components/calendar/month-wrapper/month/Month.styles.js.map +1 -1
  59. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js +20 -19
  60. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js.map +1 -1
  61. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.js +22 -19
  62. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.js.map +1 -1
  63. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js +51 -53
  64. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js.map +1 -1
  65. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.js +5 -8
  66. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.js.map +1 -1
  67. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.styles.js +3 -6
  68. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.styles.js.map +1 -1
  69. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js +4 -5
  70. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js.map +1 -1
  71. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.js +3 -6
  72. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.js.map +1 -1
  73. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.js +3 -6
  74. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.js.map +1 -1
  75. package/lib/esm/components/calendar/month-year-pickers/MonthYearPickers.js +13 -12
  76. package/lib/esm/components/calendar/month-year-pickers/MonthYearPickers.js.map +1 -1
  77. package/lib/esm/components/date-info/DateInfo.js +12 -11
  78. package/lib/esm/components/date-info/DateInfo.js.map +1 -1
  79. package/lib/esm/components/opening-times/OpeningTimes.js +34 -44
  80. package/lib/esm/components/opening-times/OpeningTimes.js.map +1 -1
  81. package/lib/esm/components/opening-times/OpeningTimes.styles.js +3 -6
  82. package/lib/esm/components/opening-times/OpeningTimes.styles.js.map +1 -1
  83. package/lib/esm/components/opening-times/hint-text/HintText.js +3 -4
  84. package/lib/esm/components/opening-times/hint-text/HintText.js.map +1 -1
  85. package/lib/esm/components/opening-times/hint-text/HintText.styles.js +6 -12
  86. package/lib/esm/components/opening-times/hint-text/HintText.styles.js.map +1 -1
  87. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.js +21 -26
  88. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.js.map +1 -1
  89. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.styles.js +8 -14
  90. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.styles.js.map +1 -1
  91. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.js +11 -12
  92. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.js.map +1 -1
  93. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js +7 -13
  94. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js.map +1 -1
  95. package/lib/esm/hooks/useDateInfo.js +13 -12
  96. package/lib/esm/hooks/useDateInfo.js.map +1 -1
  97. package/lib/esm/index.js +1 -1
  98. package/lib/esm/index.js.map +1 -1
  99. package/lib/esm/types/calendar.js.map +1 -1
  100. package/lib/esm/types/dateinfo.js +1 -1
  101. package/lib/esm/types/dateinfo.js.map +1 -1
  102. package/lib/esm/types/openingTimes.js.map +1 -1
  103. package/lib/esm/utils/calendar.js +10 -12
  104. package/lib/esm/utils/calendar.js.map +1 -1
  105. package/lib/esm/utils/date.js.map +1 -1
  106. package/lib/esm/utils/dateInfo.js +65 -45
  107. package/lib/esm/utils/dateInfo.js.map +1 -1
  108. package/lib/types/components/calendar/Calendar.d.ts +5 -1
  109. package/lib/types/components/calendar/Calendar.styles.d.ts +1 -0
  110. package/lib/types/components/calendar/month-wrapper/MonthWrapper.d.ts +5 -2
  111. package/lib/types/components/calendar/month-wrapper/MonthWrapper.styles.d.ts +2 -263
  112. package/lib/types/components/calendar/month-wrapper/month/Month.d.ts +5 -2
  113. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.d.ts +2 -1
  114. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/day/Day.d.ts +2 -1
  115. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.d.ts +5 -1
  116. package/lib/types/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.d.ts +1 -1
  117. package/lib/types/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.d.ts +1 -1
  118. package/lib/types/components/calendar/month-year-pickers/MonthYearPickers.d.ts +1 -1
  119. package/lib/types/components/opening-times/OpeningTimes.d.ts +2 -6
  120. package/lib/types/components/opening-times/OpeningTimes.styles.d.ts +1 -1
  121. package/lib/types/components/opening-times/hint-text/HintText.styles.d.ts +1 -1
  122. package/lib/types/components/opening-times/opening-inputs/OpeningInputs.styles.d.ts +3 -264
  123. package/lib/types/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.d.ts +2 -263
  124. package/lib/types/hooks/useDateInfo.d.ts +1 -1
  125. package/lib/types/index.d.ts +3 -3
  126. package/lib/types/types/dateinfo.d.ts +14 -5
  127. package/lib/types/types/openingTimes.d.ts +2 -0
  128. package/lib/types/utils/calendar.d.ts +1 -1
  129. package/lib/types/utils/dateInfo.d.ts +6 -1
  130. package/package.json +18 -17
@@ -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","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":[]}
1
+ {"version":3,"file":"OpeningTimes.js","names":["_core","require","_react","_interopRequireWildcard","_openingTimes","_HintText","_interopRequireDefault","_OpeningInputs","_OpeningTimes","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OpeningTimes","closedText","currentDayId","editMode","hintText","hintTextPosition","HintTextPosition","Bottom","openingTimes","weekdays","onChange","onTimeAdd","onTimeRemove","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, isValid }: OnChange) => void;\n /**\n * Function to be executed when a time is added.\n */\n onTimeAdd?: ({ time, dayId, isValid }: 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\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}) => {\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 || 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 = validateTime(newTime, id);\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 (typeof onChange === 'function') {\n onChange({\n isValid,\n dayId: changedOpeningTime?.id,\n time: newTime,\n });\n }\n\n return updatedOpeningTimes;\n });\n },\n [onChange, validateTime],\n );\n\n const handleAdd = useCallback(\n (time: Time, id: string) => {\n const isValid = validateTime(time, id);\n\n if (typeof onTimeAdd === 'function') {\n onTimeAdd({ time, dayId: id, isValid });\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, 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":[]}
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _HintText = require("./HintText.styles");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
10
  const HintText = ({
12
11
  text
13
12
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"HintText.js","names":["_react","_interopRequireWildcard","require","_HintText","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HintText","text","newHintText","setNewHintText","useState","useMemo","createElement","StyledHintText","displayName","_default","exports"],"sources":["../../../../../src/components/opening-times/hint-text/HintText.tsx"],"sourcesContent":["import React, { FC, useMemo, useState } from 'react';\nimport { StyledHintText } from './HintText.styles';\n\nexport type HintTextProps = {\n text: string;\n};\n\nconst HintText: FC<HintTextProps> = ({ text }) => {\n const [newHintText, setNewHintText] = useState<string>();\n\n return useMemo(() => <StyledHintText>{text}</StyledHintText>, [text]);\n};\n\nHintText.displayName = 'HintText';\n\nexport default HintText;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAAmD,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAMnD,MAAMW,QAA2B,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC9C,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAS,CAAC;EAExD,OAAO,IAAAC,cAAO,EAAC,mBAAM7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAAC3B,SAAA,CAAA4B,cAAc,QAAEN,IAAqB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;AACzE,CAAC;AAEDD,QAAQ,CAACQ,WAAW,GAAG,UAAU;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAxB,OAAA,GAEnBc,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"HintText.js","names":["_react","_interopRequireWildcard","require","_HintText","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","HintText","text","newHintText","setNewHintText","useState","useMemo","createElement","StyledHintText","displayName","_default","exports"],"sources":["../../../../../src/components/opening-times/hint-text/HintText.tsx"],"sourcesContent":["import React, { FC, useMemo, useState } from 'react';\nimport { StyledHintText } from './HintText.styles';\n\nexport type HintTextProps = {\n text: string;\n};\n\nconst HintText: FC<HintTextProps> = ({ text }) => {\n const [newHintText, setNewHintText] = useState<string>();\n\n return useMemo(() => <StyledHintText>{text}</StyledHintText>, [text]);\n};\n\nHintText.displayName = 'HintText';\n\nexport default HintText;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAAmD,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMnD,MAAMkB,QAA2B,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC9C,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAS,CAAC;EAExD,OAAO,IAAAC,cAAO,EAAC,mBAAM5B,MAAA,CAAAc,OAAA,CAAAe,aAAA,CAAC1B,SAAA,CAAA2B,cAAc,QAAEN,IAAqB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;AACzE,CAAC;AAEDD,QAAQ,CAACQ,WAAW,GAAG,UAAU;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEnBS,QAAQ","ignoreList":[]}
@@ -4,15 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _framerMotion = require("framer-motion");
8
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("motion/react");
8
+ var _react2 = _interopRequireWildcard(require("react"));
9
9
  var _uuid = require("uuid");
10
10
  var _openingTimes = require("../../../types/openingTimes");
11
11
  var _OpeningInput = _interopRequireDefault(require("./opening-input/OpeningInput"));
12
12
  var _OpeningInputs = require("./OpeningInputs.styles");
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
15
  const OpeningInputs = ({
17
16
  times,
18
17
  isDisabled,
@@ -25,12 +24,12 @@ const OpeningInputs = ({
25
24
  editMode = false,
26
25
  closedText = ''
27
26
  }) => {
28
- const [newTimes, setNewTimes] = (0, _react.useState)();
29
- const [invalidTimes, setInvalidTimes] = (0, _react.useState)([]);
30
- (0, _react.useEffect)(() => {
27
+ const [newTimes, setNewTimes] = (0, _react2.useState)();
28
+ const [invalidTimes, setInvalidTimes] = (0, _react2.useState)([]);
29
+ (0, _react2.useEffect)(() => {
31
30
  setNewTimes(times);
32
31
  }, [times]);
33
- const handleAdd = (0, _react.useCallback)(() => {
32
+ const handleAdd = (0, _react2.useCallback)(() => {
34
33
  const defaultTime = {
35
34
  start: '08:00',
36
35
  end: '18:00',
@@ -41,13 +40,13 @@ const OpeningInputs = ({
41
40
  onAdd(defaultTime, id);
42
41
  }
43
42
  }, [id, onAdd]);
44
- const handleRemove = (0, _react.useCallback)(timeId => {
43
+ const handleRemove = (0, _react2.useCallback)(timeId => {
45
44
  setNewTimes(prevState => (prevState ?? []).filter(time => time.id !== timeId));
46
45
  if (typeof onRemove === 'function') {
47
46
  onRemove(timeId);
48
47
  }
49
48
  }, [onRemove]);
50
- (0, _react.useEffect)(() => {
49
+ (0, _react2.useEffect)(() => {
51
50
  const result = [];
52
51
  for (let i = 0; i < times.length; i++) {
53
52
  const currentTime = times[i];
@@ -74,7 +73,7 @@ const OpeningInputs = ({
74
73
  onInvalid(id, invalidTimeIds);
75
74
  }
76
75
  }, [id, onInvalid, times]);
77
- const handleChange = (0, _react.useCallback)(newTime => {
76
+ const handleChange = (0, _react2.useCallback)(newTime => {
78
77
  setNewTimes(prevState => {
79
78
  const updatedTimes = (prevState ?? []).map(time => {
80
79
  if (time.id === newTime.id) {
@@ -88,7 +87,7 @@ const OpeningInputs = ({
88
87
  return updatedTimes;
89
88
  });
90
89
  }, [onChange]);
91
- const content = (0, _react.useMemo)(() => {
90
+ const content = (0, _react2.useMemo)(() => {
92
91
  const items = [];
93
92
  if (!newTimes) {
94
93
  return items;
@@ -100,7 +99,7 @@ const OpeningInputs = ({
100
99
  }, index) => {
101
100
  if (!editMode) {
102
101
  const text = isDisabled ? closedText : `${start} - ${end}`;
103
- items.push(/*#__PURE__*/_react.default.createElement(_OpeningInputs.StyledOpeningInputPreview, {
102
+ items.push(/*#__PURE__*/_react2.default.createElement(_OpeningInputs.StyledOpeningInputPreview, {
104
103
  key: `opening-times-preview__${id}.${timeId}`
105
104
  }, `${text}${currentDayId && newTimes.length > 1 && index === 0 ? ', ' : ''}`));
106
105
  return;
@@ -114,7 +113,7 @@ const OpeningInputs = ({
114
113
  } else if (index === 1 && !isDisabled) {
115
114
  buttonType = _openingTimes.OpeningTimesButtonType.REMOVE;
116
115
  }
117
- items.push(/*#__PURE__*/_react.default.createElement(_OpeningInput.default, {
116
+ items.push(/*#__PURE__*/_react2.default.createElement(_OpeningInput.default, {
118
117
  key: `opening-times-input__${id}.${timeId}`,
119
118
  start: start,
120
119
  id: timeId,
@@ -129,13 +128,13 @@ const OpeningInputs = ({
129
128
  });
130
129
  return items;
131
130
  }, [closedText, currentDayId, editMode, handleAdd, handleChange, handleRemove, id, invalidTimes, isDisabled, newTimes, times.length]);
132
- const gap = (0, _react.useMemo)(() => {
131
+ const gap = (0, _react2.useMemo)(() => {
133
132
  if (newTimes && newTimes.length > 1 && editMode || !editMode && currentDayId) {
134
133
  return '8px';
135
134
  }
136
135
  return 0;
137
136
  }, [currentDayId, editMode, newTimes]);
138
- return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_OpeningInputs.StyledOpeningInputs, {
137
+ return (0, _react2.useMemo)(() => /*#__PURE__*/_react2.default.createElement(_OpeningInputs.StyledOpeningInputs, {
139
138
  $editMode: !currentDayId,
140
139
  key: `opening-inputs__${id}`,
141
140
  animate: {
@@ -144,7 +143,7 @@ const OpeningInputs = ({
144
143
  initial: {
145
144
  gap: 0
146
145
  }
147
- }, /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
146
+ }, /*#__PURE__*/_react2.default.createElement(_react.AnimatePresence, {
148
147
  initial: false
149
148
  }, content)), [content, currentDayId, gap, id]);
150
149
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OpeningInputs.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_uuid","_openingTimes","_OpeningInput","_interopRequireDefault","_OpeningInputs","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OpeningInputs","times","isDisabled","onRemove","onAdd","onInvalid","id","onChange","currentDayId","editMode","closedText","newTimes","setNewTimes","useState","invalidTimes","setInvalidTimes","useEffect","handleAdd","useCallback","defaultTime","start","end","uuidV4","prevState","handleRemove","timeId","filter","time","result","length","currentTime","prevTime","currStart","Date","currEnd","push","prevEnd","invalidTimeIds","map","invalidId","handleChange","newTime","updatedTimes","content","useMemo","items","forEach","index","text","createElement","StyledOpeningInputPreview","key","buttonType","OpeningTimesButtonType","NONE","ADD","REMOVE","isInvalid","includes","gap","StyledOpeningInputs","$editMode","animate","initial","AnimatePresence","displayName","_default","exports"],"sources":["../../../../../src/components/opening-times/opening-inputs/OpeningInputs.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, { FC, useCallback, useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { v4 as uuidV4 } from 'uuid';\nimport { OpeningTimesButtonType, type OpeningTime, type Time } from '../../../types/openingTimes';\nimport OpeningInput from './opening-input/OpeningInput';\nimport { StyledOpeningInputPreview, StyledOpeningInputs } from './OpeningInputs.styles';\n\nexport type OpeningInputsProps = {\n /**\n * Array of opening times\n */\n times: Time[];\n /**\n * If the inputs are disabled\n */\n isDisabled?: boolean;\n /**\n * Function that is called when a time is changed\n */\n onChange?: (time: Time) => void;\n /**\n * Function that is called when a new time is added\n */\n onAdd?: (time: Time, id: string) => void;\n /**\n * Function that is called when a time is removed\n */\n onRemove?: (id: Time['id']) => void;\n /**\n * Function that is called when the times are invalid\n */\n onInvalid?: (openingTimeId: string, timeIds: string[]) => void;\n /**\n * The id of the opening time\n */\n id: string;\n /**\n * The id of the current day\n */\n currentDayId?: OpeningTime['id'];\n /**\n * If the edit mode is enabled\n */\n editMode?: boolean;\n /**\n * The text to show when the inputs are disabled\n */\n closedText?: string;\n};\n\nconst OpeningInputs: FC<OpeningInputsProps> = ({\n times,\n isDisabled,\n onRemove,\n onAdd,\n onInvalid,\n id,\n onChange,\n currentDayId,\n editMode = false,\n closedText = '',\n}) => {\n const [newTimes, setNewTimes] = useState<Time[]>();\n const [invalidTimes, setInvalidTimes] = useState<string[]>([]);\n\n useEffect(() => {\n setNewTimes(times);\n }, [times]);\n\n const handleAdd = useCallback(() => {\n const defaultTime: Time = { start: '08:00', end: '18:00', id: uuidV4() };\n\n setNewTimes((prevState) => (prevState ? [...prevState, defaultTime] : [defaultTime]));\n\n if (typeof onAdd === 'function') {\n onAdd(defaultTime, id);\n }\n }, [id, onAdd]);\n\n const handleRemove = useCallback(\n (timeId: string) => {\n setNewTimes((prevState) => (prevState ?? []).filter((time) => time.id !== timeId));\n\n if (typeof onRemove === 'function') {\n onRemove(timeId);\n }\n },\n [onRemove],\n );\n\n useEffect(() => {\n const result: Time[] = [];\n\n for (let i = 0; i < times.length; i++) {\n const currentTime = times[i];\n const prevTime = times[i - 1];\n\n if (currentTime) {\n const currStart = new Date(`2000-01-01T${currentTime.start}`);\n const currEnd = new Date(`2000-01-01T${currentTime.end}`);\n\n if (currStart >= currEnd) {\n result.push(currentTime);\n }\n\n if (prevTime) {\n const prevEnd = new Date(`2000-01-01T${prevTime.end}`);\n\n if (prevEnd > currStart) {\n result.push(prevTime, currentTime);\n }\n }\n }\n }\n\n const invalidTimeIds = result.map(({ id: invalidId }) => invalidId);\n\n setInvalidTimes(invalidTimeIds);\n\n if (typeof onInvalid === 'function') {\n onInvalid(id, invalidTimeIds);\n }\n }, [id, onInvalid, times]);\n\n const handleChange = useCallback(\n (newTime: Time) => {\n setNewTimes((prevState) => {\n const updatedTimes = (prevState ?? []).map((time) => {\n if (time.id === newTime.id) {\n return newTime;\n }\n return time;\n });\n\n if (typeof onChange === 'function') {\n onChange(newTime);\n }\n\n return updatedTimes;\n });\n },\n [onChange],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!newTimes) {\n return items;\n }\n\n newTimes.forEach(({ end, start, id: timeId }, index) => {\n if (!editMode) {\n const text = isDisabled ? closedText : `${start} - ${end}`;\n\n items.push(\n <StyledOpeningInputPreview key={`opening-times-preview__${id}.${timeId}`}>\n {`${text}${currentDayId && newTimes.length > 1 && index === 0 ? ', ' : ''}`}\n </StyledOpeningInputPreview>,\n );\n\n return;\n }\n\n if (index > 1) {\n return;\n }\n\n let buttonType = OpeningTimesButtonType.NONE;\n\n if (index === 0 && times.length === 1 && !isDisabled) {\n buttonType = OpeningTimesButtonType.ADD;\n } else if (index === 1 && !isDisabled) {\n buttonType = OpeningTimesButtonType.REMOVE;\n }\n\n items.push(\n <OpeningInput\n key={`opening-times-input__${id}.${timeId}`}\n start={start}\n id={timeId}\n end={end}\n isDisabled={isDisabled}\n isInvalid={invalidTimes.includes(timeId)}\n buttonType={buttonType}\n onAdd={handleAdd}\n onChange={(time) => handleChange(time)}\n onRemove={() => handleRemove(timeId)}\n />,\n );\n });\n\n return items;\n }, [\n closedText,\n currentDayId,\n editMode,\n handleAdd,\n handleChange,\n handleRemove,\n id,\n invalidTimes,\n isDisabled,\n newTimes,\n times.length,\n ]);\n\n const gap = useMemo(() => {\n if ((newTimes && newTimes.length > 1 && editMode) || (!editMode && currentDayId)) {\n return '8px';\n }\n\n return 0;\n }, [currentDayId, editMode, newTimes]);\n\n return useMemo(\n () => (\n <StyledOpeningInputs\n $editMode={!currentDayId}\n key={`opening-inputs__${id}`}\n animate={{ gap }}\n initial={{ gap: 0 }}\n >\n <AnimatePresence initial={false}>{content}</AnimatePresence>\n </StyledOpeningInputs>\n ),\n [content, currentDayId, gap, id],\n );\n};\n\nOpeningInputs.displayName = 'OpeningInputs';\n\nexport default OpeningInputs;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpeningInputs.js","names":["_react","require","_react2","_interopRequireWildcard","_uuid","_openingTimes","_OpeningInput","_interopRequireDefault","_OpeningInputs","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OpeningInputs","times","isDisabled","onRemove","onAdd","onInvalid","id","onChange","currentDayId","editMode","closedText","newTimes","setNewTimes","useState","invalidTimes","setInvalidTimes","useEffect","handleAdd","useCallback","defaultTime","start","end","uuidV4","prevState","handleRemove","timeId","filter","time","result","length","currentTime","prevTime","currStart","Date","currEnd","push","prevEnd","invalidTimeIds","map","invalidId","handleChange","newTime","updatedTimes","content","useMemo","items","forEach","index","text","createElement","StyledOpeningInputPreview","key","buttonType","OpeningTimesButtonType","NONE","ADD","REMOVE","isInvalid","includes","gap","StyledOpeningInputs","$editMode","animate","initial","AnimatePresence","displayName","_default","exports"],"sources":["../../../../../src/components/opening-times/opening-inputs/OpeningInputs.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport React, { FC, useCallback, useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { v4 as uuidV4 } from 'uuid';\nimport { OpeningTimesButtonType, type OpeningTime, type Time } from '../../../types/openingTimes';\nimport OpeningInput from './opening-input/OpeningInput';\nimport { StyledOpeningInputPreview, StyledOpeningInputs } from './OpeningInputs.styles';\n\nexport type OpeningInputsProps = {\n /**\n * Array of opening times\n */\n times: Time[];\n /**\n * If the inputs are disabled\n */\n isDisabled?: boolean;\n /**\n * Function that is called when a time is changed\n */\n onChange?: (time: Time) => void;\n /**\n * Function that is called when a new time is added\n */\n onAdd?: (time: Time, id: string) => void;\n /**\n * Function that is called when a time is removed\n */\n onRemove?: (id: Time['id']) => void;\n /**\n * Function that is called when the times are invalid\n */\n onInvalid?: (openingTimeId: string, timeIds: string[]) => void;\n /**\n * The id of the opening time\n */\n id: string;\n /**\n * The id of the current day\n */\n currentDayId?: OpeningTime['id'];\n /**\n * If the edit mode is enabled\n */\n editMode?: boolean;\n /**\n * The text to show when the inputs are disabled\n */\n closedText?: string;\n};\n\nconst OpeningInputs: FC<OpeningInputsProps> = ({\n times,\n isDisabled,\n onRemove,\n onAdd,\n onInvalid,\n id,\n onChange,\n currentDayId,\n editMode = false,\n closedText = '',\n}) => {\n const [newTimes, setNewTimes] = useState<Time[]>();\n const [invalidTimes, setInvalidTimes] = useState<string[]>([]);\n\n useEffect(() => {\n setNewTimes(times);\n }, [times]);\n\n const handleAdd = useCallback(() => {\n const defaultTime: Time = { start: '08:00', end: '18:00', id: uuidV4() };\n\n setNewTimes((prevState) => (prevState ? [...prevState, defaultTime] : [defaultTime]));\n\n if (typeof onAdd === 'function') {\n onAdd(defaultTime, id);\n }\n }, [id, onAdd]);\n\n const handleRemove = useCallback(\n (timeId: string) => {\n setNewTimes((prevState) => (prevState ?? []).filter((time) => time.id !== timeId));\n\n if (typeof onRemove === 'function') {\n onRemove(timeId);\n }\n },\n [onRemove],\n );\n\n useEffect(() => {\n const result: Time[] = [];\n\n for (let i = 0; i < times.length; i++) {\n const currentTime = times[i];\n const prevTime = times[i - 1];\n\n if (currentTime) {\n const currStart = new Date(`2000-01-01T${currentTime.start}`);\n const currEnd = new Date(`2000-01-01T${currentTime.end}`);\n\n if (currStart >= currEnd) {\n result.push(currentTime);\n }\n\n if (prevTime) {\n const prevEnd = new Date(`2000-01-01T${prevTime.end}`);\n\n if (prevEnd > currStart) {\n result.push(prevTime, currentTime);\n }\n }\n }\n }\n\n const invalidTimeIds = result.map(({ id: invalidId }) => invalidId);\n\n setInvalidTimes(invalidTimeIds);\n\n if (typeof onInvalid === 'function') {\n onInvalid(id, invalidTimeIds);\n }\n }, [id, onInvalid, times]);\n\n const handleChange = useCallback(\n (newTime: Time) => {\n setNewTimes((prevState) => {\n const updatedTimes = (prevState ?? []).map((time) => {\n if (time.id === newTime.id) {\n return newTime;\n }\n return time;\n });\n\n if (typeof onChange === 'function') {\n onChange(newTime);\n }\n\n return updatedTimes;\n });\n },\n [onChange],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!newTimes) {\n return items;\n }\n\n newTimes.forEach(({ end, start, id: timeId }, index) => {\n if (!editMode) {\n const text = isDisabled ? closedText : `${start} - ${end}`;\n\n items.push(\n <StyledOpeningInputPreview key={`opening-times-preview__${id}.${timeId}`}>\n {`${text}${currentDayId && newTimes.length > 1 && index === 0 ? ', ' : ''}`}\n </StyledOpeningInputPreview>,\n );\n\n return;\n }\n\n if (index > 1) {\n return;\n }\n\n let buttonType = OpeningTimesButtonType.NONE;\n\n if (index === 0 && times.length === 1 && !isDisabled) {\n buttonType = OpeningTimesButtonType.ADD;\n } else if (index === 1 && !isDisabled) {\n buttonType = OpeningTimesButtonType.REMOVE;\n }\n\n items.push(\n <OpeningInput\n key={`opening-times-input__${id}.${timeId}`}\n start={start}\n id={timeId}\n end={end}\n isDisabled={isDisabled}\n isInvalid={invalidTimes.includes(timeId)}\n buttonType={buttonType}\n onAdd={handleAdd}\n onChange={(time) => handleChange(time)}\n onRemove={() => handleRemove(timeId)}\n />,\n );\n });\n\n return items;\n }, [\n closedText,\n currentDayId,\n editMode,\n handleAdd,\n handleChange,\n handleRemove,\n id,\n invalidTimes,\n isDisabled,\n newTimes,\n times.length,\n ]);\n\n const gap = useMemo(() => {\n if ((newTimes && newTimes.length > 1 && editMode) || (!editMode && currentDayId)) {\n return '8px';\n }\n\n return 0;\n }, [currentDayId, editMode, newTimes]);\n\n return useMemo(\n () => (\n <StyledOpeningInputs\n $editMode={!currentDayId}\n key={`opening-inputs__${id}`}\n animate={{ gap }}\n initial={{ gap: 0 }}\n >\n <AnimatePresence initial={false}>{content}</AnimatePresence>\n </StyledOpeningInputs>\n ),\n [content, currentDayId, gap, id],\n );\n};\n\nOpeningInputs.displayName = 'OpeningInputs';\n\nexport default OpeningInputs;\n"],"mappings":"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","ignoreList":[]}
@@ -4,11 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.StyledOpeningInputs = exports.StyledOpeningInputPreview = void 0;
7
- var _framerMotion = require("framer-motion");
7
+ var _react = require("motion/react");
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
- const StyledOpeningInputs = exports.StyledOpeningInputs = (0, _styledComponents.default)(_framerMotion.motion.div)`
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
+ const StyledOpeningInputs = exports.StyledOpeningInputs = (0, _styledComponents.default)(_react.motion.div)`
12
11
  display: flex;
13
12
  ${({
14
13
  $editMode
@@ -1 +1 @@
1
- {"version":3,"file":"OpeningInputs.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledOpeningInputs","exports","styled","motion","div","$editMode","css","StyledOpeningInputPreview","theme","text"],"sources":["../../../../../src/components/opening-times/opening-inputs/OpeningInputs.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\ntype StyledOpeningInputsProps = WithTheme<{ $editMode: boolean }>;\n\nexport const StyledOpeningInputs = styled(motion.div)<StyledOpeningInputsProps>`\n display: flex;\n ${({ $editMode }) =>\n $editMode &&\n css`\n flex-direction: column;\n `}\n`;\n\ntype StyledOpeningInputPreviewProps = WithTheme<unknown>;\n\nexport const StyledOpeningInputPreview = styled.div<StyledOpeningInputPreviewProps>`\n color: ${({ theme }: StyledOpeningInputPreviewProps) => theme.text};\n`;\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAgD,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAIzC,MAAMW,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,IAAAE,yBAAM,EAACC,oBAAM,CAACC,GAAG,CAA2B;AAC/E;AACA,MAAM,CAAC;EAAEC;AAAU,CAAC,KACZA,SAAS,IACT,IAAAC,qBAAG;AACX;AACA,SAAS;AACT,CAAC;AAIM,MAAMC,yBAAyB,GAAAN,OAAA,CAAAM,yBAAA,GAAGL,yBAAM,CAACE,GAAmC;AACnF,aAAa,CAAC;EAAEI;AAAsC,CAAC,KAAKA,KAAK,CAACC,IAAI;AACtE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"OpeningInputs.styles.js","names":["_react","require","_styledComponents","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledOpeningInputs","exports","styled","motion","div","$editMode","css","StyledOpeningInputPreview","theme","text"],"sources":["../../../../../src/components/opening-times/opening-inputs/OpeningInputs.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\n\ntype StyledOpeningInputsProps = WithTheme<{ $editMode: boolean }>;\n\nexport const StyledOpeningInputs = styled(motion.div)<StyledOpeningInputsProps>`\n display: flex;\n ${({ $editMode }) =>\n $editMode &&\n css`\n flex-direction: column;\n `}\n`;\n\ntype StyledOpeningInputPreviewProps = WithTheme<unknown>;\n\nexport const StyledOpeningInputPreview = styled.div<StyledOpeningInputPreviewProps>`\n color: ${({ theme }: StyledOpeningInputPreviewProps) => theme.text};\n`;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAgD,SAAAE,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAIzC,MAAMkB,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,IAAAE,yBAAM,EAACC,aAAM,CAACC,GAAG,CAA2B;AAC/E;AACA,MAAM,CAAC;EAAEC;AAAU,CAAC,KACZA,SAAS,IACT,IAAAC,qBAAG;AACX;AACA,SAAS;AACT,CAAC;AAIM,MAAMC,yBAAyB,GAAAN,OAAA,CAAAM,yBAAA,GAAGL,yBAAM,CAACE,GAAmC;AACnF,aAAa,CAAC;EAAEI;AAAsC,CAAC,KAAKA,KAAK,CAACC,IAAI;AACtE,CAAC","ignoreList":[]}
@@ -8,8 +8,7 @@ var _core = require("@chayns-components/core");
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _openingTimes = require("../../../../types/openingTimes");
10
10
  var _OpeningInput = require("./OpeningInput.styles");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  const OpeningInput = ({
14
13
  end,
15
14
  start,
@@ -1 +1 @@
1
- {"version":3,"file":"OpeningInput.js","names":["_core","require","_react","_interopRequireWildcard","_openingTimes","_OpeningInput","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OpeningInput","end","start","isDisabled","isInvalid","buttonType","onRemove","onAdd","onChange","id","startTime","setStartTime","useState","endTime","setEndTime","button","useMemo","OpeningTimesButtonType","ADD","createElement","StyledOpeningInputButtonWrapper","onClick","Icon","icons","size","REMOVE","StyledOpeningInputPseudoButton","handleStartTimeBlur","useCallback","value","isTimeInvalid","handleEndTimeBlur","StyledOpeningInput","key","animate","opacity","height","initial","exit","transition","duration","type","StyledOpeningInputWrapper","NumberInput","shouldShowOnlyBottomBorder","isTimeInput","onBlur","StyledOpeningInputText","$isDisabled","displayName","_default","exports"],"sources":["../../../../../../src/components/opening-times/opening-inputs/opening-input/OpeningInput.tsx"],"sourcesContent":["import { Icon, NumberInput } from '@chayns-components/core';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { OpeningTimesButtonType, type Time } from '../../../../types/openingTimes';\nimport {\n StyledOpeningInput,\n StyledOpeningInputButtonWrapper,\n StyledOpeningInputPseudoButton,\n StyledOpeningInputText,\n StyledOpeningInputWrapper,\n} from './OpeningInput.styles';\n\nexport type OpeningInputProps = {\n start: Time['start'];\n end: Time['end'];\n isDisabled?: boolean;\n isInvalid?: boolean;\n id: string;\n buttonType: OpeningTimesButtonType;\n onAdd: () => void;\n onRemove: () => void;\n onChange: (time: Time) => void;\n};\n\nconst OpeningInput: FC<OpeningInputProps> = ({\n end,\n start,\n isDisabled,\n isInvalid,\n buttonType,\n onRemove,\n onAdd,\n onChange,\n id,\n}) => {\n const [startTime, setStartTime] = useState(start);\n const [endTime, setEndTime] = useState(end);\n\n const button = useMemo(() => {\n switch (buttonType) {\n case OpeningTimesButtonType.ADD:\n return (\n <StyledOpeningInputButtonWrapper onClick={onAdd}>\n <Icon icons={['ts-plus']} size={15} />\n </StyledOpeningInputButtonWrapper>\n );\n case OpeningTimesButtonType.REMOVE:\n return (\n <StyledOpeningInputButtonWrapper onClick={onRemove}>\n <Icon icons={['ts-wrong']} size={15} />\n </StyledOpeningInputButtonWrapper>\n );\n default:\n return <StyledOpeningInputPseudoButton />;\n }\n }, [buttonType, onAdd, onRemove]);\n\n const handleStartTimeBlur = useCallback(\n (value: string | number | null, isTimeInvalid: boolean) => {\n if (isTimeInvalid || typeof value === 'number' || !value) {\n return;\n }\n\n setStartTime(value);\n\n onChange({ end: endTime, start: value, id });\n },\n [endTime, id, onChange],\n );\n\n const handleEndTimeBlur = useCallback(\n (value: string | number | null, isTimeInvalid: boolean) => {\n if (isTimeInvalid || typeof value === 'number' || !value) {\n return;\n }\n\n setEndTime(value);\n\n onChange({ end: value, start: startTime, id });\n },\n [id, onChange, startTime],\n );\n\n return useMemo(\n () => (\n <StyledOpeningInput\n key={id}\n animate={{ opacity: 1, height: 'auto' }}\n initial={{ opacity: 0, height: 0 }}\n exit={{ opacity: 0, height: 0 }}\n transition={{ duration: 0.2, type: 'tween' }}\n >\n <StyledOpeningInputWrapper>\n <NumberInput\n shouldShowOnlyBottomBorder\n isTimeInput\n isInvalid={isInvalid}\n value={startTime}\n onBlur={handleStartTimeBlur}\n isDisabled={isDisabled}\n />\n </StyledOpeningInputWrapper>\n <StyledOpeningInputText $isDisabled={isDisabled}>-</StyledOpeningInputText>\n <StyledOpeningInputWrapper>\n <NumberInput\n shouldShowOnlyBottomBorder\n isTimeInput\n isInvalid={isInvalid}\n value={endTime}\n onBlur={handleEndTimeBlur}\n isDisabled={isDisabled}\n />\n </StyledOpeningInputWrapper>\n {button}\n </StyledOpeningInput>\n ),\n [\n button,\n endTime,\n handleEndTimeBlur,\n handleStartTimeBlur,\n id,\n isDisabled,\n isInvalid,\n startTime,\n ],\n );\n};\n\nOpeningInput.displayName = 'OpeningInput';\n\nexport default OpeningInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpeningInput.js","names":["_core","require","_react","_interopRequireWildcard","_openingTimes","_OpeningInput","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OpeningInput","end","start","isDisabled","isInvalid","buttonType","onRemove","onAdd","onChange","id","startTime","setStartTime","useState","endTime","setEndTime","button","useMemo","OpeningTimesButtonType","ADD","createElement","StyledOpeningInputButtonWrapper","onClick","Icon","icons","size","REMOVE","StyledOpeningInputPseudoButton","handleStartTimeBlur","useCallback","value","isTimeInvalid","handleEndTimeBlur","StyledOpeningInput","key","animate","opacity","height","initial","exit","transition","duration","type","StyledOpeningInputWrapper","NumberInput","shouldShowOnlyBottomBorder","isTimeInput","onBlur","StyledOpeningInputText","$isDisabled","displayName","_default","exports"],"sources":["../../../../../../src/components/opening-times/opening-inputs/opening-input/OpeningInput.tsx"],"sourcesContent":["import { Icon, NumberInput } from '@chayns-components/core';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { OpeningTimesButtonType, type Time } from '../../../../types/openingTimes';\nimport {\n StyledOpeningInput,\n StyledOpeningInputButtonWrapper,\n StyledOpeningInputPseudoButton,\n StyledOpeningInputText,\n StyledOpeningInputWrapper,\n} from './OpeningInput.styles';\n\nexport type OpeningInputProps = {\n start: Time['start'];\n end: Time['end'];\n isDisabled?: boolean;\n isInvalid?: boolean;\n id: string;\n buttonType: OpeningTimesButtonType;\n onAdd: () => void;\n onRemove: () => void;\n onChange: (time: Time) => void;\n};\n\nconst OpeningInput: FC<OpeningInputProps> = ({\n end,\n start,\n isDisabled,\n isInvalid,\n buttonType,\n onRemove,\n onAdd,\n onChange,\n id,\n}) => {\n const [startTime, setStartTime] = useState(start);\n const [endTime, setEndTime] = useState(end);\n\n const button = useMemo(() => {\n switch (buttonType) {\n case OpeningTimesButtonType.ADD:\n return (\n <StyledOpeningInputButtonWrapper onClick={onAdd}>\n <Icon icons={['ts-plus']} size={15} />\n </StyledOpeningInputButtonWrapper>\n );\n case OpeningTimesButtonType.REMOVE:\n return (\n <StyledOpeningInputButtonWrapper onClick={onRemove}>\n <Icon icons={['ts-wrong']} size={15} />\n </StyledOpeningInputButtonWrapper>\n );\n default:\n return <StyledOpeningInputPseudoButton />;\n }\n }, [buttonType, onAdd, onRemove]);\n\n const handleStartTimeBlur = useCallback(\n (value: string | number | null, isTimeInvalid: boolean) => {\n if (isTimeInvalid || typeof value === 'number' || !value) {\n return;\n }\n\n setStartTime(value);\n\n onChange({ end: endTime, start: value, id });\n },\n [endTime, id, onChange],\n );\n\n const handleEndTimeBlur = useCallback(\n (value: string | number | null, isTimeInvalid: boolean) => {\n if (isTimeInvalid || typeof value === 'number' || !value) {\n return;\n }\n\n setEndTime(value);\n\n onChange({ end: value, start: startTime, id });\n },\n [id, onChange, startTime],\n );\n\n return useMemo(\n () => (\n <StyledOpeningInput\n key={id}\n animate={{ opacity: 1, height: 'auto' }}\n initial={{ opacity: 0, height: 0 }}\n exit={{ opacity: 0, height: 0 }}\n transition={{ duration: 0.2, type: 'tween' }}\n >\n <StyledOpeningInputWrapper>\n <NumberInput\n shouldShowOnlyBottomBorder\n isTimeInput\n isInvalid={isInvalid}\n value={startTime}\n onBlur={handleStartTimeBlur}\n isDisabled={isDisabled}\n />\n </StyledOpeningInputWrapper>\n <StyledOpeningInputText $isDisabled={isDisabled}>-</StyledOpeningInputText>\n <StyledOpeningInputWrapper>\n <NumberInput\n shouldShowOnlyBottomBorder\n isTimeInput\n isInvalid={isInvalid}\n value={endTime}\n onBlur={handleEndTimeBlur}\n isDisabled={isDisabled}\n />\n </StyledOpeningInputWrapper>\n {button}\n </StyledOpeningInput>\n ),\n [\n button,\n endTime,\n handleEndTimeBlur,\n handleStartTimeBlur,\n id,\n isDisabled,\n isInvalid,\n startTime,\n ],\n );\n};\n\nOpeningInput.displayName = 'OpeningInput';\n\nexport default OpeningInput;\n"],"mappings":"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","ignoreList":[]}
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.StyledOpeningInputWrapper = exports.StyledOpeningInputText = exports.StyledOpeningInputPseudoButton = exports.StyledOpeningInputButtonWrapper = exports.StyledOpeningInput = void 0;
7
- var _framerMotion = require("framer-motion");
7
+ var _react = require("motion/react");
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- const StyledOpeningInput = exports.StyledOpeningInput = (0, _styledComponents.default)(_framerMotion.motion.div)`
10
+ const StyledOpeningInput = exports.StyledOpeningInput = (0, _styledComponents.default)(_react.motion.div)`
11
11
  display: flex;
12
12
  align-items: center;
13
13
  gap: 6px;
@@ -1 +1 @@
1
- {"version":3,"file":"OpeningInput.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireDefault","e","__esModule","default","StyledOpeningInput","exports","styled","motion","div","StyledOpeningInputWrapper","StyledOpeningInputText","$isDisabled","StyledOpeningInputButtonWrapper","theme","StyledOpeningInputPseudoButton"],"sources":["../../../../../../src/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled from 'styled-components';\n\nexport const StyledOpeningInput = styled(motion.div)`\n display: flex;\n align-items: center;\n gap: 6px;\n overflow: hidden;\n`;\n\nexport const StyledOpeningInputWrapper = styled.div`\n width: 60px;\n`;\n\ntype StyledOpeningInputTextProps = WithTheme<{ $isDisabled?: boolean }>;\n\nexport const StyledOpeningInputText = styled.div<StyledOpeningInputTextProps>`\n opacity: ${({ $isDisabled }) => ($isDisabled ? 0.5 : 1)};\n`;\n\ntype StyledOpeningInputButtonWrapperProps = WithTheme<unknown>;\n\nexport const StyledOpeningInputButtonWrapper = styled.div`\n width: 20px;\n height: 20px;\n background-color: ${({ theme }: StyledOpeningInputButtonWrapperProps) => theme['202']};\n border-radius: 3px;\n box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2);\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const StyledOpeningInputPseudoButton = styled.div`\n width: 20px;\n`;\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,IAAAE,yBAAM,EAACC,oBAAM,CAACC,GAAG,CAAC;AACpD;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,yBAAyB,GAAAJ,OAAA,CAAAI,yBAAA,GAAGH,yBAAM,CAACE,GAAG;AACnD;AACA,CAAC;AAIM,MAAME,sBAAsB,GAAAL,OAAA,CAAAK,sBAAA,GAAGJ,yBAAM,CAACE,GAAgC;AAC7E,eAAe,CAAC;EAAEG;AAAY,CAAC,KAAMA,WAAW,GAAG,GAAG,GAAG,CAAE;AAC3D,CAAC;AAIM,MAAMC,+BAA+B,GAAAP,OAAA,CAAAO,+BAAA,GAAGN,yBAAM,CAACE,GAAG;AACzD;AACA;AACA,wBAAwB,CAAC;EAAEK;AAA4C,CAAC,KAAKA,KAAK,CAAC,KAAK,CAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,8BAA8B,GAAAT,OAAA,CAAAS,8BAAA,GAAGR,yBAAM,CAACE,GAAG;AACxD;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"OpeningInput.styles.js","names":["_react","require","_styledComponents","_interopRequireDefault","e","__esModule","default","StyledOpeningInput","exports","styled","motion","div","StyledOpeningInputWrapper","StyledOpeningInputText","$isDisabled","StyledOpeningInputButtonWrapper","theme","StyledOpeningInputPseudoButton"],"sources":["../../../../../../src/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport { motion } from 'motion/react';\nimport styled from 'styled-components';\n\nexport const StyledOpeningInput = styled(motion.div)`\n display: flex;\n align-items: center;\n gap: 6px;\n overflow: hidden;\n`;\n\nexport const StyledOpeningInputWrapper = styled.div`\n width: 60px;\n`;\n\ntype StyledOpeningInputTextProps = WithTheme<{ $isDisabled?: boolean }>;\n\nexport const StyledOpeningInputText = styled.div<StyledOpeningInputTextProps>`\n opacity: ${({ $isDisabled }) => ($isDisabled ? 0.5 : 1)};\n`;\n\ntype StyledOpeningInputButtonWrapperProps = WithTheme<unknown>;\n\nexport const StyledOpeningInputButtonWrapper = styled.div`\n width: 20px;\n height: 20px;\n background-color: ${({ theme }: StyledOpeningInputButtonWrapperProps) => theme['202']};\n border-radius: 3px;\n box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2);\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const StyledOpeningInputPseudoButton = styled.div`\n width: 20px;\n`;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,IAAAE,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAC;AACpD;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,yBAAyB,GAAAJ,OAAA,CAAAI,yBAAA,GAAGH,yBAAM,CAACE,GAAG;AACnD;AACA,CAAC;AAIM,MAAME,sBAAsB,GAAAL,OAAA,CAAAK,sBAAA,GAAGJ,yBAAM,CAACE,GAAgC;AAC7E,eAAe,CAAC;EAAEG;AAAY,CAAC,KAAMA,WAAW,GAAG,GAAG,GAAG,CAAE;AAC3D,CAAC;AAIM,MAAMC,+BAA+B,GAAAP,OAAA,CAAAO,+BAAA,GAAGN,yBAAM,CAACE,GAAG;AACzD;AACA;AACA,wBAAwB,CAAC;EAAEK;AAA4C,CAAC,KAAKA,KAAK,CAAC,KAAK,CAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,8BAA8B,GAAAT,OAAA,CAAAS,8BAAA,GAAGR,yBAAM,CAACE,GAAG;AACxD;AACA,CAAC","ignoreList":[]}
@@ -14,6 +14,7 @@ const useDateInfo = ({
14
14
  shouldShowDayOfWeek,
15
15
  shouldShowTime,
16
16
  shouldUseShortText,
17
+ shouldShowOnlyTime,
17
18
  shouldShowYear,
18
19
  preText
19
20
  }) => {
@@ -29,12 +30,13 @@ const useDateInfo = ({
29
30
  setFormattedDate((0, _dateInfo.getDateInfo)({
30
31
  date,
31
32
  shouldShowYear,
33
+ shouldShowOnlyTime,
32
34
  shouldShowTime,
33
35
  shouldUseShortText,
34
36
  shouldShowDayOfWeek,
35
37
  shouldShowRelativeDayOfWeek
36
38
  }));
37
- }, [date, shouldShowDateToNowDifference, shouldShowDayOfWeek, shouldShowRelativeDayOfWeek, shouldShowTime, shouldShowYear, shouldUseShortText]);
39
+ }, [date, shouldShowDateToNowDifference, shouldShowDayOfWeek, shouldShowOnlyTime, shouldShowRelativeDayOfWeek, shouldShowTime, shouldShowYear, shouldUseShortText]);
38
40
  (0, _react.useEffect)(() => {
39
41
  if (!shouldShowDateToNowDifference) return () => {};
40
42
  const updateCurrentDate = () => setCurrentDate(new Date());
@@ -1 +1 @@
1
- {"version":3,"file":"useDateInfo.js","names":["_chaynsApi","require","_react","_dateInfo","useDateInfo","date","shouldShowDateToNowDifference","shouldShowRelativeDayOfWeek","shouldShowDayOfWeek","shouldShowTime","shouldUseShortText","shouldShowYear","preText","active","language","getLanguage","formattedDate","setFormattedDate","useState","toLocaleDateString","currentDate","setCurrentDate","Date","useEffect","getDateInfo","updateCurrentDate","now","timeDiffInMs","Math","abs","getTime","updateInterval","getSeconds","intervalId","setInterval","timeout","setTimeout","clearTimeout","clearInterval","getTimeTillNow","useMemo","trim","exports"],"sources":["../../../src/hooks/useDateInfo.ts"],"sourcesContent":["import { getLanguage } from 'chayns-api';\nimport { useEffect, useMemo, useState } from 'react';\nimport { UseDateInfoOptions } from '../types/dateinfo';\nimport { getDateInfo, getTimeTillNow } from '../utils/dateInfo';\n\nexport const useDateInfo = ({\n date,\n shouldShowDateToNowDifference,\n shouldShowRelativeDayOfWeek,\n shouldShowDayOfWeek,\n shouldShowTime,\n shouldUseShortText,\n shouldShowYear,\n preText,\n}: UseDateInfoOptions) => {\n const { active: language } = getLanguage();\n\n const [formattedDate, setFormattedDate] = useState(date.toLocaleDateString());\n const [currentDate, setCurrentDate] = useState(new Date());\n\n useEffect(() => {\n if (shouldShowDateToNowDifference) {\n return;\n }\n\n setFormattedDate(\n getDateInfo({\n date,\n shouldShowYear,\n shouldShowTime,\n shouldUseShortText,\n shouldShowDayOfWeek,\n shouldShowRelativeDayOfWeek,\n }),\n );\n }, [\n date,\n shouldShowDateToNowDifference,\n shouldShowDayOfWeek,\n shouldShowRelativeDayOfWeek,\n shouldShowTime,\n shouldShowYear,\n shouldUseShortText,\n ]);\n\n useEffect(() => {\n if (!shouldShowDateToNowDifference) return () => {};\n\n const updateCurrentDate = () => setCurrentDate(new Date());\n const now = new Date();\n const timeDiffInMs = Math.abs(date.getTime() - now.getTime());\n\n const updateInterval = timeDiffInMs < 60000 ? 1000 : 60000 - now.getSeconds() * 1000;\n\n const intervalId = setInterval(updateCurrentDate, 1000);\n const timeout = setTimeout(updateCurrentDate, updateInterval);\n\n return () => {\n clearTimeout(timeout);\n clearInterval(intervalId);\n };\n }, [date, shouldShowDateToNowDifference]);\n\n useEffect(() => {\n if (shouldShowDateToNowDifference) {\n setFormattedDate(getTimeTillNow({ date, currentDate, language }));\n }\n }, [date, currentDate, language, shouldShowDateToNowDifference]);\n\n return useMemo(\n () => `${preText ? `${preText.trim()} ` : ''}${formattedDate}`,\n [formattedDate, preText],\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAEO,MAAMG,WAAW,GAAGA,CAAC;EACxBC,IAAI;EACJC,6BAA6B;EAC7BC,2BAA2B;EAC3BC,mBAAmB;EACnBC,cAAc;EACdC,kBAAkB;EAClBC,cAAc;EACdC;AACgB,CAAC,KAAK;EACtB,MAAM;IAAEC,MAAM,EAAEC;EAAS,CAAC,GAAG,IAAAC,sBAAW,EAAC,CAAC;EAE1C,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAACb,IAAI,CAACc,kBAAkB,CAAC,CAAC,CAAC;EAC7E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAH,eAAQ,EAAC,IAAII,IAAI,CAAC,CAAC,CAAC;EAE1D,IAAAC,gBAAS,EAAC,MAAM;IACZ,IAAIjB,6BAA6B,EAAE;MAC/B;IACJ;IAEAW,gBAAgB,CACZ,IAAAO,qBAAW,EAAC;MACRnB,IAAI;MACJM,cAAc;MACdF,cAAc;MACdC,kBAAkB;MAClBF,mBAAmB;MACnBD;IACJ,CAAC,CACL,CAAC;EACL,CAAC,EAAE,CACCF,IAAI,EACJC,6BAA6B,EAC7BE,mBAAmB,EACnBD,2BAA2B,EAC3BE,cAAc,EACdE,cAAc,EACdD,kBAAkB,CACrB,CAAC;EAEF,IAAAa,gBAAS,EAAC,MAAM;IACZ,IAAI,CAACjB,6BAA6B,EAAE,OAAO,MAAM,CAAC,CAAC;IAEnD,MAAMmB,iBAAiB,GAAGA,CAAA,KAAMJ,cAAc,CAAC,IAAIC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAMI,GAAG,GAAG,IAAIJ,IAAI,CAAC,CAAC;IACtB,MAAMK,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACxB,IAAI,CAACyB,OAAO,CAAC,CAAC,GAAGJ,GAAG,CAACI,OAAO,CAAC,CAAC,CAAC;IAE7D,MAAMC,cAAc,GAAGJ,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAGD,GAAG,CAACM,UAAU,CAAC,CAAC,GAAG,IAAI;IAEpF,MAAMC,UAAU,GAAGC,WAAW,CAACT,iBAAiB,EAAE,IAAI,CAAC;IACvD,MAAMU,OAAO,GAAGC,UAAU,CAACX,iBAAiB,EAAEM,cAAc,CAAC;IAE7D,OAAO,MAAM;MACTM,YAAY,CAACF,OAAO,CAAC;MACrBG,aAAa,CAACL,UAAU,CAAC;IAC7B,CAAC;EACL,CAAC,EAAE,CAAC5B,IAAI,EAAEC,6BAA6B,CAAC,CAAC;EAEzC,IAAAiB,gBAAS,EAAC,MAAM;IACZ,IAAIjB,6BAA6B,EAAE;MAC/BW,gBAAgB,CAAC,IAAAsB,wBAAc,EAAC;QAAElC,IAAI;QAAEe,WAAW;QAAEN;MAAS,CAAC,CAAC,CAAC;IACrE;EACJ,CAAC,EAAE,CAACT,IAAI,EAAEe,WAAW,EAAEN,QAAQ,EAAER,6BAA6B,CAAC,CAAC;EAEhE,OAAO,IAAAkC,cAAO,EACV,MAAM,GAAG5B,OAAO,GAAG,GAAGA,OAAO,CAAC6B,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAGzB,aAAa,EAAE,EAC9D,CAACA,aAAa,EAAEJ,OAAO,CAC3B,CAAC;AACL,CAAC;AAAC8B,OAAA,CAAAtC,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"useDateInfo.js","names":["_chaynsApi","require","_react","_dateInfo","useDateInfo","date","shouldShowDateToNowDifference","shouldShowRelativeDayOfWeek","shouldShowDayOfWeek","shouldShowTime","shouldUseShortText","shouldShowOnlyTime","shouldShowYear","preText","active","language","getLanguage","formattedDate","setFormattedDate","useState","toLocaleDateString","currentDate","setCurrentDate","Date","useEffect","getDateInfo","updateCurrentDate","now","timeDiffInMs","Math","abs","getTime","updateInterval","getSeconds","intervalId","setInterval","timeout","setTimeout","clearTimeout","clearInterval","getTimeTillNow","useMemo","trim","exports"],"sources":["../../../src/hooks/useDateInfo.ts"],"sourcesContent":["import { getLanguage } from 'chayns-api';\nimport { useEffect, useMemo, useState } from 'react';\nimport { UseDateInfoOptions } from '../types/dateinfo';\nimport { getDateInfo, getTimeTillNow } from '../utils/dateInfo';\n\nexport const useDateInfo = ({\n date,\n shouldShowDateToNowDifference,\n shouldShowRelativeDayOfWeek,\n shouldShowDayOfWeek,\n shouldShowTime,\n shouldUseShortText,\n shouldShowOnlyTime,\n shouldShowYear,\n preText,\n}: UseDateInfoOptions) => {\n const { active: language } = getLanguage();\n\n const [formattedDate, setFormattedDate] = useState(date.toLocaleDateString());\n const [currentDate, setCurrentDate] = useState(new Date());\n\n useEffect(() => {\n if (shouldShowDateToNowDifference) {\n return;\n }\n\n setFormattedDate(\n getDateInfo({\n date,\n shouldShowYear,\n shouldShowOnlyTime,\n shouldShowTime,\n shouldUseShortText,\n shouldShowDayOfWeek,\n shouldShowRelativeDayOfWeek,\n }),\n );\n }, [\n date,\n shouldShowDateToNowDifference,\n shouldShowDayOfWeek,\n shouldShowOnlyTime,\n shouldShowRelativeDayOfWeek,\n shouldShowTime,\n shouldShowYear,\n shouldUseShortText,\n ]);\n\n useEffect(() => {\n if (!shouldShowDateToNowDifference) return () => {};\n\n const updateCurrentDate = () => setCurrentDate(new Date());\n const now = new Date();\n const timeDiffInMs = Math.abs(date.getTime() - now.getTime());\n\n const updateInterval = timeDiffInMs < 60000 ? 1000 : 60000 - now.getSeconds() * 1000;\n\n const intervalId = setInterval(updateCurrentDate, 1000);\n const timeout = setTimeout(updateCurrentDate, updateInterval);\n\n return () => {\n clearTimeout(timeout);\n clearInterval(intervalId);\n };\n }, [date, shouldShowDateToNowDifference]);\n\n useEffect(() => {\n if (shouldShowDateToNowDifference) {\n setFormattedDate(getTimeTillNow({ date, currentDate, language }));\n }\n }, [date, currentDate, language, shouldShowDateToNowDifference]);\n\n return useMemo(\n () => `${preText ? `${preText.trim()} ` : ''}${formattedDate}`,\n [formattedDate, preText],\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAEO,MAAMG,WAAW,GAAGA,CAAC;EACxBC,IAAI;EACJC,6BAA6B;EAC7BC,2BAA2B;EAC3BC,mBAAmB;EACnBC,cAAc;EACdC,kBAAkB;EAClBC,kBAAkB;EAClBC,cAAc;EACdC;AACgB,CAAC,KAAK;EACtB,MAAM;IAAEC,MAAM,EAAEC;EAAS,CAAC,GAAG,IAAAC,sBAAW,EAAC,CAAC;EAE1C,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAACd,IAAI,CAACe,kBAAkB,CAAC,CAAC,CAAC;EAC7E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAH,eAAQ,EAAC,IAAII,IAAI,CAAC,CAAC,CAAC;EAE1D,IAAAC,gBAAS,EAAC,MAAM;IACZ,IAAIlB,6BAA6B,EAAE;MAC/B;IACJ;IAEAY,gBAAgB,CACZ,IAAAO,qBAAW,EAAC;MACRpB,IAAI;MACJO,cAAc;MACdD,kBAAkB;MAClBF,cAAc;MACdC,kBAAkB;MAClBF,mBAAmB;MACnBD;IACJ,CAAC,CACL,CAAC;EACL,CAAC,EAAE,CACCF,IAAI,EACJC,6BAA6B,EAC7BE,mBAAmB,EACnBG,kBAAkB,EAClBJ,2BAA2B,EAC3BE,cAAc,EACdG,cAAc,EACdF,kBAAkB,CACrB,CAAC;EAEF,IAAAc,gBAAS,EAAC,MAAM;IACZ,IAAI,CAAClB,6BAA6B,EAAE,OAAO,MAAM,CAAC,CAAC;IAEnD,MAAMoB,iBAAiB,GAAGA,CAAA,KAAMJ,cAAc,CAAC,IAAIC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAMI,GAAG,GAAG,IAAIJ,IAAI,CAAC,CAAC;IACtB,MAAMK,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACzB,IAAI,CAAC0B,OAAO,CAAC,CAAC,GAAGJ,GAAG,CAACI,OAAO,CAAC,CAAC,CAAC;IAE7D,MAAMC,cAAc,GAAGJ,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAGD,GAAG,CAACM,UAAU,CAAC,CAAC,GAAG,IAAI;IAEpF,MAAMC,UAAU,GAAGC,WAAW,CAACT,iBAAiB,EAAE,IAAI,CAAC;IACvD,MAAMU,OAAO,GAAGC,UAAU,CAACX,iBAAiB,EAAEM,cAAc,CAAC;IAE7D,OAAO,MAAM;MACTM,YAAY,CAACF,OAAO,CAAC;MACrBG,aAAa,CAACL,UAAU,CAAC;IAC7B,CAAC;EACL,CAAC,EAAE,CAAC7B,IAAI,EAAEC,6BAA6B,CAAC,CAAC;EAEzC,IAAAkB,gBAAS,EAAC,MAAM;IACZ,IAAIlB,6BAA6B,EAAE;MAC/BY,gBAAgB,CAAC,IAAAsB,wBAAc,EAAC;QAAEnC,IAAI;QAAEgB,WAAW;QAAEN;MAAS,CAAC,CAAC,CAAC;IACrE;EACJ,CAAC,EAAE,CAACV,IAAI,EAAEgB,WAAW,EAAEN,QAAQ,EAAET,6BAA6B,CAAC,CAAC;EAEhE,OAAO,IAAAmC,cAAO,EACV,MAAM,GAAG5B,OAAO,GAAG,GAAGA,OAAO,CAAC6B,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAGzB,aAAa,EAAE,EAC9D,CAACA,aAAa,EAAEJ,OAAO,CAC3B,CAAC;AACL,CAAC;AAAC8B,OAAA,CAAAvC,WAAA,GAAAA,WAAA","ignoreList":[]}
package/lib/cjs/index.js CHANGED
@@ -69,6 +69,12 @@ Object.defineProperty(exports, "getDateInfo", {
69
69
  return _dateInfo.getDateInfo;
70
70
  }
71
71
  });
72
+ Object.defineProperty(exports, "getFormattedTime", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _dateInfo.getFormattedTime;
76
+ }
77
+ });
72
78
  Object.defineProperty(exports, "getIsDateNearToday", {
73
79
  enumerable: true,
74
80
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Calendar","_interopRequireDefault","require","_calendar","_OpeningInputs","_OpeningTimes","_DateInfo","_useDateInfo","_dateInfo","_date","e","__esModule","default"],"sources":["../../src/index.ts"],"sourcesContent":["// Calendar\nexport {default as Calendar} from './components/calendar/Calendar';\nexport type {Categories, HighlightedDates, HighlightedDateStyles, DateInterval, CustomThumbColors} from './types/calendar';\nexport {CalendarType} from './types/calendar';\n\n// OpeningTimes\nexport {default as OpeningInputs} from './components/opening-times/opening-inputs/OpeningInputs';\nexport {default as OpeningTimes} from './components/opening-times/OpeningTimes';\nexport type {HintTextPosition, OpeningTime, Time, Weekday} from './types/openingTimes';\n\n// DateInfo\nexport {default as DateInfo} from './components/date-info/DateInfo';\nexport {useDateInfo} from './hooks/useDateInfo';\nexport {getDateInfo, getTimeTillNow} from './utils/dateInfo'\n\n// Utils\nexport {\n isToday,\n getIsDateNearToday,\n isTomorrow,\n isYesterday,\n isMorning,\n isCurrentYear,\n addYears,\n addDays,\n isSameDay,\n eachDayOfInterval,\n isWithinInterval,\n subYears,\n endOfWeek,\n startOfWeek,\n isSameMonth,\n differenceInCalendarMonths,\n startOfMonth,\n isAfter,\n isBefore\n} from './utils/date'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAGA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAIA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAGA,IAAAO,KAAA,GAAAP,OAAA;AAoBqB,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Calendar","_interopRequireDefault","require","_calendar","_OpeningInputs","_OpeningTimes","_DateInfo","_useDateInfo","_dateInfo","_date","e","__esModule","default"],"sources":["../../src/index.ts"],"sourcesContent":["// Calendar\nexport { default as Calendar } from './components/calendar/Calendar';\nexport type {\n Categories,\n HighlightedDates,\n HighlightedDateStyles,\n DateInterval,\n CustomThumbColors,\n} from './types/calendar';\nexport { CalendarType } from './types/calendar';\n\n// OpeningTimes\nexport { default as OpeningInputs } from './components/opening-times/opening-inputs/OpeningInputs';\nexport { default as OpeningTimes } from './components/opening-times/OpeningTimes';\nexport type { HintTextPosition, OpeningTime, Time, Weekday } from './types/openingTimes';\n\n// DateInfo\nexport { default as DateInfo } from './components/date-info/DateInfo';\nexport { useDateInfo } from './hooks/useDateInfo';\nexport { getDateInfo, getTimeTillNow, getFormattedTime } from './utils/dateInfo';\n\n// Utils\nexport {\n isToday,\n getIsDateNearToday,\n isTomorrow,\n isYesterday,\n isMorning,\n isCurrentYear,\n addYears,\n addDays,\n isSameDay,\n eachDayOfInterval,\n isWithinInterval,\n subYears,\n endOfWeek,\n startOfWeek,\n isSameMonth,\n differenceInCalendarMonths,\n startOfMonth,\n isAfter,\n isBefore,\n} from './utils/date';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAQA,IAAAC,SAAA,GAAAD,OAAA;AAGA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAIA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAGA,IAAAO,KAAA,GAAAP,OAAA;AAoBsB,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","names":["EMonth","exports","CalendarType"],"sources":["../../../src/types/calendar.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nexport interface HighlightedDates {\n dates: Date[];\n style: HighlightedDateStyles;\n}\n\nexport interface HighlightedDateStyles {\n backgroundColor: CSSProperties['backgroundColor'];\n textColor: CSSProperties['color'];\n}\n\nexport interface Categories {\n id: string;\n dates: Date[];\n color: CSSProperties['color'];\n}\n\nexport interface IMonth {\n month: EMonth;\n year: number;\n}\n\nexport interface CustomThumbColors {\n /**\n * The background color of the main thumbs (single, multi, interval)\n */\n mainBackgroundColor?: CSSProperties['color'];\n /**\n * The text color of the main thumbs (single, multi, interval)\n */\n mainTextColor?: CSSProperties['color'];\n /**\n * The background color of the middle part of the interval thumb\n */\n secondaryBackgroundColor?: CSSProperties['color'];\n\n}\n\nexport enum EMonth {\n January = 1,\n February,\n March,\n April,\n May,\n June,\n July,\n August,\n September,\n October,\n November,\n December,\n}\n\nexport enum CalendarType {\n Single = 'single',\n Multiple = 'multiple',\n Interval = 'interval',\n}\n\nexport type DateInterval = {\n start: Date;\n end?: Date;\n};\n"],"mappings":";;;;;;IAuCYA,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAAA,IAeNE,YAAY,GAAAD,OAAA,CAAAC,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"calendar.js","names":["EMonth","exports","CalendarType"],"sources":["../../../src/types/calendar.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nexport interface HighlightedDates {\n dates: Date[];\n style: HighlightedDateStyles;\n}\n\nexport interface HighlightedDateStyles {\n backgroundColor: CSSProperties['backgroundColor'];\n textColor: CSSProperties['color'];\n}\n\nexport interface Categories {\n id: string;\n dates: Date[];\n color: CSSProperties['color'];\n}\n\nexport interface IMonth {\n month: EMonth;\n year: number;\n}\n\nexport interface CustomThumbColors {\n /**\n * The background color of the main thumbs (single, multi, interval)\n */\n mainBackgroundColor?: CSSProperties['color'];\n /**\n * The text color of the main thumbs (single, multi, interval)\n */\n mainTextColor?: CSSProperties['color'];\n /**\n * The background color of the middle part of the interval thumb\n */\n secondaryBackgroundColor?: CSSProperties['color'];\n}\n\nexport enum EMonth {\n January = 1,\n February,\n March,\n April,\n May,\n June,\n July,\n August,\n September,\n October,\n November,\n December,\n}\n\nexport enum CalendarType {\n Single = 'single',\n Multiple = 'multiple',\n Interval = 'interval',\n}\n\nexport type DateInterval = {\n start: Date;\n end?: Date;\n};\n"],"mappings":";;;;;;IAsCYA,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAAA,IAeNE,YAAY,GAAAD,OAAA,CAAAC,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -1,2 +1,6 @@
1
+ "use strict";
1
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=dateinfo.js.map