@os-design/core 1.0.213 → 1.0.215
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DatePicker/DatePickerCalendar.js +7 -1
- package/dist/cjs/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/cjs/DatePicker/index.js.map +1 -1
- package/dist/cjs/message/Message.js +1 -1
- package/dist/cjs/message/Message.js.map +1 -1
- package/dist/esm/DatePicker/DatePickerCalendar.js +11 -3
- package/dist/esm/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/esm/DatePicker/index.js.map +1 -1
- package/dist/esm/message/Message.js +2 -1
- package/dist/esm/message/Message.js.map +1 -1
- package/dist/types/DatePicker/DatePickerCalendar.d.ts +1 -1
- package/dist/types/DatePicker/DatePickerCalendar.d.ts.map +1 -1
- package/dist/types/DatePicker/index.d.ts +1 -1
- package/dist/types/DatePicker/index.d.ts.map +1 -1
- package/dist/types/message/Message.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/DatePicker/DatePickerCalendar.tsx +13 -7
- package/src/DatePicker/index.tsx +1 -1
- package/src/message/Message.tsx +2 -1
|
@@ -65,6 +65,11 @@ var SelectedDay = (0, _styled["default"])(Day)(_templateObject8 || (_templateObj
|
|
|
65
65
|
var DayInRange = (0, _styled["default"])(Day)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n background-color: ", ";\n"])), function (p) {
|
|
66
66
|
return (0, _theming.clr)([].concat(_toConsumableArray(p.theme.colorText.slice(0, 3)), [(p.theme.colorText[3] || 1) * 0.05]));
|
|
67
67
|
});
|
|
68
|
+
var firstDayOfWeekIndexesMap = {
|
|
69
|
+
monday: [6, 0, 1, 2, 3, 4, 5],
|
|
70
|
+
saturday: [1, 2, 3, 4, 5, 6, 0],
|
|
71
|
+
sunday: [0, 1, 2, 3, 4, 5, 6]
|
|
72
|
+
};
|
|
68
73
|
var DatePickerCalendar = function DatePickerCalendar(_ref) {
|
|
69
74
|
var firstDayOfWeek = _ref.firstDayOfWeek,
|
|
70
75
|
locale = _ref.locale,
|
|
@@ -121,7 +126,8 @@ var DatePickerCalendar = function DatePickerCalendar(_ref) {
|
|
|
121
126
|
return updateMonth(1);
|
|
122
127
|
},
|
|
123
128
|
"aria-label": locale.nextMonthLabel
|
|
124
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.Right, null))), /*#__PURE__*/_react["default"].createElement(Calendar, null, (
|
|
129
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.Right, null))), /*#__PURE__*/_react["default"].createElement(Calendar, null, Array(7).fill(0).map(function (_, index) {
|
|
130
|
+
var item = firstDayOfWeekIndexesMap[firstDayOfWeek][index];
|
|
125
131
|
return /*#__PURE__*/_react["default"].createElement(DayOfWeek, {
|
|
126
132
|
key: item
|
|
127
133
|
}, item);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerCalendar.js","names":["_styled","_interopRequireDefault","require","_datePickerUtils","_icons","_styles","_theming","_react","_interopRequireWildcard","_Button","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","value","MonthContainer","styled","div","Month","ellipsisStyles","Calendar","p","theme","datePickerCellSize","DayOfWeek","clr","datePickerDayOfWeekColorText","sizes","small","Day","resetFocusStyles","datePickerDaySize","borderRadius","datePickerDayColorBgHover","datePickerDayColorTextHover","transitionStyles","DayAnotherMonth","datePickerDayAnotherMonthColorText","Today","datePickerTodayColorBg","datePickerTodayColorText","datePickerTodayColorBorder","SelectedDay","datePickerSelectedDayColorBg","datePickerSelectedDayColorText","DayInRange","concat","colorText","DatePickerCalendar","_ref","firstDayOfWeek","locale","_ref$onSelect","onSelect","valueRef","useRef","useEffect","current","onSelectRef","_useDatePickerCalenda","useDatePickerCalendar","selectedMonth","updateMonth","days","getDayProps","useCallback","date","tabIndex","role","getAccessibilityDateLabel","onClick","onKeyDown","e","includes","preventDefault","onMouseDown","createElement","Fragment","type","wide","size","prevMonthLabel","Left","months","month","year","nextMonthLabel","Right","shortDaysOfWeek","map","item","_ref2","toISOString","getDate","_default","exports"],"sources":["../../../src/DatePicker/DatePickerCalendar.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n getAccessibilityDateLabel,\n useDatePickerCalendar,\n} from '@os-design/date-picker-utils';\nimport { Left, Right } from '@os-design/icons';\nimport {\n ellipsisStyles,\n resetFocusStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { Color, clr } from '@os-design/theming';\nimport React, { HTMLAttributes, useCallback, useEffect, useRef } from 'react';\nimport Button from '../Button';\n\ninterface DatePickerCalendarProps {\n firstDayOfWeek: 'sunday' | 'monday';\n locale: DatePickerLocale;\n value?: Date | [Date, Date] | null;\n onSelect?: (value: Date) => void;\n}\n\nconst MonthContainer = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 0.5em;\n`;\n\nconst Month = styled.div`\n flex-grow: 1;\n font-weight: 500;\n text-align: center;\n padding: 0 0.4em;\n ${ellipsisStyles};\n`;\n\nconst Calendar = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${(p) => p.theme.datePickerCellSize}em);\n grid-auto-rows: ${(p) => p.theme.datePickerCellSize}em;\n justify-content: space-between;\n overflow-x: auto;\n`;\n\nconst DayOfWeek = styled.div`\n justify-self: center;\n align-self: center;\n color: ${(p) => clr(p.theme.datePickerDayOfWeekColorText)};\n font-size: ${(p) => p.theme.sizes.small}em;\n`;\n\nconst Day = styled.div`\n ${resetFocusStyles};\n justify-self: center;\n align-self: center;\n\n width: ${(p) => p.theme.datePickerDaySize}em;\n height: ${(p) => p.theme.datePickerDaySize}em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n cursor: pointer;\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${(p) => clr(p.theme.datePickerDayColorBgHover)};\n color: ${(p) => clr(p.theme.datePickerDayColorTextHover)};\n }\n }\n\n ${transitionStyles('background-color', 'color')};\n`;\n\nconst DayAnotherMonth = styled(Day)`\n color: ${(p) => clr(p.theme.datePickerDayAnotherMonthColorText)};\n`;\n\nconst Today = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerTodayColorBg)};\n color: ${(p) => clr(p.theme.datePickerTodayColorText)};\n border: 1px solid ${(p) => clr(p.theme.datePickerTodayColorBorder)};\n box-sizing: border-box;\n`;\n\nconst SelectedDay = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerSelectedDayColorBg)};\n color: ${(p) => clr(p.theme.datePickerSelectedDayColorText)};\n`;\n\nconst DayInRange = styled(Day)`\n background-color: ${(p) =>\n clr([\n ...p.theme.colorText.slice(0, 3),\n (p.theme.colorText[3] || 1) * 0.05,\n ] as Color)};\n`;\n\nconst DatePickerCalendar: React.FC<DatePickerCalendarProps> = ({\n firstDayOfWeek,\n locale,\n value,\n onSelect = () => {},\n}) => {\n const valueRef = useRef(value);\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n const onSelectRef = useRef(onSelect);\n useEffect(() => {\n onSelectRef.current = onSelect;\n }, [onSelect]);\n\n const { selectedMonth, updateMonth, days } = useDatePickerCalendar({\n value,\n firstDayOfWeek,\n });\n\n const getDayProps = useCallback<\n (date: Date) => HTMLAttributes<HTMLDivElement>\n >(\n (date: Date) => ({\n tabIndex: 0,\n role: 'button',\n 'aria-label': getAccessibilityDateLabel(date, locale),\n onClick: () => {\n onSelectRef.current(date);\n },\n onKeyDown: (e) => {\n if (['Enter', ' '].includes(e.key)) {\n onSelectRef.current(date);\n e.preventDefault();\n }\n },\n onMouseDown: (e) => e.preventDefault(),\n }),\n [locale]\n );\n\n return (\n <>\n <MonthContainer>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(-1)}\n aria-label={locale.prevMonthLabel}\n >\n <Left />\n </Button>\n <Month>\n {locale.months[selectedMonth.month]} {selectedMonth.year}\n </Month>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(1)}\n aria-label={locale.nextMonthLabel}\n >\n <Right />\n </Button>\n </MonthContainer>\n\n <Calendar>\n {(firstDayOfWeek === 'sunday'\n ? locale.shortDaysOfWeek\n : [...locale.shortDaysOfWeek.slice(1), locale.shortDaysOfWeek[0]]\n ).map((item) => (\n <DayOfWeek key={item}>{item}</DayOfWeek>\n ))}\n\n {days.map(({ type, date }) => {\n if (type === 'dayAnotherMonth') {\n return (\n <DayAnotherMonth key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayAnotherMonth>\n );\n }\n if (type === 'selectedDay') {\n return (\n <SelectedDay key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </SelectedDay>\n );\n }\n if (type === 'dayInRange') {\n return (\n <DayInRange key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayInRange>\n );\n }\n if (type === 'today') {\n return (\n <Today key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Today>\n );\n }\n return (\n <Day key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Day>\n );\n })}\n </Calendar>\n </>\n );\n};\n\nexport default DatePickerCalendar;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerCalendar.js","names":["_styled","_interopRequireDefault","require","_datePickerUtils","_icons","_styles","_theming","_react","_interopRequireWildcard","_Button","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","value","MonthContainer","styled","div","Month","ellipsisStyles","Calendar","p","theme","datePickerCellSize","DayOfWeek","clr","datePickerDayOfWeekColorText","sizes","small","Day","resetFocusStyles","datePickerDaySize","borderRadius","datePickerDayColorBgHover","datePickerDayColorTextHover","transitionStyles","DayAnotherMonth","datePickerDayAnotherMonthColorText","Today","datePickerTodayColorBg","datePickerTodayColorText","datePickerTodayColorBorder","SelectedDay","datePickerSelectedDayColorBg","datePickerSelectedDayColorText","DayInRange","concat","colorText","firstDayOfWeekIndexesMap","monday","saturday","sunday","DatePickerCalendar","_ref","firstDayOfWeek","locale","_ref$onSelect","onSelect","valueRef","useRef","useEffect","current","onSelectRef","_useDatePickerCalenda","useDatePickerCalendar","selectedMonth","updateMonth","days","getDayProps","useCallback","date","tabIndex","role","getAccessibilityDateLabel","onClick","onKeyDown","e","includes","preventDefault","onMouseDown","createElement","Fragment","type","wide","size","prevMonthLabel","Left","months","month","year","nextMonthLabel","Right","fill","map","_","index","item","_ref2","toISOString","getDate","_default","exports"],"sources":["../../../src/DatePicker/DatePickerCalendar.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n getAccessibilityDateLabel,\n useDatePickerCalendar,\n} from '@os-design/date-picker-utils';\nimport { Left, Right } from '@os-design/icons';\nimport {\n ellipsisStyles,\n resetFocusStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { Color, clr } from '@os-design/theming';\nimport React, { HTMLAttributes, useCallback, useEffect, useRef } from 'react';\nimport Button from '../Button';\n\ninterface DatePickerCalendarProps {\n firstDayOfWeek: 'monday' | 'saturday' | 'sunday';\n locale: DatePickerLocale;\n value?: Date | [Date, Date] | null;\n onSelect?: (value: Date) => void;\n}\n\nconst MonthContainer = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 0.5em;\n`;\n\nconst Month = styled.div`\n flex-grow: 1;\n font-weight: 500;\n text-align: center;\n padding: 0 0.4em;\n ${ellipsisStyles};\n`;\n\nconst Calendar = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${(p) => p.theme.datePickerCellSize}em);\n grid-auto-rows: ${(p) => p.theme.datePickerCellSize}em;\n justify-content: space-between;\n overflow-x: auto;\n`;\n\nconst DayOfWeek = styled.div`\n justify-self: center;\n align-self: center;\n color: ${(p) => clr(p.theme.datePickerDayOfWeekColorText)};\n font-size: ${(p) => p.theme.sizes.small}em;\n`;\n\nconst Day = styled.div`\n ${resetFocusStyles};\n justify-self: center;\n align-self: center;\n\n width: ${(p) => p.theme.datePickerDaySize}em;\n height: ${(p) => p.theme.datePickerDaySize}em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n cursor: pointer;\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${(p) => clr(p.theme.datePickerDayColorBgHover)};\n color: ${(p) => clr(p.theme.datePickerDayColorTextHover)};\n }\n }\n\n ${transitionStyles('background-color', 'color')};\n`;\n\nconst DayAnotherMonth = styled(Day)`\n color: ${(p) => clr(p.theme.datePickerDayAnotherMonthColorText)};\n`;\n\nconst Today = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerTodayColorBg)};\n color: ${(p) => clr(p.theme.datePickerTodayColorText)};\n border: 1px solid ${(p) => clr(p.theme.datePickerTodayColorBorder)};\n box-sizing: border-box;\n`;\n\nconst SelectedDay = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerSelectedDayColorBg)};\n color: ${(p) => clr(p.theme.datePickerSelectedDayColorText)};\n`;\n\nconst DayInRange = styled(Day)`\n background-color: ${(p) =>\n clr([\n ...p.theme.colorText.slice(0, 3),\n (p.theme.colorText[3] || 1) * 0.05,\n ] as Color)};\n`;\n\nconst firstDayOfWeekIndexesMap = {\n monday: [6, 0, 1, 2, 3, 4, 5],\n saturday: [1, 2, 3, 4, 5, 6, 0],\n sunday: [0, 1, 2, 3, 4, 5, 6],\n};\n\nconst DatePickerCalendar: React.FC<DatePickerCalendarProps> = ({\n firstDayOfWeek,\n locale,\n value,\n onSelect = () => {},\n}) => {\n const valueRef = useRef(value);\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n const onSelectRef = useRef(onSelect);\n useEffect(() => {\n onSelectRef.current = onSelect;\n }, [onSelect]);\n\n const { selectedMonth, updateMonth, days } = useDatePickerCalendar({\n value,\n firstDayOfWeek,\n });\n\n const getDayProps = useCallback<\n (date: Date) => HTMLAttributes<HTMLDivElement>\n >(\n (date: Date) => ({\n tabIndex: 0,\n role: 'button',\n 'aria-label': getAccessibilityDateLabel(date, locale),\n onClick: () => {\n onSelectRef.current(date);\n },\n onKeyDown: (e) => {\n if (['Enter', ' '].includes(e.key)) {\n onSelectRef.current(date);\n e.preventDefault();\n }\n },\n onMouseDown: (e) => e.preventDefault(),\n }),\n [locale]\n );\n\n return (\n <>\n <MonthContainer>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(-1)}\n aria-label={locale.prevMonthLabel}\n >\n <Left />\n </Button>\n <Month>\n {locale.months[selectedMonth.month]} {selectedMonth.year}\n </Month>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(1)}\n aria-label={locale.nextMonthLabel}\n >\n <Right />\n </Button>\n </MonthContainer>\n\n <Calendar>\n {Array(7)\n .fill(0)\n .map((_, index) => {\n const item = firstDayOfWeekIndexesMap[firstDayOfWeek][index];\n return <DayOfWeek key={item}>{item}</DayOfWeek>;\n })}\n\n {days.map(({ type, date }) => {\n if (type === 'dayAnotherMonth') {\n return (\n <DayAnotherMonth key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayAnotherMonth>\n );\n }\n if (type === 'selectedDay') {\n return (\n <SelectedDay key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </SelectedDay>\n );\n }\n if (type === 'dayInRange') {\n return (\n <DayInRange key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayInRange>\n );\n }\n if (type === 'today') {\n return (\n <Today key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Today>\n );\n }\n return (\n <Day key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Day>\n );\n })}\n </Calendar>\n </>\n );\n};\n\nexport default DatePickerCalendar;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_datePickerUtils","_icons","_media","_theming","_utils","_react","_interopRequireWildcard","_Button","_Modal","_Popover","_Select","_TimePicker","_DatePickerCalendar","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","StyledPopover","styled","Popover","p","theme","datePickerPadding","TimeContainer","div","Dash","baseHeight","StyledTimePicker","TimePicker","timePickerStyle","style","width","createDate","date","time","d","Date","setFullYear","getFullYear","setMonth","getMonth","setDate","getDate","setHours","setMinutes","getHours","getMinutes","DatePicker","forwardRef","_ref","ref","left","_ref$leftHasPadding","leftHasPadding","right","_ref$rightHasPadding","rightHasPadding","placeholder","_ref$disabled","disabled","_ref$autoFocus","autoFocus","_ref$autoOpen","autoOpen","format","_ref$firstDayOfWeek","firstDayOfWeek","_ref$locale","locale","defaultLocale","_ref$showTime","showTime","_ref$timeNotation","timeNotation","_ref$range","range","defaultValue","onChange","_ref$onClose","onClose","_ref$onBlur","onBlur","size","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","containerRef","mergedContainerRef","_useState","useState","_useState2","opened","setOpened","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","useEffect","_containerRef$current","current","focus","onCloseRef","useRef","_containerRef$current2","formattedValue","useFormattedValue","closeHandler","useCallback","useKeyPress","window","undefined","isMinXs","useIsMinWidth","blurHandler","e","valueIsSpecified","useMemo","rightHasPaddingValue","rightValue","createElement","type","wide","onClick","stopPropagation","onKeyDown","includes","preventDefault","clearLabel","ClearIcon","ToggleIconContainer","Up","Down","firstTimePickerRef","secondTimePickerRef","rangeStartedRef","changeHandler","prev","nextValue","getTime","sort","a","b","calendarComponent","onSelect","v","_firstTimePickerRef$c","tabOnInputComplete","_secondTimePickerRef$","selectionStart","_ref2","_ref3","nextTo","closeOnInputComplete","timeComponent","Fragment","notation","containerProps","onKeyUp","SelectContainer","tabIndex","onMouseDown","role","getAccessibilityDateLabel","ThemeOverrider","overrides","t","buttonPaddingHorizontal","selectToggleListItemHeight","sizes","small","ToggleLeftAddon","hasPadding","ToggleContent","hasLeft","hasRight","Title","Placeholder","ToggleRightAddon","trigger","placement","visible","title","header","footer","displayName","_default","exports"],"sources":["../../../src/DatePicker/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n defaultLocale,\n getAccessibilityDateLabel,\n useFormattedValue,\n} from '@os-design/date-picker-utils';\nimport { Down, Up } from '@os-design/icons';\nimport { useIsMinWidth } from '@os-design/media';\nimport { WithSize } from '@os-design/styles';\nimport { ThemeOverrider } from '@os-design/theming';\nimport {\n useForwardedRef,\n useForwardedState,\n useKeyPress,\n} from '@os-design/utils';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Button from '../Button';\nimport Modal from '../Modal';\nimport Popover from '../Popover';\nimport {\n ClearIcon,\n Placeholder,\n SelectContainer,\n Title,\n ToggleContent,\n ToggleIconContainer,\n ToggleLeftAddon,\n ToggleRightAddon,\n} from '../Select';\nimport TimePicker from '../TimePicker';\nimport DatePickerCalendar from './DatePickerCalendar';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\ninterface BaseDatePickerProps<T> extends JsxDivProps, WithSize {\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * Adds padding to the left component.\n * It can be useful when passing an icon or text in the left component.\n * @default false\n */\n leftHasPadding?: boolean;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Adds padding to the right component.\n * It can be useful when passing an icon or text in the right component.\n * @default false\n */\n rightHasPadding?: boolean;\n /**\n * The placeholder of the date picker.\n * @default undefined\n */\n placeholder?: string;\n /**\n * Whether the date picker is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the component have a focus.\n * @default false\n */\n autoFocus?: boolean;\n /**\n * Whether the component opens the popup calendar.\n * @default false\n */\n autoOpen?: boolean;\n /**\n * The format of the date.\n * @default undefined\n */\n format?: (value: T) => string;\n /**\n * The first day of the week.\n * @default sunday\n */\n firstDayOfWeek?: 'sunday' | 'monday';\n /**\n * The locale of the date picker.\n * @default undefined\n */\n locale?: DatePickerLocale;\n /**\n * Whether the time is shown.\n * @default false\n */\n showTime?: boolean;\n /**\n * The time notation.\n * @default 12-hour\n */\n timeNotation?: '12-hour' | '24-hour';\n /**\n * Selected date.\n * @default undefined\n */\n value?: T | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T | null) => void;\n /**\n * The event handler that is called whenever a popup closes.\n * @default undefined\n */\n onClose?: () => void;\n}\nexport interface DateNotRangePickerProps extends BaseDatePickerProps<Date> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range?: false;\n}\nexport interface DateRangePickerProps\n extends BaseDatePickerProps<[Date, Date]> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range: true;\n}\nexport type DatePickerProps = DateNotRangePickerProps | DateRangePickerProps;\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.datePickerPadding}em;\n`;\n\nconst TimeContainer = styled.div`\n display: flex;\n justify-content: center;\n margin-top: 0.5em;\n`;\n\nconst Dash = styled.div`\n margin: 0 0.5em;\n line-height: ${(p) => p.theme.baseHeight}em;\n`;\n\nconst StyledTimePicker = styled(TimePicker)`\n width: 2.5em;\n text-align: center;\n`;\n\nconst timePickerStyle = { style: { width: 'auto' } };\n\nconst createDate = (date: Date, time?: Date | null) => {\n const d = new Date(0);\n d.setFullYear(date.getFullYear());\n d.setMonth(date.getMonth());\n d.setDate(date.getDate());\n d.setHours(0);\n d.setMinutes(0);\n if (time) {\n d.setHours(time.getHours());\n d.setMinutes(time.getMinutes());\n }\n return d;\n};\n\n/**\n * The component to choose a date.\n */\nconst DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n left,\n leftHasPadding = false,\n right,\n rightHasPadding = false,\n placeholder,\n disabled = false,\n autoFocus = false,\n autoOpen = false,\n format,\n firstDayOfWeek = 'sunday',\n locale = defaultLocale,\n showTime = false,\n timeNotation = '12-hour',\n range = false,\n value,\n defaultValue,\n onChange,\n onClose = () => {},\n onBlur = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n const [opened, setOpened] = useState(autoOpen);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n useEffect(() => {\n if (autoFocus) containerRef.current?.focus();\n }, [autoFocus, containerRef]);\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (!opened) {\n onCloseRef.current();\n containerRef.current?.focus();\n }\n }, [containerRef, opened]);\n\n const formattedValue = useFormattedValue({\n forwardedValue,\n format,\n showTime,\n timeNotation,\n });\n\n const closeHandler = useCallback(() => {\n setOpened(false);\n }, []);\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n closeHandler\n );\n const isMinXs = useIsMinWidth('xs');\n\n const blurHandler = useCallback(\n (e) => {\n if (!opened) onBlur(e);\n },\n [onBlur, opened]\n );\n\n const valueIsSpecified = useMemo(\n () => formattedValue !== undefined && formattedValue !== null,\n [formattedValue]\n );\n\n const rightHasPaddingValue = useMemo(() => {\n if (valueIsSpecified) return false;\n return right ? rightHasPadding : true;\n }, [right, rightHasPadding, valueIsSpecified]);\n\n const rightValue = useMemo(() => {\n if (valueIsSpecified) {\n return (\n <div aria-hidden>\n <Button\n type='ghost'\n wide='never'\n size='small'\n disabled={disabled}\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setForwardedValue(null);\n if (!containerRef.current) return;\n containerRef.current.focus();\n e.preventDefault();\n e.stopPropagation();\n }\n }}\n aria-label={locale.clearLabel}\n >\n <ClearIcon />\n </Button>\n </div>\n );\n }\n return (\n right || (\n <ToggleIconContainer>\n {opened ? <Up /> : <Down />}\n </ToggleIconContainer>\n )\n );\n }, [\n containerRef,\n disabled,\n locale.clearLabel,\n opened,\n right,\n setForwardedValue,\n valueIsSpecified,\n ]);\n\n const firstTimePickerRef = useRef<HTMLInputElement>(null);\n const secondTimePickerRef = useRef<HTMLInputElement>(null);\n const rangeStartedRef = useRef(false);\n\n useEffect(() => {\n rangeStartedRef.current = false;\n }, [opened]);\n\n const changeHandler = useCallback(\n (date: Date) => {\n setForwardedValue((prev) => {\n if (!range) return createDate(date, prev);\n\n const d = createDate(date);\n const nextValue =\n prev && Array.isArray(prev) && rangeStartedRef.current\n ? [new Date(prev[0].getTime()), createDate(date, prev[1])]\n : [d, d];\n\n rangeStartedRef.current = !rangeStartedRef.current;\n return nextValue.sort(\n (a: Date, b: Date) => a.getTime() - b.getTime()\n );\n });\n },\n [range, setForwardedValue]\n );\n\n const calendarComponent = useMemo(\n () => (\n <DatePickerCalendar\n firstDayOfWeek={firstDayOfWeek}\n locale={locale}\n value={forwardedValue}\n onSelect={(v) => {\n changeHandler(v);\n firstTimePickerRef.current?.focus();\n if (!showTime && (!range || !rangeStartedRef.current)) {\n closeHandler();\n }\n }}\n />\n ),\n [\n changeHandler,\n closeHandler,\n firstDayOfWeek,\n forwardedValue,\n locale,\n range,\n showTime,\n ]\n );\n\n const tabOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n secondTimePickerRef.current?.focus();\n setForwardedValue(([from]) => {\n const nextTo = new Date(from.getTime());\n nextTo.setHours(nextTo.getHours() + 1);\n return [from, nextTo];\n });\n },\n [setForwardedValue]\n );\n\n const closeOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n closeHandler();\n },\n [closeHandler]\n );\n\n const timeComponent = useMemo(\n () =>\n showTime && forwardedValue ? (\n <TimeContainer>\n {Array.isArray(forwardedValue) ? (\n <>\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[0]}\n onChange={(v) => setForwardedValue([v, forwardedValue[1]])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={tabOnInputComplete}\n />\n <Dash>–</Dash>\n <StyledTimePicker\n ref={secondTimePickerRef}\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[1]}\n onChange={(v) => setForwardedValue([forwardedValue[0], v])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n </>\n ) : (\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue}\n onChange={setForwardedValue}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n )}\n </TimeContainer>\n ) : null,\n [\n closeOnInputComplete,\n disabled,\n forwardedValue,\n opened,\n setForwardedValue,\n showTime,\n tabOnInputComplete,\n timeNotation,\n ]\n );\n\n return (\n <>\n <SelectContainer\n opened={opened}\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onClick={() => {\n if (disabled) return;\n setOpened(!opened);\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setOpened(!opened);\n e.preventDefault();\n }\n }}\n onMouseDown={(e) => e.preventDefault()}\n onBlur={blurHandler}\n role='combobox'\n aria-label={\n forwardedValue\n ? getAccessibilityDateLabel(forwardedValue, locale)\n : undefined\n }\n aria-disabled={disabled}\n {...rest}\n ref={mergedContainerRef}\n >\n {left && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleLeftAddon hasPadding={leftHasPadding}>\n {left}\n </ToggleLeftAddon>\n </ThemeOverrider>\n )}\n\n <ToggleContent hasLeft={!!left} hasRight={!!right}>\n {valueIsSpecified ? (\n <Title disabled={disabled} aria-hidden>\n {formattedValue}\n </Title>\n ) : (\n <Placeholder>{placeholder}</Placeholder>\n )}\n </ToggleContent>\n\n {rightValue && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleRightAddon hasPadding={rightHasPaddingValue}>\n {rightValue}\n </ToggleRightAddon>\n </ThemeOverrider>\n )}\n </SelectContainer>\n\n {isMinXs ? (\n <StyledPopover\n trigger={containerRef}\n placement='bottom-start'\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </StyledPopover>\n ) : (\n <Modal\n title={placeholder}\n header={null}\n footer={null}\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </Modal>\n )}\n </>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n\nexport default DatePicker;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_datePickerUtils","_icons","_media","_theming","_utils","_react","_interopRequireWildcard","_Button","_Modal","_Popover","_Select","_TimePicker","_DatePickerCalendar","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","StyledPopover","styled","Popover","p","theme","datePickerPadding","TimeContainer","div","Dash","baseHeight","StyledTimePicker","TimePicker","timePickerStyle","style","width","createDate","date","time","d","Date","setFullYear","getFullYear","setMonth","getMonth","setDate","getDate","setHours","setMinutes","getHours","getMinutes","DatePicker","forwardRef","_ref","ref","left","_ref$leftHasPadding","leftHasPadding","right","_ref$rightHasPadding","rightHasPadding","placeholder","_ref$disabled","disabled","_ref$autoFocus","autoFocus","_ref$autoOpen","autoOpen","format","_ref$firstDayOfWeek","firstDayOfWeek","_ref$locale","locale","defaultLocale","_ref$showTime","showTime","_ref$timeNotation","timeNotation","_ref$range","range","defaultValue","onChange","_ref$onClose","onClose","_ref$onBlur","onBlur","size","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","containerRef","mergedContainerRef","_useState","useState","_useState2","opened","setOpened","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","useEffect","_containerRef$current","current","focus","onCloseRef","useRef","_containerRef$current2","formattedValue","useFormattedValue","closeHandler","useCallback","useKeyPress","window","undefined","isMinXs","useIsMinWidth","blurHandler","e","valueIsSpecified","useMemo","rightHasPaddingValue","rightValue","createElement","type","wide","onClick","stopPropagation","onKeyDown","includes","preventDefault","clearLabel","ClearIcon","ToggleIconContainer","Up","Down","firstTimePickerRef","secondTimePickerRef","rangeStartedRef","changeHandler","prev","nextValue","getTime","sort","a","b","calendarComponent","onSelect","v","_firstTimePickerRef$c","tabOnInputComplete","_secondTimePickerRef$","selectionStart","_ref2","_ref3","nextTo","closeOnInputComplete","timeComponent","Fragment","notation","containerProps","onKeyUp","SelectContainer","tabIndex","onMouseDown","role","getAccessibilityDateLabel","ThemeOverrider","overrides","t","buttonPaddingHorizontal","selectToggleListItemHeight","sizes","small","ToggleLeftAddon","hasPadding","ToggleContent","hasLeft","hasRight","Title","Placeholder","ToggleRightAddon","trigger","placement","visible","title","header","footer","displayName","_default","exports"],"sources":["../../../src/DatePicker/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n defaultLocale,\n getAccessibilityDateLabel,\n useFormattedValue,\n} from '@os-design/date-picker-utils';\nimport { Down, Up } from '@os-design/icons';\nimport { useIsMinWidth } from '@os-design/media';\nimport { WithSize } from '@os-design/styles';\nimport { ThemeOverrider } from '@os-design/theming';\nimport {\n useForwardedRef,\n useForwardedState,\n useKeyPress,\n} from '@os-design/utils';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Button from '../Button';\nimport Modal from '../Modal';\nimport Popover from '../Popover';\nimport {\n ClearIcon,\n Placeholder,\n SelectContainer,\n Title,\n ToggleContent,\n ToggleIconContainer,\n ToggleLeftAddon,\n ToggleRightAddon,\n} from '../Select';\nimport TimePicker from '../TimePicker';\nimport DatePickerCalendar from './DatePickerCalendar';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\ninterface BaseDatePickerProps<T> extends JsxDivProps, WithSize {\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * Adds padding to the left component.\n * It can be useful when passing an icon or text in the left component.\n * @default false\n */\n leftHasPadding?: boolean;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Adds padding to the right component.\n * It can be useful when passing an icon or text in the right component.\n * @default false\n */\n rightHasPadding?: boolean;\n /**\n * The placeholder of the date picker.\n * @default undefined\n */\n placeholder?: string;\n /**\n * Whether the date picker is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the component have a focus.\n * @default false\n */\n autoFocus?: boolean;\n /**\n * Whether the component opens the popup calendar.\n * @default false\n */\n autoOpen?: boolean;\n /**\n * The format of the date.\n * @default undefined\n */\n format?: (value: T) => string;\n /**\n * The first day of the week.\n * @default sunday\n */\n firstDayOfWeek?: 'monday' | 'saturday' | 'sunday';\n /**\n * The locale of the date picker.\n * @default undefined\n */\n locale?: DatePickerLocale;\n /**\n * Whether the time is shown.\n * @default false\n */\n showTime?: boolean;\n /**\n * The time notation.\n * @default 12-hour\n */\n timeNotation?: '12-hour' | '24-hour';\n /**\n * Selected date.\n * @default undefined\n */\n value?: T | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T | null) => void;\n /**\n * The event handler that is called whenever a popup closes.\n * @default undefined\n */\n onClose?: () => void;\n}\nexport interface DateNotRangePickerProps extends BaseDatePickerProps<Date> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range?: false;\n}\nexport interface DateRangePickerProps\n extends BaseDatePickerProps<[Date, Date]> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range: true;\n}\nexport type DatePickerProps = DateNotRangePickerProps | DateRangePickerProps;\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.datePickerPadding}em;\n`;\n\nconst TimeContainer = styled.div`\n display: flex;\n justify-content: center;\n margin-top: 0.5em;\n`;\n\nconst Dash = styled.div`\n margin: 0 0.5em;\n line-height: ${(p) => p.theme.baseHeight}em;\n`;\n\nconst StyledTimePicker = styled(TimePicker)`\n width: 2.5em;\n text-align: center;\n`;\n\nconst timePickerStyle = { style: { width: 'auto' } };\n\nconst createDate = (date: Date, time?: Date | null) => {\n const d = new Date(0);\n d.setFullYear(date.getFullYear());\n d.setMonth(date.getMonth());\n d.setDate(date.getDate());\n d.setHours(0);\n d.setMinutes(0);\n if (time) {\n d.setHours(time.getHours());\n d.setMinutes(time.getMinutes());\n }\n return d;\n};\n\n/**\n * The component to choose a date.\n */\nconst DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n left,\n leftHasPadding = false,\n right,\n rightHasPadding = false,\n placeholder,\n disabled = false,\n autoFocus = false,\n autoOpen = false,\n format,\n firstDayOfWeek = 'sunday',\n locale = defaultLocale,\n showTime = false,\n timeNotation = '12-hour',\n range = false,\n value,\n defaultValue,\n onChange,\n onClose = () => {},\n onBlur = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n const [opened, setOpened] = useState(autoOpen);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n useEffect(() => {\n if (autoFocus) containerRef.current?.focus();\n }, [autoFocus, containerRef]);\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (!opened) {\n onCloseRef.current();\n containerRef.current?.focus();\n }\n }, [containerRef, opened]);\n\n const formattedValue = useFormattedValue({\n forwardedValue,\n format,\n showTime,\n timeNotation,\n });\n\n const closeHandler = useCallback(() => {\n setOpened(false);\n }, []);\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n closeHandler\n );\n const isMinXs = useIsMinWidth('xs');\n\n const blurHandler = useCallback(\n (e) => {\n if (!opened) onBlur(e);\n },\n [onBlur, opened]\n );\n\n const valueIsSpecified = useMemo(\n () => formattedValue !== undefined && formattedValue !== null,\n [formattedValue]\n );\n\n const rightHasPaddingValue = useMemo(() => {\n if (valueIsSpecified) return false;\n return right ? rightHasPadding : true;\n }, [right, rightHasPadding, valueIsSpecified]);\n\n const rightValue = useMemo(() => {\n if (valueIsSpecified) {\n return (\n <div aria-hidden>\n <Button\n type='ghost'\n wide='never'\n size='small'\n disabled={disabled}\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setForwardedValue(null);\n if (!containerRef.current) return;\n containerRef.current.focus();\n e.preventDefault();\n e.stopPropagation();\n }\n }}\n aria-label={locale.clearLabel}\n >\n <ClearIcon />\n </Button>\n </div>\n );\n }\n return (\n right || (\n <ToggleIconContainer>\n {opened ? <Up /> : <Down />}\n </ToggleIconContainer>\n )\n );\n }, [\n containerRef,\n disabled,\n locale.clearLabel,\n opened,\n right,\n setForwardedValue,\n valueIsSpecified,\n ]);\n\n const firstTimePickerRef = useRef<HTMLInputElement>(null);\n const secondTimePickerRef = useRef<HTMLInputElement>(null);\n const rangeStartedRef = useRef(false);\n\n useEffect(() => {\n rangeStartedRef.current = false;\n }, [opened]);\n\n const changeHandler = useCallback(\n (date: Date) => {\n setForwardedValue((prev) => {\n if (!range) return createDate(date, prev);\n\n const d = createDate(date);\n const nextValue =\n prev && Array.isArray(prev) && rangeStartedRef.current\n ? [new Date(prev[0].getTime()), createDate(date, prev[1])]\n : [d, d];\n\n rangeStartedRef.current = !rangeStartedRef.current;\n return nextValue.sort(\n (a: Date, b: Date) => a.getTime() - b.getTime()\n );\n });\n },\n [range, setForwardedValue]\n );\n\n const calendarComponent = useMemo(\n () => (\n <DatePickerCalendar\n firstDayOfWeek={firstDayOfWeek}\n locale={locale}\n value={forwardedValue}\n onSelect={(v) => {\n changeHandler(v);\n firstTimePickerRef.current?.focus();\n if (!showTime && (!range || !rangeStartedRef.current)) {\n closeHandler();\n }\n }}\n />\n ),\n [\n changeHandler,\n closeHandler,\n firstDayOfWeek,\n forwardedValue,\n locale,\n range,\n showTime,\n ]\n );\n\n const tabOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n secondTimePickerRef.current?.focus();\n setForwardedValue(([from]) => {\n const nextTo = new Date(from.getTime());\n nextTo.setHours(nextTo.getHours() + 1);\n return [from, nextTo];\n });\n },\n [setForwardedValue]\n );\n\n const closeOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n closeHandler();\n },\n [closeHandler]\n );\n\n const timeComponent = useMemo(\n () =>\n showTime && forwardedValue ? (\n <TimeContainer>\n {Array.isArray(forwardedValue) ? (\n <>\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[0]}\n onChange={(v) => setForwardedValue([v, forwardedValue[1]])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={tabOnInputComplete}\n />\n <Dash>–</Dash>\n <StyledTimePicker\n ref={secondTimePickerRef}\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[1]}\n onChange={(v) => setForwardedValue([forwardedValue[0], v])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n </>\n ) : (\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue}\n onChange={setForwardedValue}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n )}\n </TimeContainer>\n ) : null,\n [\n closeOnInputComplete,\n disabled,\n forwardedValue,\n opened,\n setForwardedValue,\n showTime,\n tabOnInputComplete,\n timeNotation,\n ]\n );\n\n return (\n <>\n <SelectContainer\n opened={opened}\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onClick={() => {\n if (disabled) return;\n setOpened(!opened);\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setOpened(!opened);\n e.preventDefault();\n }\n }}\n onMouseDown={(e) => e.preventDefault()}\n onBlur={blurHandler}\n role='combobox'\n aria-label={\n forwardedValue\n ? getAccessibilityDateLabel(forwardedValue, locale)\n : undefined\n }\n aria-disabled={disabled}\n {...rest}\n ref={mergedContainerRef}\n >\n {left && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleLeftAddon hasPadding={leftHasPadding}>\n {left}\n </ToggleLeftAddon>\n </ThemeOverrider>\n )}\n\n <ToggleContent hasLeft={!!left} hasRight={!!right}>\n {valueIsSpecified ? (\n <Title disabled={disabled} aria-hidden>\n {formattedValue}\n </Title>\n ) : (\n <Placeholder>{placeholder}</Placeholder>\n )}\n </ToggleContent>\n\n {rightValue && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleRightAddon hasPadding={rightHasPaddingValue}>\n {rightValue}\n </ToggleRightAddon>\n </ThemeOverrider>\n )}\n </SelectContainer>\n\n {isMinXs ? (\n <StyledPopover\n trigger={containerRef}\n placement='bottom-start'\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </StyledPopover>\n ) : (\n <Modal\n title={placeholder}\n header={null}\n footer={null}\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </Modal>\n )}\n </>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n\nexport default DatePicker;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAMA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAQA,IAAAQ,OAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,MAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,QAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AAUA,IAAAY,WAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,mBAAA,GAAAd,sBAAA,CAAAC,OAAA;AAAsD,IAAAc,SAAA;AAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAiB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAA/B,uBAAAyB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAiB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,eAAAC,GAAA,EAAAN,CAAA,WAAAO,eAAA,CAAAD,GAAA,KAAAE,qBAAA,CAAAF,GAAA,EAAAN,CAAA,KAAAS,2BAAA,CAAAH,GAAA,EAAAN,CAAA,KAAAU,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAA5B,MAAA,CAAAI,SAAA,CAAAyB,QAAA,CAAAvB,IAAA,CAAAmB,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAM,WAAA,EAAAH,CAAA,GAAAH,CAAA,CAAAM,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAK,KAAA,CAAAC,IAAA,CAAAT,CAAA,OAAAG,CAAA,+DAAAO,IAAA,CAAAP,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAR,GAAA,EAAAiB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAjB,GAAA,CAAAJ,MAAA,EAAAqB,GAAA,GAAAjB,GAAA,CAAAJ,MAAA,WAAAF,CAAA,MAAAwB,IAAA,OAAAJ,KAAA,CAAAG,GAAA,GAAAvB,CAAA,GAAAuB,GAAA,EAAAvB,CAAA,IAAAwB,IAAA,CAAAxB,CAAA,IAAAM,GAAA,CAAAN,CAAA,UAAAwB,IAAA;AAAA,SAAAhB,sBAAAF,GAAA,EAAAN,CAAA,QAAAyB,EAAA,WAAAnB,GAAA,gCAAAoB,MAAA,IAAApB,GAAA,CAAAoB,MAAA,CAAAC,QAAA,KAAArB,GAAA,4BAAAmB,EAAA,QAAAG,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAL,EAAA,GAAAA,EAAA,CAAAhC,IAAA,CAAAa,GAAA,GAAA6B,IAAA,QAAAnC,CAAA,QAAAb,MAAA,CAAAsC,EAAA,MAAAA,EAAA,UAAAQ,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAArC,IAAA,CAAAgC,EAAA,GAAAW,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAA9B,MAAA,KAAAF,CAAA,GAAAiC,EAAA,iBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAR,EAAA,eAAAM,EAAA,GAAAN,EAAA,cAAAtC,MAAA,CAAA4C,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAAzB,gBAAAD,GAAA,QAAAc,KAAA,CAAAoB,OAAA,CAAAlC,GAAA,UAAAA,GAAA;AAAA,SAAAmC,yBAAAtC,MAAA,EAAAuC,QAAA,QAAAvC,MAAA,yBAAAJ,MAAA,GAAA4C,6BAAA,CAAAxC,MAAA,EAAAuC,QAAA,OAAApD,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAyD,qBAAA,QAAAC,gBAAA,GAAA1D,MAAA,CAAAyD,qBAAA,CAAAzC,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA6C,gBAAA,CAAA3C,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAuD,gBAAA,CAAA7C,CAAA,OAAA0C,QAAA,CAAAI,OAAA,CAAAxD,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAwD,oBAAA,CAAAtD,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAA4C,8BAAAxC,MAAA,EAAAuC,QAAA,QAAAvC,MAAA,yBAAAJ,MAAA,WAAAiD,UAAA,GAAA7D,MAAA,CAAA8D,IAAA,CAAA9C,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgD,UAAA,CAAA9C,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAA0D,UAAA,CAAAhD,CAAA,OAAA0C,QAAA,CAAAI,OAAA,CAAAxD,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAAA,SAAAmD,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAlC,KAAA,cAAA9B,MAAA,CAAAkE,MAAA,CAAAlE,MAAA,CAAAmE,gBAAA,CAAAH,OAAA,IAAAC,GAAA,IAAAd,KAAA,EAAAnD,MAAA,CAAAkE,MAAA,CAAAD,GAAA;AAgHtD,IAAMG,aAAa,GAAG,IAAAC,kBAAM,EAACC,mBAAO,CAAC,CAAAvF,eAAA,KAAAA,eAAA,GAAAgF,sBAAA,+BACxB,UAACQ,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACC,iBAAiB;AAAA,EAC5C;AAED,IAAMC,aAAa,GAAGL,kBAAM,CAACM,GAAG,CAAA3F,gBAAA,KAAAA,gBAAA,GAAA+E,sBAAA,8EAI/B;AAED,IAAMa,IAAI,GAAGP,kBAAM,CAACM,GAAG,CAAA1F,gBAAA,KAAAA,gBAAA,GAAA8E,sBAAA,uDAEN,UAACQ,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACK,UAAU;AAAA,EACzC;AAED,IAAMC,gBAAgB,GAAG,IAAAT,kBAAM,EAACU,sBAAU,CAAC,CAAA7F,gBAAA,KAAAA,gBAAA,GAAA6E,sBAAA,kDAG1C;AAED,IAAMiB,eAAe,GAAG;EAAEC,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAO;AAAE,CAAC;AAEpD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAU,EAAEC,IAAkB,EAAK;EACrD,IAAMC,CAAC,GAAG,IAAIC,IAAI,CAAC,CAAC,CAAC;EACrBD,CAAC,CAACE,WAAW,CAACJ,IAAI,CAACK,WAAW,CAAC,CAAC,CAAC;EACjCH,CAAC,CAACI,QAAQ,CAACN,IAAI,CAACO,QAAQ,CAAC,CAAC,CAAC;EAC3BL,CAAC,CAACM,OAAO,CAACR,IAAI,CAACS,OAAO,CAAC,CAAC,CAAC;EACzBP,CAAC,CAACQ,QAAQ,CAAC,CAAC,CAAC;EACbR,CAAC,CAACS,UAAU,CAAC,CAAC,CAAC;EACf,IAAIV,IAAI,EAAE;IACRC,CAAC,CAACQ,QAAQ,CAACT,IAAI,CAACW,QAAQ,CAAC,CAAC,CAAC;IAC3BV,CAAC,CAACS,UAAU,CAACV,IAAI,CAACY,UAAU,CAAC,CAAC,CAAC;EACjC;EACA,OAAOX,CAAC;AACV,CAAC;;AAED;AACA;AACA;AACA,IAAMY,UAAU,gBAAG,IAAAC,iBAAU,EAC3B,UAAAC,IAAA,EAwBEC,GAAG,EACA;EAAA,IAvBDC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAAC,mBAAA,GAAAH,IAAA,CACJI,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,KAAK,GAAAA,mBAAA;IACtBE,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAAC,oBAAA,GAAAN,IAAA,CACLO,eAAe;IAAfA,eAAe,GAAAD,oBAAA,cAAG,KAAK,GAAAA,oBAAA;IACvBE,WAAW,GAAAR,IAAA,CAAXQ,WAAW;IAAAC,aAAA,GAAAT,IAAA,CACXU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,cAAA,GAAAX,IAAA,CAChBY,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAb,IAAA,CACjBc,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAChBE,MAAM,GAAAf,IAAA,CAANe,MAAM;IAAAC,mBAAA,GAAAhB,IAAA,CACNiB,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,QAAQ,GAAAA,mBAAA;IAAAE,WAAA,GAAAlB,IAAA,CACzBmB,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAGE,8BAAa,GAAAF,WAAA;IAAAG,aAAA,GAAArB,IAAA,CACtBsB,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,iBAAA,GAAAvB,IAAA,CAChBwB,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,SAAS,GAAAA,iBAAA;IAAAE,UAAA,GAAAzB,IAAA,CACxB0B,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,KAAK,GAAAA,UAAA;IACb1E,KAAK,GAAAiD,IAAA,CAALjD,KAAK;IACL4E,YAAY,GAAA3B,IAAA,CAAZ2B,YAAY;IACZC,QAAQ,GAAA5B,IAAA,CAAR4B,QAAQ;IAAAC,YAAA,GAAA7B,IAAA,CACR8B,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,YAAM,CAAC,CAAC,GAAAA,YAAA;IAAAE,WAAA,GAAA/B,IAAA,CAClBgC,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,YAAM,CAAC,CAAC,GAAAA,WAAA;IACjBE,IAAI,GAAAjC,IAAA,CAAJiC,IAAI;IACDC,IAAI,GAAAhF,wBAAA,CAAA8C,IAAA,EAAAtH,SAAA;EAIT,IAAAyJ,gBAAA,GAA2C,IAAAC,sBAAe,EAACnC,GAAG,CAAC;IAAAoC,iBAAA,GAAAvH,cAAA,CAAAqH,gBAAA;IAAxDG,YAAY,GAAAD,iBAAA;IAAEE,kBAAkB,GAAAF,iBAAA;EACvC,IAAAG,SAAA,GAA4B,IAAAC,eAAQ,EAAC3B,QAAQ,CAAC;IAAA4B,UAAA,GAAA5H,cAAA,CAAA0H,SAAA;IAAvCG,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB;EACA,IAAAG,kBAAA,GAA4C,IAAAC,wBAAiB,EAAM;MACjE/F,KAAK,EAALA,KAAK;MACL4E,YAAY,EAAZA,YAAY;MACZC,QAAQ,EAARA;IACF,CAAC,CAAC;IAAAmB,mBAAA,GAAAjI,cAAA,CAAA+H,kBAAA;IAJKG,cAAc,GAAAD,mBAAA;IAAEE,iBAAiB,GAAAF,mBAAA;EAMxC,IAAAG,gBAAS,EAAC,YAAM;IAAA,IAAAC,qBAAA;IACd,IAAIvC,SAAS,EAAE,CAAAuC,qBAAA,GAAAb,YAAY,CAACc,OAAO,cAAAD,qBAAA,uBAApBA,qBAAA,CAAsBE,KAAK,CAAC,CAAC;EAC9C,CAAC,EAAE,CAACzC,SAAS,EAAE0B,YAAY,CAAC,CAAC;EAE7B,IAAMgB,UAAU,GAAG,IAAAC,aAAM,EAACzB,OAAO,CAAC;EAClC,IAAAoB,gBAAS,EAAC,YAAM;IACdI,UAAU,CAACF,OAAO,GAAGtB,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,IAAAoB,gBAAS,EAAC,YAAM;IACd,IAAI,CAACP,MAAM,EAAE;MAAA,IAAAa,sBAAA;MACXF,UAAU,CAACF,OAAO,CAAC,CAAC;MACpB,CAAAI,sBAAA,GAAAlB,YAAY,CAACc,OAAO,cAAAI,sBAAA,uBAApBA,sBAAA,CAAsBH,KAAK,CAAC,CAAC;IAC/B;EACF,CAAC,EAAE,CAACf,YAAY,EAAEK,MAAM,CAAC,CAAC;EAE1B,IAAMc,cAAc,GAAG,IAAAC,kCAAiB,EAAC;IACvCV,cAAc,EAAdA,cAAc;IACdjC,MAAM,EAANA,MAAM;IACNO,QAAQ,EAARA,QAAQ;IACRE,YAAY,EAAZA;EACF,CAAC,CAAC;EAEF,IAAMmC,YAAY,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACrChB,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAiB,kBAAW,EACR,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAGC,SAAS,EACnD,QAAQ,EACRJ,YACF,CAAC;EACD,IAAMK,OAAO,GAAG,IAAAC,oBAAa,EAAC,IAAI,CAAC;EAEnC,IAAMC,WAAW,GAAG,IAAAN,kBAAW,EAC7B,UAACO,CAAC,EAAK;IACL,IAAI,CAACxB,MAAM,EAAEX,MAAM,CAACmC,CAAC,CAAC;EACxB,CAAC,EACD,CAACnC,MAAM,EAAEW,MAAM,CACjB,CAAC;EAED,IAAMyB,gBAAgB,GAAG,IAAAC,cAAO,EAC9B;IAAA,OAAMZ,cAAc,KAAKM,SAAS,IAAIN,cAAc,KAAK,IAAI;EAAA,GAC7D,CAACA,cAAc,CACjB,CAAC;EAED,IAAMa,oBAAoB,GAAG,IAAAD,cAAO,EAAC,YAAM;IACzC,IAAID,gBAAgB,EAAE,OAAO,KAAK;IAClC,OAAO/D,KAAK,GAAGE,eAAe,GAAG,IAAI;EACvC,CAAC,EAAE,CAACF,KAAK,EAAEE,eAAe,EAAE6D,gBAAgB,CAAC,CAAC;EAE9C,IAAMG,UAAU,GAAG,IAAAF,cAAO,EAAC,YAAM;IAC/B,IAAID,gBAAgB,EAAE;MACpB,oBACElM,MAAA,YAAAsM,aAAA;QAAK;MAAW,gBACdtM,MAAA,YAAAsM,aAAA,CAACpM,OAAA,WAAM;QACLqM,IAAI,EAAC,OAAO;QACZC,IAAI,EAAC,OAAO;QACZzC,IAAI,EAAC,OAAO;QACZvB,QAAQ,EAAEA,QAAS;QACnBiE,OAAO,EAAE,SAAAA,QAACR,CAAC,EAAK;UACdlB,iBAAiB,CAAC,IAAI,CAAC;UACvBkB,CAAC,CAACS,eAAe,CAAC,CAAC;QACrB,CAAE;QACFC,SAAS,EAAE,SAAAA,UAACV,CAAC,EAAK;UAChB,IAAIzD,QAAQ,EAAE;UACd,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAACoE,QAAQ,CAACX,CAAC,CAACpK,GAAG,CAAC,EAAE;YAClCkJ,iBAAiB,CAAC,IAAI,CAAC;YACvB,IAAI,CAACX,YAAY,CAACc,OAAO,EAAE;YAC3Bd,YAAY,CAACc,OAAO,CAACC,KAAK,CAAC,CAAC;YAC5Bc,CAAC,CAACY,cAAc,CAAC,CAAC;YAClBZ,CAAC,CAACS,eAAe,CAAC,CAAC;UACrB;QACF,CAAE;QACF,cAAYzD,MAAM,CAAC6D;MAAW,gBAE9B9M,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAA0M,SAAS,MAAE,CACN,CACL,CAAC;IAEV;IACA,OACE5E,KAAK,iBACHnI,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAA2M,mBAAmB,QACjBvC,MAAM,gBAAGzK,MAAA,YAAAsM,aAAA,CAAC1M,MAAA,CAAAqN,EAAE,MAAE,CAAC,gBAAGjN,MAAA,YAAAsM,aAAA,CAAC1M,MAAA,CAAAsN,IAAI,MAAE,CACP,CACtB;EAEL,CAAC,EAAE,CACD9C,YAAY,EACZ5B,QAAQ,EACRS,MAAM,CAAC6D,UAAU,EACjBrC,MAAM,EACNtC,KAAK,EACL4C,iBAAiB,EACjBmB,gBAAgB,CACjB,CAAC;EAEF,IAAMiB,kBAAkB,GAAG,IAAA9B,aAAM,EAAmB,IAAI,CAAC;EACzD,IAAM+B,mBAAmB,GAAG,IAAA/B,aAAM,EAAmB,IAAI,CAAC;EAC1D,IAAMgC,eAAe,GAAG,IAAAhC,aAAM,EAAC,KAAK,CAAC;EAErC,IAAAL,gBAAS,EAAC,YAAM;IACdqC,eAAe,CAACnC,OAAO,GAAG,KAAK;EACjC,CAAC,EAAE,CAACT,MAAM,CAAC,CAAC;EAEZ,IAAM6C,aAAa,GAAG,IAAA5B,kBAAW,EAC/B,UAAC5E,IAAU,EAAK;IACdiE,iBAAiB,CAAC,UAACwC,IAAI,EAAK;MAC1B,IAAI,CAAC/D,KAAK,EAAE,OAAO3C,UAAU,CAACC,IAAI,EAAEyG,IAAI,CAAC;MAEzC,IAAMvG,CAAC,GAAGH,UAAU,CAACC,IAAI,CAAC;MAC1B,IAAM0G,SAAS,GACbD,IAAI,IAAI5J,KAAK,CAACoB,OAAO,CAACwI,IAAI,CAAC,IAAIF,eAAe,CAACnC,OAAO,GAClD,CAAC,IAAIjE,IAAI,CAACsG,IAAI,CAAC,CAAC,CAAC,CAACE,OAAO,CAAC,CAAC,CAAC,EAAE5G,UAAU,CAACC,IAAI,EAAEyG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,CAACvG,CAAC,EAAEA,CAAC,CAAC;MAEZqG,eAAe,CAACnC,OAAO,GAAG,CAACmC,eAAe,CAACnC,OAAO;MAClD,OAAOsC,SAAS,CAACE,IAAI,CACnB,UAACC,CAAO,EAAEC,CAAO;QAAA,OAAKD,CAAC,CAACF,OAAO,CAAC,CAAC,GAAGG,CAAC,CAACH,OAAO,CAAC,CAAC;MAAA,CACjD,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EACD,CAACjE,KAAK,EAAEuB,iBAAiB,CAC3B,CAAC;EAED,IAAM8C,iBAAiB,GAAG,IAAA1B,cAAO,EAC/B;IAAA,oBACEnM,MAAA,YAAAsM,aAAA,CAAC/L,mBAAA,WAAkB;MACjBwI,cAAc,EAAEA,cAAe;MAC/BE,MAAM,EAAEA,MAAO;MACfpE,KAAK,EAAEiG,cAAe;MACtBgD,QAAQ,EAAE,SAAAA,SAACC,CAAC,EAAK;QAAA,IAAAC,qBAAA;QACfV,aAAa,CAACS,CAAC,CAAC;QAChB,CAAAC,qBAAA,GAAAb,kBAAkB,CAACjC,OAAO,cAAA8C,qBAAA,uBAA1BA,qBAAA,CAA4B7C,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC/B,QAAQ,KAAK,CAACI,KAAK,IAAI,CAAC6D,eAAe,CAACnC,OAAO,CAAC,EAAE;UACrDO,YAAY,CAAC,CAAC;QAChB;MACF;IAAE,CACH,CAAC;EAAA,CACH,EACD,CACE6B,aAAa,EACb7B,YAAY,EACZ1C,cAAc,EACd+B,cAAc,EACd7B,MAAM,EACNO,KAAK,EACLJ,QAAQ,CAEZ,CAAC;EAED,IAAM6E,kBAAkB,GAAG,IAAAvC,kBAAW,EACpC,UAACO,CAAC,EAAK;IAAA,IAAAiC,qBAAA;IACL,IAAIjC,CAAC,CAAC3J,MAAM,CAAC6L,cAAc,GAAG,CAAC,EAAE;IACjC,CAAAD,qBAAA,GAAAd,mBAAmB,CAAClC,OAAO,cAAAgD,qBAAA,uBAA3BA,qBAAA,CAA6B/C,KAAK,CAAC,CAAC;IACpCJ,iBAAiB,CAAC,UAAAqD,KAAA,EAAY;MAAA,IAAAC,KAAA,GAAAzL,cAAA,CAAAwL,KAAA;QAAVxK,IAAI,GAAAyK,KAAA;MACtB,IAAMC,MAAM,GAAG,IAAIrH,IAAI,CAACrD,IAAI,CAAC6J,OAAO,CAAC,CAAC,CAAC;MACvCa,MAAM,CAAC9G,QAAQ,CAAC8G,MAAM,CAAC5G,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;MACtC,OAAO,CAAC9D,IAAI,EAAE0K,MAAM,CAAC;IACvB,CAAC,CAAC;EACJ,CAAC,EACD,CAACvD,iBAAiB,CACpB,CAAC;EAED,IAAMwD,oBAAoB,GAAG,IAAA7C,kBAAW,EACtC,UAACO,CAAC,EAAK;IACL,IAAIA,CAAC,CAAC3J,MAAM,CAAC6L,cAAc,GAAG,CAAC,EAAE;IACjC1C,YAAY,CAAC,CAAC;EAChB,CAAC,EACD,CAACA,YAAY,CACf,CAAC;EAED,IAAM+C,aAAa,GAAG,IAAArC,cAAO,EAC3B;IAAA,OACE/C,QAAQ,IAAI0B,cAAc,gBACxB9K,MAAA,YAAAsM,aAAA,CAAClG,aAAa,QACXzC,KAAK,CAACoB,OAAO,CAAC+F,cAAc,CAAC,gBAC5B9K,MAAA,YAAAsM,aAAA,CAAAtM,MAAA,YAAAyO,QAAA,qBACEzO,MAAA,YAAAsM,aAAA,CAAC9F,gBAAgB;MACfuB,GAAG,EAAEoF,kBAAmB;MACxBzE,SAAS;MACTF,QAAQ,EAAEA,QAAS;MACnBkG,QAAQ,EAAEpF,YAAa;MACvBqF,cAAc,EAAEjI,eAAgB;MAChC7B,KAAK,EAAEiG,cAAc,CAAC,CAAC,CAAE;MACzBpB,QAAQ,EAAE,SAAAA,SAACqE,CAAC;QAAA,OAAKhD,iBAAiB,CAAC,CAACgD,CAAC,EAAEjD,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;MAAA,CAAC;MAC3D6B,SAAS,EAAE,SAAAA,UAACV,CAAC,EAAK;QAChB,IAAIzD,QAAQ,EAAE;QACd,IAAIyD,CAAC,CAACpK,GAAG,KAAK,OAAO,EAAE;UACrB6I,SAAS,CAAC,CAACD,MAAM,CAAC;QACpB;MACF,CAAE;MACFmE,OAAO,EAAEX;IAAmB,CAC7B,CAAC,eACFjO,MAAA,YAAAsM,aAAA,CAAChG,IAAI,QAAC,QAAO,CAAC,eACdtG,MAAA,YAAAsM,aAAA,CAAC9F,gBAAgB;MACfuB,GAAG,EAAEqF,mBAAoB;MACzB5E,QAAQ,EAAEA,QAAS;MACnBkG,QAAQ,EAAEpF,YAAa;MACvBqF,cAAc,EAAEjI,eAAgB;MAChC7B,KAAK,EAAEiG,cAAc,CAAC,CAAC,CAAE;MACzBpB,QAAQ,EAAE,SAAAA,SAACqE,CAAC;QAAA,OAAKhD,iBAAiB,CAAC,CAACD,cAAc,CAAC,CAAC,CAAC,EAAEiD,CAAC,CAAC,CAAC;MAAA,CAAC;MAC3DpB,SAAS,EAAE,SAAAA,UAACV,CAAC,EAAK;QAChB,IAAIzD,QAAQ,EAAE;QACd,IAAIyD,CAAC,CAACpK,GAAG,KAAK,OAAO,EAAE;UACrB6I,SAAS,CAAC,CAACD,MAAM,CAAC;QACpB;MACF,CAAE;MACFmE,OAAO,EAAEL;IAAqB,CAC/B,CACD,CAAC,gBAEHvO,MAAA,YAAAsM,aAAA,CAAC9F,gBAAgB;MACfuB,GAAG,EAAEoF,kBAAmB;MACxBzE,SAAS;MACTF,QAAQ,EAAEA,QAAS;MACnBkG,QAAQ,EAAEpF,YAAa;MACvBqF,cAAc,EAAEjI,eAAgB;MAChC7B,KAAK,EAAEiG,cAAe;MACtBpB,QAAQ,EAAEqB,iBAAkB;MAC5B4B,SAAS,EAAE,SAAAA,UAACV,CAAC,EAAK;QAChB,IAAIzD,QAAQ,EAAE;QACd,IAAIyD,CAAC,CAACpK,GAAG,KAAK,OAAO,EAAE;UACrB6I,SAAS,CAAC,CAACD,MAAM,CAAC;QACpB;MACF,CAAE;MACFmE,OAAO,EAAEL;IAAqB,CAC/B,CAEU,CAAC,GACd,IAAI;EAAA,GACV,CACEA,oBAAoB,EACpB/F,QAAQ,EACRsC,cAAc,EACdL,MAAM,EACNM,iBAAiB,EACjB3B,QAAQ,EACR6E,kBAAkB,EAClB3E,YAAY,CAEhB,CAAC;EAED,oBACEtJ,MAAA,YAAAsM,aAAA,CAAAtM,MAAA,YAAAyO,QAAA,qBACEzO,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAAwO,eAAe,EAAA1M,QAAA;IACdsI,MAAM,EAAEA,MAAO;IACfjC,QAAQ,EAAEA,QAAS;IACnBuB,IAAI,EAAEA,IAAK;IACX+E,QAAQ,EAAE,CAACtG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAE;IAC7BiE,OAAO,EAAE,SAAAA,QAAA,EAAM;MACb,IAAIjE,QAAQ,EAAE;MACdkC,SAAS,CAAC,CAACD,MAAM,CAAC;IACpB,CAAE;IACFkC,SAAS,EAAE,SAAAA,UAACV,CAAC,EAAK;MAChB,IAAIzD,QAAQ,EAAE;MACd,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAACoE,QAAQ,CAACX,CAAC,CAACpK,GAAG,CAAC,EAAE;QAClC6I,SAAS,CAAC,CAACD,MAAM,CAAC;QAClBwB,CAAC,CAACY,cAAc,CAAC,CAAC;MACpB;IACF,CAAE;IACFkC,WAAW,EAAE,SAAAA,YAAC9C,CAAC;MAAA,OAAKA,CAAC,CAACY,cAAc,CAAC,CAAC;IAAA,CAAC;IACvC/C,MAAM,EAAEkC,WAAY;IACpBgD,IAAI,EAAC,UAAU;IACf,cACElE,cAAc,GACV,IAAAmE,0CAAyB,EAACnE,cAAc,EAAE7B,MAAM,CAAC,GACjD4C,SACL;IACD,iBAAerD;EAAS,GACpBwB,IAAI;IACRjC,GAAG,EAAEsC;EAAmB,IAEvBrC,IAAI,iBACHhI,MAAA,YAAAsM,aAAA,CAACxM,QAAA,CAAAoP,cAAc;IACbC,SAAS,EAAE,SAAAA,UAACC,CAAC;MAAA,OAAM;QACjBC,uBAAuB,EAAE,GAAG;QAC5B9I,UAAU,EAAE6I,CAAC,CAACE,0BAA0B,GAAGF,CAAC,CAACG,KAAK,CAACC;MACrD,CAAC;IAAA;EAAE,gBAEHxP,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAAoP,eAAe;IAACC,UAAU,EAAExH;EAAe,GACzCF,IACc,CACH,CACjB,eAEDhI,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAAsP,aAAa;IAACC,OAAO,EAAE,CAAC,CAAC5H,IAAK;IAAC6H,QAAQ,EAAE,CAAC,CAAC1H;EAAM,GAC/C+D,gBAAgB,gBACflM,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAAyP,KAAK;IAACtH,QAAQ,EAAEA,QAAS;IAAC;EAAW,GACnC+C,cACI,CAAC,gBAERvL,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAA0P,WAAW,QAAEzH,WAAyB,CAE5B,CAAC,EAEf+D,UAAU,iBACTrM,MAAA,YAAAsM,aAAA,CAACxM,QAAA,CAAAoP,cAAc;IACbC,SAAS,EAAE,SAAAA,UAACC,CAAC;MAAA,OAAM;QACjBC,uBAAuB,EAAE,GAAG;QAC5B9I,UAAU,EAAE6I,CAAC,CAACE,0BAA0B,GAAGF,CAAC,CAACG,KAAK,CAACC;MACrD,CAAC;IAAA;EAAE,gBAEHxP,MAAA,YAAAsM,aAAA,CAACjM,OAAA,CAAA2P,gBAAgB;IAACN,UAAU,EAAEtD;EAAqB,GAChDC,UACe,CACJ,CAEH,CAAC,EAEjBP,OAAO,gBACN9L,MAAA,YAAAsM,aAAA,CAACxG,aAAa;IACZmK,OAAO,EAAE7F,YAAa;IACtB8F,SAAS,EAAC,cAAc;IACxBC,OAAO,EAAE1F,MAAO;IAChBb,OAAO,EAAE6B,YAAa;IACtB1B,IAAI,EAAEA;EAAK,GAEV8D,iBAAiB,EACjBW,aACY,CAAC,gBAEhBxO,MAAA,YAAAsM,aAAA,CAACnM,MAAA,WAAK;IACJiQ,KAAK,EAAE9H,WAAY;IACnB+H,MAAM,EAAE,IAAK;IACbC,MAAM,EAAE,IAAK;IACbH,OAAO,EAAE1F,MAAO;IAChBb,OAAO,EAAE6B,YAAa;IACtB1B,IAAI,EAAEA;EAAK,GAEV8D,iBAAiB,EACjBW,aACI,CAET,CAAC;AAEP,CACF,CAAC;AAED5G,UAAU,CAAC2I,WAAW,GAAG,YAAY;AAAC,IAAAC,QAAA,GAEvB5I,UAAU;AAAA6I,OAAA,cAAAD,QAAA"}
|
|
@@ -23,7 +23,7 @@ var MESSAGE_MARGIN_TOP_EM = 0.7;
|
|
|
23
23
|
var MESSAGE_DURATION_MS = 3000;
|
|
24
24
|
exports.MESSAGE_DURATION_MS = MESSAGE_DURATION_MS;
|
|
25
25
|
var fadeOut = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n from {\n opacity: 1;\n height: ", "em;\n margin-top: ", "em;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n height: 0;\n margin-top: 0;\n transform: translateY(-100%);\n }\n"])), MESSAGE_HEIGHT_EM, MESSAGE_MARGIN_TOP_EM);
|
|
26
|
-
var Container = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('type', 'textColor', 'backgroundColor', 'transitionDelay'))(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ", "em;\n margin-top: ", "em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ", ";\n color: ", ";\n\n pointer-events: auto;\n overflow: hidden;\n\n animation
|
|
26
|
+
var Container = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('type', 'textColor', 'backgroundColor', 'transitionDelay'))(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ", "em;\n margin-top: ", "em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ", ";\n color: ", ";\n\n pointer-events: auto;\n overflow: hidden;\n\n animation:\n ", " ", "ms,\n ", " ", "ms\n ", "ms;\n animation-fill-mode: forwards;\n"])), MESSAGE_HEIGHT_EM, MESSAGE_MARGIN_TOP_EM, function (p) {
|
|
27
27
|
return (0, _theming.clr)(p.backgroundColor);
|
|
28
28
|
}, function (p) {
|
|
29
29
|
return (0, _theming.clr)(p.textColor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_interopRequireWildcard","_AlertIcon","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","fadeIn","keyframes","MESSAGE_HEIGHT_EM","MESSAGE_MARGIN_TOP_EM","MESSAGE_DURATION_MS","exports","fadeOut","Container","styled","omitEmotionProps","p","clr","backgroundColor","textColor","transitionDelay","Text","span","ellipsisStyles","Message","forwardRef","_ref","ref","type","text","info","light","messageInfoColorBg","success","messageSuccessColorBg","error","messageErrorColorBg","createElement","colorText","role","displayName","_default"],"sources":["../../../src/message/Message.tsx"],"sourcesContent":["import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr, Color, light } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport AlertIcon from './AlertIcon';\n\nexport interface MessageProps {\n type: 'info' | 'success' | 'error';\n text: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(-100%);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst MESSAGE_HEIGHT_EM = 2.5;\nconst MESSAGE_MARGIN_TOP_EM = 0.7;\nexport const MESSAGE_DURATION_MS = 3000;\n\nconst fadeOut = keyframes`\n from {\n opacity: 1;\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n height: 0;\n margin-top: 0;\n transform: translateY(-100%);\n }\n`;\n\ninterface ContainerProps extends Pick<MessageProps, 'type'> {\n textColor: Color;\n backgroundColor: Color;\n transitionDelay: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'textColor', 'backgroundColor', 'transitionDelay')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ${(p) => clr(p.backgroundColor)};\n color: ${(p) => clr(p.textColor)};\n\n pointer-events: auto;\n overflow: hidden;\n\n animation
|
|
1
|
+
{"version":3,"file":"Message.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_interopRequireWildcard","_AlertIcon","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","fadeIn","keyframes","MESSAGE_HEIGHT_EM","MESSAGE_MARGIN_TOP_EM","MESSAGE_DURATION_MS","exports","fadeOut","Container","styled","omitEmotionProps","p","clr","backgroundColor","textColor","transitionDelay","Text","span","ellipsisStyles","Message","forwardRef","_ref","ref","type","text","info","light","messageInfoColorBg","success","messageSuccessColorBg","error","messageErrorColorBg","createElement","colorText","role","displayName","_default"],"sources":["../../../src/message/Message.tsx"],"sourcesContent":["import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr, Color, light } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport AlertIcon from './AlertIcon';\n\nexport interface MessageProps {\n type: 'info' | 'success' | 'error';\n text: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(-100%);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst MESSAGE_HEIGHT_EM = 2.5;\nconst MESSAGE_MARGIN_TOP_EM = 0.7;\nexport const MESSAGE_DURATION_MS = 3000;\n\nconst fadeOut = keyframes`\n from {\n opacity: 1;\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n height: 0;\n margin-top: 0;\n transform: translateY(-100%);\n }\n`;\n\ninterface ContainerProps extends Pick<MessageProps, 'type'> {\n textColor: Color;\n backgroundColor: Color;\n transitionDelay: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'textColor', 'backgroundColor', 'transitionDelay')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ${(p) => clr(p.backgroundColor)};\n color: ${(p) => clr(p.textColor)};\n\n pointer-events: auto;\n overflow: hidden;\n\n animation:\n ${fadeIn} ${(p) => p.transitionDelay}ms,\n ${fadeOut} ${(p) => p.transitionDelay}ms\n ${(p) => MESSAGE_DURATION_MS - p.transitionDelay}ms;\n animation-fill-mode: forwards;\n`;\n\nconst Text = styled.span`\n ${ellipsisStyles};\n`;\n\nconst Message = forwardRef<HTMLDivElement, MessageProps>(\n ({ type, text }, ref) => {\n const backgroundColor = {\n info: light.messageInfoColorBg,\n success: light.messageSuccessColorBg,\n error: light.messageErrorColorBg,\n }[type];\n\n return (\n <Container\n ref={ref}\n type={type}\n textColor={light.colorText}\n backgroundColor={backgroundColor}\n transitionDelay={light.transitionDelay}\n role='alert'\n >\n <AlertIcon type={type} />\n <Text>{text}</Text>\n </Container>\n );\n }\n);\n\nMessage.displayName = 'Message';\n\nexport default Message;\n"],"mappings":"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"}
|
|
@@ -72,6 +72,11 @@ const SelectedDay = styled(Day)`
|
|
|
72
72
|
const DayInRange = styled(Day)`
|
|
73
73
|
background-color: ${p => clr([...p.theme.colorText.slice(0, 3), (p.theme.colorText[3] || 1) * 0.05])};
|
|
74
74
|
`;
|
|
75
|
+
const firstDayOfWeekIndexesMap = {
|
|
76
|
+
monday: [6, 0, 1, 2, 3, 4, 5],
|
|
77
|
+
saturday: [1, 2, 3, 4, 5, 6, 0],
|
|
78
|
+
sunday: [0, 1, 2, 3, 4, 5, 6]
|
|
79
|
+
};
|
|
75
80
|
const DatePickerCalendar = ({
|
|
76
81
|
firstDayOfWeek,
|
|
77
82
|
locale,
|
|
@@ -121,9 +126,12 @@ const DatePickerCalendar = ({
|
|
|
121
126
|
size: "small",
|
|
122
127
|
onClick: () => updateMonth(1),
|
|
123
128
|
"aria-label": locale.nextMonthLabel
|
|
124
|
-
}, /*#__PURE__*/React.createElement(Right, null))), /*#__PURE__*/React.createElement(Calendar, null, (
|
|
125
|
-
|
|
126
|
-
|
|
129
|
+
}, /*#__PURE__*/React.createElement(Right, null))), /*#__PURE__*/React.createElement(Calendar, null, Array(7).fill(0).map((_, index) => {
|
|
130
|
+
const item = firstDayOfWeekIndexesMap[firstDayOfWeek][index];
|
|
131
|
+
return /*#__PURE__*/React.createElement(DayOfWeek, {
|
|
132
|
+
key: item
|
|
133
|
+
}, item);
|
|
134
|
+
}), days.map(({
|
|
127
135
|
type,
|
|
128
136
|
date
|
|
129
137
|
}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerCalendar.js","names":["styled","getAccessibilityDateLabel","useDatePickerCalendar","Left","Right","ellipsisStyles","resetFocusStyles","transitionStyles","clr","React","useCallback","useEffect","useRef","Button","MonthContainer","div","Month","Calendar","p","theme","datePickerCellSize","DayOfWeek","datePickerDayOfWeekColorText","sizes","small","Day","datePickerDaySize","borderRadius","datePickerDayColorBgHover","datePickerDayColorTextHover","DayAnotherMonth","datePickerDayAnotherMonthColorText","Today","datePickerTodayColorBg","datePickerTodayColorText","datePickerTodayColorBorder","SelectedDay","datePickerSelectedDayColorBg","datePickerSelectedDayColorText","DayInRange","colorText","slice","DatePickerCalendar","firstDayOfWeek","locale","value","onSelect","valueRef","current","onSelectRef","selectedMonth","updateMonth","days","getDayProps","date","tabIndex","role","onClick","onKeyDown","e","includes","key","preventDefault","onMouseDown","createElement","Fragment","type","wide","size","prevMonthLabel","months","month","year","nextMonthLabel","shortDaysOfWeek","map","item","_extends","toISOString","getDate"],"sources":["../../../src/DatePicker/DatePickerCalendar.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n getAccessibilityDateLabel,\n useDatePickerCalendar,\n} from '@os-design/date-picker-utils';\nimport { Left, Right } from '@os-design/icons';\nimport {\n ellipsisStyles,\n resetFocusStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { Color, clr } from '@os-design/theming';\nimport React, { HTMLAttributes, useCallback, useEffect, useRef } from 'react';\nimport Button from '../Button';\n\ninterface DatePickerCalendarProps {\n firstDayOfWeek: 'sunday' | 'monday';\n locale: DatePickerLocale;\n value?: Date | [Date, Date] | null;\n onSelect?: (value: Date) => void;\n}\n\nconst MonthContainer = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 0.5em;\n`;\n\nconst Month = styled.div`\n flex-grow: 1;\n font-weight: 500;\n text-align: center;\n padding: 0 0.4em;\n ${ellipsisStyles};\n`;\n\nconst Calendar = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${(p) => p.theme.datePickerCellSize}em);\n grid-auto-rows: ${(p) => p.theme.datePickerCellSize}em;\n justify-content: space-between;\n overflow-x: auto;\n`;\n\nconst DayOfWeek = styled.div`\n justify-self: center;\n align-self: center;\n color: ${(p) => clr(p.theme.datePickerDayOfWeekColorText)};\n font-size: ${(p) => p.theme.sizes.small}em;\n`;\n\nconst Day = styled.div`\n ${resetFocusStyles};\n justify-self: center;\n align-self: center;\n\n width: ${(p) => p.theme.datePickerDaySize}em;\n height: ${(p) => p.theme.datePickerDaySize}em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n cursor: pointer;\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${(p) => clr(p.theme.datePickerDayColorBgHover)};\n color: ${(p) => clr(p.theme.datePickerDayColorTextHover)};\n }\n }\n\n ${transitionStyles('background-color', 'color')};\n`;\n\nconst DayAnotherMonth = styled(Day)`\n color: ${(p) => clr(p.theme.datePickerDayAnotherMonthColorText)};\n`;\n\nconst Today = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerTodayColorBg)};\n color: ${(p) => clr(p.theme.datePickerTodayColorText)};\n border: 1px solid ${(p) => clr(p.theme.datePickerTodayColorBorder)};\n box-sizing: border-box;\n`;\n\nconst SelectedDay = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerSelectedDayColorBg)};\n color: ${(p) => clr(p.theme.datePickerSelectedDayColorText)};\n`;\n\nconst DayInRange = styled(Day)`\n background-color: ${(p) =>\n clr([\n ...p.theme.colorText.slice(0, 3),\n (p.theme.colorText[3] || 1) * 0.05,\n ] as Color)};\n`;\n\nconst DatePickerCalendar: React.FC<DatePickerCalendarProps> = ({\n firstDayOfWeek,\n locale,\n value,\n onSelect = () => {},\n}) => {\n const valueRef = useRef(value);\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n const onSelectRef = useRef(onSelect);\n useEffect(() => {\n onSelectRef.current = onSelect;\n }, [onSelect]);\n\n const { selectedMonth, updateMonth, days } = useDatePickerCalendar({\n value,\n firstDayOfWeek,\n });\n\n const getDayProps = useCallback<\n (date: Date) => HTMLAttributes<HTMLDivElement>\n >(\n (date: Date) => ({\n tabIndex: 0,\n role: 'button',\n 'aria-label': getAccessibilityDateLabel(date, locale),\n onClick: () => {\n onSelectRef.current(date);\n },\n onKeyDown: (e) => {\n if (['Enter', ' '].includes(e.key)) {\n onSelectRef.current(date);\n e.preventDefault();\n }\n },\n onMouseDown: (e) => e.preventDefault(),\n }),\n [locale]\n );\n\n return (\n <>\n <MonthContainer>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(-1)}\n aria-label={locale.prevMonthLabel}\n >\n <Left />\n </Button>\n <Month>\n {locale.months[selectedMonth.month]} {selectedMonth.year}\n </Month>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(1)}\n aria-label={locale.nextMonthLabel}\n >\n <Right />\n </Button>\n </MonthContainer>\n\n <Calendar>\n {(firstDayOfWeek === 'sunday'\n ? locale.shortDaysOfWeek\n : [...locale.shortDaysOfWeek.slice(1), locale.shortDaysOfWeek[0]]\n ).map((item) => (\n <DayOfWeek key={item}>{item}</DayOfWeek>\n ))}\n\n {days.map(({ type, date }) => {\n if (type === 'dayAnotherMonth') {\n return (\n <DayAnotherMonth key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayAnotherMonth>\n );\n }\n if (type === 'selectedDay') {\n return (\n <SelectedDay key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </SelectedDay>\n );\n }\n if (type === 'dayInRange') {\n return (\n <DayInRange key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayInRange>\n );\n }\n if (type === 'today') {\n return (\n <Today key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Today>\n );\n }\n return (\n <Day key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Day>\n );\n })}\n </Calendar>\n </>\n );\n};\n\nexport default DatePickerCalendar;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerCalendar.js","names":["styled","getAccessibilityDateLabel","useDatePickerCalendar","Left","Right","ellipsisStyles","resetFocusStyles","transitionStyles","clr","React","useCallback","useEffect","useRef","Button","MonthContainer","div","Month","Calendar","p","theme","datePickerCellSize","DayOfWeek","datePickerDayOfWeekColorText","sizes","small","Day","datePickerDaySize","borderRadius","datePickerDayColorBgHover","datePickerDayColorTextHover","DayAnotherMonth","datePickerDayAnotherMonthColorText","Today","datePickerTodayColorBg","datePickerTodayColorText","datePickerTodayColorBorder","SelectedDay","datePickerSelectedDayColorBg","datePickerSelectedDayColorText","DayInRange","colorText","slice","firstDayOfWeekIndexesMap","monday","saturday","sunday","DatePickerCalendar","firstDayOfWeek","locale","value","onSelect","valueRef","current","onSelectRef","selectedMonth","updateMonth","days","getDayProps","date","tabIndex","role","onClick","onKeyDown","e","includes","key","preventDefault","onMouseDown","createElement","Fragment","type","wide","size","prevMonthLabel","months","month","year","nextMonthLabel","Array","fill","map","_","index","item","_extends","toISOString","getDate"],"sources":["../../../src/DatePicker/DatePickerCalendar.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n getAccessibilityDateLabel,\n useDatePickerCalendar,\n} from '@os-design/date-picker-utils';\nimport { Left, Right } from '@os-design/icons';\nimport {\n ellipsisStyles,\n resetFocusStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { Color, clr } from '@os-design/theming';\nimport React, { HTMLAttributes, useCallback, useEffect, useRef } from 'react';\nimport Button from '../Button';\n\ninterface DatePickerCalendarProps {\n firstDayOfWeek: 'monday' | 'saturday' | 'sunday';\n locale: DatePickerLocale;\n value?: Date | [Date, Date] | null;\n onSelect?: (value: Date) => void;\n}\n\nconst MonthContainer = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 0.5em;\n`;\n\nconst Month = styled.div`\n flex-grow: 1;\n font-weight: 500;\n text-align: center;\n padding: 0 0.4em;\n ${ellipsisStyles};\n`;\n\nconst Calendar = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${(p) => p.theme.datePickerCellSize}em);\n grid-auto-rows: ${(p) => p.theme.datePickerCellSize}em;\n justify-content: space-between;\n overflow-x: auto;\n`;\n\nconst DayOfWeek = styled.div`\n justify-self: center;\n align-self: center;\n color: ${(p) => clr(p.theme.datePickerDayOfWeekColorText)};\n font-size: ${(p) => p.theme.sizes.small}em;\n`;\n\nconst Day = styled.div`\n ${resetFocusStyles};\n justify-self: center;\n align-self: center;\n\n width: ${(p) => p.theme.datePickerDaySize}em;\n height: ${(p) => p.theme.datePickerDaySize}em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n cursor: pointer;\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${(p) => clr(p.theme.datePickerDayColorBgHover)};\n color: ${(p) => clr(p.theme.datePickerDayColorTextHover)};\n }\n }\n\n ${transitionStyles('background-color', 'color')};\n`;\n\nconst DayAnotherMonth = styled(Day)`\n color: ${(p) => clr(p.theme.datePickerDayAnotherMonthColorText)};\n`;\n\nconst Today = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerTodayColorBg)};\n color: ${(p) => clr(p.theme.datePickerTodayColorText)};\n border: 1px solid ${(p) => clr(p.theme.datePickerTodayColorBorder)};\n box-sizing: border-box;\n`;\n\nconst SelectedDay = styled(Day)`\n background-color: ${(p) => clr(p.theme.datePickerSelectedDayColorBg)};\n color: ${(p) => clr(p.theme.datePickerSelectedDayColorText)};\n`;\n\nconst DayInRange = styled(Day)`\n background-color: ${(p) =>\n clr([\n ...p.theme.colorText.slice(0, 3),\n (p.theme.colorText[3] || 1) * 0.05,\n ] as Color)};\n`;\n\nconst firstDayOfWeekIndexesMap = {\n monday: [6, 0, 1, 2, 3, 4, 5],\n saturday: [1, 2, 3, 4, 5, 6, 0],\n sunday: [0, 1, 2, 3, 4, 5, 6],\n};\n\nconst DatePickerCalendar: React.FC<DatePickerCalendarProps> = ({\n firstDayOfWeek,\n locale,\n value,\n onSelect = () => {},\n}) => {\n const valueRef = useRef(value);\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n const onSelectRef = useRef(onSelect);\n useEffect(() => {\n onSelectRef.current = onSelect;\n }, [onSelect]);\n\n const { selectedMonth, updateMonth, days } = useDatePickerCalendar({\n value,\n firstDayOfWeek,\n });\n\n const getDayProps = useCallback<\n (date: Date) => HTMLAttributes<HTMLDivElement>\n >(\n (date: Date) => ({\n tabIndex: 0,\n role: 'button',\n 'aria-label': getAccessibilityDateLabel(date, locale),\n onClick: () => {\n onSelectRef.current(date);\n },\n onKeyDown: (e) => {\n if (['Enter', ' '].includes(e.key)) {\n onSelectRef.current(date);\n e.preventDefault();\n }\n },\n onMouseDown: (e) => e.preventDefault(),\n }),\n [locale]\n );\n\n return (\n <>\n <MonthContainer>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(-1)}\n aria-label={locale.prevMonthLabel}\n >\n <Left />\n </Button>\n <Month>\n {locale.months[selectedMonth.month]} {selectedMonth.year}\n </Month>\n <Button\n type='ghost'\n wide='never'\n size='small'\n onClick={() => updateMonth(1)}\n aria-label={locale.nextMonthLabel}\n >\n <Right />\n </Button>\n </MonthContainer>\n\n <Calendar>\n {Array(7)\n .fill(0)\n .map((_, index) => {\n const item = firstDayOfWeekIndexesMap[firstDayOfWeek][index];\n return <DayOfWeek key={item}>{item}</DayOfWeek>;\n })}\n\n {days.map(({ type, date }) => {\n if (type === 'dayAnotherMonth') {\n return (\n <DayAnotherMonth key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayAnotherMonth>\n );\n }\n if (type === 'selectedDay') {\n return (\n <SelectedDay key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </SelectedDay>\n );\n }\n if (type === 'dayInRange') {\n return (\n <DayInRange key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </DayInRange>\n );\n }\n if (type === 'today') {\n return (\n <Today key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Today>\n );\n }\n return (\n <Day key={date.toISOString()} {...getDayProps(date)}>\n {date.getDate()}\n </Day>\n );\n })}\n </Calendar>\n </>\n );\n};\n\nexport default DatePickerCalendar;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["styled","defaultLocale","getAccessibilityDateLabel","useFormattedValue","Down","Up","useIsMinWidth","ThemeOverrider","useForwardedRef","useForwardedState","useKeyPress","React","forwardRef","useCallback","useEffect","useMemo","useRef","useState","Button","Modal","Popover","ClearIcon","Placeholder","SelectContainer","Title","ToggleContent","ToggleIconContainer","ToggleLeftAddon","ToggleRightAddon","TimePicker","DatePickerCalendar","StyledPopover","p","theme","datePickerPadding","TimeContainer","div","Dash","baseHeight","StyledTimePicker","timePickerStyle","style","width","createDate","date","time","d","Date","setFullYear","getFullYear","setMonth","getMonth","setDate","getDate","setHours","setMinutes","getHours","getMinutes","DatePicker","left","leftHasPadding","right","rightHasPadding","placeholder","disabled","autoFocus","autoOpen","format","firstDayOfWeek","locale","showTime","timeNotation","range","value","defaultValue","onChange","onClose","onBlur","size","rest","ref","containerRef","mergedContainerRef","opened","setOpened","forwardedValue","setForwardedValue","current","focus","onCloseRef","formattedValue","closeHandler","window","undefined","isMinXs","blurHandler","e","valueIsSpecified","rightHasPaddingValue","rightValue","createElement","type","wide","onClick","stopPropagation","onKeyDown","includes","key","preventDefault","clearLabel","firstTimePickerRef","secondTimePickerRef","rangeStartedRef","changeHandler","prev","nextValue","Array","isArray","getTime","sort","a","b","calendarComponent","onSelect","v","tabOnInputComplete","target","selectionStart","from","nextTo","closeOnInputComplete","timeComponent","Fragment","notation","containerProps","onKeyUp","_extends","tabIndex","onMouseDown","role","overrides","t","buttonPaddingHorizontal","selectToggleListItemHeight","sizes","small","hasPadding","hasLeft","hasRight","trigger","placement","visible","title","header","footer","displayName"],"sources":["../../../src/DatePicker/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n defaultLocale,\n getAccessibilityDateLabel,\n useFormattedValue,\n} from '@os-design/date-picker-utils';\nimport { Down, Up } from '@os-design/icons';\nimport { useIsMinWidth } from '@os-design/media';\nimport { WithSize } from '@os-design/styles';\nimport { ThemeOverrider } from '@os-design/theming';\nimport {\n useForwardedRef,\n useForwardedState,\n useKeyPress,\n} from '@os-design/utils';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Button from '../Button';\nimport Modal from '../Modal';\nimport Popover from '../Popover';\nimport {\n ClearIcon,\n Placeholder,\n SelectContainer,\n Title,\n ToggleContent,\n ToggleIconContainer,\n ToggleLeftAddon,\n ToggleRightAddon,\n} from '../Select';\nimport TimePicker from '../TimePicker';\nimport DatePickerCalendar from './DatePickerCalendar';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\ninterface BaseDatePickerProps<T> extends JsxDivProps, WithSize {\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * Adds padding to the left component.\n * It can be useful when passing an icon or text in the left component.\n * @default false\n */\n leftHasPadding?: boolean;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Adds padding to the right component.\n * It can be useful when passing an icon or text in the right component.\n * @default false\n */\n rightHasPadding?: boolean;\n /**\n * The placeholder of the date picker.\n * @default undefined\n */\n placeholder?: string;\n /**\n * Whether the date picker is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the component have a focus.\n * @default false\n */\n autoFocus?: boolean;\n /**\n * Whether the component opens the popup calendar.\n * @default false\n */\n autoOpen?: boolean;\n /**\n * The format of the date.\n * @default undefined\n */\n format?: (value: T) => string;\n /**\n * The first day of the week.\n * @default sunday\n */\n firstDayOfWeek?: 'sunday' | 'monday';\n /**\n * The locale of the date picker.\n * @default undefined\n */\n locale?: DatePickerLocale;\n /**\n * Whether the time is shown.\n * @default false\n */\n showTime?: boolean;\n /**\n * The time notation.\n * @default 12-hour\n */\n timeNotation?: '12-hour' | '24-hour';\n /**\n * Selected date.\n * @default undefined\n */\n value?: T | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T | null) => void;\n /**\n * The event handler that is called whenever a popup closes.\n * @default undefined\n */\n onClose?: () => void;\n}\nexport interface DateNotRangePickerProps extends BaseDatePickerProps<Date> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range?: false;\n}\nexport interface DateRangePickerProps\n extends BaseDatePickerProps<[Date, Date]> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range: true;\n}\nexport type DatePickerProps = DateNotRangePickerProps | DateRangePickerProps;\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.datePickerPadding}em;\n`;\n\nconst TimeContainer = styled.div`\n display: flex;\n justify-content: center;\n margin-top: 0.5em;\n`;\n\nconst Dash = styled.div`\n margin: 0 0.5em;\n line-height: ${(p) => p.theme.baseHeight}em;\n`;\n\nconst StyledTimePicker = styled(TimePicker)`\n width: 2.5em;\n text-align: center;\n`;\n\nconst timePickerStyle = { style: { width: 'auto' } };\n\nconst createDate = (date: Date, time?: Date | null) => {\n const d = new Date(0);\n d.setFullYear(date.getFullYear());\n d.setMonth(date.getMonth());\n d.setDate(date.getDate());\n d.setHours(0);\n d.setMinutes(0);\n if (time) {\n d.setHours(time.getHours());\n d.setMinutes(time.getMinutes());\n }\n return d;\n};\n\n/**\n * The component to choose a date.\n */\nconst DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n left,\n leftHasPadding = false,\n right,\n rightHasPadding = false,\n placeholder,\n disabled = false,\n autoFocus = false,\n autoOpen = false,\n format,\n firstDayOfWeek = 'sunday',\n locale = defaultLocale,\n showTime = false,\n timeNotation = '12-hour',\n range = false,\n value,\n defaultValue,\n onChange,\n onClose = () => {},\n onBlur = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n const [opened, setOpened] = useState(autoOpen);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n useEffect(() => {\n if (autoFocus) containerRef.current?.focus();\n }, [autoFocus, containerRef]);\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (!opened) {\n onCloseRef.current();\n containerRef.current?.focus();\n }\n }, [containerRef, opened]);\n\n const formattedValue = useFormattedValue({\n forwardedValue,\n format,\n showTime,\n timeNotation,\n });\n\n const closeHandler = useCallback(() => {\n setOpened(false);\n }, []);\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n closeHandler\n );\n const isMinXs = useIsMinWidth('xs');\n\n const blurHandler = useCallback(\n (e) => {\n if (!opened) onBlur(e);\n },\n [onBlur, opened]\n );\n\n const valueIsSpecified = useMemo(\n () => formattedValue !== undefined && formattedValue !== null,\n [formattedValue]\n );\n\n const rightHasPaddingValue = useMemo(() => {\n if (valueIsSpecified) return false;\n return right ? rightHasPadding : true;\n }, [right, rightHasPadding, valueIsSpecified]);\n\n const rightValue = useMemo(() => {\n if (valueIsSpecified) {\n return (\n <div aria-hidden>\n <Button\n type='ghost'\n wide='never'\n size='small'\n disabled={disabled}\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setForwardedValue(null);\n if (!containerRef.current) return;\n containerRef.current.focus();\n e.preventDefault();\n e.stopPropagation();\n }\n }}\n aria-label={locale.clearLabel}\n >\n <ClearIcon />\n </Button>\n </div>\n );\n }\n return (\n right || (\n <ToggleIconContainer>\n {opened ? <Up /> : <Down />}\n </ToggleIconContainer>\n )\n );\n }, [\n containerRef,\n disabled,\n locale.clearLabel,\n opened,\n right,\n setForwardedValue,\n valueIsSpecified,\n ]);\n\n const firstTimePickerRef = useRef<HTMLInputElement>(null);\n const secondTimePickerRef = useRef<HTMLInputElement>(null);\n const rangeStartedRef = useRef(false);\n\n useEffect(() => {\n rangeStartedRef.current = false;\n }, [opened]);\n\n const changeHandler = useCallback(\n (date: Date) => {\n setForwardedValue((prev) => {\n if (!range) return createDate(date, prev);\n\n const d = createDate(date);\n const nextValue =\n prev && Array.isArray(prev) && rangeStartedRef.current\n ? [new Date(prev[0].getTime()), createDate(date, prev[1])]\n : [d, d];\n\n rangeStartedRef.current = !rangeStartedRef.current;\n return nextValue.sort(\n (a: Date, b: Date) => a.getTime() - b.getTime()\n );\n });\n },\n [range, setForwardedValue]\n );\n\n const calendarComponent = useMemo(\n () => (\n <DatePickerCalendar\n firstDayOfWeek={firstDayOfWeek}\n locale={locale}\n value={forwardedValue}\n onSelect={(v) => {\n changeHandler(v);\n firstTimePickerRef.current?.focus();\n if (!showTime && (!range || !rangeStartedRef.current)) {\n closeHandler();\n }\n }}\n />\n ),\n [\n changeHandler,\n closeHandler,\n firstDayOfWeek,\n forwardedValue,\n locale,\n range,\n showTime,\n ]\n );\n\n const tabOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n secondTimePickerRef.current?.focus();\n setForwardedValue(([from]) => {\n const nextTo = new Date(from.getTime());\n nextTo.setHours(nextTo.getHours() + 1);\n return [from, nextTo];\n });\n },\n [setForwardedValue]\n );\n\n const closeOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n closeHandler();\n },\n [closeHandler]\n );\n\n const timeComponent = useMemo(\n () =>\n showTime && forwardedValue ? (\n <TimeContainer>\n {Array.isArray(forwardedValue) ? (\n <>\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[0]}\n onChange={(v) => setForwardedValue([v, forwardedValue[1]])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={tabOnInputComplete}\n />\n <Dash>–</Dash>\n <StyledTimePicker\n ref={secondTimePickerRef}\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[1]}\n onChange={(v) => setForwardedValue([forwardedValue[0], v])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n </>\n ) : (\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue}\n onChange={setForwardedValue}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n )}\n </TimeContainer>\n ) : null,\n [\n closeOnInputComplete,\n disabled,\n forwardedValue,\n opened,\n setForwardedValue,\n showTime,\n tabOnInputComplete,\n timeNotation,\n ]\n );\n\n return (\n <>\n <SelectContainer\n opened={opened}\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onClick={() => {\n if (disabled) return;\n setOpened(!opened);\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setOpened(!opened);\n e.preventDefault();\n }\n }}\n onMouseDown={(e) => e.preventDefault()}\n onBlur={blurHandler}\n role='combobox'\n aria-label={\n forwardedValue\n ? getAccessibilityDateLabel(forwardedValue, locale)\n : undefined\n }\n aria-disabled={disabled}\n {...rest}\n ref={mergedContainerRef}\n >\n {left && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleLeftAddon hasPadding={leftHasPadding}>\n {left}\n </ToggleLeftAddon>\n </ThemeOverrider>\n )}\n\n <ToggleContent hasLeft={!!left} hasRight={!!right}>\n {valueIsSpecified ? (\n <Title disabled={disabled} aria-hidden>\n {formattedValue}\n </Title>\n ) : (\n <Placeholder>{placeholder}</Placeholder>\n )}\n </ToggleContent>\n\n {rightValue && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleRightAddon hasPadding={rightHasPaddingValue}>\n {rightValue}\n </ToggleRightAddon>\n </ThemeOverrider>\n )}\n </SelectContainer>\n\n {isMinXs ? (\n <StyledPopover\n trigger={containerRef}\n placement='bottom-start'\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </StyledPopover>\n ) : (\n <Modal\n title={placeholder}\n header={null}\n footer={null}\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </Modal>\n )}\n </>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n\nexport default DatePicker;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["styled","defaultLocale","getAccessibilityDateLabel","useFormattedValue","Down","Up","useIsMinWidth","ThemeOverrider","useForwardedRef","useForwardedState","useKeyPress","React","forwardRef","useCallback","useEffect","useMemo","useRef","useState","Button","Modal","Popover","ClearIcon","Placeholder","SelectContainer","Title","ToggleContent","ToggleIconContainer","ToggleLeftAddon","ToggleRightAddon","TimePicker","DatePickerCalendar","StyledPopover","p","theme","datePickerPadding","TimeContainer","div","Dash","baseHeight","StyledTimePicker","timePickerStyle","style","width","createDate","date","time","d","Date","setFullYear","getFullYear","setMonth","getMonth","setDate","getDate","setHours","setMinutes","getHours","getMinutes","DatePicker","left","leftHasPadding","right","rightHasPadding","placeholder","disabled","autoFocus","autoOpen","format","firstDayOfWeek","locale","showTime","timeNotation","range","value","defaultValue","onChange","onClose","onBlur","size","rest","ref","containerRef","mergedContainerRef","opened","setOpened","forwardedValue","setForwardedValue","current","focus","onCloseRef","formattedValue","closeHandler","window","undefined","isMinXs","blurHandler","e","valueIsSpecified","rightHasPaddingValue","rightValue","createElement","type","wide","onClick","stopPropagation","onKeyDown","includes","key","preventDefault","clearLabel","firstTimePickerRef","secondTimePickerRef","rangeStartedRef","changeHandler","prev","nextValue","Array","isArray","getTime","sort","a","b","calendarComponent","onSelect","v","tabOnInputComplete","target","selectionStart","from","nextTo","closeOnInputComplete","timeComponent","Fragment","notation","containerProps","onKeyUp","_extends","tabIndex","onMouseDown","role","overrides","t","buttonPaddingHorizontal","selectToggleListItemHeight","sizes","small","hasPadding","hasLeft","hasRight","trigger","placement","visible","title","header","footer","displayName"],"sources":["../../../src/DatePicker/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n DatePickerLocale,\n defaultLocale,\n getAccessibilityDateLabel,\n useFormattedValue,\n} from '@os-design/date-picker-utils';\nimport { Down, Up } from '@os-design/icons';\nimport { useIsMinWidth } from '@os-design/media';\nimport { WithSize } from '@os-design/styles';\nimport { ThemeOverrider } from '@os-design/theming';\nimport {\n useForwardedRef,\n useForwardedState,\n useKeyPress,\n} from '@os-design/utils';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Button from '../Button';\nimport Modal from '../Modal';\nimport Popover from '../Popover';\nimport {\n ClearIcon,\n Placeholder,\n SelectContainer,\n Title,\n ToggleContent,\n ToggleIconContainer,\n ToggleLeftAddon,\n ToggleRightAddon,\n} from '../Select';\nimport TimePicker from '../TimePicker';\nimport DatePickerCalendar from './DatePickerCalendar';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\ninterface BaseDatePickerProps<T> extends JsxDivProps, WithSize {\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * Adds padding to the left component.\n * It can be useful when passing an icon or text in the left component.\n * @default false\n */\n leftHasPadding?: boolean;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Adds padding to the right component.\n * It can be useful when passing an icon or text in the right component.\n * @default false\n */\n rightHasPadding?: boolean;\n /**\n * The placeholder of the date picker.\n * @default undefined\n */\n placeholder?: string;\n /**\n * Whether the date picker is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the component have a focus.\n * @default false\n */\n autoFocus?: boolean;\n /**\n * Whether the component opens the popup calendar.\n * @default false\n */\n autoOpen?: boolean;\n /**\n * The format of the date.\n * @default undefined\n */\n format?: (value: T) => string;\n /**\n * The first day of the week.\n * @default sunday\n */\n firstDayOfWeek?: 'monday' | 'saturday' | 'sunday';\n /**\n * The locale of the date picker.\n * @default undefined\n */\n locale?: DatePickerLocale;\n /**\n * Whether the time is shown.\n * @default false\n */\n showTime?: boolean;\n /**\n * The time notation.\n * @default 12-hour\n */\n timeNotation?: '12-hour' | '24-hour';\n /**\n * Selected date.\n * @default undefined\n */\n value?: T | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T | null) => void;\n /**\n * The event handler that is called whenever a popup closes.\n * @default undefined\n */\n onClose?: () => void;\n}\nexport interface DateNotRangePickerProps extends BaseDatePickerProps<Date> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range?: false;\n}\nexport interface DateRangePickerProps\n extends BaseDatePickerProps<[Date, Date]> {\n /**\n * Whether the value is a range.\n * @default false\n */\n range: true;\n}\nexport type DatePickerProps = DateNotRangePickerProps | DateRangePickerProps;\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.datePickerPadding}em;\n`;\n\nconst TimeContainer = styled.div`\n display: flex;\n justify-content: center;\n margin-top: 0.5em;\n`;\n\nconst Dash = styled.div`\n margin: 0 0.5em;\n line-height: ${(p) => p.theme.baseHeight}em;\n`;\n\nconst StyledTimePicker = styled(TimePicker)`\n width: 2.5em;\n text-align: center;\n`;\n\nconst timePickerStyle = { style: { width: 'auto' } };\n\nconst createDate = (date: Date, time?: Date | null) => {\n const d = new Date(0);\n d.setFullYear(date.getFullYear());\n d.setMonth(date.getMonth());\n d.setDate(date.getDate());\n d.setHours(0);\n d.setMinutes(0);\n if (time) {\n d.setHours(time.getHours());\n d.setMinutes(time.getMinutes());\n }\n return d;\n};\n\n/**\n * The component to choose a date.\n */\nconst DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n left,\n leftHasPadding = false,\n right,\n rightHasPadding = false,\n placeholder,\n disabled = false,\n autoFocus = false,\n autoOpen = false,\n format,\n firstDayOfWeek = 'sunday',\n locale = defaultLocale,\n showTime = false,\n timeNotation = '12-hour',\n range = false,\n value,\n defaultValue,\n onChange,\n onClose = () => {},\n onBlur = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n const [opened, setOpened] = useState(autoOpen);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n useEffect(() => {\n if (autoFocus) containerRef.current?.focus();\n }, [autoFocus, containerRef]);\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (!opened) {\n onCloseRef.current();\n containerRef.current?.focus();\n }\n }, [containerRef, opened]);\n\n const formattedValue = useFormattedValue({\n forwardedValue,\n format,\n showTime,\n timeNotation,\n });\n\n const closeHandler = useCallback(() => {\n setOpened(false);\n }, []);\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n closeHandler\n );\n const isMinXs = useIsMinWidth('xs');\n\n const blurHandler = useCallback(\n (e) => {\n if (!opened) onBlur(e);\n },\n [onBlur, opened]\n );\n\n const valueIsSpecified = useMemo(\n () => formattedValue !== undefined && formattedValue !== null,\n [formattedValue]\n );\n\n const rightHasPaddingValue = useMemo(() => {\n if (valueIsSpecified) return false;\n return right ? rightHasPadding : true;\n }, [right, rightHasPadding, valueIsSpecified]);\n\n const rightValue = useMemo(() => {\n if (valueIsSpecified) {\n return (\n <div aria-hidden>\n <Button\n type='ghost'\n wide='never'\n size='small'\n disabled={disabled}\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setForwardedValue(null);\n if (!containerRef.current) return;\n containerRef.current.focus();\n e.preventDefault();\n e.stopPropagation();\n }\n }}\n aria-label={locale.clearLabel}\n >\n <ClearIcon />\n </Button>\n </div>\n );\n }\n return (\n right || (\n <ToggleIconContainer>\n {opened ? <Up /> : <Down />}\n </ToggleIconContainer>\n )\n );\n }, [\n containerRef,\n disabled,\n locale.clearLabel,\n opened,\n right,\n setForwardedValue,\n valueIsSpecified,\n ]);\n\n const firstTimePickerRef = useRef<HTMLInputElement>(null);\n const secondTimePickerRef = useRef<HTMLInputElement>(null);\n const rangeStartedRef = useRef(false);\n\n useEffect(() => {\n rangeStartedRef.current = false;\n }, [opened]);\n\n const changeHandler = useCallback(\n (date: Date) => {\n setForwardedValue((prev) => {\n if (!range) return createDate(date, prev);\n\n const d = createDate(date);\n const nextValue =\n prev && Array.isArray(prev) && rangeStartedRef.current\n ? [new Date(prev[0].getTime()), createDate(date, prev[1])]\n : [d, d];\n\n rangeStartedRef.current = !rangeStartedRef.current;\n return nextValue.sort(\n (a: Date, b: Date) => a.getTime() - b.getTime()\n );\n });\n },\n [range, setForwardedValue]\n );\n\n const calendarComponent = useMemo(\n () => (\n <DatePickerCalendar\n firstDayOfWeek={firstDayOfWeek}\n locale={locale}\n value={forwardedValue}\n onSelect={(v) => {\n changeHandler(v);\n firstTimePickerRef.current?.focus();\n if (!showTime && (!range || !rangeStartedRef.current)) {\n closeHandler();\n }\n }}\n />\n ),\n [\n changeHandler,\n closeHandler,\n firstDayOfWeek,\n forwardedValue,\n locale,\n range,\n showTime,\n ]\n );\n\n const tabOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n secondTimePickerRef.current?.focus();\n setForwardedValue(([from]) => {\n const nextTo = new Date(from.getTime());\n nextTo.setHours(nextTo.getHours() + 1);\n return [from, nextTo];\n });\n },\n [setForwardedValue]\n );\n\n const closeOnInputComplete = useCallback(\n (e) => {\n if (e.target.selectionStart < 5) return;\n closeHandler();\n },\n [closeHandler]\n );\n\n const timeComponent = useMemo(\n () =>\n showTime && forwardedValue ? (\n <TimeContainer>\n {Array.isArray(forwardedValue) ? (\n <>\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[0]}\n onChange={(v) => setForwardedValue([v, forwardedValue[1]])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={tabOnInputComplete}\n />\n <Dash>–</Dash>\n <StyledTimePicker\n ref={secondTimePickerRef}\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue[1]}\n onChange={(v) => setForwardedValue([forwardedValue[0], v])}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n </>\n ) : (\n <StyledTimePicker\n ref={firstTimePickerRef}\n autoFocus\n disabled={disabled}\n notation={timeNotation}\n containerProps={timePickerStyle}\n value={forwardedValue}\n onChange={setForwardedValue}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter') {\n setOpened(!opened);\n }\n }}\n onKeyUp={closeOnInputComplete}\n />\n )}\n </TimeContainer>\n ) : null,\n [\n closeOnInputComplete,\n disabled,\n forwardedValue,\n opened,\n setForwardedValue,\n showTime,\n tabOnInputComplete,\n timeNotation,\n ]\n );\n\n return (\n <>\n <SelectContainer\n opened={opened}\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onClick={() => {\n if (disabled) return;\n setOpened(!opened);\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setOpened(!opened);\n e.preventDefault();\n }\n }}\n onMouseDown={(e) => e.preventDefault()}\n onBlur={blurHandler}\n role='combobox'\n aria-label={\n forwardedValue\n ? getAccessibilityDateLabel(forwardedValue, locale)\n : undefined\n }\n aria-disabled={disabled}\n {...rest}\n ref={mergedContainerRef}\n >\n {left && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleLeftAddon hasPadding={leftHasPadding}>\n {left}\n </ToggleLeftAddon>\n </ThemeOverrider>\n )}\n\n <ToggleContent hasLeft={!!left} hasRight={!!right}>\n {valueIsSpecified ? (\n <Title disabled={disabled} aria-hidden>\n {formattedValue}\n </Title>\n ) : (\n <Placeholder>{placeholder}</Placeholder>\n )}\n </ToggleContent>\n\n {rightValue && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: 0.8,\n baseHeight: t.selectToggleListItemHeight / t.sizes.small,\n })}\n >\n <ToggleRightAddon hasPadding={rightHasPaddingValue}>\n {rightValue}\n </ToggleRightAddon>\n </ThemeOverrider>\n )}\n </SelectContainer>\n\n {isMinXs ? (\n <StyledPopover\n trigger={containerRef}\n placement='bottom-start'\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </StyledPopover>\n ) : (\n <Modal\n title={placeholder}\n header={null}\n footer={null}\n visible={opened}\n onClose={closeHandler}\n size={size}\n >\n {calendarComponent}\n {timeComponent}\n </Modal>\n )}\n </>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n\nexport default DatePicker;\n"],"mappings":"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"}
|
|
@@ -52,7 +52,8 @@ const Container = styled('div', omitEmotionProps('type', 'textColor', 'backgroun
|
|
|
52
52
|
pointer-events: auto;
|
|
53
53
|
overflow: hidden;
|
|
54
54
|
|
|
55
|
-
animation:
|
|
55
|
+
animation:
|
|
56
|
+
${fadeIn} ${p => p.transitionDelay}ms,
|
|
56
57
|
${fadeOut} ${p => p.transitionDelay}ms
|
|
57
58
|
${p => MESSAGE_DURATION_MS - p.transitionDelay}ms;
|
|
58
59
|
animation-fill-mode: forwards;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","names":["keyframes","styled","ellipsisStyles","clr","light","omitEmotionProps","React","forwardRef","AlertIcon","fadeIn","MESSAGE_HEIGHT_EM","MESSAGE_MARGIN_TOP_EM","MESSAGE_DURATION_MS","fadeOut","Container","p","backgroundColor","textColor","transitionDelay","Text","span","Message","type","text","ref","info","messageInfoColorBg","success","messageSuccessColorBg","error","messageErrorColorBg","createElement","colorText","role","displayName"],"sources":["../../../src/message/Message.tsx"],"sourcesContent":["import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr, Color, light } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport AlertIcon from './AlertIcon';\n\nexport interface MessageProps {\n type: 'info' | 'success' | 'error';\n text: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(-100%);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst MESSAGE_HEIGHT_EM = 2.5;\nconst MESSAGE_MARGIN_TOP_EM = 0.7;\nexport const MESSAGE_DURATION_MS = 3000;\n\nconst fadeOut = keyframes`\n from {\n opacity: 1;\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n height: 0;\n margin-top: 0;\n transform: translateY(-100%);\n }\n`;\n\ninterface ContainerProps extends Pick<MessageProps, 'type'> {\n textColor: Color;\n backgroundColor: Color;\n transitionDelay: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'textColor', 'backgroundColor', 'transitionDelay')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ${(p) => clr(p.backgroundColor)};\n color: ${(p) => clr(p.textColor)};\n\n pointer-events: auto;\n overflow: hidden;\n\n animation
|
|
1
|
+
{"version":3,"file":"Message.js","names":["keyframes","styled","ellipsisStyles","clr","light","omitEmotionProps","React","forwardRef","AlertIcon","fadeIn","MESSAGE_HEIGHT_EM","MESSAGE_MARGIN_TOP_EM","MESSAGE_DURATION_MS","fadeOut","Container","p","backgroundColor","textColor","transitionDelay","Text","span","Message","type","text","ref","info","messageInfoColorBg","success","messageSuccessColorBg","error","messageErrorColorBg","createElement","colorText","role","displayName"],"sources":["../../../src/message/Message.tsx"],"sourcesContent":["import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr, Color, light } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport AlertIcon from './AlertIcon';\n\nexport interface MessageProps {\n type: 'info' | 'success' | 'error';\n text: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(-100%);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst MESSAGE_HEIGHT_EM = 2.5;\nconst MESSAGE_MARGIN_TOP_EM = 0.7;\nexport const MESSAGE_DURATION_MS = 3000;\n\nconst fadeOut = keyframes`\n from {\n opacity: 1;\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n height: 0;\n margin-top: 0;\n transform: translateY(-100%);\n }\n`;\n\ninterface ContainerProps extends Pick<MessageProps, 'type'> {\n textColor: Color;\n backgroundColor: Color;\n transitionDelay: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'textColor', 'backgroundColor', 'transitionDelay')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ${(p) => clr(p.backgroundColor)};\n color: ${(p) => clr(p.textColor)};\n\n pointer-events: auto;\n overflow: hidden;\n\n animation:\n ${fadeIn} ${(p) => p.transitionDelay}ms,\n ${fadeOut} ${(p) => p.transitionDelay}ms\n ${(p) => MESSAGE_DURATION_MS - p.transitionDelay}ms;\n animation-fill-mode: forwards;\n`;\n\nconst Text = styled.span`\n ${ellipsisStyles};\n`;\n\nconst Message = forwardRef<HTMLDivElement, MessageProps>(\n ({ type, text }, ref) => {\n const backgroundColor = {\n info: light.messageInfoColorBg,\n success: light.messageSuccessColorBg,\n error: light.messageErrorColorBg,\n }[type];\n\n return (\n <Container\n ref={ref}\n type={type}\n textColor={light.colorText}\n backgroundColor={backgroundColor}\n transitionDelay={light.transitionDelay}\n role='alert'\n >\n <AlertIcon type={type} />\n <Text>{text}</Text>\n </Container>\n );\n }\n);\n\nMessage.displayName = 'Message';\n\nexport default Message;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,gBAAgB;AAC1C,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,GAAG,EAASC,KAAK,QAAQ,oBAAoB;AACtD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,aAAa;AAOnC,MAAMC,MAAM,GAAGT,SAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMU,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,qBAAqB,GAAG,GAAG;AACjC,OAAO,MAAMC,mBAAmB,GAAG,IAAI;AAEvC,MAAMC,OAAO,GAAGb,SAAU;AAC1B;AACA;AACA,cAAcU,iBAAkB;AAChC,kBAAkBC,qBAAsB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAOD,MAAMG,SAAS,GAAGb,MAAM,CACtB,KAAK,EACLI,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,CAC5E,CAAkB;AAClB;AACA;AACA;AACA;AACA,YAAYK,iBAAkB;AAC9B,gBAAgBC,qBAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAuBI,CAAC,IAAKZ,GAAG,CAACY,CAAC,CAACC,eAAe,CAAE;AACpD,WAAYD,CAAC,IAAKZ,GAAG,CAACY,CAAC,CAACE,SAAS,CAAE;AACnC;AACA;AACA;AACA;AACA;AACA,MAAMR,MAAO,IAAIM,CAAC,IAAKA,CAAC,CAACG,eAAgB;AACzC,MAAML,OAAQ,IAAIE,CAAC,IAAKA,CAAC,CAACG,eAAgB;AAC1C,QAASH,CAAC,IAAKH,mBAAmB,GAAGG,CAAC,CAACG,eAAgB;AACvD;AACA,CAAC;AAED,MAAMC,IAAI,GAAGlB,MAAM,CAACmB,IAAK;AACzB,IAAIlB,cAAe;AACnB,CAAC;AAED,MAAMmB,OAAO,gBAAGd,UAAU,CACxB,CAAC;EAAEe,IAAI;EAAEC;AAAK,CAAC,EAAEC,GAAG,KAAK;EACvB,MAAMR,eAAe,GAAG;IACtBS,IAAI,EAAErB,KAAK,CAACsB,kBAAkB;IAC9BC,OAAO,EAAEvB,KAAK,CAACwB,qBAAqB;IACpCC,KAAK,EAAEzB,KAAK,CAAC0B;EACf,CAAC,CAACR,IAAI,CAAC;EAEP,oBACEhB,KAAA,CAAAyB,aAAA,CAACjB,SAAS;IACRU,GAAG,EAAEA,GAAI;IACTF,IAAI,EAAEA,IAAK;IACXL,SAAS,EAAEb,KAAK,CAAC4B,SAAU;IAC3BhB,eAAe,EAAEA,eAAgB;IACjCE,eAAe,EAAEd,KAAK,CAACc,eAAgB;IACvCe,IAAI,EAAC;EAAO,gBAEZ3B,KAAA,CAAAyB,aAAA,CAACvB,SAAS;IAACc,IAAI,EAAEA;EAAK,CAAE,CAAC,eACzBhB,KAAA,CAAAyB,aAAA,CAACZ,IAAI,QAAEI,IAAW,CACT,CAAC;AAEhB,CACF,CAAC;AAEDF,OAAO,CAACa,WAAW,GAAG,SAAS;AAE/B,eAAeb,OAAO"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DatePickerLocale } from '@os-design/date-picker-utils';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
interface DatePickerCalendarProps {
|
|
4
|
-
firstDayOfWeek: '
|
|
4
|
+
firstDayOfWeek: 'monday' | 'saturday' | 'sunday';
|
|
5
5
|
locale: DatePickerLocale;
|
|
6
6
|
value?: Date | [Date, Date] | null;
|
|
7
7
|
onSelect?: (value: Date) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerCalendar.d.ts","sourceRoot":"","sources":["../../../src/DatePicker/DatePickerCalendar.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,UAAU,uBAAuB;IAC/B,cAAc,EAAE,QAAQ,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePickerCalendar.d.ts","sourceRoot":"","sources":["../../../src/DatePicker/DatePickerCalendar.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,UAAU,uBAAuB;IAC/B,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;CAClC;AAuFD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkHzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -12,7 +12,7 @@ interface BaseDatePickerProps<T> extends JsxDivProps, WithSize {
|
|
|
12
12
|
autoFocus?: boolean;
|
|
13
13
|
autoOpen?: boolean;
|
|
14
14
|
format?: (value: T) => string;
|
|
15
|
-
firstDayOfWeek?: '
|
|
15
|
+
firstDayOfWeek?: 'monday' | 'saturday' | 'sunday';
|
|
16
16
|
locale?: DatePickerLocale;
|
|
17
17
|
showTime?: boolean;
|
|
18
18
|
timeNotation?: '12-hour' | '24-hour';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DatePicker/index.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,OAAO,KAON,MAAM,OAAO,CAAC;AAiBf,KAAK,WAAW,GAAG,IAAI,CACrB,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC5B,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,KAAK,CAC9C,CAAC;AACF,UAAU,mBAAmB,CAAC,CAAC,CAAE,SAAQ,WAAW,EAAE,QAAQ;IAK5D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAK9B,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DatePicker/index.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,OAAO,KAON,MAAM,OAAO,CAAC;AAiBf,KAAK,WAAW,GAAG,IAAI,CACrB,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC5B,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,KAAK,CAC9C,CAAC;AACF,UAAU,mBAAmB,CAAC,CAAC,CAAE,SAAQ,WAAW,EAAE,QAAQ;IAK5D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAK9B,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAKlD,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAK1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,YAAY,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAKrC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAKjB,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAKxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAKrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AACD,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB,CAAC,IAAI,CAAC;IAKxE,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AACD,MAAM,WAAW,oBACf,SAAQ,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAKzC,KAAK,EAAE,IAAI,CAAC;CACb;AACD,MAAM,MAAM,eAAe,GAAG,uBAAuB,GAAG,oBAAoB,CAAC;AAyC7E,QAAA,MAAM,UAAU,wFAsXf,CAAC;AAIF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/message/Message.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAeD,eAAO,MAAM,mBAAmB,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/message/Message.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAeD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAwDxC,QAAA,MAAM,OAAO,qFAsBZ,CAAC;AAIF,eAAe,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os-design/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.215",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"repository": "git@gitlab.com:os-team/libs/os-design.git",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@os-design/date-picker-utils": "^1.0.
|
|
34
|
-
"@os-design/icons": "^1.0.
|
|
33
|
+
"@os-design/date-picker-utils": "^1.0.23",
|
|
34
|
+
"@os-design/icons": "^1.0.55",
|
|
35
35
|
"@os-design/input-number-utils": "^1.0.29",
|
|
36
36
|
"@os-design/media": "^1.0.24",
|
|
37
37
|
"@os-design/menu-utils": "^1.0.20",
|
|
38
38
|
"@os-design/portal": "^1.0.16",
|
|
39
|
-
"@os-design/styles": "^1.0.
|
|
39
|
+
"@os-design/styles": "^1.0.52",
|
|
40
40
|
"@os-design/theming": "^1.0.49",
|
|
41
41
|
"@os-design/time-picker-utils": "^1.0.13",
|
|
42
|
-
"@os-design/utils": "^1.0.
|
|
42
|
+
"@os-design/utils": "^1.0.69",
|
|
43
43
|
"@os-team/password-score": "^1.0.5",
|
|
44
44
|
"facepaint": "^1.2.1",
|
|
45
45
|
"react-focus-lock": "^2.9.5",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"react": ">=18",
|
|
60
60
|
"react-dom": ">=18"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "6b63f712ae05bd98c00f59b868ac782f3475dc99"
|
|
63
63
|
}
|
|
@@ -15,7 +15,7 @@ import React, { HTMLAttributes, useCallback, useEffect, useRef } from 'react';
|
|
|
15
15
|
import Button from '../Button';
|
|
16
16
|
|
|
17
17
|
interface DatePickerCalendarProps {
|
|
18
|
-
firstDayOfWeek: '
|
|
18
|
+
firstDayOfWeek: 'monday' | 'saturday' | 'sunday';
|
|
19
19
|
locale: DatePickerLocale;
|
|
20
20
|
value?: Date | [Date, Date] | null;
|
|
21
21
|
onSelect?: (value: Date) => void;
|
|
@@ -100,6 +100,12 @@ const DayInRange = styled(Day)`
|
|
|
100
100
|
] as Color)};
|
|
101
101
|
`;
|
|
102
102
|
|
|
103
|
+
const firstDayOfWeekIndexesMap = {
|
|
104
|
+
monday: [6, 0, 1, 2, 3, 4, 5],
|
|
105
|
+
saturday: [1, 2, 3, 4, 5, 6, 0],
|
|
106
|
+
sunday: [0, 1, 2, 3, 4, 5, 6],
|
|
107
|
+
};
|
|
108
|
+
|
|
103
109
|
const DatePickerCalendar: React.FC<DatePickerCalendarProps> = ({
|
|
104
110
|
firstDayOfWeek,
|
|
105
111
|
locale,
|
|
@@ -169,12 +175,12 @@ const DatePickerCalendar: React.FC<DatePickerCalendarProps> = ({
|
|
|
169
175
|
</MonthContainer>
|
|
170
176
|
|
|
171
177
|
<Calendar>
|
|
172
|
-
{(
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
+
{Array(7)
|
|
179
|
+
.fill(0)
|
|
180
|
+
.map((_, index) => {
|
|
181
|
+
const item = firstDayOfWeekIndexesMap[firstDayOfWeek][index];
|
|
182
|
+
return <DayOfWeek key={item}>{item}</DayOfWeek>;
|
|
183
|
+
})}
|
|
178
184
|
|
|
179
185
|
{days.map(({ type, date }) => {
|
|
180
186
|
if (type === 'dayAnotherMonth') {
|
package/src/DatePicker/index.tsx
CHANGED
|
@@ -94,7 +94,7 @@ interface BaseDatePickerProps<T> extends JsxDivProps, WithSize {
|
|
|
94
94
|
* The first day of the week.
|
|
95
95
|
* @default sunday
|
|
96
96
|
*/
|
|
97
|
-
firstDayOfWeek?: '
|
|
97
|
+
firstDayOfWeek?: 'monday' | 'saturday' | 'sunday';
|
|
98
98
|
/**
|
|
99
99
|
* The locale of the date picker.
|
|
100
100
|
* @default undefined
|
package/src/message/Message.tsx
CHANGED
|
@@ -69,7 +69,8 @@ const Container = styled(
|
|
|
69
69
|
pointer-events: auto;
|
|
70
70
|
overflow: hidden;
|
|
71
71
|
|
|
72
|
-
animation:
|
|
72
|
+
animation:
|
|
73
|
+
${fadeIn} ${(p) => p.transitionDelay}ms,
|
|
73
74
|
${fadeOut} ${(p) => p.transitionDelay}ms
|
|
74
75
|
${(p) => MESSAGE_DURATION_MS - p.transitionDelay}ms;
|
|
75
76
|
animation-fill-mode: forwards;
|