matsuri-ui 17.1.4-alpha-1756105889243-c6b2c2b.0 → 17.1.4-alpha-1757125392380-4e711e3.0
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/CalendarController/CalendarController.js +4 -4
- package/CalendarController/CalendarController.js.map +1 -1
- package/CalendarLabel/CalendarLabel.js +1 -2
- package/CalendarLabel/CalendarLabel.js.map +1 -1
- package/Layouts/index.d.ts +0 -2
- package/Layouts/index.js +1 -4
- package/Layouts/index.js.map +1 -1
- package/Pagination/usePaginationIndex.d.ts +0 -4
- package/Pagination/usePaginationIndex.js +0 -5
- package/Pagination/usePaginationIndex.js.map +1 -1
- package/RadioButton/RadioButtonGroup.js +1 -1
- package/RadioButton/RadioButtonGroup.js.map +1 -1
- package/SelectField/SelectField.d.ts +1 -1
- package/SelectField/SelectField.js +6 -6
- package/SelectField/SelectField.js.map +1 -1
- package/{SearchField → SelectField}/useSearch.js.map +1 -1
- package/Timeline/Timeline.d.ts +1 -6
- package/Timeline/Timeline.js +5 -6
- package/Timeline/Timeline.js.map +1 -1
- package/Tooltip/Tooltip.js +5 -5
- package/Tooltip/Tooltip.js.map +1 -1
- package/WeeklyCalendarUI/WeeklyCalendarUI.js +3 -3
- package/WeeklyCalendarUI/WeeklyCalendarUI.js.map +1 -1
- package/cjs/CalendarController/CalendarController.js +4 -4
- package/cjs/CalendarController/CalendarController.js.map +1 -1
- package/cjs/CalendarLabel/CalendarLabel.js +1 -2
- package/cjs/CalendarLabel/CalendarLabel.js.map +1 -1
- package/cjs/Layouts/index.js +1 -9
- package/cjs/Layouts/index.js.map +1 -1
- package/cjs/Pagination/usePaginationIndex.js +1 -6
- package/cjs/Pagination/usePaginationIndex.js.map +1 -1
- package/cjs/RadioButton/RadioButtonGroup.js +1 -1
- package/cjs/RadioButton/RadioButtonGroup.js.map +1 -1
- package/cjs/SelectField/SelectField.js +6 -6
- package/cjs/SelectField/SelectField.js.map +1 -1
- package/cjs/{SearchField → SelectField}/useSearch.js.map +1 -1
- package/cjs/Timeline/Timeline.js +4 -5
- package/cjs/Timeline/Timeline.js.map +1 -1
- package/cjs/Tooltip/Tooltip.js +5 -5
- package/cjs/Tooltip/Tooltip.js.map +1 -1
- package/cjs/WeeklyCalendarUI/WeeklyCalendarUI.js +3 -3
- package/cjs/WeeklyCalendarUI/WeeklyCalendarUI.js.map +1 -1
- package/cjs/index.js +0 -28
- package/cjs/index.js.map +1 -1
- package/esm/CalendarController/CalendarController.js +4 -4
- package/esm/CalendarController/CalendarController.js.map +1 -1
- package/esm/CalendarLabel/CalendarLabel.js +1 -2
- package/esm/CalendarLabel/CalendarLabel.js.map +1 -1
- package/esm/Layouts/index.js +1 -4
- package/esm/Layouts/index.js.map +1 -1
- package/esm/Pagination/usePaginationIndex.js +0 -5
- package/esm/Pagination/usePaginationIndex.js.map +1 -1
- package/esm/RadioButton/RadioButtonGroup.js +1 -1
- package/esm/RadioButton/RadioButtonGroup.js.map +1 -1
- package/esm/SelectField/SelectField.js +6 -6
- package/esm/SelectField/SelectField.js.map +1 -1
- package/esm/{SearchField → SelectField}/useSearch.js.map +1 -1
- package/esm/Timeline/Timeline.js +5 -6
- package/esm/Timeline/Timeline.js.map +1 -1
- package/esm/Tooltip/Tooltip.js +5 -5
- package/esm/Tooltip/Tooltip.js.map +1 -1
- package/esm/WeeklyCalendarUI/WeeklyCalendarUI.js +3 -3
- package/esm/WeeklyCalendarUI/WeeklyCalendarUI.js.map +1 -1
- package/esm/index.js +0 -4
- package/esm/index.js.map +1 -1
- package/index.d.ts +0 -4
- package/index.js +0 -4
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/types/Layouts/index.d.ts +0 -2
- package/types/Pagination/usePaginationIndex.d.ts +0 -4
- package/types/SelectField/SelectField.d.ts +1 -1
- package/types/Timeline/Timeline.d.ts +1 -6
- package/types/index.d.ts +0 -4
- package/Layouts/Item.d.ts +0 -6
- package/Layouts/Item.js +0 -9
- package/Layouts/Item.js.map +0 -1
- package/Mobile/MobileHeader.d.ts +0 -24
- package/Mobile/MobileHeader.js +0 -78
- package/Mobile/MobileHeader.js.map +0 -1
- package/Mobile/MobilePage.d.ts +0 -8
- package/Mobile/MobilePage.js +0 -31
- package/Mobile/MobilePage.js.map +0 -1
- package/Mobile/index.d.ts +0 -3
- package/Mobile/index.js +0 -4
- package/Mobile/index.js.map +0 -1
- package/Mobile/useMobile.d.ts +0 -38
- package/Mobile/useMobile.js +0 -109
- package/Mobile/useMobile.js.map +0 -1
- package/SearchField/SearchField.d.ts +0 -15
- package/SearchField/SearchField.js +0 -38
- package/SearchField/SearchField.js.map +0 -1
- package/SearchField/index.d.ts +0 -1
- package/SearchField/index.js +0 -2
- package/SearchField/index.js.map +0 -1
- package/SelectAsyncSearchField/SelectAsyncSearchField.d.ts +0 -14
- package/SelectAsyncSearchField/SelectAsyncSearchField.js +0 -42
- package/SelectAsyncSearchField/SelectAsyncSearchField.js.map +0 -1
- package/SelectAsyncSearchField/index.d.ts +0 -1
- package/SelectAsyncSearchField/index.js +0 -2
- package/SelectAsyncSearchField/index.js.map +0 -1
- package/SelectSearchField/SelectSearchField.d.ts +0 -16
- package/SelectSearchField/SelectSearchField.js +0 -54
- package/SelectSearchField/SelectSearchField.js.map +0 -1
- package/SelectSearchField/index.d.ts +0 -1
- package/SelectSearchField/index.js +0 -2
- package/SelectSearchField/index.js.map +0 -1
- package/cjs/Layouts/Item.js +0 -15
- package/cjs/Layouts/Item.js.map +0 -1
- package/cjs/Mobile/MobileHeader.js +0 -81
- package/cjs/Mobile/MobileHeader.js.map +0 -1
- package/cjs/Mobile/MobilePage.js +0 -38
- package/cjs/Mobile/MobilePage.js.map +0 -1
- package/cjs/Mobile/index.js +0 -22
- package/cjs/Mobile/index.js.map +0 -1
- package/cjs/Mobile/useMobile.js +0 -119
- package/cjs/Mobile/useMobile.js.map +0 -1
- package/cjs/SearchField/SearchField.js +0 -41
- package/cjs/SearchField/SearchField.js.map +0 -1
- package/cjs/SearchField/index.js +0 -10
- package/cjs/SearchField/index.js.map +0 -1
- package/cjs/SelectAsyncSearchField/SelectAsyncSearchField.js +0 -38
- package/cjs/SelectAsyncSearchField/SelectAsyncSearchField.js.map +0 -1
- package/cjs/SelectAsyncSearchField/index.js +0 -10
- package/cjs/SelectAsyncSearchField/index.js.map +0 -1
- package/cjs/SelectSearchField/SelectSearchField.js +0 -58
- package/cjs/SelectSearchField/SelectSearchField.js.map +0 -1
- package/cjs/SelectSearchField/index.js +0 -10
- package/cjs/SelectSearchField/index.js.map +0 -1
- package/esm/Layouts/Item.js +0 -9
- package/esm/Layouts/Item.js.map +0 -1
- package/esm/Mobile/MobileHeader.js +0 -78
- package/esm/Mobile/MobileHeader.js.map +0 -1
- package/esm/Mobile/MobilePage.js +0 -31
- package/esm/Mobile/MobilePage.js.map +0 -1
- package/esm/Mobile/index.js +0 -4
- package/esm/Mobile/index.js.map +0 -1
- package/esm/Mobile/useMobile.js +0 -109
- package/esm/Mobile/useMobile.js.map +0 -1
- package/esm/SearchField/SearchField.js +0 -38
- package/esm/SearchField/SearchField.js.map +0 -1
- package/esm/SearchField/index.js +0 -2
- package/esm/SearchField/index.js.map +0 -1
- package/esm/SelectAsyncSearchField/SelectAsyncSearchField.js +0 -42
- package/esm/SelectAsyncSearchField/SelectAsyncSearchField.js.map +0 -1
- package/esm/SelectAsyncSearchField/index.js +0 -2
- package/esm/SelectAsyncSearchField/index.js.map +0 -1
- package/esm/SelectSearchField/SelectSearchField.js +0 -54
- package/esm/SelectSearchField/SelectSearchField.js.map +0 -1
- package/esm/SelectSearchField/index.js +0 -2
- package/esm/SelectSearchField/index.js.map +0 -1
- package/types/Layouts/Item.d.ts +0 -6
- package/types/Mobile/MobileHeader.d.ts +0 -24
- package/types/Mobile/MobilePage.d.ts +0 -8
- package/types/Mobile/index.d.ts +0 -3
- package/types/Mobile/useMobile.d.ts +0 -38
- package/types/SearchField/SearchField.d.ts +0 -15
- package/types/SearchField/index.d.ts +0 -1
- package/types/SelectAsyncSearchField/SelectAsyncSearchField.d.ts +0 -14
- package/types/SelectAsyncSearchField/index.d.ts +0 -1
- package/types/SelectSearchField/SelectSearchField.d.ts +0 -16
- package/types/SelectSearchField/index.d.ts +0 -1
- /package/{SearchField → SelectField}/useSearch.d.ts +0 -0
- /package/{SearchField → SelectField}/useSearch.js +0 -0
- /package/cjs/{SearchField → SelectField}/useSearch.js +0 -0
- /package/esm/{SearchField → SelectField}/useSearch.js +0 -0
- /package/types/{SearchField → SelectField}/useSearch.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectField.js","names":["useFieldGroup","FormControl","FormHelperText","InputBase","InputLabel","Paper","Popper","SelectFieldInputWrapper","SelectFieldInputWrapperContext","Triangle","VisuallyHidden","css","dispatchChangeEvent","getSearch","useDitectInputTouched","useInputValue","useMergeRefs","useOnClickOutside","useTheme","React","forwardRef","useCallback","useEffect","useId","useMemo","useReducer","useRef","useState","SearchIcon","jsx","___EmotionJSX","ownerDocument","node","document","nextItem","list","item","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","moveFocus","currentFocus","traversalFunction","nextFocus","disabledFocus","disabled","getAttribute","focus","_ref2","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","SelectInnerSpinButton","_ref3","open","onClick","theme","typography","body","fontSize","transitions","duration","shorter","easing","easeInOut","SelectList","props","ref","_extends","role","tabIndex","SelectOption","spacing","palette","text","primary","background","paper","gray","shortest","action","hover","selected","filterSelectOptionsByQuery","options","query","result","map","option","keys","label","content","value","defaultLoadOptions","_ref5","_asyncToGenerator","_ref4","undefined","length","_x","apply","arguments","DefaultOption","_ref","SelectField","propOptions","loadOptions","disabledInput","onChange","onFocus","placeholder","required","id","_valueProp","defaultValue","children","helperText","invalid","loading","propsLoading","readOnly","propsReadOnly","style","className","originalInputTestId","pseudoInputTestId","disablePortal","renderOption","inputRef","inputHasValueRef","setOpen","setQuery","selectedOptionsCache","setOptions","selectedOptions","current","then","setValue","isControlled","onLoaded","displayValue","_ref6","_selectedOptionsCache","find","listRef","pseudoInputRef","pseudoInputRefs","originalInputRef","originalInputRefs","updateValue","resetValue","_options$find","touched","inputProps","popperOptions","modifiers","roundOffsets","_ref7","y","x","Math","round","enabled","phase","requires","fn","_ref8","state","popper","width","rects","reference","effect","_ref9","elements","offsetWidth","internalInputId","inputId","autoFillPreventionKey","updateAutoFillPreventionKey","prev","htmlFor","type","key","autoCapitalize","autoComplete","onInput","event","preventDefault","currentTarget","autoCorrect","spellCheck","Provider","renderInputWrapper","onKeyDown","startAdornment","some","endAdornment","_pseudoInputRef$curre","anchorEl","placement","activeElement","Children","toArray","child","i","index","_pseudoInputRef$curre2","click"],"sources":["../../../src/SelectField/SelectField.tsx"],"sourcesContent":["import { FieldGroupProps, useFieldGroup } from \"../FieldGroup\";\nimport { FieldProps } from \"../FieldBase\";\nimport { FormControl } from \"../FormControl\";\nimport { FormHelperText } from \"../FieldBase/FormHelperText\";\nimport { InputBase } from \"../InputBase\";\nimport { InputLabel } from \"../InputLabel\";\nimport { Paper } from \"../Paper\";\nimport { Popper } from \"../Popper\";\nimport {\n SelectFieldInputWrapper,\n SelectFieldInputWrapperContext,\n} from \"./SelectFieldInputWrapper\";\nimport { Triangle } from \"../Icon/Triangle\";\nimport { VisuallyHidden } from \"../VisuallyHidden/VisuallyHidden\";\nimport { css } from \"@emotion/react\";\nimport { dispatchChangeEvent } from \"../@utils/dispatchChangeEvent\";\nimport { getSearch } from \"../SearchField/useSearch\";\nimport { useDitectInputTouched } from \"../FieldBase/useDitectInputTouched\";\nimport { useInputValue } from \"../hooks/useInputValue\";\nimport { useMergeRefs } from \"../hooks/useMergeRefs\";\nimport { useOnClickOutside } from \"../hooks/useOnClickOutside\";\nimport { useTheme } from \"../theme\";\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport type { Options as PopperjsOptions } from \"@popperjs/core\";\n\nfunction ownerDocument(node: Node | null | undefined): Document {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return node?.ownerDocument || document;\n}\n\ntype TraversalFunction = (\n list: HTMLUListElement,\n item?: Element | null,\n) => ChildNode | null;\n\nconst nextItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item?.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\n\nconst previousItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item?.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\n\nconst moveFocus = (\n list: HTMLUListElement,\n currentFocus: Element | null,\n traversalFunction: TraversalFunction,\n) => {\n let nextFocus = traversalFunction(list, currentFocus) as HTMLElement | null;\n while (nextFocus) {\n if (\n currentFocus === null\n ? nextFocus === list.lastChild\n : nextFocus === currentFocus\n ) {\n break;\n }\n const disabledFocus =\n (nextFocus as HTMLInputElement).disabled ||\n nextFocus.getAttribute(\"aria-disabled\") === \"true\";\n if (disabledFocus) {\n nextFocus = traversalFunction(list, nextFocus) as HTMLElement;\n } else {\n nextFocus.focus();\n break;\n }\n }\n};\n\nconst SelectInnerSpinButton = ({\n open,\n onClick,\n}: {\n open: boolean;\n onClick: () => void;\n}) => {\n const theme = useTheme();\n return (\n <Triangle\n onClick={onClick}\n data-testid=\"SelectFieldSpinButton\"\n css={[\n css`\n font-size: ${theme.typography.body.fontSize}px;\n transition: ${theme.transitions.duration.shorter}\n ${theme.transitions.easing.easeInOut};\n `,\n open\n ? css`\n transform: rotateX(180deg);\n `\n : null,\n ]}\n />\n );\n};\n\nconst SelectList = forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<\"ul\">\n>((props, ref) => {\n return (\n <ul\n ref={ref}\n role=\"listbox\"\n tabIndex={-1}\n css={css`\n box-sizing: border-box;\n min-height: ${42 * 3.5}px;\n max-height: ${42 * 7.5}px;\n padding: 0;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n border-radius: inherit;\n `}\n {...props}\n />\n );\n});\n\nconst SelectOption = (props: React.ComponentPropsWithoutRef<\"li\">) => {\n const theme = useTheme();\n return (\n <li\n role=\"option\"\n // aria-selectedは親要素から設定するため、この値は上書きされる\n aria-selected={false}\n css={css`\n box-sizing: border-box;\n min-height: ${theme.spacing * 6}px;\n padding: 9px 12px;\n color: ${theme.palette.text.primary};\n cursor: pointer;\n background-color: ${theme.palette.background.paper};\n border-bottom: 1px solid ${theme.palette.gray[300]};\n outline: 0px;\n transition: ${theme.transitions.duration.shortest};\n\n ${css(theme.typography.body)}\n &:last-child {\n border-bottom: none;\n }\n &:hover,\n &:focus {\n background-color: ${theme.palette.action.hover};\n }\n &[aria-selected=\"true\"] {\n background-color: ${theme.palette.action.selected};\n }\n &[aria-disabled=\"true\"] {\n color: ${theme.palette.text.disabled};\n cursor: default;\n }\n &[aria-readonly=\"true\"],\n &[aria-disabled=\"true\"] {\n &:hover {\n background-color: ${theme.palette.background.paper};\n }\n }\n `}\n {...props}\n />\n );\n};\n\nexport interface SelectOptionValue {\n value: string | undefined;\n label: string;\n keys?: string[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport type RenderSelectOption<\n T extends SelectOptionValue = SelectOptionValue,\n> = (peops: T) => React.JSX.Element;\n\nexport interface SelectFieldProps<\n T extends SelectOptionValue = SelectOptionValue,\n> extends Pick<FieldProps<string>, \"helperText\" | \"invalid\">,\n FieldGroupProps {\n renderOption?: RenderSelectOption<T>;\n children?: React.ReactNode;\n /**\n * 見出し\n */\n label?: string;\n name?: string;\n defaultValue?: string;\n /**\n * valueの変更は、defaultValueが指定されていないときのみ反映されます。\n */\n value?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n id?: string;\n className?: string;\n /**\n * placeholder\n */\n placeholder?: string;\n /**\n * selecting data is required\n */\n required?: boolean;\n options?: T[];\n loadOptions?: SelectLoadOptions<T>;\n disabledInput?: boolean;\n readOnly?: boolean;\n /**\n * SelectFieldのOptionがクリックされた際に発火する関数。\n */\n onChange?: (value: T[\"value\"], options: T) => void;\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n loading?: boolean;\n originalInputTestId?: string;\n pseudoInputTestId?: string;\n /**\n * オプションの表示にPortalを利用するかどうかを指定します。\n * このpropがtrueの場合、Portalが無効化されます。\n * また初期値がtrueであることに注意してください。\n * つまり通常、オプションはこのコンポーネントの子要素としてレンダリングされます。\n * @default true\n */\n disablePortal?: boolean;\n /**\n * 見かけ上のinput要素に対するrefを利用できます。\n * 選択された値を取得する場合などは、inputHasValueRefを利用してください。\n */\n inputRef?: React.Ref<HTMLInputElement>;\n /**\n * 選択された値を保持しているinput要素に対するrefを利用できます。\n * 見えているinput要素にフォーカスしたい場合などは、inputRefを利用してください。\n */\n inputHasValueRef?: React.Ref<HTMLInputElement>;\n}\n\nexport const filterSelectOptionsByQuery = <\n T extends SelectOptionValue = SelectOptionValue,\n>(\n options: T[],\n query: string,\n) => {\n const result = getSearch(\n options.map((option) => {\n return {\n ...option,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n keys: option.keys || [option.label],\n content: option.value,\n };\n }),\n query,\n );\n return result;\n};\n\nexport type SelectLoadOptions<T extends SelectOptionValue = SelectOptionValue> =\n (args: {\n query: string;\n options?: T[];\n selectedOptions?: T[];\n }) => Promise<T[] | undefined>;\n\nconst defaultLoadOptions = async <\n T extends SelectOptionValue = SelectOptionValue,\n>({\n query,\n options,\n}: {\n query: string;\n options?: T[];\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<T[] | undefined> => {\n if (options === undefined) {\n return undefined;\n }\n if (query === undefined) {\n return options;\n }\n const result = filterSelectOptionsByQuery(options, query);\n return result.length ? result : options;\n};\n\nconst DefaultOption = <T extends SelectOptionValue>(\n props: T,\n): React.JSX.Element => {\n return <span>{props.label}</span>;\n};\n\nexport const SelectField = <T extends SelectOptionValue>(\n props: SelectFieldProps<T>,\n) => {\n const {\n label,\n name,\n options: propOptions,\n loadOptions = defaultLoadOptions,\n disabledInput,\n onChange,\n onFocus,\n placeholder,\n required,\n id,\n value: _valueProp,\n defaultValue,\n disabled,\n children,\n helperText,\n invalid,\n loading: propsLoading,\n readOnly: propsReadOnly,\n style,\n className,\n originalInputTestId,\n pseudoInputTestId,\n disablePortal = true,\n renderOption = DefaultOption,\n inputRef,\n inputHasValueRef,\n } = props;\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n const selectedOptionsCache = useRef<T[] | undefined>(propOptions);\n const [options, setOptions] = useState(propOptions);\n\n useEffect(() => {\n void loadOptions({\n query,\n options: propOptions,\n selectedOptions: selectedOptionsCache.current,\n }).then((result) => {\n setOptions(result);\n });\n }, [propOptions, loadOptions, query]);\n\n const [value, setValue, isControlled] = useInputValue(props);\n\n const { loading, readOnly } = useFieldGroup({\n loading: propsLoading,\n readOnly: propsReadOnly,\n onLoaded: () => {\n if (isControlled === false) {\n setValue(defaultValue);\n }\n },\n });\n\n const displayValue = useMemo(() => {\n return (\n selectedOptionsCache.current?.find(\n (option) => option.value === value,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n ) || options?.find((option) => option.value === value)\n )?.label;\n }, [options, value]);\n\n const listRef = useRef<HTMLUListElement>(null);\n useOnClickOutside([ref, listRef], () => {\n setOpen(false);\n setQuery(\"\");\n });\n\n const pseudoInputRef = useRef<HTMLInputElement>(null);\n const pseudoInputRefs = useMergeRefs(inputRef, pseudoInputRef);\n const originalInputRef = useRef<HTMLInputElement>(null);\n const originalInputRefs = useMergeRefs(inputHasValueRef, originalInputRef);\n\n const updateValue = useCallback(\n (option: T) => {\n onChange?.(option.value, option);\n setValue(option.value);\n selectedOptionsCache.current = options;\n setQuery(\"\");\n if (originalInputRef.current) {\n dispatchChangeEvent(originalInputRef.current, option.value);\n }\n },\n [onChange, options, setValue],\n );\n\n const resetValue = useCallback(() => {\n setValue(undefined);\n if (onChange) {\n const option =\n options?.find((option) => option.value === undefined) ??\n ({ value: undefined, label: \"\" } as T);\n onChange(undefined, option);\n }\n }, [onChange, options, setValue]);\n\n const [touched, inputProps] = useDitectInputTouched(onFocus);\n\n const popperOptions: Partial<PopperjsOptions> = useMemo(() => {\n return {\n modifiers: [\n disablePortal\n ? {\n name: \"computeStyles\",\n options: {\n roundOffsets: ({ y }: { y: number }) => ({\n x: 0,\n y: Math.round(y),\n }),\n },\n }\n : {},\n {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n },\n ],\n };\n }, [disablePortal]);\n\n const internalInputId = useId();\n const inputId = id ?? internalInputId;\n\n // Auto fillによって値が後から更新されることを防ぐ\n const [autoFillPreventionKey, updateAutoFillPreventionKey] = useReducer(\n (prev: number) => prev + 1,\n 0,\n );\n\n return (\n <FormControl style={style} className={className}>\n {label ? (\n <InputLabel\n htmlFor={inputId}\n aria-disabled={disabled}\n required={required}\n loading={loading}\n >\n {label}\n </InputLabel>\n ) : null}\n <VisuallyHidden>\n <input\n ref={originalInputRefs}\n type=\"text\"\n data-testid={originalInputTestId}\n required={required}\n name={name}\n key={`${value}-${autoFillPreventionKey}`}\n defaultValue={value}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n onInput={(event) => {\n event.preventDefault();\n if (value === undefined) {\n // 選択肢が選択されていない状態で、値に選択肢と一致するものがある場合、その値に更新する\n const option = options?.find(\n (option) => option.value === event.currentTarget.value,\n );\n if (option) {\n updateValue(option);\n } else {\n // 一致する選択肢がない場合、Auto fillが適用されると困るため無効化する\n updateAutoFillPreventionKey();\n }\n } else {\n // このinput要素の値でonInputが発火するケースはAuto fillによる場合のみ、選択肢の選択では発火しない。\n // ここでkeyを更新することでauto fillによる値の上書きを、さらに上書きできる。\n updateAutoFillPreventionKey();\n }\n }}\n autoCorrect=\"off\"\n spellCheck=\"false\"\n tabIndex={-1}\n />\n </VisuallyHidden>\n\n <div ref={ref}>\n <SelectFieldInputWrapperContext.Provider\n value={!query ? displayValue : undefined}\n >\n <InputBase\n id={inputId}\n renderInputWrapper={SelectFieldInputWrapper}\n ref={pseudoInputRefs}\n data-testid={pseudoInputTestId}\n placeholder={placeholder}\n disabled={disabled}\n loading={loading}\n readOnly={readOnly}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Delete\" || key === \"Backspace\") {\n setQuery((prev) => {\n if (prev === \"\") {\n resetValue();\n }\n return prev;\n });\n } else if (key === \"ArrowDown\") {\n event.preventDefault();\n const list = listRef.current;\n if (list) {\n moveFocus(list, null, nextItem);\n }\n } else if (event.key.length === 1) {\n setOpen(true);\n }\n }}\n type=\"text\"\n startAdornment={\n value ||\n disabledInput ||\n (value === undefined &&\n options?.some(\n (option) => option.value === undefined,\n )) ? undefined : (\n <SearchIcon />\n )\n }\n endAdornment={\n <SelectInnerSpinButton\n open={open}\n onClick={() => {\n setOpen((prev) => {\n if (prev) {\n return false;\n }\n pseudoInputRef.current?.focus();\n return prev;\n });\n }}\n />\n }\n data-invalid={invalid}\n value={query}\n onChange={\n disabledInput\n ? // @see https://github.com/matsuri-tech/matsuri-ui/issues/2451\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n : (event) => {\n const value = event.currentTarget.value;\n setQuery(value);\n }\n }\n data-touched={inputProps[\"data-touched\"]}\n onFocus={(event) => {\n inputProps.onFocus(event);\n if (readOnly !== true) {\n setOpen(true);\n }\n }}\n css={\n disabledInput\n ? css`\n caret-color: transparent;\n input {\n cursor: pointer;\n }\n `\n : null\n }\n />\n </SelectFieldInputWrapperContext.Provider>\n\n <Popper\n disablePortal={disablePortal}\n anchorEl={ref.current}\n placement=\"bottom-start\"\n open={open}\n options={popperOptions}\n >\n <div>\n <Paper>\n <SelectList\n ref={listRef}\n onKeyDown={(event) => {\n const key = event.key;\n const list = listRef.current;\n if (list === null) {\n return;\n }\n const currentFocus = ownerDocument(list).activeElement;\n if (key === \"ArrowDown\") {\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n } else if (key === \"ArrowUp\") {\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n }\n }}\n >\n {React.Children.toArray(children).map((child, i) => (\n <SelectOption\n tabIndex={-1}\n aria-readonly={true}\n key={`child-${i}`}\n >\n {child}\n </SelectOption>\n ))}\n {options === undefined ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n Loading...\n </SelectOption>\n ) : options.length === 0 ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n No options\n </SelectOption>\n ) : (\n options.map((option, index) => {\n const selected = value === option.value;\n return (\n <SelectOption\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Enter\") {\n event.preventDefault();\n event.currentTarget.click();\n pseudoInputRef.current?.focus();\n setOpen(false);\n }\n }}\n aria-selected={selected}\n /**\n * 何も選択されていないときは、先頭のオプションに飛べるようにしておく\n */\n tabIndex={\n (value === undefined ? index === 0 : selected)\n ? 0\n : -1\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n key={option.value || `undefinedValue`}\n onClick={() => {\n updateValue(option);\n setOpen(false);\n }}\n >\n {renderOption(option)}\n </SelectOption>\n );\n })\n )}\n </SelectList>\n </Paper>\n </div>\n </Popper>\n </div>\n <FormHelperText\n invalid={invalid}\n loading={loading}\n touched={touched}\n value={value}\n >\n {helperText}\n </FormHelperText>\n </FormControl>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SelectField.js","names":["useFieldGroup","FormControl","FormHelperText","InputBase","InputLabel","Paper","Popper","SelectFieldInputWrapper","SelectFieldInputWrapperContext","Triangle","VisuallyHidden","css","dispatchChangeEvent","getSearch","useDitectInputTouched","useInputValue","useMergeRefs","useOnClickOutside","useTheme","React","forwardRef","useCallback","useEffect","useId","useMemo","useReducer","useRef","useState","SearchIcon","jsx","___EmotionJSX","ownerDocument","node","document","nextItem","list","item","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","moveFocus","currentFocus","traversalFunction","nextFocus","disabledFocus","disabled","getAttribute","focus","_ref2","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","SelectInnerSpinButton","_ref3","open","onClick","theme","typography","body","fontSize","transitions","duration","shorter","easing","easeInOut","SelectList","props","ref","_extends","role","tabIndex","SelectOption","spacing","palette","text","primary","background","paper","gray","shortest","action","hover","selected","filterSelectOptionsByQuery","options","query","result","map","option","keys","label","content","value","defaultLoadOptions","_ref5","_asyncToGenerator","_ref4","undefined","length","_x","apply","arguments","DefaultOption","_ref","SelectField","propOptions","loadOptions","disabledInput","onChange","onFocus","placeholder","required","id","_valueProp","defaultValue","children","helperText","invalid","loading","propsLoading","readOnly","propsReadOnly","style","className","originalInputTestId","pseudoInputTestId","disablePortal","renderOption","inputRef","inputHasValueRef","setOpen","setQuery","selectedOptionsCache","setOptions","selectedOptions","current","then","setValue","isControlled","onLoaded","displayValue","_ref6","_selectedOptionsCache","find","listRef","pseudoInputRef","pseudoInputRefs","originalInputRef","originalInputRefs","updateValue","resetValue","_options$find","touched","inputProps","popperOptions","modifiers","roundOffsets","_ref7","y","x","Math","round","enabled","phase","requires","fn","_ref8","state","popper","width","rects","reference","effect","_ref9","elements","offsetWidth","internalInputId","inputId","autoFillPreventionKey","updateAutoFillPreventionKey","prev","htmlFor","type","key","autoCapitalize","autoComplete","onInput","event","preventDefault","currentTarget","autoCorrect","spellCheck","Provider","renderInputWrapper","onKeyDown","startAdornment","some","endAdornment","_pseudoInputRef$curre","anchorEl","placement","activeElement","Children","toArray","child","i","index","_pseudoInputRef$curre2","click"],"sources":["../../../src/SelectField/SelectField.tsx"],"sourcesContent":["import { FieldGroupProps, useFieldGroup } from \"../FieldGroup\";\nimport { FieldProps } from \"../FieldBase\";\nimport { FormControl } from \"../FormControl\";\nimport { FormHelperText } from \"../FieldBase/FormHelperText\";\nimport { InputBase } from \"../InputBase\";\nimport { InputLabel } from \"../InputLabel\";\nimport { Paper } from \"../Paper\";\nimport { Popper } from \"../Popper\";\nimport {\n SelectFieldInputWrapper,\n SelectFieldInputWrapperContext,\n} from \"./SelectFieldInputWrapper\";\nimport { Triangle } from \"../Icon/Triangle\";\nimport { VisuallyHidden } from \"../VisuallyHidden/VisuallyHidden\";\nimport { css } from \"@emotion/react\";\nimport { dispatchChangeEvent } from \"../@utils/dispatchChangeEvent\";\nimport { getSearch } from \"./useSearch\";\nimport { useDitectInputTouched } from \"../FieldBase/useDitectInputTouched\";\nimport { useInputValue } from \"../hooks/useInputValue\";\nimport { useMergeRefs } from \"../hooks/useMergeRefs\";\nimport { useOnClickOutside } from \"../hooks/useOnClickOutside\";\nimport { useTheme } from \"../theme\";\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport type { Options as PopperjsOptions } from \"@popperjs/core\";\n\nfunction ownerDocument(node: Node | null | undefined): Document {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return node?.ownerDocument || document;\n}\n\ntype TraversalFunction = (\n list: HTMLUListElement,\n item?: Element | null,\n) => ChildNode | null;\n\nconst nextItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item?.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\n\nconst previousItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item?.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\n\nconst moveFocus = (\n list: HTMLUListElement,\n currentFocus: Element | null,\n traversalFunction: TraversalFunction,\n) => {\n let nextFocus = traversalFunction(list, currentFocus) as HTMLElement | null;\n while (nextFocus) {\n if (\n currentFocus === null\n ? nextFocus === list.lastChild\n : nextFocus === currentFocus\n ) {\n break;\n }\n const disabledFocus =\n (nextFocus as HTMLInputElement).disabled ||\n nextFocus.getAttribute(\"aria-disabled\") === \"true\";\n if (disabledFocus) {\n nextFocus = traversalFunction(list, nextFocus) as HTMLElement;\n } else {\n nextFocus.focus();\n break;\n }\n }\n};\n\nconst SelectInnerSpinButton = ({\n open,\n onClick,\n}: {\n open: boolean;\n onClick: () => void;\n}) => {\n const theme = useTheme();\n return (\n <Triangle\n onClick={onClick}\n data-testid=\"SelectFieldSpinButton\"\n css={[\n css`\n font-size: ${theme.typography.body.fontSize}px;\n transition: ${theme.transitions.duration.shorter}\n ${theme.transitions.easing.easeInOut};\n `,\n open\n ? css`\n transform: rotateX(180deg);\n `\n : null,\n ]}\n />\n );\n};\n\nconst SelectList = forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<\"ul\">\n>((props, ref) => {\n return (\n <ul\n ref={ref}\n role=\"listbox\"\n tabIndex={-1}\n css={css`\n box-sizing: border-box;\n min-height: ${42 * 3.5}px;\n max-height: ${42 * 7.5}px;\n padding: 0;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n border-radius: inherit;\n `}\n {...props}\n />\n );\n});\n\nconst SelectOption = (props: React.ComponentPropsWithoutRef<\"li\">) => {\n const theme = useTheme();\n return (\n <li\n role=\"option\"\n // aria-selectedは親要素から設定するため、この値は上書きされる\n aria-selected={false}\n css={css`\n box-sizing: border-box;\n min-height: ${theme.spacing * 6}px;\n padding: 9px 12px;\n color: ${theme.palette.text.primary};\n cursor: pointer;\n background-color: ${theme.palette.background.paper};\n border-bottom: 1px solid ${theme.palette.gray[300]};\n outline: 0px;\n transition: ${theme.transitions.duration.shortest};\n\n ${css(theme.typography.body)}\n &:last-child {\n border-bottom: none;\n }\n &:hover,\n &:focus {\n background-color: ${theme.palette.action.hover};\n }\n &[aria-selected=\"true\"] {\n background-color: ${theme.palette.action.selected};\n }\n &[aria-disabled=\"true\"] {\n color: ${theme.palette.text.disabled};\n cursor: default;\n }\n &[aria-readonly=\"true\"],\n &[aria-disabled=\"true\"] {\n &:hover {\n background-color: ${theme.palette.background.paper};\n }\n }\n `}\n {...props}\n />\n );\n};\n\nexport interface SelectOptionValue {\n value: string | undefined;\n label: string;\n keys?: string[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport type RenderSelectOption<\n T extends SelectOptionValue = SelectOptionValue,\n> = (peops: T) => React.JSX.Element;\n\nexport interface SelectFieldProps<\n T extends SelectOptionValue = SelectOptionValue,\n> extends Pick<FieldProps<string>, \"helperText\" | \"invalid\">,\n FieldGroupProps {\n renderOption?: RenderSelectOption<T>;\n children?: React.ReactNode;\n /**\n * 見出し\n */\n label?: string;\n name?: string;\n defaultValue?: string;\n /**\n * valueの変更は、defaultValueが指定されていないときのみ反映されます。\n */\n value?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n id?: string;\n className?: string;\n /**\n * placeholder\n */\n placeholder?: string;\n /**\n * selecting data is required\n */\n required?: boolean;\n options?: T[];\n loadOptions?: SelectLoadOptions<T>;\n disabledInput?: boolean;\n readOnly?: boolean;\n /**\n * SelectFieldのOptionがクリックされた際に発火する関数。\n */\n onChange?: (value: T[\"value\"], options: T) => void;\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n loading?: boolean;\n originalInputTestId?: string;\n pseudoInputTestId?: string;\n /**\n * オプションの表示にPortalを利用するかどうかを指定します。\n * このpropがtrueの場合、Portalが無効化されます。\n * また初期値がtrueであることに注意してください。\n * つまり通常、オプションはこのコンポーネントの子要素としてレンダリングされます。\n * @default true\n */\n disablePortal?: boolean;\n /**\n * 見かけ上のinput要素に対するrefを利用できます。\n * 選択された値を取得する場合などは、inputHasValueRefを利用してください。\n */\n inputRef?: React.Ref<HTMLInputElement>;\n /**\n * 選択された値を保持しているinput要素に対するrefを利用できます。\n * 見えているinput要素にフォーカスしたい場合などは、inputRefを利用してください。\n */\n inputHasValueRef?: React.Ref<HTMLInputElement>;\n}\n\nexport const filterSelectOptionsByQuery = <\n T extends SelectOptionValue = SelectOptionValue,\n>(\n options: T[],\n query: string,\n) => {\n const result = getSearch(\n options.map((option) => {\n return {\n ...option,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n keys: option.keys || [option.label],\n content: option.value,\n };\n }),\n query,\n );\n return result;\n};\n\nexport type SelectLoadOptions<T extends SelectOptionValue = SelectOptionValue> =\n (args: {\n query: string;\n options?: T[];\n selectedOptions?: T[];\n }) => Promise<T[] | undefined>;\n\nconst defaultLoadOptions = async <\n T extends SelectOptionValue = SelectOptionValue,\n>({\n query,\n options,\n}: {\n query: string;\n options?: T[];\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<T[] | undefined> => {\n if (options === undefined) {\n return undefined;\n }\n if (query === undefined) {\n return options;\n }\n const result = filterSelectOptionsByQuery(options, query);\n return result.length ? result : options;\n};\n\nconst DefaultOption = <T extends SelectOptionValue>(\n props: T,\n): React.JSX.Element => {\n return <span>{props.label}</span>;\n};\n\nexport const SelectField = <T extends SelectOptionValue>(\n props: SelectFieldProps<T>,\n) => {\n const {\n label,\n name,\n options: propOptions,\n loadOptions = defaultLoadOptions,\n disabledInput,\n onChange,\n onFocus,\n placeholder,\n required,\n id,\n value: _valueProp,\n defaultValue,\n disabled,\n children,\n helperText,\n invalid,\n loading: propsLoading,\n readOnly: propsReadOnly,\n style,\n className,\n originalInputTestId,\n pseudoInputTestId,\n disablePortal = true,\n renderOption = DefaultOption,\n inputRef,\n inputHasValueRef,\n } = props;\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n const selectedOptionsCache = useRef<T[] | undefined>(propOptions);\n const [options, setOptions] = useState(propOptions);\n\n useEffect(() => {\n void loadOptions({\n query,\n options: propOptions,\n selectedOptions: selectedOptionsCache.current,\n }).then((result) => {\n setOptions(result);\n });\n }, [propOptions, loadOptions, query]);\n\n const [value, setValue, isControlled] = useInputValue(props);\n\n const { loading, readOnly } = useFieldGroup({\n loading: propsLoading,\n readOnly: propsReadOnly,\n onLoaded: () => {\n if (isControlled === false) {\n setValue(defaultValue);\n }\n },\n });\n\n const displayValue = useMemo(() => {\n return (\n selectedOptionsCache.current?.find(\n (option) => option.value === value,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n ) || options?.find((option) => option.value === value)\n )?.label;\n }, [options, value]);\n\n const listRef = useRef<HTMLUListElement>(null);\n useOnClickOutside([ref, listRef], () => {\n setOpen(false);\n setQuery(\"\");\n });\n\n const pseudoInputRef = useRef<HTMLInputElement>(null);\n const pseudoInputRefs = useMergeRefs(inputRef, pseudoInputRef);\n const originalInputRef = useRef<HTMLInputElement>(null);\n const originalInputRefs = useMergeRefs(inputHasValueRef, originalInputRef);\n\n const updateValue = useCallback(\n (option: T) => {\n onChange?.(option.value, option);\n setValue(option.value);\n selectedOptionsCache.current = options;\n setQuery(\"\");\n if (originalInputRef.current) {\n dispatchChangeEvent(originalInputRef.current, option.value);\n }\n },\n [onChange, options, setValue],\n );\n\n const resetValue = useCallback(() => {\n setValue(undefined);\n if (onChange) {\n const option =\n options?.find((option) => option.value === undefined) ??\n ({ value: undefined, label: \"\" } as T);\n onChange(undefined, option);\n }\n }, [onChange, options, setValue]);\n\n const [touched, inputProps] = useDitectInputTouched(onFocus);\n\n const popperOptions: Partial<PopperjsOptions> = useMemo(() => {\n return {\n modifiers: [\n disablePortal\n ? {\n name: \"computeStyles\",\n options: {\n roundOffsets: ({ y }: { y: number }) => ({\n x: 0,\n y: Math.round(y),\n }),\n },\n }\n : {},\n {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n },\n ],\n };\n }, [disablePortal]);\n\n const internalInputId = useId();\n const inputId = id ?? internalInputId;\n\n // Auto fillによって値が後から更新されることを防ぐ\n const [autoFillPreventionKey, updateAutoFillPreventionKey] = useReducer(\n (prev: number) => prev + 1,\n 0,\n );\n\n return (\n <FormControl style={style} className={className}>\n {label ? (\n <InputLabel\n htmlFor={inputId}\n aria-disabled={disabled}\n required={required}\n loading={loading}\n >\n {label}\n </InputLabel>\n ) : null}\n <VisuallyHidden>\n <input\n ref={originalInputRefs}\n type=\"text\"\n data-testid={originalInputTestId}\n required={required}\n name={name}\n key={`${value}-${autoFillPreventionKey}`}\n defaultValue={value}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n onInput={(event) => {\n event.preventDefault();\n if (value === undefined) {\n // 選択肢が選択されていない状態で、値に選択肢と一致するものがある場合、その値に更新する\n const option = options?.find(\n (option) => option.value === event.currentTarget.value,\n );\n if (option) {\n updateValue(option);\n } else {\n // 一致する選択肢がない場合、Auto fillが適用されると困るため無効化する\n updateAutoFillPreventionKey();\n }\n } else {\n // このinput要素の値でonInputが発火するケースはAuto fillによる場合のみ、選択肢の選択では発火しない。\n // ここでkeyを更新することでauto fillによる値の上書きを、さらに上書きできる。\n updateAutoFillPreventionKey();\n }\n }}\n autoCorrect=\"off\"\n spellCheck=\"false\"\n tabIndex={-1}\n />\n </VisuallyHidden>\n\n <div ref={ref}>\n <SelectFieldInputWrapperContext.Provider\n value={!query ? displayValue : undefined}\n >\n <InputBase\n id={inputId}\n renderInputWrapper={SelectFieldInputWrapper}\n ref={pseudoInputRefs}\n data-testid={pseudoInputTestId}\n placeholder={placeholder}\n disabled={disabled}\n loading={loading}\n readOnly={readOnly}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Delete\" || key === \"Backspace\") {\n setQuery((prev) => {\n if (prev === \"\") {\n resetValue();\n }\n return prev;\n });\n } else if (key === \"ArrowDown\") {\n event.preventDefault();\n const list = listRef.current;\n if (list) {\n moveFocus(list, null, nextItem);\n }\n } else if (event.key.length === 1) {\n setOpen(true);\n }\n }}\n type=\"text\"\n startAdornment={\n value ||\n disabledInput ||\n (value === undefined &&\n options?.some(\n (option) => option.value === undefined,\n )) ? undefined : (\n <SearchIcon />\n )\n }\n endAdornment={\n <SelectInnerSpinButton\n open={open}\n onClick={() => {\n setOpen((prev) => {\n if (prev) {\n return false;\n }\n pseudoInputRef.current?.focus();\n return prev;\n });\n }}\n />\n }\n data-invalid={invalid}\n value={query}\n onChange={\n disabledInput\n ? // @see https://github.com/matsuri-tech/matsuri-ui/issues/2451\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n : (event) => {\n const value = event.currentTarget.value;\n setQuery(value);\n }\n }\n data-touched={inputProps[\"data-touched\"]}\n onFocus={(event) => {\n inputProps.onFocus(event);\n if (readOnly !== true) {\n setOpen(true);\n }\n }}\n css={\n disabledInput\n ? css`\n caret-color: transparent;\n input {\n cursor: pointer;\n }\n `\n : null\n }\n />\n </SelectFieldInputWrapperContext.Provider>\n\n <Popper\n disablePortal={disablePortal}\n anchorEl={ref.current}\n placement=\"bottom-start\"\n open={open}\n options={popperOptions}\n >\n <div>\n <Paper>\n <SelectList\n ref={listRef}\n onKeyDown={(event) => {\n const key = event.key;\n const list = listRef.current;\n if (list === null) {\n return;\n }\n const currentFocus = ownerDocument(list).activeElement;\n if (key === \"ArrowDown\") {\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n } else if (key === \"ArrowUp\") {\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n }\n }}\n >\n {React.Children.toArray(children).map((child, i) => (\n <SelectOption\n tabIndex={-1}\n aria-readonly={true}\n key={`child-${i}`}\n >\n {child}\n </SelectOption>\n ))}\n {options === undefined ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n Loading...\n </SelectOption>\n ) : options.length === 0 ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n No options\n </SelectOption>\n ) : (\n options.map((option, index) => {\n const selected = value === option.value;\n return (\n <SelectOption\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Enter\") {\n event.preventDefault();\n event.currentTarget.click();\n pseudoInputRef.current?.focus();\n setOpen(false);\n }\n }}\n aria-selected={selected}\n /**\n * 何も選択されていないときは、先頭のオプションに飛べるようにしておく\n */\n tabIndex={\n (value === undefined ? index === 0 : selected)\n ? 0\n : -1\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n key={option.value || `undefinedValue`}\n onClick={() => {\n updateValue(option);\n setOpen(false);\n }}\n >\n {renderOption(option)}\n </SelectOption>\n );\n })\n )}\n </SelectList>\n </Paper>\n </div>\n </Popper>\n </div>\n <FormHelperText\n invalid={invalid}\n loading={loading}\n touched={touched}\n value={value}\n >\n {helperText}\n </FormHelperText>\n </FormControl>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearch.js","names":["useEffect","useRef","useState","getSearch","items","query","copy","slice","len","length","key","toLowerCase","i","c","tmp","res","Array","j","index","keylen","keys","current","indexOf","score","_extends","sort","a","b","useSearch","_ref","cache","map","item","content","value","result","setResult"],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"useSearch.js","names":["useEffect","useRef","useState","getSearch","items","query","copy","slice","len","length","key","toLowerCase","i","c","tmp","res","Array","j","index","keylen","keys","current","indexOf","score","_extends","sort","a","b","useSearch","_ref","cache","map","item","content","value","result","setResult"],"sources":["../../../src/SelectField/useSearch.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nexport interface SearchItem {\n keys: string[];\n content: string;\n value?: string;\n}\n\nexport type WithSearchScore<T> = T & {\n score?: number;\n};\n\nexport interface SearchProps {\n items: string[] | SearchItem[];\n query: string;\n}\n\nexport const getSearch = <\n T extends {\n keys: string[];\n },\n>(\n items: T[],\n query: string,\n): WithSearchScore<T>[] => {\n const copy = items.slice();\n const len = items.length;\n const key = query.toLowerCase();\n let i = -1;\n let c = 0;\n let tmp: {\n keys: string[];\n };\n const res = new Array(len);\n while (++i !== len) {\n tmp = copy[i];\n /**\n * Caluculate Minimum Index\n */\n let j = -1;\n let index = -1;\n const keylen = tmp.keys.length;\n let current;\n while (++j !== keylen) {\n current = tmp.keys[j].toLowerCase().indexOf(key);\n if (index === -1 || (current !== -1 && current < index)) {\n index = current;\n }\n }\n /**\n * Caluculate Score\n */\n const score = index > -1 ? 1 / (index + 1) : 0;\n if (score > 0) {\n res[c++] = { ...tmp, score };\n }\n }\n\n res.length = c;\n res.sort((a, b) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (a.score <= b.score) {\n return 1;\n } else {\n return -1;\n }\n });\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return res;\n};\n\nexport const useSearch = ({ items, query }: SearchProps) => {\n const cache = useRef<SearchItem[]>(\n typeof items[0] === \"string\"\n ? (items as string[]).map((item) => {\n return {\n keys: [item.toLowerCase()],\n content: item,\n value: item,\n };\n })\n : (items as {\n keys: string[];\n content: string;\n }[]),\n );\n const [result, setResult] = useState<WithSearchScore<SearchItem>[]>([]);\n\n useEffect(() => {\n setResult(getSearch(cache.current, query));\n }, [query]);\n\n return { result };\n};\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAiBnD,OAAO,IAAMC,SAAS,GAAGA,CAKvBC,KAAU,EACVC,KAAa,KACY;EACzB,IAAMC,IAAI,GAAGF,KAAK,CAACG,KAAK,CAAC,CAAC;EAC1B,IAAMC,GAAG,GAAGJ,KAAK,CAACK,MAAM;EACxB,IAAMC,GAAG,GAAGL,KAAK,CAACM,WAAW,CAAC,CAAC;EAC/B,IAAIC,CAAC,GAAG,CAAC,CAAC;EACV,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIC,GAEH;EACD,IAAMC,GAAG,GAAG,IAAIC,KAAK,CAACR,GAAG,CAAC;EAC1B,OAAO,EAAEI,CAAC,KAAKJ,GAAG,EAAE;IAClBM,GAAG,GAAGR,IAAI,CAACM,CAAC,CAAC;IACb;AACJ;AACA;IACI,IAAIK,CAAC,GAAG,CAAC,CAAC;IACV,IAAIC,KAAK,GAAG,CAAC,CAAC;IACd,IAAMC,MAAM,GAAGL,GAAG,CAACM,IAAI,CAACX,MAAM;IAC9B,IAAIY,OAAO;IACX,OAAO,EAAEJ,CAAC,KAAKE,MAAM,EAAE;MACrBE,OAAO,GAAGP,GAAG,CAACM,IAAI,CAACH,CAAC,CAAC,CAACN,WAAW,CAAC,CAAC,CAACW,OAAO,CAACZ,GAAG,CAAC;MAChD,IAAIQ,KAAK,KAAK,CAAC,CAAC,IAAKG,OAAO,KAAK,CAAC,CAAC,IAAIA,OAAO,GAAGH,KAAM,EAAE;QACvDA,KAAK,GAAGG,OAAO;MACjB;IACF;IACA;AACJ;AACA;IACI,IAAME,KAAK,GAAGL,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;IAC9C,IAAIK,KAAK,GAAG,CAAC,EAAE;MACbR,GAAG,CAACF,CAAC,EAAE,CAAC,GAAAW,QAAA,KAAQV,GAAG;QAAES;MAAK,EAAE;IAC9B;EACF;EAEAR,GAAG,CAACN,MAAM,GAAGI,CAAC;EACdE,GAAG,CAACU,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;IACjB;IACA,IAAID,CAAC,CAACH,KAAK,IAAII,CAAC,CAACJ,KAAK,EAAE;MACtB,OAAO,CAAC;IACV,CAAC,MAAM;MACL,OAAO,CAAC,CAAC;IACX;EACF,CAAC,CAAC;EACF;EACA,OAAOR,GAAG;AACZ,CAAC;AAED,OAAO,IAAMa,SAAS,GAAGC,IAAA,IAAmC;EAAA,IAAlC;IAAEzB,KAAK;IAAEC;EAAmB,CAAC,GAAAwB,IAAA;EACrD,IAAMC,KAAK,GAAG7B,MAAM,CAClB,OAAOG,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,GACvBA,KAAK,CAAc2B,GAAG,CAAEC,IAAI,IAAK;IAChC,OAAO;MACLZ,IAAI,EAAE,CAACY,IAAI,CAACrB,WAAW,CAAC,CAAC,CAAC;MAC1BsB,OAAO,EAAED,IAAI;MACbE,KAAK,EAAEF;IACT,CAAC;EACH,CAAC,CAAC,GACD5B,KAIP,CAAC;EACD,IAAM,CAAC+B,MAAM,EAAEC,SAAS,CAAC,GAAGlC,QAAQ,CAAgC,EAAE,CAAC;EAEvEF,SAAS,CAAC,MAAM;IACdoC,SAAS,CAACjC,SAAS,CAAC2B,KAAK,CAACT,OAAO,EAAEhB,KAAK,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAO;IAAE8B;EAAO,CAAC;AACnB,CAAC","ignoreList":[]}
|
package/Timeline/Timeline.d.ts
CHANGED
|
@@ -9,11 +9,6 @@ export type TimelineItemProps<Props extends UnknownProps> = Props & {
|
|
|
9
9
|
index: number;
|
|
10
10
|
};
|
|
11
11
|
export interface TimelineProps<Props extends UnknownProps> extends React.HTMLAttributes<HTMLDivElement> {
|
|
12
|
-
/**
|
|
13
|
-
* TimelineProps.datesで指定されたデータをpropsとして受け取り表示するためのコンポーネントを指定します。
|
|
14
|
-
* @deprecated Use `renderItem` instead.
|
|
15
|
-
*/
|
|
16
|
-
item?: (props: TimelineItemProps<Props>) => React.JSX.Element;
|
|
17
12
|
/**
|
|
18
13
|
* TimelineProps.datesで指定されたデータをpropsとして受け取り表示するためのコンポーネントを指定します。
|
|
19
14
|
*/
|
|
@@ -63,4 +58,4 @@ export interface TimelineProps<Props extends UnknownProps> extends React.HTMLAtt
|
|
|
63
58
|
*/
|
|
64
59
|
renderLabel?: (props: TimelineLabelProps) => React.JSX.Element;
|
|
65
60
|
}
|
|
66
|
-
export declare const Timeline: <E extends UnknownProps>({
|
|
61
|
+
export declare const Timeline: <E extends UnknownProps>({ renderItem, dates, format, separators, date, renderLabel: Label, ...props }: TimelineProps<E>) => import("@emotion/react/jsx-runtime").JSX.Element | null;
|
package/Timeline/Timeline.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["
|
|
1
|
+
var _excluded = ["renderItem", "dates", "format", "separators", "date", "renderLabel"];
|
|
2
2
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
3
3
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
4
4
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
@@ -20,7 +20,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
20
20
|
styles: "display:flex;gap:16px;align-items:center;&::before,&::after{flex-grow:1;height:1px;content:\"\";background-color:currentColor;}"
|
|
21
21
|
} : {
|
|
22
22
|
name: "1dnm84l-DefaultLabel",
|
|
23
|
-
styles: "display:flex;gap:16px;align-items:center;&::before,&::after{flex-grow:1;height:1px;content:\"\";background-color:currentColor;};label:DefaultLabel;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJjIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVDb250ZXh0IH0gZnJvbSBcIi4uL0xvY2FsZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZWxhdGl2ZVRpbWVGb3JtYXQgfSBmcm9tIFwiLi4vQHV0aWxzXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IHR5cGUgVW5rbm93blByb3BzIH0gZnJvbSBcIi4uL0B0eXBlcy9Vbmtub3duUHJvcHNcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCBpc0JldHdlZW4gZnJvbSBcImRheWpzL3BsdWdpbi9pc0JldHdlZW5cIjtcbmltcG9ydCBpc1NhbWVPckFmdGVyIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JBZnRlclwiO1xuaW1wb3J0IGlzU2FtZU9yQmVmb3JlIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JCZWZvcmVcIjtcbmltcG9ydCB0eXBlIHsgVW5pdCB9IGZyb20gXCJyZWxhdGl2ZS10aW1lLWZvcm1hdFwiO1xuXG5kYXlqcy5leHRlbmQoaXNTYW1lT3JBZnRlcik7XG5kYXlqcy5leHRlbmQoaXNTYW1lT3JCZWZvcmUpO1xuZGF5anMuZXh0ZW5kKGlzQmV0d2Vlbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVMYWJlbFByb3BzIHtcbiAgZm9ybWF0dGVkRGF0ZTogc3RyaW5nO1xufVxuXG5jb25zdCBEZWZhdWx0TGFiZWwgPSAoeyBmb3JtYXR0ZWREYXRlIH06IFRpbWVsaW5lTGFiZWxQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxUeXBvZ3JhcGh5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAge2Zvcm1hdHRlZERhdGV9XG4gICAgPC9UeXBvZ3JhcGh5PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgVGltZWxpbmVJdGVtUHJvcHM8UHJvcHMgZXh0ZW5kcyBVbmtub3duUHJvcHM+ID0gUHJvcHMgJiB7XG4gIGRhdGU6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVQcm9wczxQcm9wcyBleHRlbmRzIFVua25vd25Qcm9wcz5cbiAgZXh0ZW5kcyBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4ge1xuICAvKipcbiAgICogVGltZWxpbmVQcm9wcy5kYXRlc+OBp+aMh+WumuOBleOCjOOBn+ODh+ODvOOCv+OCknByb3Bz44Go44GX44Gm5Y+X44GR5Y+W44KK6KGo56S644GZ44KL44Gf44KB44Gu44Kz44Oz44Od44O844ON44Oz44OI44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgcmVuZGVySXRlbWAgaW5zdGVhZC5cbiAgICovXG4gIGl0ZW0/OiAocHJvcHM6IFRpbWVsaW5lSXRlbVByb3BzPFByb3BzPikgPT4gUmVhY3QuSlNYLkVsZW1lbnQ7XG4gIC8qKlxuICAgKiBUaW1lbGluZVByb3BzLmRhdGVz44Gn5oyH5a6a44GV44KM44Gf44OH44O844K/44KScHJvcHPjgajjgZfjgablj5fjgZHlj5bjgorooajnpLrjgZnjgovjgZ/jgoHjga7jgrPjg7Pjg53jg7zjg43jg7Pjg4jjgpLmjIflrprjgZfjgb7jgZnjgIJcbiAgICovXG4gIHJlbmRlckl0ZW0/OiAocHJvcHM6IFRpbWVsaW5lSXRlbVByb3BzPFByb3BzPikgPT4gUmVhY3QuSlNYLkVsZW1lbnQ7XG4gIC8qKlxuICAgKiDml6Xku5jjgajjgIHml6Xku5jjgavlr77lv5zjgZnjgovjg4fjg7zjgr/nvqTjgpLmjIflrprjgZfjgb7jgZnjgIJcbiAgICpcbiAgICog5piH6aCG44Gna2V544GM44K944O844OI44GV44KM44Gm44GE44KL44GT44Go44KS5YmN5o+Q44Go44GX44Gm44GE44KL54K544Gr5rOo5oSP44GX44Gm44GP44Gg44GV44GE44CCXG4gICAqXG4gICAqIOOCveODvOODiOWHpueQhuOBjOmdouWAkuOBquWgtOWQiOOBr1VJ5YG044Gn44Gu5Yem55CG44KS5qSc6KiO44GX44G+44GZ44CCXG4gICAqXG4gICAqIOOBk+OBk+OBp+WApOOBqOOBl+OBpuaMh+WumuOBleOCjOOBn+mFjeWIl+OBruWei+OBr1RpbWVsaW5lUHJvcHMuaXRlbeOBruW8leaVsOOBq+eUqOOBhOOCieOCjOOBvuOBmeOAglxuICAgKlxuICAgKiBkYXRl44Gu44OV44Kp44O844Oe44OD44OI44GvWVlZWU1NRETjgb7jgZ/jga9ZWVlZLU1NLURE44Gn44GZ44CCbnVtYmVyKG1zKeOBq+OBr+W+jOOBq+WvvuW/nOOBmeOCi+OBi+OCguOBl+OCjOOBvuOBm+OCk+OAglxuICAgKlxuICAgKiBEYXRl5Z6L44KS5Yip55So44GX44Gf44GE44Go44GE44GG5by344GE6KaB5pyb44GM44GC44Gj44Gf5aC05ZCI44GvTWFw44Gr5YiH44KK5pu/44GI44KL44GT44Go44KS5qSc6KiO44GX44G+44GZ44CCXG4gICAqXG4gICAqL1xuICBkYXRlczogUmVjb3JkPHN0cmluZywgUHJvcHNbXT47XG4gIC8qKlxuICAgKiDljLrliIbjgZTjgajjga7jg6njg5njg6vjga7ooajoqJjjgpLmjIflrprjgZfjgb7jgZnjgIJcbiAgICpcbiAgICogQGRlZmF1bHQge3llYXI6IG51bWVyaWMgLG1vbnRoOiBudW1lcmljLCBkYXk6IG51bWVyaWN9XG4gICAqL1xuICBmb3JtYXQ/OiBcInJlbGF0aXZlXCIgfCBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucztcbiAgLyoqXG4gICAqIOWMuuWIhuOCkuaMh+WumuOBmeOCi+OAguWOn+eCueOCkuS4reW/g+OBqOOBl+OBpuS4oeWBtOOBq+OAgemghuOBq+aMh+WumuOBleOCjOOBn+WMuuWIhueCueOCkumFjee9ruOBl+OBpuOBhOOBj+OAglxuICAgKlxuICAgKiDljp/ngrnjga7jg4fjg5Xjgqnjg6vjg4jjga9cIuS7iuaXpVwi44CCXG4gICAqXG4gICAqIOmBjuWOu+OBi+OCieacquadpeOBuOaYh+mghuOBp+OCveODvOODiOOBleOCjOOBpuOBhOOCi+OBk+OBqOOCkuWJjeaPkOOBq+OBl+OBpuOBhOOBvuOBmeOAglxuICAgKiDjgr3jg7zjg4jlh6bnkIbjgYzpm6PjgZfjgYTloLTlkIjjga9VSeWBtOOBp+OBruWHpueQhuOCkuaknOiojuOBl+OBvuOBmeOAglxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgc2VwYXJhdG9ycz86IHtcbiAgICB1bml0OiBcImRheVwiIHwgXCJtb250aFwiIHwgXCJ5ZWFyXCIgfCBcIndlZWtcIjtcbiAgICB2YWx1ZTogbnVtYmVyO1xuICB9W107XG4gIC8qKlxuICAgKiDln7rmupbml6XjgpLmjIflrprjgZnjgovjgIJcbiAgICogQGRlZmF1bHQgdG9kYXlcbiAgICovXG4gIGRhdGU/OiBkYXlqcy5Db25maWdUeXBlO1xuICAvKipcbiAgICog44OV44Kp44O844Oe44OD44OI44GV44KM44Gf5pel5LuY44KS5Y+X44GR5Y+W44KK44CB44Op44OZ44Or44Go44GX44Gm6KGo56S644GZ44KL44Kz44Oz44Od44O844ON44Oz44OI44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqL1xuICByZW5kZXJMYWJlbD86IChwcm9wczogVGltZWxpbmVMYWJlbFByb3BzKSA9PiBSZWFjdC5KU1guRWxlbWVudDtcbn1cblxuY29uc3QgZ2V0RGF0ZXNFbnRyaWVzID0gPEUgZXh0ZW5kcyBVbmtub3duUHJvcHM+KFxuICBkYXRlczogUmVjb3JkPHN0cmluZywgRVtdPixcbiAgc2VwYXJhdG9yczoge1xuICAgIHVuaXQ6IFwiZGF5XCIgfCBcIm1vbnRoXCIgfCBcInllYXJcIiB8IFwid2Vla1wiO1xuICAgIHZhbHVlOiBudW1iZXI7XG4gIH1bXSxcbiAgb3JpZ2luOiBkYXlqcy5EYXlqcyxcbikgPT4ge1xuICBpZiAoc2VwYXJhdG9ycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJldlByb3BzQXJyYXk6IFtdLFxuICAgICAgZGF0ZXNFbnRyaWVzOiBPYmplY3QuZW50cmllcyhkYXRlcykubWFwKChbZGF0ZSwgcHJvcHNBcnJheV0pID0+IHtcbiAgICAgICAgY29uc3QgZGlmZiA9IGRheWpzKGRhdGUpLmRpZmYob3JpZ2luLCBcImRheVwiKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIHByb3BzQXJyYXkubWFwKChwcm9wcykgPT4gKHtcbiAgICAgICAgICAgIC4uLnByb3BzLFxuICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgdW5pdDogXCJkYXlcIixcbiAgICAgICAgICAgIGRpZmYsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSBhcyBjb25zdDtcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBjb3B5ID0geyAuLi5kYXRlcyB9O1xuICAvLyBwcmV2UHJvcHNcbiAgbGV0IHByZXZQcm9wczogKEUgJiB7IGRhdGU6IHN0cmluZyB9KVtdID0gW107XG4gIGNvbnN0IG1pbiA9IG9yaWdpbi5hZGQoc2VwYXJhdG9yc1swXS52YWx1ZSwgc2VwYXJhdG9yc1swXS51bml0KTtcbiAgZm9yIChjb25zdCBkYXRlIGluIGNvcHkpIHtcbiAgICBpZiAoZGF5anMoZGF0ZSkuaXNCZWZvcmUobWluLCBcImRheVwiKSkge1xuICAgICAgY29uc3QgYWRkID0gY29weVtkYXRlXS5tYXAoKHByb3BzKSA9PiAoeyAuLi5wcm9wcywgZGF0ZSB9KSk7XG4gICAgICBwcmV2UHJvcHMgPSBwcmV2UHJvcHMuY29uY2F0KGFkZCk7XG4gICAgICBkZWxldGUgY29weVtkYXRlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGxldCByZXN1bHRzOiAocmVhZG9ubHkgW1xuICAgIHN0cmluZyxcbiAgICAoRSAmIHtcbiAgICAgIGRhdGU6IHN0cmluZztcbiAgICB9KVtdLFxuICAgIHtcbiAgICAgIHVuaXQ6IHN0cmluZztcbiAgICAgIGRpZmY6IG51bWJlcjtcbiAgICB9LFxuICBdKVtdID0gW107XG4gIHNlcGFyYXRvcnMubWFwKCh7IHVuaXQsIHZhbHVlIH0sIGluZGV4LCBvcmlnaW5hbCkgPT4ge1xuICAgIGNvbnN0IG1pbiA9IG9yaWdpbi5hZGQodmFsdWUsIHVuaXQpO1xuICAgIGNvbnN0IG1heCA9XG4gICAgICBzZXBhcmF0b3JzLmxlbmd0aCAtIDEgPT09IGluZGV4XG4gICAgICAgID8gZGF5anMoXCI5OTk5LzEyLzI0XCIpXG4gICAgICAgIDogb3JpZ2luLmFkZChvcmlnaW5hbFtpbmRleCArIDFdLnZhbHVlLCBvcmlnaW5hbFtpbmRleCArIDFdLnVuaXQpO1xuICAgIGxldCBwcm9wc0FycmF5OiAoRSAmIHsgZGF0ZTogc3RyaW5nIH0pW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGRhdGUgaW4gY29weSkge1xuICAgICAgaWYgKGRheWpzKGRhdGUpLmlzQmV0d2VlbihtaW4sIG1heCwgXCJkYXlcIiwgXCJbKVwiKSkge1xuICAgICAgICBjb25zdCBhZGQgPSBjb3B5W2RhdGVdLm1hcCgocHJvcHMpID0+ICh7IC4uLnByb3BzLCBkYXRlIH0pKTtcbiAgICAgICAgcHJvcHNBcnJheSA9IHByb3BzQXJyYXkuY29uY2F0KGFkZCk7XG4gICAgICAgIGRlbGV0ZSBjb3B5W2RhdGVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wc0FycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdHMgPSByZXN1bHRzLmNvbmNhdChbXG4gICAgICAgIFtcbiAgICAgICAgICBtaW4uZm9ybWF0KFwiWVlZWU1NRERcIiksXG4gICAgICAgICAgcHJvcHNBcnJheSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1bml0LFxuICAgICAgICAgICAgZGlmZjogdmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0pO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB7XG4gICAgcHJldlByb3BzQXJyYXk6IHByZXZQcm9wcyxcbiAgICBkYXRlc0VudHJpZXM6IHJlc3VsdHMsXG4gIH07XG59O1xuXG5jb25zdCBtYWtlUmVuZGVySXRlbXMgPVxuICA8RSBleHRlbmRzIFVua25vd25Qcm9wcz4oXG4gICAgcmVuZGVySXRlbTogKFxuICAgICAgcHJvcHM6IEUgJiB7IGRhdGU6IHN0cmluZzsgaW5kZXg6IG51bWJlciB9LFxuICAgICkgPT4gUmVhY3QuSlNYLkVsZW1lbnQsXG4gICkgPT5cbiAgKHByb3BzQXJyYXk6IChFICYgeyBkYXRlOiBzdHJpbmcgfSlbXSkgPT4ge1xuICAgIHJldHVybiBwcm9wc0FycmF5Lm1hcCgocHJvcHMsIGluZGV4KSA9PlxuICAgICAgUmVhY3QuY2xvbmVFbGVtZW50KHJlbmRlckl0ZW0oeyAuLi5wcm9wcywgaW5kZXggfSksIHtcbiAgICAgICAga2V5OiBgJHtwcm9wcy5kYXRlfS4ke2luZGV4fWAsXG4gICAgICB9KSxcbiAgICApO1xuICB9O1xuXG5leHBvcnQgY29uc3QgVGltZWxpbmUgPSA8RSBleHRlbmRzIFVua25vd25Qcm9wcz4oe1xuICBpdGVtLFxuICByZW5kZXJJdGVtLFxuICBkYXRlcyxcbiAgZm9ybWF0ID0geyB5ZWFyOiBcIm51bWVyaWNcIiwgbW9udGg6IFwibnVtZXJpY1wiLCBkYXk6IFwibnVtZXJpY1wiIH0sXG4gIHNlcGFyYXRvcnMgPSBbXSxcbiAgZGF0ZSA9IGRheWpzKCkuc3RhcnRPZihcImRheVwiKSxcbiAgcmVuZGVyTGFiZWw6IExhYmVsID0gRGVmYXVsdExhYmVsLFxuICAuLi5wcm9wc1xufTogVGltZWxpbmVQcm9wczxFPikgPT4ge1xuICBjb25zdCBsb2NhbGUgPSB1c2VDb250ZXh0KExvY2FsZUNvbnRleHQpO1xuICBjb25zdCBydGYgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gUmVsYXRpdmVUaW1lRm9ybWF0KGxvY2FsZSwge1xuICAgICAgbnVtZXJpYzogXCJhdXRvXCIsXG4gICAgfSk7XG4gIH0sIFtsb2NhbGVdKTtcbiAgY29uc3QgeyBwcmV2UHJvcHNBcnJheSwgZGF0ZXNFbnRyaWVzIH0gPSBnZXREYXRlc0VudHJpZXM8RT4oXG4gICAgZGF0ZXMsXG4gICAgc2VwYXJhdG9ycyxcbiAgICBkYXlqcyhkYXRlKSxcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IEl0ZW0gPSBpdGVtID8/IHJlbmRlckl0ZW07XG4gICAgaWYgKEl0ZW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXRlbSBvciByZW5kZXJJdGVtIGlzIHJlcXVpcmVkXCIpO1xuICAgIH1cbiAgICByZXR1cm4gbWFrZVJlbmRlckl0ZW1zPEU+KEl0ZW0pO1xuICB9LCBbaXRlbSwgcmVuZGVySXRlbV0pO1xuXG4gIHJldHVybiBkYXRlc0VudHJpZXMubGVuZ3RoID4gMCA/IChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgYH1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7cHJldlByb3BzQXJyYXkubGVuZ3RoID4gMCAmJiA8ZGl2PntyZW5kZXJJdGVtcyhwcmV2UHJvcHNBcnJheSl9PC9kaXY+fVxuICAgICAge2RhdGVzRW50cmllcy5tYXAoKFt2YWx1ZSwgcHJvcHNBcnJheSwgeyB1bml0LCBkaWZmIH1dKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdGVkRGF0ZSA9XG4gICAgICAgICAgZm9ybWF0ID09PSBcInJlbGF0aXZlXCJcbiAgICAgICAgICAgID8gcnRmLmZvcm1hdChkaWZmLCB1bml0IGFzIFVuaXQpXG4gICAgICAgICAgICA6IGRheWpzKHZhbHVlKS50b0RhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCBmb3JtYXQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e2Zvcm1hdGVkRGF0ZX0+XG4gICAgICAgICAgICA8TGFiZWwgZm9ybWF0dGVkRGF0ZT17Zm9ybWF0ZWREYXRlfSAvPlxuICAgICAgICAgICAgPGRpdj57cmVuZGVySXRlbXMocHJvcHNBcnJheSl9PC9kaXY+XG4gICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvZGl2PlxuICApIDogbnVsbDtcbn07XG4iXX0= */",
|
|
23
|
+
styles: "display:flex;gap:16px;align-items:center;&::before,&::after{flex-grow:1;height:1px;content:\"\";background-color:currentColor;};label:DefaultLabel;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJjIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVDb250ZXh0IH0gZnJvbSBcIi4uL0xvY2FsZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZWxhdGl2ZVRpbWVGb3JtYXQgfSBmcm9tIFwiLi4vQHV0aWxzXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IHR5cGUgVW5rbm93blByb3BzIH0gZnJvbSBcIi4uL0B0eXBlcy9Vbmtub3duUHJvcHNcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCBpc0JldHdlZW4gZnJvbSBcImRheWpzL3BsdWdpbi9pc0JldHdlZW5cIjtcbmltcG9ydCBpc1NhbWVPckFmdGVyIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JBZnRlclwiO1xuaW1wb3J0IGlzU2FtZU9yQmVmb3JlIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JCZWZvcmVcIjtcbmltcG9ydCB0eXBlIHsgVW5pdCB9IGZyb20gXCJyZWxhdGl2ZS10aW1lLWZvcm1hdFwiO1xuXG5kYXlqcy5leHRlbmQoaXNTYW1lT3JBZnRlcik7XG5kYXlqcy5leHRlbmQoaXNTYW1lT3JCZWZvcmUpO1xuZGF5anMuZXh0ZW5kKGlzQmV0d2Vlbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVMYWJlbFByb3BzIHtcbiAgZm9ybWF0dGVkRGF0ZTogc3RyaW5nO1xufVxuXG5jb25zdCBEZWZhdWx0TGFiZWwgPSAoeyBmb3JtYXR0ZWREYXRlIH06IFRpbWVsaW5lTGFiZWxQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxUeXBvZ3JhcGh5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAge2Zvcm1hdHRlZERhdGV9XG4gICAgPC9UeXBvZ3JhcGh5PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgVGltZWxpbmVJdGVtUHJvcHM8UHJvcHMgZXh0ZW5kcyBVbmtub3duUHJvcHM+ID0gUHJvcHMgJiB7XG4gIGRhdGU6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVQcm9wczxQcm9wcyBleHRlbmRzIFVua25vd25Qcm9wcz5cbiAgZXh0ZW5kcyBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4ge1xuICAvKipcbiAgICogVGltZWxpbmVQcm9wcy5kYXRlc+OBp+aMh+WumuOBleOCjOOBn+ODh+ODvOOCv+OCknByb3Bz44Go44GX44Gm5Y+X44GR5Y+W44KK6KGo56S644GZ44KL44Gf44KB44Gu44Kz44Oz44Od44O844ON44Oz44OI44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqL1xuICByZW5kZXJJdGVtPzogKHByb3BzOiBUaW1lbGluZUl0ZW1Qcm9wczxQcm9wcz4pID0+IFJlYWN0LkpTWC5FbGVtZW50O1xuICAvKipcbiAgICog5pel5LuY44Go44CB5pel5LuY44Gr5a++5b+c44GZ44KL44OH44O844K/576k44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqXG4gICAqIOaYh+mghuOBp2tleeOBjOOCveODvOODiOOBleOCjOOBpuOBhOOCi+OBk+OBqOOCkuWJjeaPkOOBqOOBl+OBpuOBhOOCi+eCueOBq+azqOaEj+OBl+OBpuOBj+OBoOOBleOBhOOAglxuICAgKlxuICAgKiDjgr3jg7zjg4jlh6bnkIbjgYzpnaLlgJLjgarloLTlkIjjga9VSeWBtOOBp+OBruWHpueQhuOCkuaknOiojuOBl+OBvuOBmeOAglxuICAgKlxuICAgKiDjgZPjgZPjgaflgKTjgajjgZfjgabmjIflrprjgZXjgozjgZ/phY3liJfjga7lnovjga9UaW1lbGluZVByb3BzLml0ZW3jga7lvJXmlbDjgavnlKjjgYTjgonjgozjgb7jgZnjgIJcbiAgICpcbiAgICogZGF0ZeOBruODleOCqeODvOODnuODg+ODiOOBr1lZWVlNTURE44G+44Gf44GvWVlZWS1NTS1EROOBp+OBmeOAgm51bWJlcihtcynjgavjga/lvozjgavlr77lv5zjgZnjgovjgYvjgoLjgZfjgozjgb7jgZvjgpPjgIJcbiAgICpcbiAgICogRGF0ZeWei+OCkuWIqeeUqOOBl+OBn+OBhOOBqOOBhOOBhuW8t+OBhOimgeacm+OBjOOBguOBo+OBn+WgtOWQiOOBr01hcOOBq+WIh+OCiuabv+OBiOOCi+OBk+OBqOOCkuaknOiojuOBl+OBvuOBmeOAglxuICAgKlxuICAgKi9cbiAgZGF0ZXM6IFJlY29yZDxzdHJpbmcsIFByb3BzW10+O1xuICAvKipcbiAgICog5Yy65YiG44GU44Go44Gu44Op44OZ44Or44Gu6KGo6KiY44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqXG4gICAqIEBkZWZhdWx0IHt5ZWFyOiBudW1lcmljICxtb250aDogbnVtZXJpYywgZGF5OiBudW1lcmljfVxuICAgKi9cbiAgZm9ybWF0PzogXCJyZWxhdGl2ZVwiIHwgSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnM7XG4gIC8qKlxuICAgKiDljLrliIbjgpLmjIflrprjgZnjgovjgILljp/ngrnjgpLkuK3lv4PjgajjgZfjgabkuKHlgbTjgavjgIHpoIbjgavmjIflrprjgZXjgozjgZ/ljLrliIbngrnjgpLphY3nva7jgZfjgabjgYTjgY/jgIJcbiAgICpcbiAgICog5Y6f54K544Gu44OH44OV44Kp44Or44OI44GvXCLku4rml6VcIuOAglxuICAgKlxuICAgKiDpgY7ljrvjgYvjgonmnKrmnaXjgbjmmIfpoIbjgafjgr3jg7zjg4jjgZXjgozjgabjgYTjgovjgZPjgajjgpLliY3mj5DjgavjgZfjgabjgYTjgb7jgZnjgIJcbiAgICog44K944O844OI5Yem55CG44GM6Zuj44GX44GE5aC05ZCI44GvVUnlgbTjgafjga7lh6bnkIbjgpLmpJzoqI7jgZfjgb7jgZnjgIJcbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHNlcGFyYXRvcnM/OiB7XG4gICAgdW5pdDogXCJkYXlcIiB8IFwibW9udGhcIiB8IFwieWVhclwiIHwgXCJ3ZWVrXCI7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgfVtdO1xuICAvKipcbiAgICog5Z+65rqW5pel44KS5oyH5a6a44GZ44KL44CCXG4gICAqIEBkZWZhdWx0IHRvZGF5XG4gICAqL1xuICBkYXRlPzogZGF5anMuQ29uZmlnVHlwZTtcbiAgLyoqXG4gICAqIOODleOCqeODvOODnuODg+ODiOOBleOCjOOBn+aXpeS7mOOCkuWPl+OBkeWPluOCiuOAgeODqeODmeODq+OBqOOBl+OBpuihqOekuuOBmeOCi+OCs+ODs+ODneODvOODjeODs+ODiOOCkuaMh+WumuOBl+OBvuOBmeOAglxuICAgKi9cbiAgcmVuZGVyTGFiZWw/OiAocHJvcHM6IFRpbWVsaW5lTGFiZWxQcm9wcykgPT4gUmVhY3QuSlNYLkVsZW1lbnQ7XG59XG5cbmNvbnN0IGdldERhdGVzRW50cmllcyA9IDxFIGV4dGVuZHMgVW5rbm93blByb3BzPihcbiAgZGF0ZXM6IFJlY29yZDxzdHJpbmcsIEVbXT4sXG4gIHNlcGFyYXRvcnM6IHtcbiAgICB1bml0OiBcImRheVwiIHwgXCJtb250aFwiIHwgXCJ5ZWFyXCIgfCBcIndlZWtcIjtcbiAgICB2YWx1ZTogbnVtYmVyO1xuICB9W10sXG4gIG9yaWdpbjogZGF5anMuRGF5anMsXG4pID0+IHtcbiAgaWYgKHNlcGFyYXRvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByZXZQcm9wc0FycmF5OiBbXSxcbiAgICAgIGRhdGVzRW50cmllczogT2JqZWN0LmVudHJpZXMoZGF0ZXMpLm1hcCgoW2RhdGUsIHByb3BzQXJyYXldKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBkYXlqcyhkYXRlKS5kaWZmKG9yaWdpbiwgXCJkYXlcIik7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgZGF0ZSxcbiAgICAgICAgICBwcm9wc0FycmF5Lm1hcCgocHJvcHMpID0+ICh7XG4gICAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICAgIGRhdGUsXG4gICAgICAgICAgfSkpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHVuaXQ6IFwiZGF5XCIsXG4gICAgICAgICAgICBkaWZmLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0gYXMgY29uc3Q7XG4gICAgICB9KSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgY29weSA9IHsgLi4uZGF0ZXMgfTtcbiAgLy8gcHJldlByb3BzXG4gIGxldCBwcmV2UHJvcHM6IChFICYgeyBkYXRlOiBzdHJpbmcgfSlbXSA9IFtdO1xuICBjb25zdCBtaW4gPSBvcmlnaW4uYWRkKHNlcGFyYXRvcnNbMF0udmFsdWUsIHNlcGFyYXRvcnNbMF0udW5pdCk7XG4gIGZvciAoY29uc3QgZGF0ZSBpbiBjb3B5KSB7XG4gICAgaWYgKGRheWpzKGRhdGUpLmlzQmVmb3JlKG1pbiwgXCJkYXlcIikpIHtcbiAgICAgIGNvbnN0IGFkZCA9IGNvcHlbZGF0ZV0ubWFwKChwcm9wcykgPT4gKHsgLi4ucHJvcHMsIGRhdGUgfSkpO1xuICAgICAgcHJldlByb3BzID0gcHJldlByb3BzLmNvbmNhdChhZGQpO1xuICAgICAgZGVsZXRlIGNvcHlbZGF0ZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBsZXQgcmVzdWx0czogKHJlYWRvbmx5IFtcbiAgICBzdHJpbmcsXG4gICAgKEUgJiB7XG4gICAgICBkYXRlOiBzdHJpbmc7XG4gICAgfSlbXSxcbiAgICB7XG4gICAgICB1bml0OiBzdHJpbmc7XG4gICAgICBkaWZmOiBudW1iZXI7XG4gICAgfSxcbiAgXSlbXSA9IFtdO1xuICBzZXBhcmF0b3JzLm1hcCgoeyB1bml0LCB2YWx1ZSB9LCBpbmRleCwgb3JpZ2luYWwpID0+IHtcbiAgICBjb25zdCBtaW4gPSBvcmlnaW4uYWRkKHZhbHVlLCB1bml0KTtcbiAgICBjb25zdCBtYXggPVxuICAgICAgc2VwYXJhdG9ycy5sZW5ndGggLSAxID09PSBpbmRleFxuICAgICAgICA/IGRheWpzKFwiOTk5OS8xMi8yNFwiKVxuICAgICAgICA6IG9yaWdpbi5hZGQob3JpZ2luYWxbaW5kZXggKyAxXS52YWx1ZSwgb3JpZ2luYWxbaW5kZXggKyAxXS51bml0KTtcbiAgICBsZXQgcHJvcHNBcnJheTogKEUgJiB7IGRhdGU6IHN0cmluZyB9KVtdID0gW107XG4gICAgZm9yIChjb25zdCBkYXRlIGluIGNvcHkpIHtcbiAgICAgIGlmIChkYXlqcyhkYXRlKS5pc0JldHdlZW4obWluLCBtYXgsIFwiZGF5XCIsIFwiWylcIikpIHtcbiAgICAgICAgY29uc3QgYWRkID0gY29weVtkYXRlXS5tYXAoKHByb3BzKSA9PiAoeyAuLi5wcm9wcywgZGF0ZSB9KSk7XG4gICAgICAgIHByb3BzQXJyYXkgPSBwcm9wc0FycmF5LmNvbmNhdChhZGQpO1xuICAgICAgICBkZWxldGUgY29weVtkYXRlXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHNBcnJheS5sZW5ndGggPiAwKSB7XG4gICAgICByZXN1bHRzID0gcmVzdWx0cy5jb25jYXQoW1xuICAgICAgICBbXG4gICAgICAgICAgbWluLmZvcm1hdChcIllZWVlNTUREXCIpLFxuICAgICAgICAgIHByb3BzQXJyYXksXG4gICAgICAgICAge1xuICAgICAgICAgICAgdW5pdCxcbiAgICAgICAgICAgIGRpZmY6IHZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICBdKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHByZXZQcm9wc0FycmF5OiBwcmV2UHJvcHMsXG4gICAgZGF0ZXNFbnRyaWVzOiByZXN1bHRzLFxuICB9O1xufTtcblxuY29uc3QgbWFrZVJlbmRlckl0ZW1zID1cbiAgPEUgZXh0ZW5kcyBVbmtub3duUHJvcHM+KFxuICAgIHJlbmRlckl0ZW06IChcbiAgICAgIHByb3BzOiBFICYgeyBkYXRlOiBzdHJpbmc7IGluZGV4OiBudW1iZXIgfSxcbiAgICApID0+IFJlYWN0LkpTWC5FbGVtZW50LFxuICApID0+XG4gIChwcm9wc0FycmF5OiAoRSAmIHsgZGF0ZTogc3RyaW5nIH0pW10pID0+IHtcbiAgICByZXR1cm4gcHJvcHNBcnJheS5tYXAoKHByb3BzLCBpbmRleCkgPT5cbiAgICAgIFJlYWN0LmNsb25lRWxlbWVudChyZW5kZXJJdGVtKHsgLi4ucHJvcHMsIGluZGV4IH0pLCB7XG4gICAgICAgIGtleTogYCR7cHJvcHMuZGF0ZX0uJHtpbmRleH1gLFxuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuZXhwb3J0IGNvbnN0IFRpbWVsaW5lID0gPEUgZXh0ZW5kcyBVbmtub3duUHJvcHM+KHtcbiAgcmVuZGVySXRlbSxcbiAgZGF0ZXMsXG4gIGZvcm1hdCA9IHsgeWVhcjogXCJudW1lcmljXCIsIG1vbnRoOiBcIm51bWVyaWNcIiwgZGF5OiBcIm51bWVyaWNcIiB9LFxuICBzZXBhcmF0b3JzID0gW10sXG4gIGRhdGUgPSBkYXlqcygpLnN0YXJ0T2YoXCJkYXlcIiksXG4gIHJlbmRlckxhYmVsOiBMYWJlbCA9IERlZmF1bHRMYWJlbCxcbiAgLi4ucHJvcHNcbn06IFRpbWVsaW5lUHJvcHM8RT4pID0+IHtcbiAgY29uc3QgbG9jYWxlID0gdXNlQ29udGV4dChMb2NhbGVDb250ZXh0KTtcbiAgY29uc3QgcnRmID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIFJlbGF0aXZlVGltZUZvcm1hdChsb2NhbGUsIHtcbiAgICAgIG51bWVyaWM6IFwiYXV0b1wiLFxuICAgIH0pO1xuICB9LCBbbG9jYWxlXSk7XG4gIGNvbnN0IHsgcHJldlByb3BzQXJyYXksIGRhdGVzRW50cmllcyB9ID0gZ2V0RGF0ZXNFbnRyaWVzPEU+KFxuICAgIGRhdGVzLFxuICAgIHNlcGFyYXRvcnMsXG4gICAgZGF5anMoZGF0ZSksXG4gICk7XG5cbiAgY29uc3QgcmVuZGVySXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBJdGVtID0gcmVuZGVySXRlbTtcbiAgICBpZiAoSXRlbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpdGVtIG9yIHJlbmRlckl0ZW0gaXMgcmVxdWlyZWRcIik7XG4gICAgfVxuICAgIHJldHVybiBtYWtlUmVuZGVySXRlbXM8RT4oSXRlbSk7XG4gIH0sIFtyZW5kZXJJdGVtXSk7XG5cbiAgcmV0dXJuIGRhdGVzRW50cmllcy5sZW5ndGggPiAwID8gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICBgfVxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIHtwcmV2UHJvcHNBcnJheS5sZW5ndGggPiAwICYmIDxkaXY+e3JlbmRlckl0ZW1zKHByZXZQcm9wc0FycmF5KX08L2Rpdj59XG4gICAgICB7ZGF0ZXNFbnRyaWVzLm1hcCgoW3ZhbHVlLCBwcm9wc0FycmF5LCB7IHVuaXQsIGRpZmYgfV0pID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0ZWREYXRlID1cbiAgICAgICAgICBmb3JtYXQgPT09IFwicmVsYXRpdmVcIlxuICAgICAgICAgICAgPyBydGYuZm9ybWF0KGRpZmYsIHVuaXQgYXMgVW5pdClcbiAgICAgICAgICAgIDogZGF5anModmFsdWUpLnRvRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIGZvcm1hdCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17Zm9ybWF0ZWREYXRlfT5cbiAgICAgICAgICAgIDxMYWJlbCBmb3JtYXR0ZWREYXRlPXtmb3JtYXRlZERhdGV9IC8+XG4gICAgICAgICAgICA8ZGl2PntyZW5kZXJJdGVtcyhwcm9wc0FycmF5KX08L2Rpdj5cbiAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICkgOiBudWxsO1xufTtcbiJdfQ== */",
|
|
24
24
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
25
25
|
};
|
|
26
26
|
var DefaultLabel = _ref3 => {
|
|
@@ -112,12 +112,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
112
112
|
styles: "display:flex;flex-direction:column;gap:16px"
|
|
113
113
|
} : {
|
|
114
114
|
name: "wuhi55-Timeline",
|
|
115
|
-
styles: "display:flex;flex-direction:column;gap:16px;label:Timeline;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMk9jIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVDb250ZXh0IH0gZnJvbSBcIi4uL0xvY2FsZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZWxhdGl2ZVRpbWVGb3JtYXQgfSBmcm9tIFwiLi4vQHV0aWxzXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IHR5cGUgVW5rbm93blByb3BzIH0gZnJvbSBcIi4uL0B0eXBlcy9Vbmtub3duUHJvcHNcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCBpc0JldHdlZW4gZnJvbSBcImRheWpzL3BsdWdpbi9pc0JldHdlZW5cIjtcbmltcG9ydCBpc1NhbWVPckFmdGVyIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JBZnRlclwiO1xuaW1wb3J0IGlzU2FtZU9yQmVmb3JlIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JCZWZvcmVcIjtcbmltcG9ydCB0eXBlIHsgVW5pdCB9IGZyb20gXCJyZWxhdGl2ZS10aW1lLWZvcm1hdFwiO1xuXG5kYXlqcy5leHRlbmQoaXNTYW1lT3JBZnRlcik7XG5kYXlqcy5leHRlbmQoaXNTYW1lT3JCZWZvcmUpO1xuZGF5anMuZXh0ZW5kKGlzQmV0d2Vlbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVMYWJlbFByb3BzIHtcbiAgZm9ybWF0dGVkRGF0ZTogc3RyaW5nO1xufVxuXG5jb25zdCBEZWZhdWx0TGFiZWwgPSAoeyBmb3JtYXR0ZWREYXRlIH06IFRpbWVsaW5lTGFiZWxQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxUeXBvZ3JhcGh5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAge2Zvcm1hdHRlZERhdGV9XG4gICAgPC9UeXBvZ3JhcGh5PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgVGltZWxpbmVJdGVtUHJvcHM8UHJvcHMgZXh0ZW5kcyBVbmtub3duUHJvcHM+ID0gUHJvcHMgJiB7XG4gIGRhdGU6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVQcm9wczxQcm9wcyBleHRlbmRzIFVua25vd25Qcm9wcz5cbiAgZXh0ZW5kcyBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4ge1xuICAvKipcbiAgICogVGltZWxpbmVQcm9wcy5kYXRlc+OBp+aMh+WumuOBleOCjOOBn+ODh+ODvOOCv+OCknByb3Bz44Go44GX44Gm5Y+X44GR5Y+W44KK6KGo56S644GZ44KL44Gf44KB44Gu44Kz44Oz44Od44O844ON44Oz44OI44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgcmVuZGVySXRlbWAgaW5zdGVhZC5cbiAgICovXG4gIGl0ZW0/OiAocHJvcHM6IFRpbWVsaW5lSXRlbVByb3BzPFByb3BzPikgPT4gUmVhY3QuSlNYLkVsZW1lbnQ7XG4gIC8qKlxuICAgKiBUaW1lbGluZVByb3BzLmRhdGVz44Gn5oyH5a6a44GV44KM44Gf44OH44O844K/44KScHJvcHPjgajjgZfjgablj5fjgZHlj5bjgorooajnpLrjgZnjgovjgZ/jgoHjga7jgrPjg7Pjg53jg7zjg43jg7Pjg4jjgpLmjIflrprjgZfjgb7jgZnjgIJcbiAgICovXG4gIHJlbmRlckl0ZW0/OiAocHJvcHM6IFRpbWVsaW5lSXRlbVByb3BzPFByb3BzPikgPT4gUmVhY3QuSlNYLkVsZW1lbnQ7XG4gIC8qKlxuICAgKiDml6Xku5jjgajjgIHml6Xku5jjgavlr77lv5zjgZnjgovjg4fjg7zjgr/nvqTjgpLmjIflrprjgZfjgb7jgZnjgIJcbiAgICpcbiAgICog5piH6aCG44Gna2V544GM44K944O844OI44GV44KM44Gm44GE44KL44GT44Go44KS5YmN5o+Q44Go44GX44Gm44GE44KL54K544Gr5rOo5oSP44GX44Gm44GP44Gg44GV44GE44CCXG4gICAqXG4gICAqIOOCveODvOODiOWHpueQhuOBjOmdouWAkuOBquWgtOWQiOOBr1VJ5YG044Gn44Gu5Yem55CG44KS5qSc6KiO44GX44G+44GZ44CCXG4gICAqXG4gICAqIOOBk+OBk+OBp+WApOOBqOOBl+OBpuaMh+WumuOBleOCjOOBn+mFjeWIl+OBruWei+OBr1RpbWVsaW5lUHJvcHMuaXRlbeOBruW8leaVsOOBq+eUqOOBhOOCieOCjOOBvuOBmeOAglxuICAgKlxuICAgKiBkYXRl44Gu44OV44Kp44O844Oe44OD44OI44GvWVlZWU1NRETjgb7jgZ/jga9ZWVlZLU1NLURE44Gn44GZ44CCbnVtYmVyKG1zKeOBq+OBr+W+jOOBq+WvvuW/nOOBmeOCi+OBi+OCguOBl+OCjOOBvuOBm+OCk+OAglxuICAgKlxuICAgKiBEYXRl5Z6L44KS5Yip55So44GX44Gf44GE44Go44GE44GG5by344GE6KaB5pyb44GM44GC44Gj44Gf5aC05ZCI44GvTWFw44Gr5YiH44KK5pu/44GI44KL44GT44Go44KS5qSc6KiO44GX44G+44GZ44CCXG4gICAqXG4gICAqL1xuICBkYXRlczogUmVjb3JkPHN0cmluZywgUHJvcHNbXT47XG4gIC8qKlxuICAgKiDljLrliIbjgZTjgajjga7jg6njg5njg6vjga7ooajoqJjjgpLmjIflrprjgZfjgb7jgZnjgIJcbiAgICpcbiAgICogQGRlZmF1bHQge3llYXI6IG51bWVyaWMgLG1vbnRoOiBudW1lcmljLCBkYXk6IG51bWVyaWN9XG4gICAqL1xuICBmb3JtYXQ/OiBcInJlbGF0aXZlXCIgfCBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucztcbiAgLyoqXG4gICAqIOWMuuWIhuOCkuaMh+WumuOBmeOCi+OAguWOn+eCueOCkuS4reW/g+OBqOOBl+OBpuS4oeWBtOOBq+OAgemghuOBq+aMh+WumuOBleOCjOOBn+WMuuWIhueCueOCkumFjee9ruOBl+OBpuOBhOOBj+OAglxuICAgKlxuICAgKiDljp/ngrnjga7jg4fjg5Xjgqnjg6vjg4jjga9cIuS7iuaXpVwi44CCXG4gICAqXG4gICAqIOmBjuWOu+OBi+OCieacquadpeOBuOaYh+mghuOBp+OCveODvOODiOOBleOCjOOBpuOBhOOCi+OBk+OBqOOCkuWJjeaPkOOBq+OBl+OBpuOBhOOBvuOBmeOAglxuICAgKiDjgr3jg7zjg4jlh6bnkIbjgYzpm6PjgZfjgYTloLTlkIjjga9VSeWBtOOBp+OBruWHpueQhuOCkuaknOiojuOBl+OBvuOBmeOAglxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgc2VwYXJhdG9ycz86IHtcbiAgICB1bml0OiBcImRheVwiIHwgXCJtb250aFwiIHwgXCJ5ZWFyXCIgfCBcIndlZWtcIjtcbiAgICB2YWx1ZTogbnVtYmVyO1xuICB9W107XG4gIC8qKlxuICAgKiDln7rmupbml6XjgpLmjIflrprjgZnjgovjgIJcbiAgICogQGRlZmF1bHQgdG9kYXlcbiAgICovXG4gIGRhdGU/OiBkYXlqcy5Db25maWdUeXBlO1xuICAvKipcbiAgICog44OV44Kp44O844Oe44OD44OI44GV44KM44Gf5pel5LuY44KS5Y+X44GR5Y+W44KK44CB44Op44OZ44Or44Go44GX44Gm6KGo56S644GZ44KL44Kz44Oz44Od44O844ON44Oz44OI44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqL1xuICByZW5kZXJMYWJlbD86IChwcm9wczogVGltZWxpbmVMYWJlbFByb3BzKSA9PiBSZWFjdC5KU1guRWxlbWVudDtcbn1cblxuY29uc3QgZ2V0RGF0ZXNFbnRyaWVzID0gPEUgZXh0ZW5kcyBVbmtub3duUHJvcHM+KFxuICBkYXRlczogUmVjb3JkPHN0cmluZywgRVtdPixcbiAgc2VwYXJhdG9yczoge1xuICAgIHVuaXQ6IFwiZGF5XCIgfCBcIm1vbnRoXCIgfCBcInllYXJcIiB8IFwid2Vla1wiO1xuICAgIHZhbHVlOiBudW1iZXI7XG4gIH1bXSxcbiAgb3JpZ2luOiBkYXlqcy5EYXlqcyxcbikgPT4ge1xuICBpZiAoc2VwYXJhdG9ycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJldlByb3BzQXJyYXk6IFtdLFxuICAgICAgZGF0ZXNFbnRyaWVzOiBPYmplY3QuZW50cmllcyhkYXRlcykubWFwKChbZGF0ZSwgcHJvcHNBcnJheV0pID0+IHtcbiAgICAgICAgY29uc3QgZGlmZiA9IGRheWpzKGRhdGUpLmRpZmYob3JpZ2luLCBcImRheVwiKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIHByb3BzQXJyYXkubWFwKChwcm9wcykgPT4gKHtcbiAgICAgICAgICAgIC4uLnByb3BzLFxuICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgdW5pdDogXCJkYXlcIixcbiAgICAgICAgICAgIGRpZmYsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSBhcyBjb25zdDtcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBjb3B5ID0geyAuLi5kYXRlcyB9O1xuICAvLyBwcmV2UHJvcHNcbiAgbGV0IHByZXZQcm9wczogKEUgJiB7IGRhdGU6IHN0cmluZyB9KVtdID0gW107XG4gIGNvbnN0IG1pbiA9IG9yaWdpbi5hZGQoc2VwYXJhdG9yc1swXS52YWx1ZSwgc2VwYXJhdG9yc1swXS51bml0KTtcbiAgZm9yIChjb25zdCBkYXRlIGluIGNvcHkpIHtcbiAgICBpZiAoZGF5anMoZGF0ZSkuaXNCZWZvcmUobWluLCBcImRheVwiKSkge1xuICAgICAgY29uc3QgYWRkID0gY29weVtkYXRlXS5tYXAoKHByb3BzKSA9PiAoeyAuLi5wcm9wcywgZGF0ZSB9KSk7XG4gICAgICBwcmV2UHJvcHMgPSBwcmV2UHJvcHMuY29uY2F0KGFkZCk7XG4gICAgICBkZWxldGUgY29weVtkYXRlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGxldCByZXN1bHRzOiAocmVhZG9ubHkgW1xuICAgIHN0cmluZyxcbiAgICAoRSAmIHtcbiAgICAgIGRhdGU6IHN0cmluZztcbiAgICB9KVtdLFxuICAgIHtcbiAgICAgIHVuaXQ6IHN0cmluZztcbiAgICAgIGRpZmY6IG51bWJlcjtcbiAgICB9LFxuICBdKVtdID0gW107XG4gIHNlcGFyYXRvcnMubWFwKCh7IHVuaXQsIHZhbHVlIH0sIGluZGV4LCBvcmlnaW5hbCkgPT4ge1xuICAgIGNvbnN0IG1pbiA9IG9yaWdpbi5hZGQodmFsdWUsIHVuaXQpO1xuICAgIGNvbnN0IG1heCA9XG4gICAgICBzZXBhcmF0b3JzLmxlbmd0aCAtIDEgPT09IGluZGV4XG4gICAgICAgID8gZGF5anMoXCI5OTk5LzEyLzI0XCIpXG4gICAgICAgIDogb3JpZ2luLmFkZChvcmlnaW5hbFtpbmRleCArIDFdLnZhbHVlLCBvcmlnaW5hbFtpbmRleCArIDFdLnVuaXQpO1xuICAgIGxldCBwcm9wc0FycmF5OiAoRSAmIHsgZGF0ZTogc3RyaW5nIH0pW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGRhdGUgaW4gY29weSkge1xuICAgICAgaWYgKGRheWpzKGRhdGUpLmlzQmV0d2VlbihtaW4sIG1heCwgXCJkYXlcIiwgXCJbKVwiKSkge1xuICAgICAgICBjb25zdCBhZGQgPSBjb3B5W2RhdGVdLm1hcCgocHJvcHMpID0+ICh7IC4uLnByb3BzLCBkYXRlIH0pKTtcbiAgICAgICAgcHJvcHNBcnJheSA9IHByb3BzQXJyYXkuY29uY2F0KGFkZCk7XG4gICAgICAgIGRlbGV0ZSBjb3B5W2RhdGVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wc0FycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdHMgPSByZXN1bHRzLmNvbmNhdChbXG4gICAgICAgIFtcbiAgICAgICAgICBtaW4uZm9ybWF0KFwiWVlZWU1NRERcIiksXG4gICAgICAgICAgcHJvcHNBcnJheSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1bml0LFxuICAgICAgICAgICAgZGlmZjogdmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0pO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB7XG4gICAgcHJldlByb3BzQXJyYXk6IHByZXZQcm9wcyxcbiAgICBkYXRlc0VudHJpZXM6IHJlc3VsdHMsXG4gIH07XG59O1xuXG5jb25zdCBtYWtlUmVuZGVySXRlbXMgPVxuICA8RSBleHRlbmRzIFVua25vd25Qcm9wcz4oXG4gICAgcmVuZGVySXRlbTogKFxuICAgICAgcHJvcHM6IEUgJiB7IGRhdGU6IHN0cmluZzsgaW5kZXg6IG51bWJlciB9LFxuICAgICkgPT4gUmVhY3QuSlNYLkVsZW1lbnQsXG4gICkgPT5cbiAgKHByb3BzQXJyYXk6IChFICYgeyBkYXRlOiBzdHJpbmcgfSlbXSkgPT4ge1xuICAgIHJldHVybiBwcm9wc0FycmF5Lm1hcCgocHJvcHMsIGluZGV4KSA9PlxuICAgICAgUmVhY3QuY2xvbmVFbGVtZW50KHJlbmRlckl0ZW0oeyAuLi5wcm9wcywgaW5kZXggfSksIHtcbiAgICAgICAga2V5OiBgJHtwcm9wcy5kYXRlfS4ke2luZGV4fWAsXG4gICAgICB9KSxcbiAgICApO1xuICB9O1xuXG5leHBvcnQgY29uc3QgVGltZWxpbmUgPSA8RSBleHRlbmRzIFVua25vd25Qcm9wcz4oe1xuICBpdGVtLFxuICByZW5kZXJJdGVtLFxuICBkYXRlcyxcbiAgZm9ybWF0ID0geyB5ZWFyOiBcIm51bWVyaWNcIiwgbW9udGg6IFwibnVtZXJpY1wiLCBkYXk6IFwibnVtZXJpY1wiIH0sXG4gIHNlcGFyYXRvcnMgPSBbXSxcbiAgZGF0ZSA9IGRheWpzKCkuc3RhcnRPZihcImRheVwiKSxcbiAgcmVuZGVyTGFiZWw6IExhYmVsID0gRGVmYXVsdExhYmVsLFxuICAuLi5wcm9wc1xufTogVGltZWxpbmVQcm9wczxFPikgPT4ge1xuICBjb25zdCBsb2NhbGUgPSB1c2VDb250ZXh0KExvY2FsZUNvbnRleHQpO1xuICBjb25zdCBydGYgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gUmVsYXRpdmVUaW1lRm9ybWF0KGxvY2FsZSwge1xuICAgICAgbnVtZXJpYzogXCJhdXRvXCIsXG4gICAgfSk7XG4gIH0sIFtsb2NhbGVdKTtcbiAgY29uc3QgeyBwcmV2UHJvcHNBcnJheSwgZGF0ZXNFbnRyaWVzIH0gPSBnZXREYXRlc0VudHJpZXM8RT4oXG4gICAgZGF0ZXMsXG4gICAgc2VwYXJhdG9ycyxcbiAgICBkYXlqcyhkYXRlKSxcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IEl0ZW0gPSBpdGVtID8/IHJlbmRlckl0ZW07XG4gICAgaWYgKEl0ZW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXRlbSBvciByZW5kZXJJdGVtIGlzIHJlcXVpcmVkXCIpO1xuICAgIH1cbiAgICByZXR1cm4gbWFrZVJlbmRlckl0ZW1zPEU+KEl0ZW0pO1xuICB9LCBbaXRlbSwgcmVuZGVySXRlbV0pO1xuXG4gIHJldHVybiBkYXRlc0VudHJpZXMubGVuZ3RoID4gMCA/IChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgYH1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7cHJldlByb3BzQXJyYXkubGVuZ3RoID4gMCAmJiA8ZGl2PntyZW5kZXJJdGVtcyhwcmV2UHJvcHNBcnJheSl9PC9kaXY+fVxuICAgICAge2RhdGVzRW50cmllcy5tYXAoKFt2YWx1ZSwgcHJvcHNBcnJheSwgeyB1bml0LCBkaWZmIH1dKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdGVkRGF0ZSA9XG4gICAgICAgICAgZm9ybWF0ID09PSBcInJlbGF0aXZlXCJcbiAgICAgICAgICAgID8gcnRmLmZvcm1hdChkaWZmLCB1bml0IGFzIFVuaXQpXG4gICAgICAgICAgICA6IGRheWpzKHZhbHVlKS50b0RhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCBmb3JtYXQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e2Zvcm1hdGVkRGF0ZX0+XG4gICAgICAgICAgICA8TGFiZWwgZm9ybWF0dGVkRGF0ZT17Zm9ybWF0ZWREYXRlfSAvPlxuICAgICAgICAgICAgPGRpdj57cmVuZGVySXRlbXMocHJvcHNBcnJheSl9PC9kaXY+XG4gICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvZGl2PlxuICApIDogbnVsbDtcbn07XG4iXX0= */",
|
|
115
|
+
styles: "display:flex;flex-direction:column;gap:16px;label:Timeline;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcU9jIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9UaW1lbGluZS9UaW1lbGluZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVDb250ZXh0IH0gZnJvbSBcIi4uL0xvY2FsZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZWxhdGl2ZVRpbWVGb3JtYXQgfSBmcm9tIFwiLi4vQHV0aWxzXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IHR5cGUgVW5rbm93blByb3BzIH0gZnJvbSBcIi4uL0B0eXBlcy9Vbmtub3duUHJvcHNcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCBpc0JldHdlZW4gZnJvbSBcImRheWpzL3BsdWdpbi9pc0JldHdlZW5cIjtcbmltcG9ydCBpc1NhbWVPckFmdGVyIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JBZnRlclwiO1xuaW1wb3J0IGlzU2FtZU9yQmVmb3JlIGZyb20gXCJkYXlqcy9wbHVnaW4vaXNTYW1lT3JCZWZvcmVcIjtcbmltcG9ydCB0eXBlIHsgVW5pdCB9IGZyb20gXCJyZWxhdGl2ZS10aW1lLWZvcm1hdFwiO1xuXG5kYXlqcy5leHRlbmQoaXNTYW1lT3JBZnRlcik7XG5kYXlqcy5leHRlbmQoaXNTYW1lT3JCZWZvcmUpO1xuZGF5anMuZXh0ZW5kKGlzQmV0d2Vlbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVMYWJlbFByb3BzIHtcbiAgZm9ybWF0dGVkRGF0ZTogc3RyaW5nO1xufVxuXG5jb25zdCBEZWZhdWx0TGFiZWwgPSAoeyBmb3JtYXR0ZWREYXRlIH06IFRpbWVsaW5lTGFiZWxQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxUeXBvZ3JhcGh5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAge2Zvcm1hdHRlZERhdGV9XG4gICAgPC9UeXBvZ3JhcGh5PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgVGltZWxpbmVJdGVtUHJvcHM8UHJvcHMgZXh0ZW5kcyBVbmtub3duUHJvcHM+ID0gUHJvcHMgJiB7XG4gIGRhdGU6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVQcm9wczxQcm9wcyBleHRlbmRzIFVua25vd25Qcm9wcz5cbiAgZXh0ZW5kcyBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4ge1xuICAvKipcbiAgICogVGltZWxpbmVQcm9wcy5kYXRlc+OBp+aMh+WumuOBleOCjOOBn+ODh+ODvOOCv+OCknByb3Bz44Go44GX44Gm5Y+X44GR5Y+W44KK6KGo56S644GZ44KL44Gf44KB44Gu44Kz44Oz44Od44O844ON44Oz44OI44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqL1xuICByZW5kZXJJdGVtPzogKHByb3BzOiBUaW1lbGluZUl0ZW1Qcm9wczxQcm9wcz4pID0+IFJlYWN0LkpTWC5FbGVtZW50O1xuICAvKipcbiAgICog5pel5LuY44Go44CB5pel5LuY44Gr5a++5b+c44GZ44KL44OH44O844K/576k44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqXG4gICAqIOaYh+mghuOBp2tleeOBjOOCveODvOODiOOBleOCjOOBpuOBhOOCi+OBk+OBqOOCkuWJjeaPkOOBqOOBl+OBpuOBhOOCi+eCueOBq+azqOaEj+OBl+OBpuOBj+OBoOOBleOBhOOAglxuICAgKlxuICAgKiDjgr3jg7zjg4jlh6bnkIbjgYzpnaLlgJLjgarloLTlkIjjga9VSeWBtOOBp+OBruWHpueQhuOCkuaknOiojuOBl+OBvuOBmeOAglxuICAgKlxuICAgKiDjgZPjgZPjgaflgKTjgajjgZfjgabmjIflrprjgZXjgozjgZ/phY3liJfjga7lnovjga9UaW1lbGluZVByb3BzLml0ZW3jga7lvJXmlbDjgavnlKjjgYTjgonjgozjgb7jgZnjgIJcbiAgICpcbiAgICogZGF0ZeOBruODleOCqeODvOODnuODg+ODiOOBr1lZWVlNTURE44G+44Gf44GvWVlZWS1NTS1EROOBp+OBmeOAgm51bWJlcihtcynjgavjga/lvozjgavlr77lv5zjgZnjgovjgYvjgoLjgZfjgozjgb7jgZvjgpPjgIJcbiAgICpcbiAgICogRGF0ZeWei+OCkuWIqeeUqOOBl+OBn+OBhOOBqOOBhOOBhuW8t+OBhOimgeacm+OBjOOBguOBo+OBn+WgtOWQiOOBr01hcOOBq+WIh+OCiuabv+OBiOOCi+OBk+OBqOOCkuaknOiojuOBl+OBvuOBmeOAglxuICAgKlxuICAgKi9cbiAgZGF0ZXM6IFJlY29yZDxzdHJpbmcsIFByb3BzW10+O1xuICAvKipcbiAgICog5Yy65YiG44GU44Go44Gu44Op44OZ44Or44Gu6KGo6KiY44KS5oyH5a6a44GX44G+44GZ44CCXG4gICAqXG4gICAqIEBkZWZhdWx0IHt5ZWFyOiBudW1lcmljICxtb250aDogbnVtZXJpYywgZGF5OiBudW1lcmljfVxuICAgKi9cbiAgZm9ybWF0PzogXCJyZWxhdGl2ZVwiIHwgSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnM7XG4gIC8qKlxuICAgKiDljLrliIbjgpLmjIflrprjgZnjgovjgILljp/ngrnjgpLkuK3lv4PjgajjgZfjgabkuKHlgbTjgavjgIHpoIbjgavmjIflrprjgZXjgozjgZ/ljLrliIbngrnjgpLphY3nva7jgZfjgabjgYTjgY/jgIJcbiAgICpcbiAgICog5Y6f54K544Gu44OH44OV44Kp44Or44OI44GvXCLku4rml6VcIuOAglxuICAgKlxuICAgKiDpgY7ljrvjgYvjgonmnKrmnaXjgbjmmIfpoIbjgafjgr3jg7zjg4jjgZXjgozjgabjgYTjgovjgZPjgajjgpLliY3mj5DjgavjgZfjgabjgYTjgb7jgZnjgIJcbiAgICog44K944O844OI5Yem55CG44GM6Zuj44GX44GE5aC05ZCI44GvVUnlgbTjgafjga7lh6bnkIbjgpLmpJzoqI7jgZfjgb7jgZnjgIJcbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHNlcGFyYXRvcnM/OiB7XG4gICAgdW5pdDogXCJkYXlcIiB8IFwibW9udGhcIiB8IFwieWVhclwiIHwgXCJ3ZWVrXCI7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgfVtdO1xuICAvKipcbiAgICog5Z+65rqW5pel44KS5oyH5a6a44GZ44KL44CCXG4gICAqIEBkZWZhdWx0IHRvZGF5XG4gICAqL1xuICBkYXRlPzogZGF5anMuQ29uZmlnVHlwZTtcbiAgLyoqXG4gICAqIOODleOCqeODvOODnuODg+ODiOOBleOCjOOBn+aXpeS7mOOCkuWPl+OBkeWPluOCiuOAgeODqeODmeODq+OBqOOBl+OBpuihqOekuuOBmeOCi+OCs+ODs+ODneODvOODjeODs+ODiOOCkuaMh+WumuOBl+OBvuOBmeOAglxuICAgKi9cbiAgcmVuZGVyTGFiZWw/OiAocHJvcHM6IFRpbWVsaW5lTGFiZWxQcm9wcykgPT4gUmVhY3QuSlNYLkVsZW1lbnQ7XG59XG5cbmNvbnN0IGdldERhdGVzRW50cmllcyA9IDxFIGV4dGVuZHMgVW5rbm93blByb3BzPihcbiAgZGF0ZXM6IFJlY29yZDxzdHJpbmcsIEVbXT4sXG4gIHNlcGFyYXRvcnM6IHtcbiAgICB1bml0OiBcImRheVwiIHwgXCJtb250aFwiIHwgXCJ5ZWFyXCIgfCBcIndlZWtcIjtcbiAgICB2YWx1ZTogbnVtYmVyO1xuICB9W10sXG4gIG9yaWdpbjogZGF5anMuRGF5anMsXG4pID0+IHtcbiAgaWYgKHNlcGFyYXRvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByZXZQcm9wc0FycmF5OiBbXSxcbiAgICAgIGRhdGVzRW50cmllczogT2JqZWN0LmVudHJpZXMoZGF0ZXMpLm1hcCgoW2RhdGUsIHByb3BzQXJyYXldKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBkYXlqcyhkYXRlKS5kaWZmKG9yaWdpbiwgXCJkYXlcIik7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgZGF0ZSxcbiAgICAgICAgICBwcm9wc0FycmF5Lm1hcCgocHJvcHMpID0+ICh7XG4gICAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICAgIGRhdGUsXG4gICAgICAgICAgfSkpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHVuaXQ6IFwiZGF5XCIsXG4gICAgICAgICAgICBkaWZmLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0gYXMgY29uc3Q7XG4gICAgICB9KSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgY29weSA9IHsgLi4uZGF0ZXMgfTtcbiAgLy8gcHJldlByb3BzXG4gIGxldCBwcmV2UHJvcHM6IChFICYgeyBkYXRlOiBzdHJpbmcgfSlbXSA9IFtdO1xuICBjb25zdCBtaW4gPSBvcmlnaW4uYWRkKHNlcGFyYXRvcnNbMF0udmFsdWUsIHNlcGFyYXRvcnNbMF0udW5pdCk7XG4gIGZvciAoY29uc3QgZGF0ZSBpbiBjb3B5KSB7XG4gICAgaWYgKGRheWpzKGRhdGUpLmlzQmVmb3JlKG1pbiwgXCJkYXlcIikpIHtcbiAgICAgIGNvbnN0IGFkZCA9IGNvcHlbZGF0ZV0ubWFwKChwcm9wcykgPT4gKHsgLi4ucHJvcHMsIGRhdGUgfSkpO1xuICAgICAgcHJldlByb3BzID0gcHJldlByb3BzLmNvbmNhdChhZGQpO1xuICAgICAgZGVsZXRlIGNvcHlbZGF0ZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBsZXQgcmVzdWx0czogKHJlYWRvbmx5IFtcbiAgICBzdHJpbmcsXG4gICAgKEUgJiB7XG4gICAgICBkYXRlOiBzdHJpbmc7XG4gICAgfSlbXSxcbiAgICB7XG4gICAgICB1bml0OiBzdHJpbmc7XG4gICAgICBkaWZmOiBudW1iZXI7XG4gICAgfSxcbiAgXSlbXSA9IFtdO1xuICBzZXBhcmF0b3JzLm1hcCgoeyB1bml0LCB2YWx1ZSB9LCBpbmRleCwgb3JpZ2luYWwpID0+IHtcbiAgICBjb25zdCBtaW4gPSBvcmlnaW4uYWRkKHZhbHVlLCB1bml0KTtcbiAgICBjb25zdCBtYXggPVxuICAgICAgc2VwYXJhdG9ycy5sZW5ndGggLSAxID09PSBpbmRleFxuICAgICAgICA/IGRheWpzKFwiOTk5OS8xMi8yNFwiKVxuICAgICAgICA6IG9yaWdpbi5hZGQob3JpZ2luYWxbaW5kZXggKyAxXS52YWx1ZSwgb3JpZ2luYWxbaW5kZXggKyAxXS51bml0KTtcbiAgICBsZXQgcHJvcHNBcnJheTogKEUgJiB7IGRhdGU6IHN0cmluZyB9KVtdID0gW107XG4gICAgZm9yIChjb25zdCBkYXRlIGluIGNvcHkpIHtcbiAgICAgIGlmIChkYXlqcyhkYXRlKS5pc0JldHdlZW4obWluLCBtYXgsIFwiZGF5XCIsIFwiWylcIikpIHtcbiAgICAgICAgY29uc3QgYWRkID0gY29weVtkYXRlXS5tYXAoKHByb3BzKSA9PiAoeyAuLi5wcm9wcywgZGF0ZSB9KSk7XG4gICAgICAgIHByb3BzQXJyYXkgPSBwcm9wc0FycmF5LmNvbmNhdChhZGQpO1xuICAgICAgICBkZWxldGUgY29weVtkYXRlXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHNBcnJheS5sZW5ndGggPiAwKSB7XG4gICAgICByZXN1bHRzID0gcmVzdWx0cy5jb25jYXQoW1xuICAgICAgICBbXG4gICAgICAgICAgbWluLmZvcm1hdChcIllZWVlNTUREXCIpLFxuICAgICAgICAgIHByb3BzQXJyYXksXG4gICAgICAgICAge1xuICAgICAgICAgICAgdW5pdCxcbiAgICAgICAgICAgIGRpZmY6IHZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICBdKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHByZXZQcm9wc0FycmF5OiBwcmV2UHJvcHMsXG4gICAgZGF0ZXNFbnRyaWVzOiByZXN1bHRzLFxuICB9O1xufTtcblxuY29uc3QgbWFrZVJlbmRlckl0ZW1zID1cbiAgPEUgZXh0ZW5kcyBVbmtub3duUHJvcHM+KFxuICAgIHJlbmRlckl0ZW06IChcbiAgICAgIHByb3BzOiBFICYgeyBkYXRlOiBzdHJpbmc7IGluZGV4OiBudW1iZXIgfSxcbiAgICApID0+IFJlYWN0LkpTWC5FbGVtZW50LFxuICApID0+XG4gIChwcm9wc0FycmF5OiAoRSAmIHsgZGF0ZTogc3RyaW5nIH0pW10pID0+IHtcbiAgICByZXR1cm4gcHJvcHNBcnJheS5tYXAoKHByb3BzLCBpbmRleCkgPT5cbiAgICAgIFJlYWN0LmNsb25lRWxlbWVudChyZW5kZXJJdGVtKHsgLi4ucHJvcHMsIGluZGV4IH0pLCB7XG4gICAgICAgIGtleTogYCR7cHJvcHMuZGF0ZX0uJHtpbmRleH1gLFxuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuZXhwb3J0IGNvbnN0IFRpbWVsaW5lID0gPEUgZXh0ZW5kcyBVbmtub3duUHJvcHM+KHtcbiAgcmVuZGVySXRlbSxcbiAgZGF0ZXMsXG4gIGZvcm1hdCA9IHsgeWVhcjogXCJudW1lcmljXCIsIG1vbnRoOiBcIm51bWVyaWNcIiwgZGF5OiBcIm51bWVyaWNcIiB9LFxuICBzZXBhcmF0b3JzID0gW10sXG4gIGRhdGUgPSBkYXlqcygpLnN0YXJ0T2YoXCJkYXlcIiksXG4gIHJlbmRlckxhYmVsOiBMYWJlbCA9IERlZmF1bHRMYWJlbCxcbiAgLi4ucHJvcHNcbn06IFRpbWVsaW5lUHJvcHM8RT4pID0+IHtcbiAgY29uc3QgbG9jYWxlID0gdXNlQ29udGV4dChMb2NhbGVDb250ZXh0KTtcbiAgY29uc3QgcnRmID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIFJlbGF0aXZlVGltZUZvcm1hdChsb2NhbGUsIHtcbiAgICAgIG51bWVyaWM6IFwiYXV0b1wiLFxuICAgIH0pO1xuICB9LCBbbG9jYWxlXSk7XG4gIGNvbnN0IHsgcHJldlByb3BzQXJyYXksIGRhdGVzRW50cmllcyB9ID0gZ2V0RGF0ZXNFbnRyaWVzPEU+KFxuICAgIGRhdGVzLFxuICAgIHNlcGFyYXRvcnMsXG4gICAgZGF5anMoZGF0ZSksXG4gICk7XG5cbiAgY29uc3QgcmVuZGVySXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBJdGVtID0gcmVuZGVySXRlbTtcbiAgICBpZiAoSXRlbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpdGVtIG9yIHJlbmRlckl0ZW0gaXMgcmVxdWlyZWRcIik7XG4gICAgfVxuICAgIHJldHVybiBtYWtlUmVuZGVySXRlbXM8RT4oSXRlbSk7XG4gIH0sIFtyZW5kZXJJdGVtXSk7XG5cbiAgcmV0dXJuIGRhdGVzRW50cmllcy5sZW5ndGggPiAwID8gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICBgfVxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIHtwcmV2UHJvcHNBcnJheS5sZW5ndGggPiAwICYmIDxkaXY+e3JlbmRlckl0ZW1zKHByZXZQcm9wc0FycmF5KX08L2Rpdj59XG4gICAgICB7ZGF0ZXNFbnRyaWVzLm1hcCgoW3ZhbHVlLCBwcm9wc0FycmF5LCB7IHVuaXQsIGRpZmYgfV0pID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0ZWREYXRlID1cbiAgICAgICAgICBmb3JtYXQgPT09IFwicmVsYXRpdmVcIlxuICAgICAgICAgICAgPyBydGYuZm9ybWF0KGRpZmYsIHVuaXQgYXMgVW5pdClcbiAgICAgICAgICAgIDogZGF5anModmFsdWUpLnRvRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIGZvcm1hdCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17Zm9ybWF0ZWREYXRlfT5cbiAgICAgICAgICAgIDxMYWJlbCBmb3JtYXR0ZWREYXRlPXtmb3JtYXRlZERhdGV9IC8+XG4gICAgICAgICAgICA8ZGl2PntyZW5kZXJJdGVtcyhwcm9wc0FycmF5KX08L2Rpdj5cbiAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICkgOiBudWxsO1xufTtcbiJdfQ== */",
|
|
116
116
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
117
117
|
};
|
|
118
118
|
export var Timeline = _ref6 => {
|
|
119
119
|
var {
|
|
120
|
-
item,
|
|
121
120
|
renderItem,
|
|
122
121
|
dates,
|
|
123
122
|
format = {
|
|
@@ -141,12 +140,12 @@ export var Timeline = _ref6 => {
|
|
|
141
140
|
datesEntries
|
|
142
141
|
} = getDatesEntries(dates, separators, dayjs(date));
|
|
143
142
|
var renderItems = useMemo(() => {
|
|
144
|
-
var Item =
|
|
143
|
+
var Item = renderItem;
|
|
145
144
|
if (Item === undefined) {
|
|
146
145
|
throw new Error("item or renderItem is required");
|
|
147
146
|
}
|
|
148
147
|
return makeRenderItems(Item);
|
|
149
|
-
}, [
|
|
148
|
+
}, [renderItem]);
|
|
150
149
|
return datesEntries.length > 0 ? ___EmotionJSX("div", _extends({
|
|
151
150
|
css: _ref
|
|
152
151
|
}, props), prevPropsArray.length > 0 && ___EmotionJSX("div", null, renderItems(prevPropsArray)), datesEntries.map(_ref7 => {
|
package/Timeline/Timeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.js","names":["LocaleContext","RelativeTimeFormat","Typography","css","React","useContext","useMemo","dayjs","isBetween","isSameOrAfter","isSameOrBefore","jsx","___EmotionJSX","extend","_ref2","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DefaultLabel","_ref3","formattedDate","getDatesEntries","dates","separators","origin","length","prevPropsArray","datesEntries","Object","entries","map","_ref4","date","propsArray","diff","props","_extends","unit","copy","prevProps","min","add","value","_loop","isBefore","concat","results","_ref5","index","original","max","_loop2","_date","format","makeRenderItems","renderItem","cloneElement","key","_ref","Timeline","_ref6","item","year","month","day","startOf","renderLabel","Label","_objectWithoutPropertiesLoose","_excluded","locale","rtf","numeric","renderItems","Item","undefined","Error","_ref7","formatedDate","toDate","toLocaleDateString","Fragment"],"sources":["../../../src/Timeline/Timeline.tsx"],"sourcesContent":["import { LocaleContext } from \"../LocaleProvider\";\nimport { RelativeTimeFormat } from \"../@utils\";\nimport { Typography } from \"../Typography\";\nimport { type UnknownProps } from \"../@types/UnknownProps\";\nimport { css } from \"@emotion/react\";\nimport React, { useContext, useMemo } from \"react\";\nimport dayjs from \"dayjs\";\nimport isBetween from \"dayjs/plugin/isBetween\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport isSameOrBefore from \"dayjs/plugin/isSameOrBefore\";\nimport type { Unit } from \"relative-time-format\";\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isBetween);\n\nexport interface TimelineLabelProps {\n formattedDate: string;\n}\n\nconst DefaultLabel = ({ formattedDate }: TimelineLabelProps) => {\n return (\n <Typography\n css={css`\n display: flex;\n gap: 16px;\n align-items: center;\n &::before,\n &::after {\n flex-grow: 1;\n height: 1px;\n content: \"\";\n background-color: currentColor;\n }\n `}\n >\n {formattedDate}\n </Typography>\n );\n};\n\nexport type TimelineItemProps<Props extends UnknownProps> = Props & {\n date: string;\n index: number;\n};\n\nexport interface TimelineProps<Props extends UnknownProps>\n extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * TimelineProps.datesで指定されたデータをpropsとして受け取り表示するためのコンポーネントを指定します。\n * @deprecated Use `renderItem` instead.\n */\n item?: (props: TimelineItemProps<Props>) => React.JSX.Element;\n /**\n * TimelineProps.datesで指定されたデータをpropsとして受け取り表示するためのコンポーネントを指定します。\n */\n renderItem?: (props: TimelineItemProps<Props>) => React.JSX.Element;\n /**\n * 日付と、日付に対応するデータ群を指定します。\n *\n * 昇順でkeyがソートされていることを前提としている点に注意してください。\n *\n * ソート処理が面倒な場合はUI側での処理を検討します。\n *\n * ここで値として指定された配列の型はTimelineProps.itemの引数に用いられます。\n *\n * dateのフォーマットはYYYYMMDDまたはYYYY-MM-DDです。number(ms)には後に対応するかもしれません。\n *\n * Date型を利用したいという強い要望があった場合はMapに切り替えることを検討します。\n *\n */\n dates: Record<string, Props[]>;\n /**\n * 区分ごとのラベルの表記を指定します。\n *\n * @default {year: numeric ,month: numeric, day: numeric}\n */\n format?: \"relative\" | Intl.DateTimeFormatOptions;\n /**\n * 区分を指定する。原点を中心として両側に、順に指定された区分点を配置していく。\n *\n * 原点のデフォルトは\"今日\"。\n *\n * 過去から未来へ昇順でソートされていることを前提にしています。\n * ソート処理が難しい場合はUI側での処理を検討します。\n *\n * @default []\n */\n separators?: {\n unit: \"day\" | \"month\" | \"year\" | \"week\";\n value: number;\n }[];\n /**\n * 基準日を指定する。\n * @default today\n */\n date?: dayjs.ConfigType;\n /**\n * フォーマットされた日付を受け取り、ラベルとして表示するコンポーネントを指定します。\n */\n renderLabel?: (props: TimelineLabelProps) => React.JSX.Element;\n}\n\nconst getDatesEntries = <E extends UnknownProps>(\n dates: Record<string, E[]>,\n separators: {\n unit: \"day\" | \"month\" | \"year\" | \"week\";\n value: number;\n }[],\n origin: dayjs.Dayjs,\n) => {\n if (separators.length === 0) {\n return {\n prevPropsArray: [],\n datesEntries: Object.entries(dates).map(([date, propsArray]) => {\n const diff = dayjs(date).diff(origin, \"day\");\n return [\n date,\n propsArray.map((props) => ({\n ...props,\n date,\n })),\n {\n unit: \"day\",\n diff,\n },\n ] as const;\n }),\n };\n }\n\n const copy = { ...dates };\n // prevProps\n let prevProps: (E & { date: string })[] = [];\n const min = origin.add(separators[0].value, separators[0].unit);\n for (const date in copy) {\n if (dayjs(date).isBefore(min, \"day\")) {\n const add = copy[date].map((props) => ({ ...props, date }));\n prevProps = prevProps.concat(add);\n delete copy[date];\n } else {\n break;\n }\n }\n let results: (readonly [\n string,\n (E & {\n date: string;\n })[],\n {\n unit: string;\n diff: number;\n },\n ])[] = [];\n separators.map(({ unit, value }, index, original) => {\n const min = origin.add(value, unit);\n const max =\n separators.length - 1 === index\n ? dayjs(\"9999/12/24\")\n : origin.add(original[index + 1].value, original[index + 1].unit);\n let propsArray: (E & { date: string })[] = [];\n for (const date in copy) {\n if (dayjs(date).isBetween(min, max, \"day\", \"[)\")) {\n const add = copy[date].map((props) => ({ ...props, date }));\n propsArray = propsArray.concat(add);\n delete copy[date];\n } else {\n break;\n }\n }\n if (propsArray.length > 0) {\n results = results.concat([\n [\n min.format(\"YYYYMMDD\"),\n propsArray,\n {\n unit,\n diff: value,\n },\n ],\n ]);\n }\n });\n return {\n prevPropsArray: prevProps,\n datesEntries: results,\n };\n};\n\nconst makeRenderItems =\n <E extends UnknownProps>(\n renderItem: (\n props: E & { date: string; index: number },\n ) => React.JSX.Element,\n ) =>\n (propsArray: (E & { date: string })[]) => {\n return propsArray.map((props, index) =>\n React.cloneElement(renderItem({ ...props, index }), {\n key: `${props.date}.${index}`,\n }),\n );\n };\n\nexport const Timeline = <E extends UnknownProps>({\n item,\n renderItem,\n dates,\n format = { year: \"numeric\", month: \"numeric\", day: \"numeric\" },\n separators = [],\n date = dayjs().startOf(\"day\"),\n renderLabel: Label = DefaultLabel,\n ...props\n}: TimelineProps<E>) => {\n const locale = useContext(LocaleContext);\n const rtf = useMemo(() => {\n return RelativeTimeFormat(locale, {\n numeric: \"auto\",\n });\n }, [locale]);\n const { prevPropsArray, datesEntries } = getDatesEntries<E>(\n dates,\n separators,\n dayjs(date),\n );\n\n const renderItems = useMemo(() => {\n const Item = item ?? renderItem;\n if (Item === undefined) {\n throw new Error(\"item or renderItem is required\");\n }\n return makeRenderItems<E>(Item);\n }, [item, renderItem]);\n\n return datesEntries.length > 0 ? (\n <div\n css={css`\n display: flex;\n flex-direction: column;\n gap: 16px;\n `}\n {...props}\n >\n {prevPropsArray.length > 0 && <div>{renderItems(prevPropsArray)}</div>}\n {datesEntries.map(([value, propsArray, { unit, diff }]) => {\n const formatedDate =\n format === \"relative\"\n ? rtf.format(diff, unit as Unit)\n : dayjs(value).toDate().toLocaleDateString(locale, format);\n return (\n <React.Fragment key={formatedDate}>\n <Label formattedDate={formatedDate} />\n <div>{renderItems(propsArray)}</div>\n </React.Fragment>\n );\n })}\n </div>\n ) : null;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Timeline.js","names":["LocaleContext","RelativeTimeFormat","Typography","css","React","useContext","useMemo","dayjs","isBetween","isSameOrAfter","isSameOrBefore","jsx","___EmotionJSX","extend","_ref2","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DefaultLabel","_ref3","formattedDate","getDatesEntries","dates","separators","origin","length","prevPropsArray","datesEntries","Object","entries","map","_ref4","date","propsArray","diff","props","_extends","unit","copy","prevProps","min","add","value","_loop","isBefore","concat","results","_ref5","index","original","max","_loop2","_date","format","makeRenderItems","renderItem","cloneElement","key","_ref","Timeline","_ref6","year","month","day","startOf","renderLabel","Label","_objectWithoutPropertiesLoose","_excluded","locale","rtf","numeric","renderItems","Item","undefined","Error","_ref7","formatedDate","toDate","toLocaleDateString","Fragment"],"sources":["../../../src/Timeline/Timeline.tsx"],"sourcesContent":["import { LocaleContext } from \"../LocaleProvider\";\nimport { RelativeTimeFormat } from \"../@utils\";\nimport { Typography } from \"../Typography\";\nimport { type UnknownProps } from \"../@types/UnknownProps\";\nimport { css } from \"@emotion/react\";\nimport React, { useContext, useMemo } from \"react\";\nimport dayjs from \"dayjs\";\nimport isBetween from \"dayjs/plugin/isBetween\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport isSameOrBefore from \"dayjs/plugin/isSameOrBefore\";\nimport type { Unit } from \"relative-time-format\";\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isBetween);\n\nexport interface TimelineLabelProps {\n formattedDate: string;\n}\n\nconst DefaultLabel = ({ formattedDate }: TimelineLabelProps) => {\n return (\n <Typography\n css={css`\n display: flex;\n gap: 16px;\n align-items: center;\n &::before,\n &::after {\n flex-grow: 1;\n height: 1px;\n content: \"\";\n background-color: currentColor;\n }\n `}\n >\n {formattedDate}\n </Typography>\n );\n};\n\nexport type TimelineItemProps<Props extends UnknownProps> = Props & {\n date: string;\n index: number;\n};\n\nexport interface TimelineProps<Props extends UnknownProps>\n extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * TimelineProps.datesで指定されたデータをpropsとして受け取り表示するためのコンポーネントを指定します。\n */\n renderItem?: (props: TimelineItemProps<Props>) => React.JSX.Element;\n /**\n * 日付と、日付に対応するデータ群を指定します。\n *\n * 昇順でkeyがソートされていることを前提としている点に注意してください。\n *\n * ソート処理が面倒な場合はUI側での処理を検討します。\n *\n * ここで値として指定された配列の型はTimelineProps.itemの引数に用いられます。\n *\n * dateのフォーマットはYYYYMMDDまたはYYYY-MM-DDです。number(ms)には後に対応するかもしれません。\n *\n * Date型を利用したいという強い要望があった場合はMapに切り替えることを検討します。\n *\n */\n dates: Record<string, Props[]>;\n /**\n * 区分ごとのラベルの表記を指定します。\n *\n * @default {year: numeric ,month: numeric, day: numeric}\n */\n format?: \"relative\" | Intl.DateTimeFormatOptions;\n /**\n * 区分を指定する。原点を中心として両側に、順に指定された区分点を配置していく。\n *\n * 原点のデフォルトは\"今日\"。\n *\n * 過去から未来へ昇順でソートされていることを前提にしています。\n * ソート処理が難しい場合はUI側での処理を検討します。\n *\n * @default []\n */\n separators?: {\n unit: \"day\" | \"month\" | \"year\" | \"week\";\n value: number;\n }[];\n /**\n * 基準日を指定する。\n * @default today\n */\n date?: dayjs.ConfigType;\n /**\n * フォーマットされた日付を受け取り、ラベルとして表示するコンポーネントを指定します。\n */\n renderLabel?: (props: TimelineLabelProps) => React.JSX.Element;\n}\n\nconst getDatesEntries = <E extends UnknownProps>(\n dates: Record<string, E[]>,\n separators: {\n unit: \"day\" | \"month\" | \"year\" | \"week\";\n value: number;\n }[],\n origin: dayjs.Dayjs,\n) => {\n if (separators.length === 0) {\n return {\n prevPropsArray: [],\n datesEntries: Object.entries(dates).map(([date, propsArray]) => {\n const diff = dayjs(date).diff(origin, \"day\");\n return [\n date,\n propsArray.map((props) => ({\n ...props,\n date,\n })),\n {\n unit: \"day\",\n diff,\n },\n ] as const;\n }),\n };\n }\n\n const copy = { ...dates };\n // prevProps\n let prevProps: (E & { date: string })[] = [];\n const min = origin.add(separators[0].value, separators[0].unit);\n for (const date in copy) {\n if (dayjs(date).isBefore(min, \"day\")) {\n const add = copy[date].map((props) => ({ ...props, date }));\n prevProps = prevProps.concat(add);\n delete copy[date];\n } else {\n break;\n }\n }\n let results: (readonly [\n string,\n (E & {\n date: string;\n })[],\n {\n unit: string;\n diff: number;\n },\n ])[] = [];\n separators.map(({ unit, value }, index, original) => {\n const min = origin.add(value, unit);\n const max =\n separators.length - 1 === index\n ? dayjs(\"9999/12/24\")\n : origin.add(original[index + 1].value, original[index + 1].unit);\n let propsArray: (E & { date: string })[] = [];\n for (const date in copy) {\n if (dayjs(date).isBetween(min, max, \"day\", \"[)\")) {\n const add = copy[date].map((props) => ({ ...props, date }));\n propsArray = propsArray.concat(add);\n delete copy[date];\n } else {\n break;\n }\n }\n if (propsArray.length > 0) {\n results = results.concat([\n [\n min.format(\"YYYYMMDD\"),\n propsArray,\n {\n unit,\n diff: value,\n },\n ],\n ]);\n }\n });\n return {\n prevPropsArray: prevProps,\n datesEntries: results,\n };\n};\n\nconst makeRenderItems =\n <E extends UnknownProps>(\n renderItem: (\n props: E & { date: string; index: number },\n ) => React.JSX.Element,\n ) =>\n (propsArray: (E & { date: string })[]) => {\n return propsArray.map((props, index) =>\n React.cloneElement(renderItem({ ...props, index }), {\n key: `${props.date}.${index}`,\n }),\n );\n };\n\nexport const Timeline = <E extends UnknownProps>({\n renderItem,\n dates,\n format = { year: \"numeric\", month: \"numeric\", day: \"numeric\" },\n separators = [],\n date = dayjs().startOf(\"day\"),\n renderLabel: Label = DefaultLabel,\n ...props\n}: TimelineProps<E>) => {\n const locale = useContext(LocaleContext);\n const rtf = useMemo(() => {\n return RelativeTimeFormat(locale, {\n numeric: \"auto\",\n });\n }, [locale]);\n const { prevPropsArray, datesEntries } = getDatesEntries<E>(\n dates,\n separators,\n dayjs(date),\n );\n\n const renderItems = useMemo(() => {\n const Item = renderItem;\n if (Item === undefined) {\n throw new Error(\"item or renderItem is required\");\n }\n return makeRenderItems<E>(Item);\n }, [renderItem]);\n\n return datesEntries.length > 0 ? (\n <div\n css={css`\n display: flex;\n flex-direction: column;\n gap: 16px;\n `}\n {...props}\n >\n {prevPropsArray.length > 0 && <div>{renderItems(prevPropsArray)}</div>}\n {datesEntries.map(([value, propsArray, { unit, diff }]) => {\n const formatedDate =\n format === \"relative\"\n ? rtf.format(diff, unit as Unit)\n : dayjs(value).toDate().toLocaleDateString(locale, format);\n return (\n <React.Fragment key={formatedDate}>\n <Label formattedDate={formatedDate} />\n <div>{renderItems(propsArray)}</div>\n </React.Fragment>\n );\n })}\n </div>\n ) : null;\n};\n"],"mappings":"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","ignoreList":[]}
|